<
From version < 8.1 >
edited by Edwin Chen
on 2023/05/11 20:37
To version < 73.1 >
edited by Saxer Lin
on 2023/08/18 09:50
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SN50v3-LB User Manual
1 +SN50v3-LB LoRaWAN Sensor Node User Manual
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.Saxer
Content
... ... @@ -1,4 +1,5 @@
1 -[[image:image-20230511201248-1.png||height="403" width="489"]]
1 +(% style="text-align:center" %)
2 +[[image:image-20230515135611-1.jpeg||height="589" width="589"]]
2 2  
3 3  
4 4  
... ... @@ -15,23 +15,21 @@
15 15  
16 16  == 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
17 17  
19 +
18 18  (% 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.
19 19  
20 -
21 21  (% 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.
22 22  
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 -
27 27  (% 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.
28 28  
29 -
30 30  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.
31 31  
32 32  
33 33  == 1.2 ​Features ==
34 34  
33 +
35 35  * LoRaWAN 1.0.3 Class A
36 36  * Ultra-low power consumption
37 37  * Open-Source hardware/software
... ... @@ -44,6 +44,7 @@
44 44  
45 45  == 1.3 Specification ==
46 46  
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,6 +80,7 @@
80 80  
81 81  == 1.4 Sleep mode and working mode ==
82 82  
83 +
83 83  (% 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.
84 84  
85 85  (% 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.
... ... @@ -122,6 +122,7 @@
122 122  == 1.7 Pin Definitions ==
123 123  
124 124  
126 +[[image:image-20230610163213-1.png||height="404" width="699"]]
125 125  
126 126  
127 127  == 1.8 Mechanical ==
... ... @@ -134,8 +134,9 @@
134 134  [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
135 135  
136 136  
137 -== Hole Option ==
139 +== 1.9 Hole Option ==
138 138  
141 +
139 139  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:
140 140  
141 141  [[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"]]
... ... @@ -143,12 +143,12 @@
143 143  [[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"]]
144 144  
145 145  
146 -= 2. Configure S31x-LB to connect to LoRaWAN network =
149 += 2. Configure SN50v3-LB to connect to LoRaWAN network =
147 147  
148 148  == 2.1 How it works ==
149 149  
150 150  
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.
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.
152 152  
153 153  
154 154  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -156,14 +156,14 @@
156 156  
157 157  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.
158 158  
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.
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.
160 160  
161 161  
162 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
165 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB.
163 163  
164 -Each S31x-LB is shipped with a sticker with the default device EUI as below:
167 +Each SN50v3-LB is shipped with a sticker with the default device EUI as below:
165 165  
166 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
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"]]
167 167  
168 168  
169 169  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
... ... @@ -190,10 +190,10 @@
190 190  [[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"]]
191 191  
192 192  
193 -(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
196 +(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB
194 194  
195 195  
196 -Press the button for 5 seconds to activate the S31x-LB.
199 +Press the button for 5 seconds to activate the SN50v3-LB.
197 197  
198 198  (% 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.
199 199  
... ... @@ -205,7 +205,7 @@
205 205  === 2.3.1 Device Status, FPORT~=5 ===
206 206  
207 207  
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.
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.
209 209  
210 210  The Payload format is as below.
211 211  
... ... @@ -213,46 +213,44 @@
213 213  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
214 214  |(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
215 215  |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
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
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
217 217  
218 218  Example parse in TTNv3
219 219  
220 -[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]]
221 221  
224 +(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB, this value is 0x1C
222 222  
223 -(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
224 -
225 225  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
226 226  
227 227  (% style="color:#037691" %)**Frequency Band**:
228 228  
229 -*0x01: EU868
230 +0x01: EU868
230 230  
231 -*0x02: US915
232 +0x02: US915
232 232  
233 -*0x03: IN865
234 +0x03: IN865
234 234  
235 -*0x04: AU915
236 +0x04: AU915
236 236  
237 -*0x05: KZ865
238 +0x05: KZ865
238 238  
239 -*0x06: RU864
240 +0x06: RU864
240 240  
241 -*0x07: AS923
242 +0x07: AS923
242 242  
243 -*0x08: AS923-1
244 +0x08: AS923-1
244 244  
245 -*0x09: AS923-2
246 +0x09: AS923-2
246 246  
247 -*0x0a: AS923-3
248 +0x0a: AS923-3
248 248  
249 -*0x0b: CN470
250 +0x0b: CN470
250 250  
251 -*0x0c: EU433
252 +0x0c: EU433
252 252  
253 -*0x0d: KR920
254 +0x0d: KR920
254 254  
255 -*0x0e: MA869
256 +0x0e: MA869
256 256  
257 257  
258 258  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -273,237 +273,686 @@
273 273  Ex2: 0x0B49 = 2889mV
274 274  
275 275  
276 -=== 2.3.2  Sensor Data. FPORT~=2 ===
277 +=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
277 277  
278 278  
279 -Sensor Data is uplink via FPORT=2
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.
280 280  
281 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:500px" %)
282 -|=(% style="width: 90px;background-color:#D9E2F3" %)(((
283 -**Size(bytes)**
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:"]]
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)
295 295  )))
296 296  
297 -==== (% style="color:#4472c4" %)**Battery**(%%) ====
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"]]
298 298  
299 -Sensor Battery Level.
300 300  
301 -Ex1: 0x0B45 = 2885mV
318 +==== 2.3.2.2  MOD~=2 (Distance Mode) ====
302 302  
303 -Ex2: 0x0B49 = 2889mV
304 304  
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.
305 305  
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
306 306  
307 -==== (% style="color:#4472c4" %)**Temperature**(%%) ====
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"]]
308 308  
309 -**Example**:
310 310  
311 -If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
339 +(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**
312 312  
313 -If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
341 +[[image:image-20230512173758-5.png||height="563" width="712"]]
314 314  
315 -(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
316 316  
344 +(% style="color:blue" %)**Connection to Ultrasonic Sensor:**
317 317  
318 -==== (% style="color:#4472c4" %)**Humidity**(%%) ====
346 +(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.**
319 319  
348 +[[image:image-20230512173903-6.png||height="596" width="715"]]
320 320  
321 -Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
322 322  
351 +For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
323 323  
324 -==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
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
325 325  
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"]]
326 326  
327 -**Example:**
328 328  
329 -If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
369 +**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
330 330  
331 -If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
371 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
332 332  
333 -If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
373 +[[image:image-20230512180609-7.png||height="555" width="802"]]
334 334  
335 -If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
336 336  
376 +**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
337 337  
338 -== 2.4 Payload Decoder file ==
378 +(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
339 339  
380 +[[image:image-20230610170047-1.png||height="452" width="799"]]
340 340  
341 -In TTN, use can add a custom payload so it shows friendly reading
342 342  
343 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
383 +==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
344 344  
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]]
346 346  
386 +This mode has total 12 bytes. Include 3 x ADC + 1x I2C
347 347  
348 -== 2.5 Datalog Feature ==
388 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:520px" %)
389 +|=(% style="width: 50px;background-color:#D9E2F3;color:#0070C0" %)(((
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
349 349  
406 +[[image:image-20230513110214-6.png]]
350 350  
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.
352 352  
409 +==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
353 353  
354 -=== 2.5.1 Ways to get datalog via LoRaWAN ===
355 355  
412 +This mode has total 11 bytes. As shown below:
356 356  
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.
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)
358 358  
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.
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"]]
361 361  
362 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
363 363  
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"]]
428 +[[image:image-20230513134006-1.png||height="559" width="736"]]
365 365  
366 -=== 2.5.2 Unix TimeStamp ===
367 367  
431 +==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
368 368  
369 -S31x-LB uses Unix TimeStamp format based on
370 370  
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"]]
434 +[[image:image-20230512164658-2.png||height="532" width="729"]]
372 372  
373 -User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
436 +Each HX711 need to be calibrated before used. User need to do below two steps:
374 374  
375 -Below is the converter example
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.
376 376  
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"]]
378 378  
379 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
444 +
445 +)))
380 380  
447 +For example:
381 381  
382 -=== 2.5.3 Set Device Time ===
449 +(% style="color:blue" %)**AT+GETSENSORVALUE =0**
383 383  
451 +Response:  Weight is 401 g
384 384  
385 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
453 +Check the response of this command and adjust the value to match the real value for thing.
386 386  
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).
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
388 388  
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.**
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"]]
390 390  
391 391  
392 -=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
470 +==== 2.3.2.6  MOD~=6 (Counting Mode) ====
393 393  
394 394  
395 -The Datalog uplinks will use below payload format.
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.
396 396  
397 -**Retrieval data payload:**
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.
398 398  
399 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
400 -|=(% style="width: 80px;background-color:#D9E2F3" %)(((
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" %)(((
401 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"]]
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
406 406  
407 -**Poll message flag & Ext:**
513 +[[image:image-20230513111203-7.png||height="324" width="975"]]
408 408  
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"]]
410 410  
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)
516 +==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
412 412  
413 -**Poll Message Flag**: 1: This message is a poll message reply.
414 414  
415 -* Poll Message Flag is set to 1.
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 +)))
416 416  
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.
536 +[[image:image-20230513111231-8.png||height="335" width="900"]]
418 418  
419 -For example, in US915 band, the max payload for different DR is:
420 420  
421 -**a) DR0:** max is 11 bytes so one entry of data
539 +==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
422 422  
423 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
424 424  
425 -**c) DR2:** total payload includes 11 entries of data
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 +)))
426 426  
427 -**d) DR3: **total payload includes 22 entries of data.
564 +[[image:image-20230513111255-9.png||height="341" width="899"]]
428 428  
429 -If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
566 +(% style="color:blue" %)**The newly added AT command is issued correspondingly:**
430 430  
568 +(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)**06 00 00 xx**
431 431  
432 -**Example:**
570 +(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%)  pin:  Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx**
433 433  
434 -If S31x-LB has below data inside Flash:
572 +(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)** 06 00 02 xx**
435 435  
436 -[[image:1682646494051-944.png]]
437 437  
438 -If user sends below downlink command: 3160065F9760066DA705
575 +(% style="color:blue" %)**AT+SETCNT=aa,bb** 
439 439  
440 -Where : Start time: 60065F97 = time 21/1/19 04:27:03
577 +When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
441 441  
442 - Stop time: 60066DA7= time 21/1/19 05:27:03
579 +When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
443 443  
444 444  
445 -**S31x-LB will uplink this payload.**
582 +==== 2.3.2.1 MOD~=10 (PWM input capture and output mode,Since firmware v1.2) ====
446 446  
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"]]
584 +In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output.
448 448  
449 -(((
450 -__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
586 +[[It should be noted when using PWM mode.>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/#H2.3.3.12A0PWMMOD]]
587 +
588 +
589 +===== 2.3.2.10.a  Uplink, PWM input capture =====
590 +
591 +[[image:image-20230817172209-2.png||height="439" width="683"]]
592 +
593 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:690px" %)
594 +|(% 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**
595 +|Value|Bat|(% style="width:191px" %)(((
596 +Temperature(DS18B20)(PC13)
597 +)))|(% style="width:78px" %)(((
598 +ADC(PA4)
599 +)))|(% style="width:135px" %)(((
600 +PWM_Setting
601 +
602 +&Digital Interrupt(PA8)
603 +)))|(% style="width:70px" %)(((
604 +Pulse period
605 +)))|(% style="width:89px" %)(((
606 +Duration of high level
451 451  )))
452 452  
609 +[[image:image-20230817170702-1.png||height="161" width="1044"]]
610 +
611 +
612 +When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle.
613 +
614 +Frequency:
615 +
616 +(% class="MsoNormal" %)
617 +(% 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 ,**
618 +
453 453  (((
454 -Where the first 11 bytes is for the first entry:
620 +
621 +
622 +(% lang="EN-US" %)Frequency= 1000000/(%%)Pulse period(HZ);
455 455  )))
456 456  
625 +(% class="MsoNormal" %)
626 +(% 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 ,**
627 +
457 457  (((
458 -7FFF089801464160065F97
629 +
630 +
631 +(% lang="EN-US" %)Frequency= 1000/(%%)Pulse period(HZ);
459 459  )))
460 460  
634 +(% class="MsoNormal" %)
635 +Duty cycle:
636 +
637 +Duty cycle= Duration of high level/ Pulse period*100 ~(%).
638 +
639 +
640 +
461 461  (((
462 -**Ext sensor data**=0x7FFF/100=327.67
642 +
463 463  )))
464 464  
645 +
646 +[[image:image-20230818092200-1.png||height="344" width="627"]]
647 +
648 +
649 +===== 2.3.2.10.b  Downlink, PWM output =====
650 +
651 +[[image:image-20230817173800-3.png||height="412" width="685"]]
652 +
653 +Downlink:  (% style="color:#037691" %)**0B xx xx xx yy zz zz**
654 +
655 + xx xx xx is the output frequency, the unit is HZ.
656 +
657 + yy is the duty cycle of the output, the unit is %.
658 +
659 + zz zz is the time delay of the output, the unit is ms.
660 +
661 +
662 +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.
663 +
664 +The oscilloscope displays as follows:
665 +
666 +[[image:image-20230817173858-5.png||height="694" width="921"]]
667 +
668 +
669 +=== 2.3.3  ​Decode payload ===
670 +
671 +
672 +While using TTN V3 network, you can add the payload format to decode the payload.
673 +
674 +[[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"]]
675 +
676 +The payload decoder function for TTN V3 are here:
677 +
678 +SN50v3-LB TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
679 +
680 +
681 +==== 2.3.3.1 Battery Info ====
682 +
683 +
684 +Check the battery voltage for SN50v3-LB.
685 +
686 +Ex1: 0x0B45 = 2885mV
687 +
688 +Ex2: 0x0B49 = 2889mV
689 +
690 +
691 +==== 2.3.3.2  Temperature (DS18B20) ====
692 +
693 +
694 +If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
695 +
696 +More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]]
697 +
698 +(% style="color:blue" %)**Connection:**
699 +
700 +[[image:image-20230512180718-8.png||height="538" width="647"]]
701 +
702 +
703 +(% style="color:blue" %)**Example**:
704 +
705 +If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
706 +
707 +If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
708 +
709 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
710 +
711 +
712 +==== 2.3.3.3 Digital Input ====
713 +
714 +
715 +The digital input for pin PB15,
716 +
717 +* When PB15 is high, the bit 1 of payload byte 6 is 1.
718 +* When PB15 is low, the bit 1 of payload byte 6 is 0.
719 +
720 +(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
465 465  (((
466 -**Temp**=0x088E/100=22.00
722 +When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
723 +
724 +(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.**
725 +
726 +
467 467  )))
468 468  
469 -(((
470 -**Hum**=0x014B/10=32.6
729 +==== 2.3.3.4  Analogue Digital Converter (ADC) ====
730 +
731 +
732 +The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv.
733 +
734 +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.
735 +
736 +[[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"]]
737 +
738 +
739 +(% 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.**
740 +
741 +
742 +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.
743 +
744 +[[image:image-20230811113449-1.png||height="370" width="608"]]
745 +
746 +==== 2.3.3.5 Digital Interrupt ====
747 +
748 +
749 +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.
750 +
751 +(% style="color:blue" %)** Interrupt connection method:**
752 +
753 +[[image:image-20230513105351-5.png||height="147" width="485"]]
754 +
755 +
756 +(% style="color:blue" %)**Example to use with door sensor :**
757 +
758 +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.
759 +
760 +[[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"]]
761 +
762 +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.
763 +
764 +
765 +(% style="color:blue" %)**Below is the installation example:**
766 +
767 +Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB as follows:
768 +
769 +* (((
770 +One pin to SN50v3-LB's PA8 pin
471 471  )))
772 +* (((
773 +The other pin to SN50v3-LB's VDD pin
774 +)))
472 472  
473 -(((
474 -**poll message flag & Ext**=0x41,means reply data,Ext=1
776 +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.
777 +
778 +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.
779 +
780 +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.
781 +
782 +[[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"]]
783 +
784 +The above photos shows the two parts of the magnetic switch fitted to a door.
785 +
786 +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.
787 +
788 +The command is:
789 +
790 +(% 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]]**. **)
791 +
792 +Below shows some screen captures in TTN V3:
793 +
794 +[[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"]]
795 +
796 +
797 +In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
798 +
799 +door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
800 +
801 +
802 +==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
803 +
804 +
805 +The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
806 +
807 +We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
808 +
809 +(% 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.**
810 +
811 +
812 +Below is the connection to SHT20/ SHT31. The connection is as below:
813 +
814 +[[image:image-20230610170152-2.png||height="501" width="846"]]
815 +
816 +
817 +The device will be able to get the I2C sensor data now and upload to IoT Server.
818 +
819 +[[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"]]
820 +
821 +Convert the read byte to decimal and divide it by ten.
822 +
823 +**Example:**
824 +
825 +Temperature:  Read:0116(H) = 278(D)  Value:  278 /10=27.8℃;
826 +
827 +Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
828 +
829 +If you want to use other I2C device, please refer the SHT20 part source code as reference.
830 +
831 +
832 +==== 2.3.3.7  ​Distance Reading ====
833 +
834 +
835 +Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]].
836 +
837 +
838 +==== 2.3.3.8 Ultrasonic Sensor ====
839 +
840 +
841 +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]]
842 +
843 +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.
844 +
845 +The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor.
846 +
847 +The picture below shows the connection:
848 +
849 +[[image:image-20230512173903-6.png||height="596" width="715"]]
850 +
851 +
852 +Connect to the SN50v3-LB and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT).
853 +
854 +The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
855 +
856 +**Example:**
857 +
858 +Distance:  Read: 0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
859 +
860 +
861 +==== 2.3.3.9  Battery Output - BAT pin ====
862 +
863 +
864 +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.
865 +
866 +
867 +==== 2.3.3.10  +5V Output ====
868 +
869 +
870 +SN50v3-LB will enable +5V output before all sampling and disable the +5v after all sampling. 
871 +
872 +The 5V output time can be controlled by AT Command.
873 +
874 +(% style="color:blue" %)**AT+5VT=1000**
875 +
876 +Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
877 +
878 +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.
879 +
880 +
881 +==== 2.3.3.11  BH1750 Illumination Sensor ====
882 +
883 +
884 +MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
885 +
886 +[[image:image-20230512172447-4.png||height="416" width="712"]]
887 +
888 +
889 +[[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"]]
890 +
891 +
892 +==== 2.3.3.12  PWM MOD ====
893 +
894 +
895 +* (((
896 +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.
475 475  )))
898 +* (((
899 +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:
900 +)))
476 476  
477 -(((
478 -**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
902 + [[image:image-20230817183249-3.png||height="320" width="417"]]
903 +
904 +* (((
905 +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.
479 479  )))
907 +* (((
908 +Since the device can only detect a pulse period of 50ms when [[AT+PWMSET=0>>http://8.211.40.43/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-LB/#H3.3.8PWMsetting]] (counting in microseconds), it is necessary to change the value of PWMSET according to the frequency of input capture.
480 480  
910 +
911 +)))
481 481  
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="单击并拖动以调整大小" %)的
913 +==== 2.3.3.13  Working MOD ====
483 483  
484 -== 2.6 Temperature Alarm Feature ==
485 485  
916 +The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
486 486  
487 -S31x-LB work flow with Alarm feature.
918 +User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
488 488  
920 +Case 7^^th^^ Byte >> 2 & 0x1f:
489 489  
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"]]
922 +* 0: MOD1
923 +* 1: MOD2
924 +* 2: MOD3
925 +* 3: MOD4
926 +* 4: MOD5
927 +* 5: MOD6
928 +* 6: MOD7
929 +* 7: MOD8
930 +* 8: MOD9
931 +* 9: MOD10
491 491  
933 +== 2.4 Payload Decoder file ==
492 492  
493 -== 2.7 Frequency Plans ==
494 494  
936 +In TTN, use can add a custom payload so it shows friendly reading
495 495  
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.
938 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
497 497  
940 +[[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]]
941 +
942 +
943 +== 2.5 Frequency Plans ==
944 +
945 +
946 +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.
947 +
498 498  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
499 499  
500 500  
501 -= 3. Configure S31x-LB =
951 += 3. Configure SN50v3-LB =
502 502  
503 503  == 3.1 Configure Methods ==
504 504  
505 505  
506 -S31x-LB supports below configure method:
956 +SN50v3-LB supports below configure method:
507 507  
508 508  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
509 509  * 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]].
... ... @@ -522,10 +522,10 @@
522 522  [[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/]]
523 523  
524 524  
525 -== 3.3 Commands special design for S31x-LB ==
975 +== 3.3 Commands special design for SN50v3-LB ==
526 526  
527 527  
528 -These commands only valid for S31x-LB, as below:
978 +These commands only valid for SN50v3-LB, as below:
529 529  
530 530  
531 531  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -536,7 +536,7 @@
536 536  (% style="color:blue" %)**AT Command: AT+TDC**
537 537  
538 538  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
539 -|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
989 +|=(% 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**
540 540  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
541 541  30000
542 542  OK
... ... @@ -559,119 +559,186 @@
559 559  === 3.3.2 Get Device Status ===
560 560  
561 561  
562 -Send a LoRaWAN downlink to ask device send Alarm settings.
1012 +Send a LoRaWAN downlink to ask the device to send its status.
563 563  
564 -(% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
1014 +(% style="color:blue" %)**Downlink Payload: 0x26 01**
565 565  
566 -Sensor will upload Device Status via FPORT=5. See payload section for detail.
1016 +Sensor will upload Device Status via **FPORT=5**. See payload section for detail.
567 567  
568 568  
569 -=== 3.3.3 Set Temperature Alarm Threshold ===
1019 +=== 3.3.3 Set Interrupt Mode ===
570 570  
571 -* (% style="color:blue" %)**AT Command:**
572 572  
573 -(% style="color:#037691" %)**AT+SHTEMP=min,max**
1022 +Feature, Set Interrupt mode for GPIO_EXIT.
574 574  
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
1024 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
578 578  
579 -Example:
1026 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1027 +|=(% 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**
1028 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
1029 +0
1030 +OK
1031 +the mode is 0 =Disable Interrupt
1032 +)))
1033 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
1034 +Set Transmit Interval
1035 +0. (Disable Interrupt),
1036 +~1. (Trigger by rising and falling edge)
1037 +2. (Trigger by falling edge)
1038 +3. (Trigger by rising edge)
1039 +)))|(% style="width:157px" %)OK
1040 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)(((
1041 +Set Transmit Interval
1042 +trigger by rising edge.
1043 +)))|(% style="width:157px" %)OK
1044 +|(% style="width:154px" %)AT+INTMOD3=0|(% style="width:196px" %)Disable Interrupt|(% style="width:157px" %)OK
580 580  
581 - AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
1046 +(% style="color:blue" %)**Downlink Command: 0x06**
582 582  
583 -* (% style="color:blue" %)**Downlink Payload:**
1048 +Format: Command Code (0x06) followed by 3 bytes.
584 584  
585 -(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
1050 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
586 586  
587 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
1052 +* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
1053 +* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
1054 +* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
1055 +* Example 4: Downlink Payload: 06000201  **~-~-->**  AT+INTMOD3=1
588 588  
1057 +=== 3.3.4 Set Power Output Duration ===
589 589  
590 -=== 3.3.4 Set Humidity Alarm Threshold ===
591 591  
592 -* (% style="color:blue" %)**AT Command:**
1060 +Control the output duration 5V . Before each sampling, device will
593 593  
594 -(% style="color:#037691" %)**AT+SHHUM=min,max**
1062 +~1. first enable the power output to external sensor,
595 595  
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
1064 +2. keep it on as per duration, read sensor value and construct uplink payload
599 599  
600 -Example:
1066 +3. final, close the power output.
601 601  
602 - AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
1068 +(% style="color:blue" %)**AT Command: AT+5VT**
603 603  
604 -* (% style="color:blue" %)**Downlink Payload:**
1070 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1071 +|=(% 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**
1072 +|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
1073 +500(default)
1074 +OK
1075 +)))
1076 +|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1077 +Close after a delay of 1000 milliseconds.
1078 +)))|(% style="width:157px" %)OK
605 605  
606 -(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
1080 +(% style="color:blue" %)**Downlink Command: 0x07**
607 607  
608 -(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
1082 +Format: Command Code (0x07) followed by 2 bytes.
609 609  
1084 +The first and second bytes are the time to turn on.
610 610  
611 -=== 3.3.5 Set Alarm Interval ===
1086 +* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1087 +* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
612 612  
613 -The shortest time of two Alarm packet. (unit: min)
1089 +=== 3.3.5 Set Weighing parameters ===
614 614  
615 -* (% style="color:blue" %)**AT Command:**
616 616  
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.
1092 +Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
618 618  
619 -* (% style="color:blue" %)**Downlink Payload:**
1094 +(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
620 620  
621 -(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
1096 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1097 +|=(% 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**
1098 +|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1099 +|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1100 +|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
622 622  
1102 +(% style="color:blue" %)**Downlink Command: 0x08**
623 623  
624 -=== 3.3.6 Get Alarm settings ===
1104 +Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
625 625  
1106 +Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
626 626  
627 -Send a LoRaWAN downlink to ask device send Alarm settings.
1108 +The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
628 628  
629 -* (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
1110 +* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1111 +* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1112 +* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
630 630  
631 -**Example:**
1114 +=== 3.3.6 Set Digital pulse count value ===
632 632  
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"]]
634 634  
1117 +Feature: Set the pulse count value.
635 635  
636 -**Explain:**
1119 +Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
637 637  
638 -* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
1121 +(% style="color:blue" %)**AT Command: AT+SETCNT**
639 639  
640 -=== 3.3.7 Set Interrupt Mode ===
1123 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1124 +|=(% 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**
1125 +|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1126 +|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
641 641  
1128 +(% style="color:blue" %)**Downlink Command: 0x09**
642 642  
643 -Feature, Set Interrupt mode for GPIO_EXIT.
1130 +Format: Command Code (0x09) followed by 5 bytes.
644 644  
645 -(% style="color:blue" %)**AT Command: AT+INTMOD**
1132 +The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
646 646  
1134 +* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1135 +* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1136 +
1137 +=== 3.3.7 Set Workmode ===
1138 +
1139 +
1140 +Feature: Switch working mode.
1141 +
1142 +(% style="color:blue" %)**AT Command: AT+MOD**
1143 +
647 647  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
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
1145 +|=(% 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**
1146 +|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
651 651  OK
652 -the mode is 0 =Disable Interrupt
653 653  )))
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
1149 +|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1150 +OK
1151 +Attention:Take effect after ATZ
1152 +)))
661 661  
662 -(% style="color:blue" %)**Downlink Command: 0x06**
1154 +(% style="color:blue" %)**Downlink Command: 0x0A**
663 663  
664 -Format: Command Code (0x06) followed by 3 bytes.
1156 +Format: Command Code (0x0A) followed by 1 bytes.
665 665  
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.
1158 +* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1159 +* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
667 667  
668 -* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
669 -* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
670 670  
1162 +=== 3.3.8 PWM setting ===
1163 +
1164 +Feature: Set the time acquisition unit for PWM input capture.
1165 +
1166 +(% style="color:blue" %)**AT Command: AT+PWMSET**
1167 +
1168 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1169 +|=(% 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**
1170 +|(% style="width:154px" %)AT+PWMSET=?|(% style="width:196px" %)0|(% style="width:157px" %)(((
1171 +0(default)
1172 +
1173 +OK
1174 +)))
1175 +|(% 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" %)(((
1176 +OK
1177 +
1178 +)))
1179 +|(% 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
1180 +
1181 +(% style="color:blue" %)**Downlink Command: 0x0C**
1182 +
1183 +Format: Command Code (0x0C) followed by 1 bytes.
1184 +
1185 +* Example 1: Downlink Payload: 0C00  **~-~-->**  AT+PWMSET=0
1186 +* Example 2: Downlink Payload: 0C01  **~-~-->**  AT+PWMSET=1
1187 +
671 671  = 4. Battery & Power Consumption =
672 672  
673 673  
674 -S31x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1191 +SN50v3-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
675 675  
676 676  [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
677 677  
... ... @@ -680,63 +680,78 @@
680 680  
681 681  
682 682  (% class="wikigeneratedid" %)
683 -User can change firmware S31x-LB to:
1200 +**User can change firmware SN50v3-LB to:**
684 684  
685 685  * Change Frequency band/ region.
686 686  * Update with new features.
687 687  * Fix bugs.
688 688  
689 -Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/kwqv57tp6pejias/AAAopYMATh1GM6fZ-VRCLrpDa?dl=0]]**
1206 +**Firmware and changelog can be downloaded from :** **[[Firmware download link>>https://www.dropbox.com/sh/4rov7bcp6u28exp/AACt-wAySd4si5AXi8DBmvSca?dl=0]]**
690 690  
1208 +**Methods to Update Firmware:**
691 691  
692 -Methods to Update Firmware:
1210 +* (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/]]**
1211 +* 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]]**.
693 693  
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 -
697 697  = 6. FAQ =
698 698  
1215 +== 6.1 Where can i find source code of SN50v3-LB? ==
699 699  
700 700  
1218 +* **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1219 +* **[[Software Source Code & Compile instruction>>https://github.com/dragino/SN50v3]].**
1220 +
1221 +== 6.2 How to generate PWM Output in SN50v3-LB? ==
1222 +
1223 +
1224 +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]]**.
1225 +
1226 +
1227 +== 6.3 How to put several sensors to a SN50v3-LB? ==
1228 +
1229 +
1230 +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.
1231 +
1232 +[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]].
1233 +
1234 +[[image:image-20230810121434-1.png||height="242" width="656"]]
1235 +
1236 +
701 701  = 7. Order Info =
702 702  
703 703  
704 -Part Number: (% style="color:blue" %)**S31-LB-XX  / S31B-LB-XX**
1240 +Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY**
705 705  
706 706  (% style="color:red" %)**XX**(%%): The default frequency band
707 707  
708 708  * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
709 -
710 710  * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
711 -
712 712  * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
713 -
714 714  * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
715 -
716 716  * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
717 -
718 718  * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
719 -
720 720  * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
721 -
722 722  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
723 723  
724 -= =
1253 +(% style="color:red" %)**YY: ** (%%)Hole Option
725 725  
1255 +* (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
1256 +* (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
1257 +* (% style="color:red" %)**20**(%%): With M20 waterproof cable hole
1258 +* (% style="color:red" %)**NH**(%%): No Hole
1259 +
726 726  = 8. ​Packing Info =
727 727  
1262 +
728 728  (% style="color:#037691" %)**Package Includes**:
729 729  
730 -* S31x-LB LoRaWAN Temperature & Humidity Sensor
1265 +* SN50v3-LB LoRaWAN Generic Node
731 731  
732 732  (% style="color:#037691" %)**Dimension and weight**:
733 733  
734 734  * Device Size: cm
735 -
736 736  * Device Weight: g
737 -
738 738  * Package Size / pcs : cm
739 -
740 740  * Weight / pcs : g
741 741  
742 742  = 9. Support =
... ... @@ -743,4 +743,5 @@
743 743  
744 744  
745 745  * 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.
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]]
1278 +
1279 +* 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]]
image-20230512163509-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.5 MB
Content
image-20230512164658-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512170701-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.5 MB
Content
image-20230512172447-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.0 MB
Content
image-20230512173758-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.1 MB
Content
image-20230512173903-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180609-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512180718-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.3 MB
Content
image-20230512181814-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +2.2 MB
Content
image-20230513084523-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +611.3 KB
Content
image-20230513102034-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +607.1 KB
Content
image-20230513103633-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +595.5 KB
Content
image-20230513105207-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +384.7 KB
Content
image-20230513105351-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +37.6 KB
Content
image-20230513110214-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +172.7 KB
Content
image-20230513111203-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +79.9 KB
Content
image-20230513111231-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +64.9 KB
Content
image-20230513111255-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +70.4 KB
Content
image-20230513134006-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.9 MB
Content
image-20230515135611-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +948.0 KB
Content
image-20230610162852-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +695.7 KB
Content
image-20230610163213-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +695.4 KB
Content
image-20230610170047-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +444.9 KB
Content
image-20230610170152-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +359.5 KB
Content
image-20230810121434-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Edwin
Size
... ... @@ -1,0 +1,1 @@
1 +137.3 KB
Content
image-20230811113449-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +973.1 KB
Content
image-20230817170702-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +39.6 KB
Content
image-20230817172209-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.3 MB
Content
image-20230817173800-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.1 MB
Content
image-20230817173830-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +508.5 KB
Content
image-20230817173858-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +1.6 MB
Content
image-20230817183137-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +137.1 KB
Content
image-20230817183218-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +137.1 KB
Content
image-20230817183249-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +948.6 KB
Content
image-20230818092200-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Saxer
Size
... ... @@ -1,0 +1,1 @@
1 +98.9 KB
Content
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0