Last modified by Mengting Qiu on 2025/07/03 15:42

From version 125.1
edited by Mengting Qiu
on 2024/11/18 16:52
Change comment: Uploaded new attachment "image-20241118165221-2.png", version {1}
To version 142.2
edited by Mengting Qiu
on 2025/05/14 19:35
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -55,9 +55,6 @@
55 55  )))
56 56  
57 57  
58 -[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]]
59 -
60 -
61 61  == ​1.2 Features ==
62 62  
63 63  
... ... @@ -138,7 +138,7 @@
138 138  == 1.6 Button & LEDs ==
139 139  
140 140  
141 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LB_Waterproof_RS485UART_to_LoRaWAN_Converter/WebHome/image-20240103160425-4.png?rev=1.1||alt="image-20240103160425-4.png"]]
138 +[[image:image-20250416151419-4.jpeg]]
142 142  
143 143  (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
144 144  |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action**
... ... @@ -178,17 +178,13 @@
178 178  === 1.9.1 for LB version ===
179 179  
180 180  
181 -[[image:image-20230201090139-2.png||_mstalt="428623"]]
178 +[[image:image-20250416151406-3.jpeg]]
182 182  
183 -[[image:image-20230201090139-3.png||_mstalt="428987"]]
184 184  
185 -[[image:image-20230201090139-4.png||_mstalt="429351"]]
186 -
187 -
188 188  === 1.9.2 for LS version ===
189 189  
190 190  
191 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/WebHome/image-20231231203439-3.png?width=886&height=385&rev=1.1||alt="image-20231231203439-3.png"]]
184 +[[image:image-20250329133856-1.jpeg]]
192 192  
193 193  
194 194  = 2. Configure SDI-12 to connect to LoRaWAN network =
... ... @@ -204,10 +204,9 @@
204 204  
205 205  Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
206 206  
200 +[[image:image-20250416151346-2.png]]
207 207  
208 -[[image:image-20230201090528-5.png||_mstalt="430300" height="442" width="1056"]]
209 209  
210 -
211 211  The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server.
212 212  
213 213  
... ... @@ -220,37 +220,53 @@
220 220  
221 221  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
222 222  
215 +**Create the application.**
223 223  
224 -(% style="color:blue" %)**Register the device**
217 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SAC01L_LoRaWAN_Temperature%26Humidity_Sensor_User_Manual/WebHome/image-20250423093843-1.png?width=756&height=264&rev=1.1||alt="image-20250423093843-1.png"]]
225 225  
226 -[[image:1675213652444-622.png||_mstalt="293657"]]
219 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111305-2.png?width=1000&height=572&rev=1.1||alt="image-20240907111305-2.png"]]
227 227  
228 228  
229 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
222 +**Add devices to the created Application.**
230 230  
224 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111659-3.png?width=977&height=185&rev=1.1||alt="image-20240907111659-3.png"]]
231 231  
232 -[[image:1675213661769-223.png||_mstalt="295217"]]
226 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111820-5.png?width=975&height=377&rev=1.1||alt="image-20240907111820-5.png"]]
233 233  
234 234  
235 -(% style="color:blue" %)**Add APP EUI in the application**
229 +**Enter end device specifics manually.**
236 236  
231 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112136-6.png?width=697&height=687&rev=1.1||alt="image-20240907112136-6.png"]]
237 237  
238 -[[image:1675213675852-577.png||_mstalt="297947"]]
239 239  
234 +**Add DevEUI and AppKey.**
240 240  
241 -(% style="color:blue" %)**Add APP KEY**
236 +**Customize a platform ID for the device.**
242 242  
243 -[[image:1675213686734-883.png||_mstalt="298064"]]
238 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112427-7.png?rev=1.1||alt="image-20240907112427-7.png"]]
244 244  
245 245  
246 -(% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB/LS
241 +(% style="color:blue" %)**Step 2: **(%%)Add decoder
247 247  
243 +While using TTN network, you can add the payload format to decode the payload.
248 248  
245 +There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case.
246 +
247 +SDI-12-LB/LS TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
248 +
249 +Below is TTN screen shot:
250 +
251 +[[image:image-20241118165746-3.png||height="470" width="869"]]
252 +
253 +[[image:image-20241118165832-4.png||height="336" width="724"]]
254 +
255 +
256 +(% style="color:blue" %)**Step 3**(%%): Activate on SDI-12-LB/LS
257 +
249 249  Press the button for 5 seconds to activate the SDI-12-LB/LS.
250 250  
251 251  (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode** (%%)for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
252 252  
253 -
254 254  [[image:1675213704414-644.png||_mstalt="293748"]]
255 255  
256 256  
... ... @@ -1151,6 +1151,187 @@
1151 1151  [[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]]
1152 1152  
1153 1153  
1162 +
1163 +== 2.9 Datalog Feature(Since v1.3.0) ==
1164 +
1165 +
1166 +(((
1167 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, SDI-12-LB will store the reading for future retrieving purposes. There are two ways for IoT servers to get datalog from SDI-12-LB.
1168 +)))
1169 +
1170 +
1171 +=== 2.9.1 Ways to get datalog via LoRaWAN ===
1172 +
1173 +
1174 +There are two methods:
1175 +
1176 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.8.4Pollsensorvalue"]] for specified time range.
1177 +
1178 +
1179 +(% style="color:blue" %)**Method 2: **(%%)Set PNACKMD=1, SDI-12-LB will wait for ACK for every uplink, when there is no LoRaWAN network, SDI-12-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
1180 +
1181 +
1182 +(% style="color:red" %)**Note for method 2:**
1183 +
1184 +* a) SDI-12-LB will do an ACK check for data records sending to make sure every data arrive server.
1185 +* b) SDI-12-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but SDI-12-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if SDI-12-LB gets a ACK, SDI-12-LB will consider there is a network connection and resend all NONE-ACK Message.
1186 +
1187 +=== 2.9.2 Unix TimeStamp ===
1188 +
1189 +
1190 +SDI-12-LB uses Unix TimeStamp format based on
1191 +
1192 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="image-20220523001219-11.png"]]
1193 +
1194 +
1195 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
1196 +
1197 +Below is the converter example
1198 +
1199 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="image-20220523001219-12.png"]]
1200 +
1201 +So, we can use AT+TIMESTAMP=1742889625 or downlink 3067E26299 to set the current time 2025 – March ~-~- 25 Tuesday  08:00:25
1202 +
1203 +
1204 +=== 2.9.3 Set Device Time ===
1205 +
1206 +
1207 +(((
1208 +(% style="color:blue" %)**There are two ways to set device's time:**
1209 +)))
1210 +
1211 +(((
1212 +**1.  Through LoRaWAN MAC Command (Default settings)**
1213 +)))
1214 +
1215 +(((
1216 +User need to set SYNCMOD=1 to enable sync time via MAC command.
1217 +)))
1218 +
1219 +(((
1220 +Once SDI-12-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to SDI-12-LB. If SDI-12-LB fails to get the time from the server, SDI-12-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
1221 +)))
1222 +
1223 +(((
1224 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.**
1225 +)))
1226 +
1227 +
1228 +(((
1229 +**2. Manually Set Time**
1230 +)))
1231 +
1232 +(((
1233 +User needs to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
1234 +)))
1235 +
1236 +
1237 +=== 2.9.4 Poll sensor value ===
1238 +
1239 +
1240 +User can poll sensor value based on timestamps from the server. Below is the downlink command.
1241 +
1242 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:438.778px" %)
1243 +|(% style="background-color:#4f81bd; color:white; width:59px" %)**1byte**|(% style="background-color:#4f81bd; color:white; width:123px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:114px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:142.778px" %)**1byte**
1244 +|(% style="width:58px" %)31|(% style="width:123px" %)Timestamp start|(% style="width:114px" %)Timestamp end|(% style="width:137px" %)(((
1245 +Uplink Interval(range 5~~255s)
1246 +)))
1247 +
1248 +Timestamp start and Timestamp end use Unix TimeStamp format as mentioned above. Devices will reply with all data log during this time period, use the uplink interval.
1249 +
1250 +For example, downlink command (% _mstmutation="1" %)**31 67E24660 67E26280 05**(%%)
1251 +
1252 +Is to check 2025/03/25 06:00:00 to 2025/03/25 08:00:00's data
1253 +
1254 +Uplink Internal =5s, means RS485-LB will send one packet every 5s.
1255 +
1256 +
1257 +=== 2.9.5 Datalog Uplink payload ===
1258 +
1259 +
1260 +The Datalog poll reply uplink will use below payload format.
1261 +
1262 +**Retrieval data payload:**
1263 +
1264 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:480px" %)
1265 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
1266 +**Size(bytes)**
1267 +)))|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**4**|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**1**|=(% style="width: 220px; background-color: rgb(79, 129, 189); color: white;" %)**Length depends on the return from the commands**
1268 +|(% style="width:97px" %)Value|(% style="width:104px" %)Unix Time Stamp|(% style="width:109px" %)Payload Length|(% style="width:165px" %)Data returned by the sensor
1269 +
1270 +**Example:**
1271 +
1272 +If SDI-12-LB has below data inside Flash:
1273 +
1274 +(Soil sensors using the SDI-12 protocol are used for testing.)
1275 +
1276 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1277 +|=(% style="width: 88px; background-color:#4F81BD;color:white" %)Flash Add|=(% style="width: 98px; background-color: rgb(79, 129, 189); color: white;" %)**Unix Time**|=(% style="width: 82px; background-color: rgb(79, 129, 189); color: white;" %)Payload Length|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**BAT voltage**|=(% style="width: 92px; background-color: rgb(79, 129, 189); color: white;" %)Payload Version|=(% style="width: 64px; background-color:#4F81BD;color:white" %)**Value**
1278 +|(% style="width:89px" %)(((
1279 +0001
1280 +)))|(% style="width:98px" %)(((
1281 +2025/3/25 08:09:30
1282 +)))|(% style="width:82px" %)5|(% style="width:86px" %)(((
1283 +0c a8
1284 +)))|(% style="width:92px" %)01|(% style="width:131px" %)(((
1285 +08 21
1286 +)))
1287 +|(% style="width:89px" %)0002|(% style="width:98px" %)(((
1288 +2025/3/25 08:10:30
1289 +)))|(% style="width:82px" %)5|(% style="width:86px" %)(((
1290 +0c ae
1291 +)))|(% style="width:92px" %)01|(% style="width:131px" %)(((
1292 +08 22
1293 +)))
1294 +|(% style="width:89px" %)0003|(% style="width:98px" %)(((
1295 +2025/3/25 08:11:30
1296 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1297 +|(% style="width:89px" %)0004|(% style="width:98px" %)(((
1298 +2025/3/25 08:12:30
1299 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1300 +|(% style="width:89px" %)0005|(% style="width:98px" %)(((
1301 +2025/3/25 08:13:30
1302 +)))|(% style="width:82px" %)5|(% style="width:86px" %)(((
1303 +0c b4
1304 +)))|(% style="width:92px" %)01|(% style="width:131px" %)08 23
1305 +|(% style="width:89px" %)0006|(% style="width:98px" %)(((
1306 +2025/3/25 08:14:30
1307 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1308 +|(% style="width:89px" %)0007|(% style="width:98px" %)(((
1309 +2025/3/25 08:15:30
1310 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c b4|(% style="width:92px" %)01|(% style="width:131px" %)08 23
1311 +|(% style="width:89px" %)0008|(% style="width:98px" %)(((
1312 +2025/3/25 08:16:30
1313 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22
1314 +
1315 +If user sends below downlink command: (% style="background-color:yellow" %)3167E264BA67E2665E05
1316 +
1317 +Where : Start time: 67E264BA = time 2025/3/25 08:09:30
1318 +
1319 + Stop time: 67E2665E= time 2025/3/25 08:16:30
1320 +
1321 +
1322 +**SDI-12-LB will uplink this payload.**
1323 +
1324 +**67E264BA 05 0CA8 01 0821** 67E264F6050CAE01082267E26532050CAE01082267E2656E050CAE01082267E265AA050CB401082367E265E6050CAE01082267E26622050CB401082367E2665E050CAE010822
1325 +
1326 +
1327 +Where the first 10 bytes is for the first entry:
1328 +
1329 +67E264BA050CA8010821
1330 +
1331 +Unix Time Stamp: 67E264BA(H)=1742890170(D)  ~-~->  time=2025-03-25 8:09:30
1332 +
1333 +Payload Length: 0x05(H)=5 bytes
1334 +
1335 +Battery voltage: 0x0CA8(H)=3240 mV
1336 +
1337 +Payload Version:  01
1338 +
1339 +Value: For the distance sensor used for testing, this value is the mm distance value, 0x0821(H)=2081mm.
1340 +
1341 +
1342 +
1154 1154  = 3. Configure SDI-12-LB/LS via AT Command or LoRaWAN Downlink =
1155 1155  
1156 1156  
... ... @@ -1237,7 +1237,6 @@
1237 1237  * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
1238 1238  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1239 1239  
1240 -
1241 1241  == 3.3 Set the output time ==
1242 1242  
1243 1243  
... ... @@ -1309,7 +1309,6 @@
1309 1309  * Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
1310 1310  * Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1311 1311  
1312 -
1313 1313  == 3.4 Set the all data mode ==
1314 1314  
1315 1315  
... ... @@ -1332,7 +1332,6 @@
1332 1332  * Example 1: Downlink Payload: AB 00  ~/~/  AT+ALLDATAMOD=0
1333 1333  * Example 2: Downlink Payload: AB 01  ~/~/  AT+ALLDATAMOD=1
1334 1334  
1335 -
1336 1336  == 3.5 Set the splicing payload for uplink ==
1337 1337  
1338 1338  
image-20241118165746-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +89.4 KB
Content
image-20241118165832-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +27.2 KB
Content
image-20250329133856-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +31.2 KB
Content
image-20250329133946-2.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +29.6 KB
Content
image-20250329134001-3.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +59.0 KB
Content
image-20250416150535-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +47.6 KB
Content
image-20250416151346-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +79.6 KB
Content
image-20250416151406-3.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +44.8 KB
Content
image-20250416151419-4.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +47.6 KB
Content
image-20250416154628-5.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +40.4 KB
Content
image-20250416154700-6.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +65.6 KB
Content
image-20250416154716-7.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +50.8 KB
Content