null

Dragino Door Sensor Helium and Tago Tutorial

Sidebar

Dragino Door Sensor Helium and Tago Tutorial

Posted by Parley Labs ,Nov 21st 2022
Dragino Door Sensor Helium and Tago Tutorial

Adding Door Sensor (LDS02) to the Helium Network

1. Register for a Helium Console Account

We will be using the Helium Network as our LoRaWAN network provider because of their large network coverage and low fee. You can check out more about them here.

In order to receive data from the Helium LoRaWAN network, we will create a Helium Console account here. Once you created the account and logged in, you will see the following page:

https://hackster.imgix.net/uploads/attachments/1445284/capture_34sbS0MB4j.JPG?auto=compress%2Cformat&w=740&h=555&fit=max

2. Adding Data Credit

Every new Helium Console account comes with 10,000 data credit which will provide about 2 months of data. However, if you want to add more, hover over the DC balance on the top right of your screen and click on "DC Balance" which will take you to the following screen. The minimum purchase with credit card is $10 which will give you plenty of data credit to use with the sensor.

https://hackster.imgix.net/uploads/attachments/1445290/capture_HdUXRnqYnI.JPG?auto=compress%2Cformat&w=740&h=555&fit=max

3. Adding Door Sensor to the Helium Network

Select "Devices" on the left column, then "Add New Device". Enter a name for your device and populate the Dev EUI, APP EUI and App Key. Once completed, proceed to "Save Device".

https://hackster.imgix.net/uploads/attachments/1445305/capture_oZyK7kbyMe.JPG?auto=compress%2Cformat&w=740&h=555&fit=max

4. Adding Payload Decoder

Select "Functions" on the left column, then "Add New Function". Set all fields the same as seen below.

Copy and paste the following function into the custom script box.

function Decoder(bytes, port) {

// Decode an uplink message from a buffer

// (array) of bytes to an object of fields.

var value = (bytes[0] << 8 | bytes[1]) & 0x3FFF;

var bat = value / 1000;//Battery,units:V

var door_open_status = bytes[0] & 0x80 ? 1 : 0;//1:open,0:close

var water_leak_status = bytes[0] & 0x40 ? 1 : 0;

var mod = bytes[2];

var alarm = bytes[9] & 0x01;

if (mod == 1) {

var open_times = bytes[3] << 16 | bytes[4] << 8 | bytes[5];

var open_duration = bytes[6] << 16 | bytes[7] << 8 | bytes[8];//units:min

if (bytes.length == 10 && 0x07 > bytes[0] < 0x0f)

return {

BAT_V: bat,

MOD: mod,

DOOR_OPEN_STATUS: door_open_status,

DOOR_OPEN_TIMES: open_times,

LAST_DOOR_OPEN_DURATION: open_duration,

ALARM: alarm

};

}

else if (mod == 2) {

var leak_times = bytes[3] << 16 | bytes[4] << 8 | bytes[5];

var leak_duration = bytes[6] << 16 | bytes[7] << 8 | bytes[8];//units:min

if (bytes.length == 10 && 0x07 > bytes[0] < 0x0f)

return {

BAT_V: bat,

MOD: mod,

WATER_LEAK_STATUS: water_leak_status,

WATER_LEAK_TIMES: leak_times,

LAST_WATER_LEAK_DURATION: leak_duration

};

}

else if (mod == 3)

if (bytes.length == 10 && 0x07 > bytes[0] < 0x0f) {

return {

BAT_V: bat,

MOD: mod,

DOOR_OPEN_STATUS: door_open_status,

WATER_LEAK_STATUS: water_leak_status,

ALARM: alarm

};

}

else {

return {

BAT_V: bat,

MOD: mod,

};

}

}

Setting Up Tago.IO for Data Visualization

1. Register for a Tago.IO Account

In this guide, we will use Tago.IO to display all data coming from Helium. Register for a free account with Tago and once you are logged in, you will see the following screen.

https://hackster.imgix.net/uploads/attachments/1482115/capture_483Ocx0O1k.JPG?auto=compress%2Cformat&w=740&h=555&fit=max

2. Add New Device to Tago

Select "Devices" on the top left corner, then select "Add Device".

https://hackster.imgix.net/uploads/attachments/1482116/image_M5HgVeExpw.png?auto=compress%2Cformat&w=740&h=555&fit=max

Select "LoRaWAN Helium", then select "Custom Helium" as shown below.

https://hackster.imgix.net/uploads/attachments/1482117/image_8EFwscvKhi.png?auto=compress%2Cformat&w=740&h=555&fit=max

Once you selected "Custom Helium", the following screen will appear. Give your door sensor a name and set the "Data Storage Type" to "Device Data Optimized". For data retention, set your desirable timeframe that you want Tago to retain data. In this example, we will set it to one month. Fill in the EUI field with the Dev EUI. Once done, press "Create My Device",

https://hackster.imgix.net/uploads/attachments/1482118/capture_z9iIFMJprB.JPG?auto=compress%2Cformat&w=740&h=555&fit=max

3. Add Door Sensors Dashboard to Tago

Use the following link to automatically install the door sensor dashboard to your Tago account. Select "Install Template" when prompted as shown below.

Select the device name that you added earlier from the drop-down menu. Select "Confirm associations" once you are done.

4. Adding Tago Authorization to Helium Console

At this point, you will see the newly created dashboard on your homepage. However, the dashboard should be empty since you have not gotten any data yet due to the fact that we have not link the Tago account to our Helium Console account. To do this, select your profile name on the top right corner, then select "My account"

https://hackster.imgix.net/uploads/attachments/1482121/image_OG9qxl90y7.png?auto=compress%2Cformat&w=740&h=555&fit=max

Select your profile name on the left, then click on "Token", set permission to "full", and to never expire, then "Generate Token". In order to copy your token, click on the copy symbol as show below.

https://hackster.imgix.net/uploads/attachments/1482122/image_TQpR2L6sTa.png?auto=compress%2Cformat&w=740&h=555&fit=max

Now log back into your Helium Console account, click on "Integrations" on the left column then add TagoIO.

https://hackster.imgix.net/uploads/attachments/1482123/image_3fgYWks6Qn.png?auto=compress%2Cformat&w=740&h=555&fit=max

Paste your newly created Tago token in the Step 2 box below.

https://hackster.imgix.net/uploads/attachments/1482124/capture_x6A9aMjQJh.JPG?auto=compress%2Cformat&w=740&h=555&fit=max

5. Flow Diagram

Finally, we are on the last step. This step will tie everything that we did previously together and allow you to see all data output on Tago.IO.

While in Helium Console, click on "Flows", then add the following items and connect them together. In our case, we will add the door sensor, door sensor decoder function and the TagoIO authorization.

TagoIO Dashboard Visualization

Congratulation, you are now done! Go back to your Tago dashboard and see all the data fields getting populated as more data come through!

Sold out

The Dragino LDS02 is a LoRaWAN Door/Window Sensor. It detects door open/close status and uplink to IoT server via LoRaWAN network. user can see the door status, open time, open counts in the IoT Server.