<
From version < 74.4 >
edited by Xiaoling
on 2023/08/19 15:45
To version < 8.1 >
edited by Edwin Chen
on 2023/05/11 20:37
>
Change comment: Uploaded new attachment "image-20230511203450-2.png", version {1}

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SN50v3-LB LoRaWAN Sensor Node User Manual
1 +SN50v3-LB User Manual
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Edwin
Content
... ... @@ -1,5 +1,4 @@
1 -(% style="text-align:center" %)
2 -[[image:image-20230515135611-1.jpeg||height="589" width="589"]]
1 +[[image:image-20230511201248-1.png||height="403" width="489"]]
3 3  
4 4  
5 5  
... ... @@ -16,21 +16,23 @@
16 16  
17 17  == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
18 18  
19 -
20 20  (% style="color:blue" %)**SN50V3-LB **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mA Li/SOCl2 battery**(%%) for long term use.SN50V3-LB is designed to facilitate developers to quickly deploy industrial level LoRa and IoT solutions. It help users to turn the idea into a practical application and make the Internet of Things a reality. It is easy to program, create and connect your things everywhere.
21 21  
20 +
22 22  (% style="color:blue" %)**SN50V3-LB wireless part**(%%) is based on SX1262 allows the user to send data and reach extremely long ranges at low data-rates.It provides ultra-long range spread spectrum communication and high interference immunity whilst minimising current consumption.It targets professional wireless sensor network applications such as irrigation systems, smart metering, smart cities, smartphone detection, building automation, and so on.
23 23  
23 +
24 24  (% style="color:blue" %)**SN50V3-LB **(%%)has a powerful 48Mhz ARM microcontroller with 256KB flash and 64KB RAM. It has multiplex I/O pins to connect to different sensors.
25 25  
26 +
26 26  (% style="color:blue" %)**SN50V3-LB**(%%) has a built-in BLE module, user can configure the sensor remotely via Mobile Phone. It also support OTA upgrade via private LoRa protocol for easy maintaining.
27 27  
29 +
28 28  SN50V3-LB is the 3^^rd^^ generation of LSN50 series generic sensor node from Dragino. It is an (% style="color:blue" %)**open source project**(%%) and has a mature LoRaWAN stack and application software. User can use the pre-load software for their IoT projects or easily customize the software for different requirements.
29 29  
30 30  
31 31  == 1.2 ​Features ==
32 32  
33 -
34 34  * LoRaWAN 1.0.3 Class A
35 35  * Ultra-low power consumption
36 36  * Open-Source hardware/software
... ... @@ -43,7 +43,6 @@
43 43  
44 44  == 1.3 Specification ==
45 45  
46 -
47 47  (% style="color:#037691" %)**Common DC Characteristics:**
48 48  
49 49  * Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
... ... @@ -80,7 +80,6 @@
80 80  
81 81  == 1.4 Sleep mode and working mode ==
82 82  
83 -
84 84  (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
85 85  
86 86  (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.
... ... @@ -123,7 +123,6 @@
123 123  == 1.7 Pin Definitions ==
124 124  
125 125  
126 -[[image:image-20230610163213-1.png||height="404" width="699"]]
127 127  
128 128  
129 129  == 1.8 Mechanical ==
... ... @@ -136,9 +136,8 @@
136 136  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
137 137  
138 138  
139 -== 1.9 Hole Option ==
137 +== Hole Option ==
140 140  
141 -
142 142  SN50v3-LB has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
143 143  
144 144  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627104757-1.png?rev=1.1||alt="image-20220627104757-1.png"]]
... ... @@ -146,12 +146,12 @@
146 146  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656298089706-973.png?rev=1.1||alt="1656298089706-973.png"]]
147 147  
148 148  
149 -= 2. Configure SN50v3-LB to connect to LoRaWAN network =
146 += 2. Configure S31x-LB to connect to LoRaWAN network =
150 150  
151 151  == 2.1 How it works ==
152 152  
153 153  
154 -The SN50v3-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the SN50v3-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
151 +The S31x-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%) mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the S31x-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
155 155  
156 156  
157 157  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -159,14 +159,14 @@
159 159  
160 160  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.
161 161  
162 -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.
159 +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.
163 163  
164 164  
165 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
162 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
166 166  
167 -Each SN50v3-LB is shipped with a sticker with the default device EUI as below:
164 +Each S31x-LB is shipped with a sticker with the default device EUI as below:
168 168  
169 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/S31-LB_S31B-LB/WebHome/image-20230426084152-1.png?width=502&height=233&rev=1.1||alt="图片-20230426084152-1.png" height="233" width="502"]]
166 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
170 170  
171 171  
172 172  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
... ... @@ -193,10 +193,10 @@
193 193  [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]]
194 194  
195 195  
196 -(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB
193 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
197 197  
198 198  
199 -Press the button for 5 seconds to activate the SN50v3-LB.
196 +Press the button for 5 seconds to activate the S31x-LB.
200 200  
201 201  (% 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.
202 202  
... ... @@ -208,7 +208,7 @@
208 208  === 2.3.1 Device Status, FPORT~=5 ===
209 209  
210 210  
211 -Users can use the downlink command(**0x26 01**) to ask SN50v3-LB to send device configure detail, include device configure status. SN50v3-LB will uplink a payload via FPort=5 to server.
208 +Users can use the downlink command(**0x26 01**) to ask S31x-LB to send device configure detail, include device configure status. S31x-LB will uplink a payload via FPort=5 to server.
212 212  
213 213  The Payload format is as below.
214 214  
... ... @@ -216,44 +216,46 @@
216 216  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
217 217  |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
218 218  |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
219 -|(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
216 +|(% style="width:103px" %)**Value**|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT
220 220  
221 221  Example parse in TTNv3
222 222  
220 +[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]]
223 223  
224 -(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB, this value is 0x1C
225 225  
223 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
224 +
226 226  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
227 227  
228 228  (% style="color:#037691" %)**Frequency Band**:
229 229  
230 -0x01: EU868
229 +*0x01: EU868
231 231  
232 -0x02: US915
231 +*0x02: US915
233 233  
234 -0x03: IN865
233 +*0x03: IN865
235 235  
236 -0x04: AU915
235 +*0x04: AU915
237 237  
238 -0x05: KZ865
237 +*0x05: KZ865
239 239  
240 -0x06: RU864
239 +*0x06: RU864
241 241  
242 -0x07: AS923
241 +*0x07: AS923
243 243  
244 -0x08: AS923-1
243 +*0x08: AS923-1
245 245  
246 -0x09: AS923-2
245 +*0x09: AS923-2
247 247  
248 -0x0a: AS923-3
247 +*0x0a: AS923-3
249 249  
250 -0x0b: CN470
249 +*0x0b: CN470
251 251  
252 -0x0c: EU433
251 +*0x0c: EU433
253 253  
254 -0x0d: KR920
253 +*0x0d: KR920
255 255  
256 -0x0e: MA869
255 +*0x0e: MA869
257 257  
258 258  
259 259  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -274,419 +274,41 @@
274 274  Ex2: 0x0B49 = 2889mV
275 275  
276 276  
277 -=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
276 +=== 2.3.2  Sensor Data. FPORT~=2 ===
278 278  
279 279  
280 -SN50v3-LB has different working mode for the connections of different type of sensors. This section describes these modes. Use can use the AT Command (% style="color:blue" %)**AT+MOD**(%%) to set SN50v3-LB to different working modes.
279 +Sensor Data is uplink via FPORT=2
281 281  
282 -For example:
283 -
284 - (% style="color:blue" %)**AT+MOD=2  ** (%%) ~/~/ will set the SN50v3 to work in MOD=2 distance mode which target to measure distance via Ultrasonic Sensor.
285 -
286 -
287 -(% style="color:red" %) **Important Notice:**
288 -
289 -~1. Some working modes has payload more than 12 bytes, The US915/AU915/AS923 frequency bands' definition has maximum 11 bytes in (% style="color:blue" %)**DR0**(%%). Server sides will see NULL payload while SN50v3-LB transmit in DR0 with 12 bytes payload.
290 -
291 -2. All modes share the same Payload Explanation from HERE.
292 -
293 -3. By default, the device will send an uplink message every 20 minutes.
294 -
295 -
296 -==== 2.3.2.1  MOD~=1 (Default Mode) ====
297 -
298 -
299 -In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
300 -
301 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
302 -|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:130px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2**
303 -|Value|Bat|(% style="width:191px" %)(((
304 -Temperature(DS18B20)(PC13)
305 -)))|(% style="width:78px" %)(((
306 -ADC(PA4)
307 -)))|(% style="width:216px" %)(((
308 -Digital in(PB15)&Digital Interrupt(PA8)
309 -)))|(% style="width:308px" %)(((
310 -Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
311 -)))|(% style="width:154px" %)(((
312 -Humidity(SHT20 or SHT31)
313 -)))
314 -
315 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220627150949-6.png?rev=1.1||alt="image-20220627150949-6.png"]]
316 -
317 -
318 -==== 2.3.2.2  MOD~=2 (Distance Mode) ====
319 -
320 -
321 -This mode is target to measure the distance. The payload of this mode is totally 11 bytes. The 8^^th^^ and 9^^th^^ bytes is for the distance.
322 -
323 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
324 -|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:30px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:110px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:140px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:40px" %)**2**
325 -|Value|BAT|(% style="width:196px" %)(((
326 -Temperature(DS18B20)(PC13)
327 -)))|(% style="width:87px" %)(((
328 -ADC(PA4)
329 -)))|(% style="width:189px" %)(((
330 -Digital in(PB15) & Digital Interrupt(PA8)
331 -)))|(% style="width:208px" %)(((
332 -Distance measure by: 1) LIDAR-Lite V3HP
333 -Or 2) Ultrasonic Sensor
334 -)))|(% style="width:117px" %)Reserved
335 -
336 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656324539647-568.png?rev=1.1||alt="1656324539647-568.png"]]
337 -
338 -
339 -(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**
340 -
341 -[[image:image-20230512173758-5.png||height="563" width="712"]]
342 -
343 -
344 -(% style="color:blue" %)**Connection to Ultrasonic Sensor:**
345 -
346 -(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.**
347 -
348 -[[image:image-20230512173903-6.png||height="596" width="715"]]
349 -
350 -
351 -For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
352 -
353 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
354 -|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:120px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:80px" %)**2**
355 -|Value|BAT|(% style="width:183px" %)(((
356 -Temperature(DS18B20)(PC13)
357 -)))|(% style="width:173px" %)(((
358 -Digital in(PB15) & Digital Interrupt(PA8)
359 -)))|(% style="width:84px" %)(((
360 -ADC(PA4)
361 -)))|(% style="width:323px" %)(((
362 -Distance measure by:1)TF-Mini plus LiDAR
363 -Or 2) TF-Luna LiDAR
364 -)))|(% style="width:188px" %)Distance signal  strength
365 -
366 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656376779088-686.png?rev=1.1||alt="1656376779088-686.png"]]
367 -
368 -
369 -**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
370 -
371 -(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
372 -
373 -[[image:image-20230512180609-7.png||height="555" width="802"]]
374 -
375 -
376 -**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
377 -
378 -(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
379 -
380 -[[image:image-20230610170047-1.png||height="452" width="799"]]
381 -
382 -
383 -==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
384 -
385 -
386 -This mode has total 12 bytes. Include 3 x ADC + 1x I2C
387 -
388 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
389 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
281 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
282 +|=(% style="width: 90px;background-color:#D9E2F3" %)(((
390 390  **Size(bytes)**
391 -)))|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)2|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)1
392 -|Value|(% style="width:68px" %)(((
393 -ADC1(PA4)
394 -)))|(% style="width:75px" %)(((
395 -ADC2(PA5)
396 -)))|(((
397 -ADC3(PA8)
398 -)))|(((
399 -Digital Interrupt(PB15)
400 -)))|(% style="width:304px" %)(((
401 -Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
402 -)))|(% style="width:163px" %)(((
403 -Humidity(SHT20 or SHT31)
404 -)))|(% style="width:53px" %)Bat
405 -
406 -[[image:image-20230513110214-6.png]]
407 -
408 -
409 -==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
410 -
411 -
412 -This mode has total 11 bytes. As shown below:
413 -
414 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
415 -|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**
416 -|Value|BAT|(% style="width:186px" %)(((
417 -Temperature1(DS18B20)(PC13)
418 -)))|(% style="width:82px" %)(((
419 -ADC(PA4)
420 -)))|(% style="width:210px" %)(((
421 -Digital in(PB15) & Digital Interrupt(PA8) 
422 -)))|(% style="width:191px" %)Temperature2(DS18B20)
423 -(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8)
424 -
425 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656377606181-607.png?rev=1.1||alt="1656377606181-607.png"]]
426 -
427 -
428 -[[image:image-20230513134006-1.png||height="559" width="736"]]
429 -
430 -
431 -==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
432 -
433 -
434 -[[image:image-20230512164658-2.png||height="532" width="729"]]
435 -
436 -Each HX711 need to be calibrated before used. User need to do below two steps:
437 -
438 -1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram.
439 -1. Adjust calibration factor (default value 400): Put a known weight thing on load cell and run (% style="color:blue" %)**AT+WEIGAP**(%%) to adjust the Calibration Factor.
440 -1. (((
441 -Weight has 4 bytes, the unit is g.
442 -
443 -
444 -
284 +)))|=(% style="width: 80px;background-color:#D9E2F3" %)2|=(% style="width: 90px;background-color:#D9E2F3" %)4|=(% style="width:80px;background-color:#D9E2F3" %)1|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 80px;background-color:#D9E2F3" %)2
285 +|(% style="width:99px" %)**Value**|(% style="width:69px" %)(((
286 +[[Battery>>||anchor="HBattery:"]]
287 +)))|(% style="width:130px" %)(((
288 +[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]]
289 +)))|(% style="width:91px" %)(((
290 +[[Alarm Flag>>||anchor="HAlarmFlag26MOD:"]]
291 +)))|(% style="width:103px" %)(((
292 +[[Temperature>>||anchor="HTemperature:"]]
293 +)))|(% style="width:80px" %)(((
294 +[[Humidity>>||anchor="HHumidity:"]]
445 445  )))
446 446  
447 -For example:
297 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
448 448  
449 -(% style="color:blue" %)**AT+GETSENSORVALUE =0**
299 +Sensor Battery Level.
450 450  
451 -Response:  Weight is 401 g
452 -
453 -Check the response of this command and adjust the value to match the real value for thing.
454 -
455 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
456 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
457 -**Size(bytes)**
458 -)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 150px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 200px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**4**
459 -|Value|BAT|(% style="width:193px" %)(((
460 -Temperature(DS18B20)(PC13)
461 -)))|(% style="width:85px" %)(((
462 -ADC(PA4)
463 -)))|(% style="width:186px" %)(((
464 -Digital in(PB15) & Digital Interrupt(PA8)
465 -)))|(% style="width:100px" %)Weight
466 -
467 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220820120036-2.png?width=1003&height=469&rev=1.1||alt="image-20220820120036-2.png" height="469" width="1003"]]
468 -
469 -
470 -==== 2.3.2.6  MOD~=6 (Counting Mode) ====
471 -
472 -
473 -In this mode, the device will work in counting mode. It counts the interrupt on the interrupt pins and sends the count on TDC time.
474 -
475 -Connection is as below. The PIR sensor is a count sensor, it will generate interrupt when people come close or go away. User can replace the PIR sensor with other counting sensors.
476 -
477 -[[image:image-20230512181814-9.png||height="543" width="697"]]
478 -
479 -
480 -(% style="color:red" %)**Note:** **LoRaWAN wireless transmission will infect the PIR sensor. Which cause the counting value increase +1 for every uplink. User can change PIR sensor or put sensor away of the SN50_v3 to avoid this happen.**
481 -
482 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
483 -|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**Size(bytes)**|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 180px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 100px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 80px;background-color:#D9E2F3;color:#0070C0" %)**4**
484 -|Value|BAT|(% style="width:256px" %)(((
485 -Temperature(DS18B20)(PC13)
486 -)))|(% style="width:108px" %)(((
487 -ADC(PA4)
488 -)))|(% style="width:126px" %)(((
489 -Digital in(PB15)
490 -)))|(% style="width:145px" %)(((
491 -Count(PA8)
492 -)))
493 -
494 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378441509-171.png?rev=1.1||alt="1656378441509-171.png"]]
495 -
496 -
497 -==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
498 -
499 -
500 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
501 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
502 -**Size(bytes)**
503 -)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)1|=(% style="width: 40px;background-color:#D9E2F3;color:#0070C0" %)2
504 -|Value|BAT|(% style="width:188px" %)(((
505 -Temperature(DS18B20)
506 -(PC13)
507 -)))|(% style="width:83px" %)(((
508 -ADC(PA5)
509 -)))|(% style="width:184px" %)(((
510 -Digital Interrupt1(PA8)
511 -)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
512 -
513 -[[image:image-20230513111203-7.png||height="324" width="975"]]
514 -
515 -
516 -==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
517 -
518 -
519 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
520 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
521 -**Size(bytes)**
522 -)))|=(% style="width: 30px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 120px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 70px;background-color:#D9E2F3;color:#0070C0" %)2
523 -|Value|BAT|(% style="width:207px" %)(((
524 -Temperature(DS18B20)
525 -(PC13)
526 -)))|(% style="width:94px" %)(((
527 -ADC1(PA4)
528 -)))|(% style="width:198px" %)(((
529 -Digital Interrupt(PB15)
530 -)))|(% style="width:84px" %)(((
531 -ADC2(PA5)
532 -)))|(% style="width:82px" %)(((
533 -ADC3(PA8)
534 -)))
535 -
536 -[[image:image-20230513111231-8.png||height="335" width="900"]]
537 -
538 -
539 -==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
540 -
541 -
542 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
543 -|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
544 -**Size(bytes)**
545 -)))|=(% style="width: 20px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4|=(% style="width: 60px;background-color:#D9E2F3;color:#0070C0" %)4
546 -|Value|BAT|(((
547 -Temperature
548 -(DS18B20)(PC13)
549 -)))|(((
550 -Temperature2
551 -(DS18B20)(PB9)
552 -)))|(((
553 -Digital Interrupt
554 -(PB15)
555 -)))|(% style="width:193px" %)(((
556 -Temperature3
557 -(DS18B20)(PB8)
558 -)))|(% style="width:78px" %)(((
559 -Count1(PA8)
560 -)))|(% style="width:78px" %)(((
561 -Count2(PA4)
562 -)))
563 -
564 -[[image:image-20230513111255-9.png||height="341" width="899"]]
565 -
566 -(% style="color:blue" %)**The newly added AT command is issued correspondingly:**
567 -
568 -(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)**06 00 00 xx**
569 -
570 -(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%)  pin:  Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx**
571 -
572 -(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)** 06 00 02 xx**
573 -
574 -
575 -(% style="color:blue" %)**AT+SETCNT=aa,bb** 
576 -
577 -When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
578 -
579 -When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
580 -
581 -
582 -==== 2.3.2.10  MOD~=10 (PWM input capture and output mode,Since firmware v1.2) ====
583 -
584 -
585 -In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output.
586 -
587 -[[It should be noted when using PWM mode.>>||anchor="H2.3.3.12A0PWMMOD"]]
588 -
589 -
590 -===== 2.3.2.10.a  Uplink, PWM input capture =====
591 -
592 -
593 -[[image:image-20230817172209-2.png||height="439" width="683"]]
594 -
595 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:690px" %)
596 -|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bytes)**|(% style="background-color:#d9e2f3; color:#0070c0; width:20px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:100px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:135px" %)**1**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**2**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**2**
597 -|Value|Bat|(% style="width:191px" %)(((
598 -Temperature(DS18B20)(PC13)
599 -)))|(% style="width:78px" %)(((
600 -ADC(PA4)
601 -)))|(% style="width:135px" %)(((
602 -PWM_Setting
603 -
604 -&Digital Interrupt(PA8)
605 -)))|(% style="width:70px" %)(((
606 -Pulse period
607 -)))|(% style="width:89px" %)(((
608 -Duration of high level
609 -)))
610 -
611 -[[image:image-20230817170702-1.png||height="161" width="1044"]]
612 -
613 -
614 -When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle.
615 -
616 -**Frequency:**
617 -
618 -(% class="MsoNormal" %)
619 -(% lang="EN-US" %)If (% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**AT+PWMSET**(%%)**=0, **(% lang="EN-US" %)Frequency= 1000000/(%%)Pulse period(HZ);
620 -
621 -(% class="MsoNormal" %)
622 -(% lang="EN-US" %)If (% style="background-attachment:initial; background-clip:initial; background-image:initial; background-origin:initial; background-position:initial; background-repeat:initial; background-size:initial; color:blue; font-family:Arial,sans-serif" %)**AT+PWMSET**(%%)**=1, **(% lang="EN-US" %)Frequency= 1000/(%%)Pulse period(HZ);
623 -
624 -
625 -(% class="MsoNormal" %)
626 -**Duty cycle:**
627 -
628 -Duty cycle= Duration of high level/ Pulse period*100 ~(%).
629 -
630 -[[image:image-20230818092200-1.png||height="344" width="627"]]
631 -
632 -
633 -===== 2.3.2.10.b  Downlink, PWM output =====
634 -
635 -
636 -[[image:image-20230817173800-3.png||height="412" width="685"]]
637 -
638 -Downlink:  (% style="color:#037691" %)**0B xx xx xx yy zz zz**
639 -
640 - xx xx xx is the output frequency, the unit is HZ.
641 -
642 - yy is the duty cycle of the output, the unit is %.
643 -
644 - zz zz is the time delay of the output, the unit is ms.
645 -
646 -
647 -For example, send a downlink command: 0B 00 61 A8 32 13 88, the frequency is 25KHZ, the duty cycle is 50, and the output time is 5 seconds.
648 -
649 -The oscilloscope displays as follows:
650 -
651 -[[image:image-20230817173858-5.png||height="694" width="921"]]
652 -
653 -
654 -=== 2.3.3  ​Decode payload ===
655 -
656 -
657 -While using TTN V3 network, you can add the payload format to decode the payload.
658 -
659 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656378466788-734.png?rev=1.1||alt="1656378466788-734.png"]]
660 -
661 -The payload decoder function for TTN V3 are here:
662 -
663 -SN50v3-LB TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
664 -
665 -
666 -==== 2.3.3.1 Battery Info ====
667 -
668 -
669 -Check the battery voltage for SN50v3-LB.
670 -
671 671  Ex1: 0x0B45 = 2885mV
672 672  
673 673  Ex2: 0x0B49 = 2889mV
674 674  
675 675  
676 -==== 2.3.3.2  Temperature (DS18B20) ====
677 677  
307 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
678 678  
679 -If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
309 +**Example**:
680 680  
681 -More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]]
682 -
683 -(% style="color:blue" %)**Connection:**
684 -
685 -[[image:image-20230512180718-8.png||height="538" width="647"]]
686 -
687 -
688 -(% style="color:blue" %)**Example**:
689 -
690 690  If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
691 691  
692 692  If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
... ... @@ -694,251 +694,195 @@
694 694  (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
695 695  
696 696  
697 -==== 2.3.3.3 Digital Input ====
318 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
698 698  
699 699  
700 -The digital input for pin PB15,
321 +Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
701 701  
702 -* When PB15 is high, the bit 1 of payload byte 6 is 1.
703 -* When PB15 is low, the bit 1 of payload byte 6 is 0.
704 704  
705 -(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
706 -(((
707 -When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
324 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
708 708  
709 -(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.**
710 710  
711 -
712 -)))
327 +**Example:**
713 713  
714 -==== 2.3.3.4  Analogue Digital Converter (ADC) ====
329 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
715 715  
331 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
716 716  
717 -The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv.
333 +If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
718 718  
719 -When the measured output voltage of the sensor is not within the range of 0.1V and 1.1V, the output voltage terminal of the sensor shall be divided The example in the following figure is to reduce the output voltage of the sensor by three times If it is necessary to reduce more times, calculate according to the formula in the figure and connect the corresponding resistance in series.
335 +If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settingssee [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
720 720  
721 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220628150112-1.png?width=285&height=241&rev=1.1||alt="image-20220628150112-1.png" height="241" width="285"]]
722 722  
338 +== 2.4 Payload Decoder file ==
723 723  
724 -(% style="color:red" %)**Note: If the ADC type sensor needs to be powered by SN50_v3, it is recommended to use +5V to control its switch.Only sensors with low power consumption can be powered with VDD.**
725 725  
341 +In TTN, use can add a custom payload so it shows friendly reading
726 726  
727 -The position of PA5 on the hardware after **LSN50 v3.3** is changed to the position shown in the figure below, and the collected voltage becomes one-sixth of the original.
343 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
728 728  
729 -[[image:image-20230811113449-1.png||height="370" width="608"]]
345 +[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B >>https://github.com/dragino/dragino-end-node-decoder/tree/main/LSN50v2-S31%26S31B]]
730 730  
731 -==== 2.3.3.5 Digital Interrupt ====
732 732  
348 +== 2.5 Datalog Feature ==
733 733  
734 -Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3-LB will send a packet to the server.
735 735  
736 -(% style="color:blue" %)** Interrupt connection method:**
351 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, S31x-LB will store the reading for future retrieving purposes.
737 737  
738 -[[image:image-20230513105351-5.png||height="147" width="485"]]
739 739  
354 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
740 740  
741 -(% style="color:blue" %)**Example to use with door sensor :**
742 742  
743 -The door sensor is shown at right. It is a two wire magnetic contact switch used for detecting the open/close status of doors or windows.
357 +Set [[PNACKMD=1>>||anchor="H2.5.4DatalogUplinkpayloadA028FPORT3D329"]], S31x-LB will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-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.
744 744  
745 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379210849-860.png?rev=1.1||alt="1656379210849-860.png"]]
359 +* a) S31x-LB will do an ACK check for data records sending to make sure every data arrive server.
360 +* b) S31x-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-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 S31x-LB gets a ACK, S31x-LB will consider there is a network connection and resend all NONE-ACK messages.
746 746  
747 -When the two pieces are close to each other, the 2 wire output will be short or open (depending on the type), while if the two pieces are away from each other, the 2 wire output will be the opposite status. So we can use SN50v3-LB interrupt interface to detect the status for the door or window.
362 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
748 748  
364 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]]
749 749  
750 -(% style="color:blue" %)**Below is the installation example:**
366 +=== 2.5.2 Unix TimeStamp ===
751 751  
752 -Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows:
753 753  
754 -* (((
755 -One pin to SN50v3-LB's PA8 pin
756 -)))
757 -* (((
758 -The other pin to SN50v3-LB's VDD pin
759 -)))
369 +S31x-LB uses Unix TimeStamp format based on
760 760  
761 -Install the other piece to the door. Find a place where the two pieces will be close to each other when the door is closed. For this particular magnetic sensor, when the door is closed, the output will be short, and PA8 will be at the VCC voltage.
371 +[[image:http://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="图片-20220523001219-11.png" height="97" width="627"]]
762 762  
763 -Door sensors have two types: (% style="color:blue" %)** NC (Normal close)**(%%) and (% style="color:blue" %)**NO (normal open)**(%%). The connection for both type sensors are the same. But the decoding for payload are reverse, user need to modify this in the IoT Server decoder.
373 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
764 764  
765 -When door sensor is shorted, there will extra power consumption in the circuit, the extra current is 3v3/R14 = 3v3/1Mohm = 3uA which can be ignored.
375 +Below is the converter example
766 766  
767 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379283019-229.png?rev=1.1||alt="1656379283019-229.png"]]
377 +[[image:http://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="图片-20220523001219-12.png" height="298" width="720"]]
768 768  
769 -The above photos shows the two parts of the magnetic switch fitted to a door.
379 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
770 770  
771 -The software by default uses the falling edge on the signal line as an interrupt. We need to modify it to accept both the rising edge (0v ~-~-> VCC , door close) and the falling edge (VCC ~-~-> 0v , door open) as the interrupt.
772 772  
773 -The command is:
382 +=== 2.5.3 Set Device Time ===
774 774  
775 -(% style="color:blue" %)**AT+INTMOD1=1   ** (%%) ~/~/  (more info about INMOD please refer** **[[**AT Command Manual**>>url:http://www.dragino.com/downloads/index.php?dir=LSN50-LoRaST/&file=DRAGINO_LSN50_AT_Commands_v1.5.1.pdf]]**. **)
776 776  
777 -Below shows some screen captures in TTN V3:
385 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
778 778  
779 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379339508-835.png?rev=1.1||alt="1656379339508-835.png"]]
387 +Once S31x-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to S31x-LB. If S31x-LB fails to get the time from the server, S31x-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
780 780  
389 +(% 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.**
781 781  
782 -In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
783 783  
784 -door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
392 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
785 785  
786 786  
787 -==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
395 +The Datalog uplinks will use below payload format.
788 788  
397 +**Retrieval data payload:**
789 789  
790 -The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
399 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
400 +|=(% style="width: 80px;background-color:#D9E2F3" %)(((
401 +**Size(bytes)**
402 +)))|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 60px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 120px; background-color: rgb(217, 226, 243);" %)**2**|=(% style="width: 103px; background-color: rgb(217, 226, 243);" %)**1**|=(% style="width: 85px; background-color: rgb(217, 226, 243);" %)**4**
403 +|(% style="width:103px" %)**Value**|(% style="width:54px" %)(((
404 +[[Temp_Black>>||anchor="HTemperatureBlack:"]]
405 +)))|(% style="width:51px" %)[[Temp_White>>||anchor="HTemperatureWhite:"]]|(% style="width:89px" %)[[Temp_ Red or Temp _White>>||anchor="HTemperatureREDorTemperatureWhite:"]]|(% style="width:103px" %)Poll message flag & Ext|(% style="width:54px" %)[[Unix Time Stamp>>||anchor="H2.5.2UnixTimeStamp"]]
791 791  
792 -We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
407 +**Poll message flag & Ext:**
793 793  
794 -(% style="color:red" %)**Notice: Different I2C sensors have different I2C commands set and initiate process, if user want to use other I2C sensors, User need to re-write the source code to support those sensors. SHT20/ SHT31 code in SN50v3-LB will be a good reference.**
409 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20221006192726-1.png?width=754&height=112&rev=1.1||alt="图片-20221006192726-1.png" height="112" width="754"]]
795 795  
411 +**No ACK Message**:  1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature)
796 796  
797 -Below is the connection to SHT20/ SHT31. The connection is as below:
413 +**Poll Message Flag**: 1: This message is a poll message reply.
798 798  
799 -[[image:image-20230610170152-2.png||height="501" width="846"]]
415 +* Poll Message Flag is set to 1.
800 800  
417 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
801 801  
802 -The device will be able to get the I2C sensor data now and upload to IoT Server.
419 +For example, in US915 band, the max payload for different DR is:
803 803  
804 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/1656379664142-345.png?rev=1.1||alt="1656379664142-345.png"]]
421 +**a) DR0:** max is 11 bytes so one entry of data
805 805  
806 -Convert the read byte to decimal and divide it by ten.
423 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
807 807  
808 -**Example:**
425 +**c) DR2:** total payload includes 11 entries of data
809 809  
810 -Temperature:  Read:0116(H) = 278(D Value 278 /10=27.8℃;
427 +**d) DR3: **total payload includes 22 entries of data.
811 811  
812 -Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
429 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
813 813  
814 -If you want to use other I2C device, please refer the SHT20 part source code as reference.
815 815  
816 -
817 -==== 2.3.3.7  ​Distance Reading ====
818 -
819 -
820 -Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]].
821 -
822 -
823 -==== 2.3.3.8 Ultrasonic Sensor ====
824 -
825 -
826 -This Fundamental Principles of this sensor can be found at this link: [[https:~~/~~/wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU~~_~~__SEN0208>>url:https://wiki.dfrobot.com/Weather_-_proof_Ultrasonic_Sensor_with_Separate_Probe_SKU___SEN0208]]
827 -
828 -The SN50v3-LB detects the pulse width of the sensor and converts it to mm output. The accuracy will be within 1 centimeter. The usable range (the distance between the ultrasonic probe and the measured object) is between 24cm and 600cm.
829 -
830 -The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor.
831 -
832 -The picture below shows the connection:
833 -
834 -[[image:image-20230512173903-6.png||height="596" width="715"]]
835 -
836 -
837 -Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT).
838 -
839 -The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
840 -
841 841  **Example:**
842 842  
843 -Distance:  Read: 0C2D(Hex) = 3117(D)  Value 3117 mm=311.7 cm
434 +If S31x-LB has below data inside Flash:
844 844  
436 +[[image:1682646494051-944.png]]
845 845  
846 -==== 2.3.3.9  Battery Output - BAT pin ====
438 +If user sends below downlink command: 3160065F9760066DA705
847 847  
440 +Where : Start time: 60065F97 = time 21/1/19 04:27:03
848 848  
849 -The BAT pin of SN50v3-LB is connected to the Battery directly. If users want to use BAT pin to power an external sensor. User need to make sure the external sensor is of low power consumption. Because the BAT pin is always open. If the external sensor is of high power consumption. the battery of SN50v3-LB will run out very soon.
442 + Stop time: 60066DA7= time 21/1/19 05:27:03
850 850  
851 851  
852 -==== 2.3.3.1 +5V Output ====
445 +**S31x-LB will uplink this payload.**
853 853  
447 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-13.png?width=727&height=421&rev=1.1||alt="图片-20220523001219-13.png" height="421" width="727"]]
854 854  
855 -SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 
449 +(((
450 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
451 +)))
856 856  
857 -The 5V output time can be controlled by AT Command.
453 +(((
454 +Where the first 11 bytes is for the first entry:
455 +)))
858 858  
859 -(% style="color:blue" %)**AT+5VT=1000**
457 +(((
458 +7FFF089801464160065F97
459 +)))
860 860  
861 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
461 +(((
462 +**Ext sensor data**=0x7FFF/100=327.67
463 +)))
862 862  
863 -By default the **AT+5VT=500**. If the external sensor which require 5v and require more time to get stable state, user can use this command to increase the power ON duration for this sensor.
465 +(((
466 +**Temp**=0x088E/100=22.00
467 +)))
864 864  
865 -
866 -==== 2.3.3.11  BH1750 Illumination Sensor ====
867 -
868 -
869 -MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
870 -
871 -[[image:image-20230512172447-4.png||height="416" width="712"]]
872 -
873 -
874 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50%20%26%20LSN50-V2%20-%20LoRaWAN%20Sensor%20Node%20User%20Manual/WebHome/image-20220628110012-12.png?rev=1.1||alt="image-20220628110012-12.png" height="361" width="953"]]
875 -
876 -
877 -==== 2.3.3.12  PWM MOD ====
878 -
879 -
880 -* (((
881 -The maximum voltage that the SDA pin of SN50v3 can withstand is 3.6V, and it cannot exceed this voltage value, otherwise the chip may be burned.
469 +(((
470 +**Hum**=0x014B/10=32.6
882 882  )))
883 -* (((
884 -If the PWM pin connected to the SDA pin cannot maintain a high level when it is not working, you need to remove the resistor R2 or replace it with a resistor with a larger resistance, otherwise a sleep current of about 360uA will be generated. The position of the resistor is shown in the figure below:
885 -)))
886 886  
887 - [[image:image-20230817183249-3.png||height="320" width="417"]]
888 -
889 -* (((
890 -The signal captured by the input should preferably be processed by hardware filtering and then connected in. The software processing method is to capture four values, discard the first captured value, and then take the middle value of the second, third, and fourth captured values.
473 +(((
474 +**poll message flag & Ext**=0x41,means reply data,Ext=1
891 891  )))
892 -* (((
893 -Since the device can only detect a pulse period of 50ms when [[AT+PWMSET=0>>||anchor="H3.3.8PWMsetting"]] (counting in microseconds), it is necessary to change the value of PWMSET according to the frequency of input capture.
894 894  
895 -
477 +(((
478 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
896 896  )))
897 897  
898 -==== 2.3.3.13  Working MOD ====
899 899  
482 +(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的
900 900  
901 -The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
484 +== 2.6 Temperature Alarm Feature ==
902 902  
903 -User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
904 904  
905 -Case 7^^th^^ Byte >> 2 & 0x1f:
487 +S31x-LB work flow with Alarm feature.
906 906  
907 -* 0: MOD1
908 -* 1: MOD2
909 -* 2: MOD3
910 -* 3: MOD4
911 -* 4: MOD5
912 -* 5: MOD6
913 -* 6: MOD7
914 -* 7: MOD8
915 -* 8: MOD9
916 -* 9: MOD10
917 917  
918 -== 2.4 Payload Decoder file ==
490 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/image-20220623090437-1.png?rev=1.1||alt="图片-20220623090437-1.png"]]
919 919  
920 920  
921 -In TTN, use can add a custom payload so it shows friendly reading
493 +== 2.7 Frequency Plans ==
922 922  
923 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
924 924  
925 -[[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/SN50_v3-LB]]
496 +The S31x-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
926 926  
927 -
928 -== 2.5 Frequency Plans ==
929 -
930 -
931 -The SN50v3-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
932 -
933 933  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
934 934  
935 935  
936 -= 3. Configure SN50v3-LB =
501 += 3. Configure S31x-LB =
937 937  
938 938  == 3.1 Configure Methods ==
939 939  
940 940  
941 -SN50v3-LB supports below configure method:
506 +S31x-LB supports below configure method:
942 942  
943 943  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
944 944  * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]].
... ... @@ -957,10 +957,10 @@
957 957  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
958 958  
959 959  
960 -== 3.3 Commands special design for SN50v3-LB ==
525 +== 3.3 Commands special design for S31x-LB ==
961 961  
962 962  
963 -These commands only valid for SN50v3-LB, as below:
528 +These commands only valid for S31x-LB, as below:
964 964  
965 965  
966 966  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -971,7 +971,7 @@
971 971  (% style="color:blue" %)**AT Command: AT+TDC**
972 972  
973 973  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
974 -|=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**
539 +|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
975 975  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
976 976  30000
977 977  OK
... ... @@ -994,185 +994,119 @@
994 994  === 3.3.2 Get Device Status ===
995 995  
996 996  
997 -Send a LoRaWAN downlink to ask the device to send its status.
562 +Send a LoRaWAN downlink to ask device send Alarm settings.
998 998  
999 -(% style="color:blue" %)**Downlink Payload: 0x26 01**
564 +(% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
1000 1000  
1001 -Sensor will upload Device Status via **FPORT=5**. See payload section for detail.
566 +Sensor will upload Device Status via FPORT=5. See payload section for detail.
1002 1002  
1003 1003  
1004 -=== 3.3.3 Set Interrupt Mode ===
569 +=== 3.3.3 Set Temperature Alarm Threshold ===
1005 1005  
571 +* (% style="color:blue" %)**AT Command:**
1006 1006  
1007 -Feature, Set Interrupt mode for GPIO_EXIT.
573 +(% style="color:#037691" %)**AT+SHTEMP=min,max**
1008 1008  
1009 -(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
575 +* When min=0, and max≠0, Alarm higher than max
576 +* When min≠0, and max=0, Alarm lower than min
577 +* When min≠0 and max≠0, Alarm higher than max or lower than min
1010 1010  
1011 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1012 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1013 -|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
1014 -0
1015 -OK
1016 -the mode is 0 =Disable Interrupt
1017 -)))
1018 -|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
1019 -Set Transmit Interval
1020 -0. (Disable Interrupt),
1021 -~1. (Trigger by rising and falling edge)
1022 -2. (Trigger by falling edge)
1023 -3. (Trigger by rising edge)
1024 -)))|(% style="width:157px" %)OK
1025 -|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
1026 -Set Transmit Interval
1027 -trigger by rising edge.
1028 -)))|(% style="width:157px" %)OK
1029 -|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
579 +Example:
1030 1030  
1031 -(% style="color:blue" %)**Downlink Command: 0x06**
581 + AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
1032 1032  
1033 -Format: Command Code (0x06) followed by 3 bytes.
583 +* (% style="color:blue" %)**Downlink Payload:**
1034 1034  
1035 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
585 +(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
1036 1036  
1037 -* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
1038 -* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
1039 -* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
1040 -* Example 4: Downlink Payload: 06000201  **~-~-->**  AT+INTMOD3=1
587 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
1041 1041  
1042 -=== 3.3.4 Set Power Output Duration ===
1043 1043  
590 +=== 3.3.4 Set Humidity Alarm Threshold ===
1044 1044  
1045 -Control the output duration 5V . Before each sampling, device will
592 +* (% style="color:blue" %)**AT Command:**
1046 1046  
1047 -~1. first enable the power output to external sensor,
594 +(% style="color:#037691" %)**AT+SHHUM=min,max**
1048 1048  
1049 -2. keep it on as per duration, read sensor value and construct uplink payload
596 +* When min=0, and max≠0, Alarm higher than max
597 +* When min≠0, and max=0, Alarm lower than min
598 +* When min≠0 and max≠0, Alarm higher than max or lower than min
1050 1050  
1051 -3. final, close the power output.
600 +Example:
1052 1052  
1053 -(% style="color:blue" %)**AT Command: AT+5VT**
602 + AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
1054 1054  
1055 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1056 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1057 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
1058 -500(default)
1059 -OK
1060 -)))
1061 -|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1062 -Close after a delay of 1000 milliseconds.
1063 -)))|(% style="width:157px" %)OK
604 +* (% style="color:blue" %)**Downlink Payload:**
1064 1064  
1065 -(% style="color:blue" %)**Downlink Command: 0x07**
606 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
1066 1066  
1067 -Format: Command Code (0x07) followed by 2 bytes.
608 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
1068 1068  
1069 -The first and second bytes are the time to turn on.
1070 1070  
1071 -* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1072 -* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
611 +=== 3.3.5 Set Alarm Interval ===
1073 1073  
1074 -=== 3.3.5 Set Weighing parameters ===
613 +The shortest time of two Alarm packet. (unit: min)
1075 1075  
615 +* (% style="color:blue" %)**AT Command:**
1076 1076  
1077 -Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
617 +(% style="color:#037691" %)**AT+ATDC=30** (%%) ~/~/ The shortest interval of two Alarm packets is 30 minutes, Means is there is an alarm packet uplink, there won't be another one in the next 30 minutes.
1078 1078  
1079 -(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
619 +* (% style="color:blue" %)**Downlink Payload:**
1080 1080  
1081 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1082 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1083 -|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1084 -|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1085 -|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
621 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
1086 1086  
1087 -(% style="color:blue" %)**Downlink Command: 0x08**
1088 1088  
1089 -Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
624 +=== 3.3.6 Get Alarm settings ===
1090 1090  
1091 -Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
1092 1092  
1093 -The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
627 +Send a LoRaWAN downlink to ask device send Alarm settings.
1094 1094  
1095 -* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1096 -* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1097 -* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
629 +* (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
1098 1098  
1099 -=== 3.3.6 Set Digital pulse count value ===
631 +**Example:**
1100 1100  
633 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-D20-D22-D23%20LoRaWAN%20Temperature%20Sensor%20User%20Manual/WebHome/1655948182791-225.png?rev=1.1||alt="1655948182791-225.png"]]
1101 1101  
1102 -Feature: Set the pulse count value.
1103 1103  
1104 -Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
636 +**Explain:**
1105 1105  
1106 -(% style="color:blue" %)**AT Command: AT+SETCNT**
638 +* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
1107 1107  
1108 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1109 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1110 -|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1111 -|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
640 +=== 3.3.7 Set Interrupt Mode ===
1112 1112  
1113 -(% style="color:blue" %)**Downlink Command: 0x09**
1114 1114  
1115 -Format: Command Code (0x09) followed by 5 bytes.
643 +Feature, Set Interrupt mode for GPIO_EXIT.
1116 1116  
1117 -The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
645 +(% style="color:blue" %)**AT Command: AT+INTMOD**
1118 1118  
1119 -* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1120 -* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1121 -
1122 -=== 3.3.7 Set Workmode ===
1123 -
1124 -
1125 -Feature: Switch working mode.
1126 -
1127 -(% style="color:blue" %)**AT Command: AT+MOD**
1128 -
1129 1129  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1130 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1131 -|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
648 +|=(% style="width: 154px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3" %)**Response**
649 +|(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
650 +0
1132 1132  OK
652 +the mode is 0 =Disable Interrupt
1133 1133  )))
1134 -|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1135 -OK
1136 -Attention:Take effect after ATZ
1137 -)))
654 +|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
655 +Set Transmit Interval
656 +0. (Disable Interrupt),
657 +~1. (Trigger by rising and falling edge)
658 +2. (Trigger by falling edge)
659 +3. (Trigger by rising edge)
660 +)))|(% style="width:157px" %)OK
1138 1138  
1139 -(% style="color:blue" %)**Downlink Command: 0x0A**
662 +(% style="color:blue" %)**Downlink Command: 0x06**
1140 1140  
1141 -Format: Command Code (0x0A) followed by 1 bytes.
664 +Format: Command Code (0x06) followed by 3 bytes.
1142 1142  
1143 -* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1144 -* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
666 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1145 1145  
1146 -=== 3.3.8 PWM setting ===
668 +* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
669 +* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1147 1147  
1148 -Feature: Set the time acquisition unit for PWM input capture.
1149 -
1150 -(% style="color:blue" %)**AT Command: AT+PWMSET**
1151 -
1152 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1153 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
1154 -|(% style="width:154px" %)AT+PWMSET=?|(% style="width:196px" %)0|(% style="width:157px" %)(((
1155 -0(default)
1156 -
1157 -OK
1158 -)))
1159 -|(% style="width:154px" %)AT+PWMSET=0|(% style="width:196px" %)The unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ.   |(% style="width:157px" %)(((
1160 -OK
1161 -
1162 -)))
1163 -|(% style="width:154px" %)AT+PWMSET=1|(% style="width:196px" %)The unit of PWM capture time is millisecond.  The capture frequency range is between 5HZ and 250HZ. |(% style="width:157px" %)OK
1164 -
1165 -(% style="color:blue" %)**Downlink Command: 0x0C**
1166 -
1167 -Format: Command Code (0x0C) followed by 1 bytes.
1168 -
1169 -* Example 1: Downlink Payload: 0C00  **~-~-->**  AT+PWMSET=0
1170 -* Example 2: Downlink Payload: 0C01  **~-~-->**  AT+PWMSET=1
1171 -
1172 1172  = 4. Battery & Power Consumption =
1173 1173  
1174 1174  
1175 -SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
674 +S31x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1176 1176  
1177 1177  [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1178 1178  
... ... @@ -1181,78 +1181,63 @@
1181 1181  
1182 1182  
1183 1183  (% class="wikigeneratedid" %)
1184 -**User can change firmware SN50v3-LB to:**
683 +User can change firmware S31x-LB to:
1185 1185  
1186 1186  * Change Frequency band/ region.
1187 1187  * Update with new features.
1188 1188  * Fix bugs.
1189 1189  
1190 -**Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]**
689 +Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**
1191 1191  
1192 -**Methods to Update Firmware:**
1193 1193  
1194 -* (Recommanded way) OTA firmware update via wireless: **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
1195 -* Update through UART TTL interface: **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
692 +Methods to Update Firmware:
1196 1196  
694 +* (Recommanded way) OTA firmware update via wireless:   [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
695 +* Update through UART TTL interface.**[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**.
696 +
1197 1197  = 6. FAQ =
1198 1198  
1199 -== 6.1 Where can i find source code of SN50v3-LB? ==
1200 1200  
1201 1201  
1202 -* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1203 -* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
1204 -
1205 -== 6.2 How to generate PWM Output in SN50v3-LB? ==
1206 -
1207 -
1208 -See this document: **[[Generate PWM Output on SN50v3>>https://www.dropbox.com/scl/fi/r3trcet2knujg40w0mgyn/Generate-PWM-Output-on-SN50v3.pdf?rlkey=rxsgmrhhrv62iiiwjq9sv10bn&dl=0]]**.
1209 -
1210 -
1211 -== 6.3 How to put several sensors to a SN50v3-LB? ==
1212 -
1213 -
1214 -When we want to put several sensors to A SN50v3-LB, the waterproof at the grand connector will become an issue. User can try to exchange the grand connector to below type.
1215 -
1216 -[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]].
1217 -
1218 -[[image:image-20230810121434-1.png||height="242" width="656"]]
1219 -
1220 -
1221 1221  = 7. Order Info =
1222 1222  
1223 1223  
1224 -Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY**
704 +Part Number: (% style="color:blue" %)**S31-LB-XX  / S31B-LB-XX**
1225 1225  
1226 1226  (% style="color:red" %)**XX**(%%): The default frequency band
1227 1227  
1228 1228  * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
709 +
1229 1229  * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
711 +
1230 1230  * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
713 +
1231 1231  * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
715 +
1232 1232  * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
717 +
1233 1233  * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
719 +
1234 1234  * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
721 +
1235 1235  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1236 1236  
1237 -(% style="color:red" %)**YY: ** (%%)Hole Option
724 += =
1238 1238  
1239 -* (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
1240 -* (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
1241 -* (% style="color:red" %)**20**(%%): With M20 waterproof cable hole
1242 -* (% style="color:red" %)**NH**(%%): No Hole
1243 -
1244 1244  = 8. ​Packing Info =
1245 1245  
1246 -
1247 1247  (% style="color:#037691" %)**Package Includes**:
1248 1248  
1249 -* SN50v3-LB LoRaWAN Generic Node
730 +* S31x-LB LoRaWAN Temperature & Humidity Sensor
1250 1250  
1251 1251  (% style="color:#037691" %)**Dimension and weight**:
1252 1252  
1253 1253  * Device Size: cm
735 +
1254 1254  * Device Weight: g
737 +
1255 1255  * Package Size / pcs : cm
739 +
1256 1256  * Weight / pcs : g
1257 1257  
1258 1258  = 9. Support =
... ... @@ -1259,5 +1259,4 @@
1259 1259  
1260 1260  
1261 1261  * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
1262 -
1263 -* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.cc>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.cc]]
746 +* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]
image-20230512163509-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.5 MB
Content
image-20230512164658-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.0 MB
Content
image-20230512170701-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.5 MB
Content
image-20230512172447-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.0 MB
Content
image-20230512173758-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.1 MB
Content
image-20230512173903-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.3 MB
Content
image-20230512180609-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.3 MB
Content
image-20230512180718-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.3 MB
Content
image-20230512181814-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -2.2 MB
Content
image-20230513084523-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -611.3 KB
Content
image-20230513102034-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -607.1 KB
Content
image-20230513103633-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -595.5 KB
Content
image-20230513105207-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -384.7 KB
Content
image-20230513105351-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -37.6 KB
Content
image-20230513110214-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -172.7 KB
Content
image-20230513111203-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -79.9 KB
Content
image-20230513111231-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -64.9 KB
Content
image-20230513111255-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -70.4 KB
Content
image-20230513134006-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.9 MB
Content
image-20230515135611-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -948.0 KB
Content
image-20230610162852-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -695.7 KB
Content
image-20230610163213-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -695.4 KB
Content
image-20230610170047-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -444.9 KB
Content
image-20230610170152-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -359.5 KB
Content
image-20230810121434-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -137.3 KB
Content
image-20230811113449-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -973.1 KB
Content
image-20230817170702-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -39.6 KB
Content
image-20230817172209-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.3 MB
Content
image-20230817173800-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.1 MB
Content
image-20230817173830-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -508.5 KB
Content
image-20230817173858-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -1.6 MB
Content
image-20230817183137-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -137.1 KB
Content
image-20230817183218-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -137.1 KB
Content
image-20230817183249-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -948.6 KB
Content
image-20230818092200-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Saxer
Size
... ... @@ -1,1 +1,0 @@
1 -98.9 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0