Last modified by kai on 2025/06/30 10:31

From version 122.1
edited by Mengting Qiu
on 2025/04/02 11:17
Change comment: There is no comment for this version
To version 7.1
edited by Edwin Chen
on 2023/05/11 20:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -SN50v3-LB/LS -- LoRaWAN Sensor Node User Manual
1 +SN50v3-LB User Manual
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ting
1 +XWiki.Edwin
Content
... ... @@ -1,40 +1,37 @@
1 -
1 +[[image:image-20230511201248-1.png||height="403" width="489"]]
2 2  
3 -(% style="text-align:center" %)
4 -[[image:image-20240103095714-2.png]]
5 5  
6 6  
5 +**Table of Contents:**
7 7  
7 +{{toc/}}
8 8  
9 9  
10 10  
11 -**Table of Contents:**
12 12  
13 -{{toc/}}
14 14  
15 15  
14 += 1. Introduction =
16 16  
16 +== 1.1 What is SN50v3-LB LoRaWAN Generic Node ==
17 17  
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.
18 18  
19 19  
20 -= 1. Introduction =
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.
21 21  
22 -== 1.1 What is SN50v3-LB/LS LoRaWAN Generic Node ==
23 23  
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.
24 24  
25 -(% style="color:blue" %)**SN50V3-LB/LS **(%%)LoRaWAN Sensor Node is a Long Range LoRa Sensor Node. It is designed for outdoor use and powered by (% style="color:blue" %)** 8500mAh Li/SOCl2 battery**(%%)  or (% style="color:blue" %)**solar powered + Li-ion battery**(%%) for long term use.SN50V3-LB/LS 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.
26 26  
27 -(% style="color:blue" %)**SN50V3-LB/LS 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, and so on.
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 -SN50V3-LB/LS has a powerful (% style="color:blue" %)**48Mhz ARM microcontroller with 256KB flash and 64KB RAM**(%%). It has (% style="color:blue" %)**multiplex I/O pins**(%%) to connect to different sensors.
30 30  
31 -SN50V3-LB/LS has a (% style="color:blue" %)**built-in BLE module**(%%), user can configure the sensor remotely via Mobile Phone. It also support (% style="color:blue" %)**OTA upgrade**(%%) via private LoRa protocol for easy maintaining.
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.
32 32  
33 -SN50V3-LB/LS 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.
34 34  
35 35  == 1.2 ​Features ==
36 36  
37 -
38 38  * LoRaWAN 1.0.3 Class A
39 39  * Ultra-low power consumption
40 40  * Open-Source hardware/software
... ... @@ -43,15 +43,13 @@
43 43  * Support wireless OTA update firmware
44 44  * Uplink on periodically
45 45  * Downlink to change configure
46 -* 8500mAh Li/SOCl2 Battery (SN50v3-LB)
47 -* Solar panel + 3000mAh Li-ion battery (SN50v3-LS)
43 +* 8500mAh Battery for long term use
48 48  
49 49  == 1.3 Specification ==
50 50  
51 -
52 52  (% style="color:#037691" %)**Common DC Characteristics:**
53 53  
54 -* Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v
49 +* Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
55 55  * Operating Temperature: -40 ~~ 85°C
56 56  
57 57  (% style="color:#037691" %)**I/O Interface:**
... ... @@ -85,7 +85,6 @@
85 85  
86 86  == 1.4 Sleep mode and working mode ==
87 87  
88 -
89 89  (% 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.
90 90  
91 91  (% 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.
... ... @@ -94,10 +94,11 @@
94 94  == 1.5 Button & LEDs ==
95 95  
96 96  
97 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LB_Waterproof_RS485UART_to_LoRaWAN_Converter/WebHome/image-20240103160425-4.png?rev=1.1||alt="image-20240103160425-4.png"]]
91 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
98 98  
99 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
100 -|=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action**
93 +
94 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
95 +|=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
101 101  |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
102 102  If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
103 103  Meanwhile, BLE module will be active and user can connect via BLE to configure device.
... ... @@ -112,7 +112,7 @@
112 112  == 1.6 BLE connection ==
113 113  
114 114  
115 -SN50v3-LB/LS supports BLE remote configure.
110 +SN50v3-LB supports BLE remote configure.
116 116  
117 117  
118 118  BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case:
... ... @@ -127,39 +127,33 @@
127 127  == 1.7 Pin Definitions ==
128 128  
129 129  
130 -[[image:image-20230610163213-1.png||height="404" width="699"]]
131 131  
132 132  
133 133  == 1.8 Mechanical ==
134 134  
135 -=== 1.8.1 for LB version ===
136 136  
130 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
137 137  
138 -[[image:image-20240924112806-1.png||height="548" width="894"]]
132 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
139 139  
134 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
140 140  
141 141  
142 -=== 1.8.2 for LS version ===
137 +== Hole Option ==
143 143  
144 -[[image:image-20231231203439-3.png||height="385" width="886"]]
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:
145 145  
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"]]
146 146  
147 -== 1.9 Hole Option ==
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"]]
148 148  
149 149  
150 -SN50v3-LB/LS has different hole size options for different size sensor cable. The options provided are M12, M16 and M20. The definition is as below:
146 += 2. Configure S31x-LB to connect to LoRaWAN network =
151 151  
152 -[[image:image-20250329085729-1.jpeg]]
153 -
154 -[[image:image-20250329085744-2.jpeg]]
155 -
156 -
157 -= 2. Configure SN50v3-LB/LS to connect to LoRaWAN network =
158 -
159 159  == 2.1 How it works ==
160 160  
161 161  
162 -The SN50v3-LB/LS 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/LS. 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.
163 163  
164 164  
165 165  == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
... ... @@ -167,15 +167,14 @@
167 167  
168 168  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.
169 169  
170 -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.
171 171  
172 -[[image:image-20250329090241-3.png]]
173 173  
174 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from SN50v3-LB/LS.
162 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from S31x-LB.
175 175  
176 -Each SN50v3-LB/LS 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:
177 177  
178 -[[image:image-20250329090300-4.jpeg]]
166 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
179 179  
180 180  
181 181  You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
... ... @@ -183,28 +183,30 @@
183 183  
184 184  (% style="color:blue" %)**Register the device**
185 185  
186 -[[image:image-20250329090324-5.jpeg]]
174 +[[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/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
187 187  
188 188  
189 189  (% style="color:blue" %)**Add APP EUI and DEV EUI**
190 190  
191 -[[image:image-20250329090341-6.jpeg]]
179 +[[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-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
192 192  
193 193  
194 194  (% style="color:blue" %)**Add APP EUI in the application**
195 195  
196 196  
197 -[[image:image-20250329090403-7.jpeg]]
185 +[[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-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
198 198  
199 199  
200 200  (% style="color:blue" %)**Add APP KEY**
201 201  
202 -[[image:image-20250329090417-8.jpeg]]
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"]]
203 203  
204 -(% style="color:blue" %)**Step 2:**(%%) Activate SN50v3-LB/LS
205 205  
206 -Press the button for 5 seconds to activate the SN50v3-LB/LS.
193 +(% style="color:blue" %)**Step 2:**(%%) Activate on S31x-LB
207 207  
195 +
196 +Press the button for 5 seconds to activate the S31x-LB.
197 +
208 208  (% 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.
209 209  
210 210  After join success, it will start to upload messages to TTN and you can see the messages in the panel.
... ... @@ -215,52 +215,54 @@
215 215  === 2.3.1 Device Status, FPORT~=5 ===
216 216  
217 217  
218 -Users can use the downlink command(**0x26 01**) to ask SN50v3-LB/LS to send device configure detail, include device configure status. SN50v3-LB/LS 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.
219 219  
220 220  The Payload format is as below.
221 221  
222 222  
223 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
224 -|(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
213 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
214 +|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**
225 225  |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2**
226 -|(% 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
227 227  
228 228  Example parse in TTNv3
229 229  
220 +[[image:image-20230421171614-1.png||alt="图片-20230421171614-1.png"]]
230 230  
231 -(% style="color:#037691" %)**Sensor Model**(%%): For SN50v3-LB/LS, this value is 0x1C
232 232  
223 +(% style="color:#037691" %)**Sensor Model**(%%): For S31x-LB, this value is 0x0A
224 +
233 233  (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
234 234  
235 235  (% style="color:#037691" %)**Frequency Band**:
236 236  
237 -0x01: EU868
229 +*0x01: EU868
238 238  
239 -0x02: US915
231 +*0x02: US915
240 240  
241 -0x03: IN865
233 +*0x03: IN865
242 242  
243 -0x04: AU915
235 +*0x04: AU915
244 244  
245 -0x05: KZ865
237 +*0x05: KZ865
246 246  
247 -0x06: RU864
239 +*0x06: RU864
248 248  
249 -0x07: AS923
241 +*0x07: AS923
250 250  
251 -0x08: AS923-1
243 +*0x08: AS923-1
252 252  
253 -0x09: AS923-2
245 +*0x09: AS923-2
254 254  
255 -0x0a: AS923-3
247 +*0x0a: AS923-3
256 256  
257 -0x0b: CN470
249 +*0x0b: CN470
258 258  
259 -0x0c: EU433
251 +*0x0c: EU433
260 260  
261 -0x0d: KR920
253 +*0x0d: KR920
262 262  
263 -0x0e: MA869
255 +*0x0e: MA869
264 264  
265 265  
266 266  (% style="color:#037691" %)**Sub-Band**:
... ... @@ -281,789 +281,237 @@
281 281  Ex2: 0x0B49 = 2889mV
282 282  
283 283  
284 -=== 2.3.2 Working Modes & Sensor Data. Uplink via FPORT~=2 ===
276 +=== 2.3.2  Sensor Data. FPORT~=2 ===
285 285  
286 286  
287 -SN50v3-LB/LS 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/LS to different working modes.
279 +Sensor Data is uplink via FPORT=2
288 288  
289 -For example:
290 -
291 - (% 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.
292 -
293 -
294 -(% style="color:red" %) **Important Notice:**
295 -
296 -~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/LS transmit in DR0 with 12 bytes payload.
297 -
298 -2. All modes share the same Payload Explanation from HERE.
299 -
300 -3. By default, the device will send an uplink message every 20 minutes.
301 -
302 -
303 -==== 2.3.2.1  MOD~=1 (Default Mode) ====
304 -
305 -
306 -In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
307 -
308 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
309 -|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:90px" %)**1**|(% style="background-color:#4f81bd; color:white; width:128px" %)**2**|(% style="background-color:#4f81bd; color:white; width:79px" %)**2**
310 -|Value|Bat|(% style="width:191px" %)(((
311 -Temperature(DS18B20)(PC13)
312 -)))|(% style="width:78px" %)(((
313 -ADC(PA4)
314 -)))|(% style="width:216px" %)(((
315 -Digital in(PB15)&Digital Interrupt(PA8)
316 -)))|(% style="width:308px" %)(((
317 -Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
318 -)))|(% style="width:154px" %)(((
319 -Humidity(SHT20 or SHT31)
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:"]]
320 320  )))
321 321  
322 -[[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"]]
297 +==== (% style="color:#4472c4" %)**Battery**(%%) ====
323 323  
299 +Sensor Battery Level.
324 324  
325 -==== 2.3.2.2  MOD~=2 (Distance Mode) ====
301 +Ex1: 0x0B45 = 2885mV
326 326  
303 +Ex2: 0x0B49 = 2889mV
327 327  
328 -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.
329 329  
330 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
331 -|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:29px" %)**2**|(% style="background-color:#4f81bd; color:white; width:108px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:110px" %)**1**|(% style="background-color:#4f81bd; color:white; width:140px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**
332 -|Value|BAT|(% style="width:196px" %)(((
333 -Temperature(DS18B20)(PC13)
334 -)))|(% style="width:87px" %)(((
335 -ADC(PA4)
336 -)))|(% style="width:189px" %)(((
337 -Digital in(PB15) & Digital Interrupt(PA8)
338 -)))|(% style="width:208px" %)(((
339 -Distance measure by: 1) LIDAR-Lite V3HP
340 -Or 2) Ultrasonic Sensor
341 -)))|(% style="width:117px" %)Reserved
342 342  
343 -[[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"]]
307 +==== (% style="color:#4472c4" %)**Temperature**(%%) ====
344 344  
309 +**Example**:
345 345  
346 -(% style="color:blue" %)**Connection of LIDAR-Lite V3HP:**
311 +If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
347 347  
348 -[[image:image-20230512173758-5.png||height="563" width="712"]]
313 +If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
349 349  
315 +(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
350 350  
351 -(% style="color:blue" %)**Connection to Ultrasonic Sensor:**
352 352  
353 -(% style="color:red" %)**Need to remove R1 and R2 resistors to get low power,otherwise there will be 240uA standby current.**
318 +==== (% style="color:#4472c4" %)**Humidity**(%%) ====
354 354  
355 -[[image:image-20230512173903-6.png||height="596" width="715"]]
356 356  
321 +Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
357 357  
358 -For the connection to TF-Mini or TF-Luna , MOD2 payload is as below:
359 359  
360 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
361 -|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:120px" %)**2**|(% style="background-color:#4f81bd; color:white; width:77px" %)**2**
362 -|Value|BAT|(% style="width:183px" %)(((
363 -Temperature(DS18B20)(PC13)
364 -)))|(% style="width:173px" %)(((
365 -Digital in(PB15) & Digital Interrupt(PA8)
366 -)))|(% style="width:84px" %)(((
367 -ADC(PA4)
368 -)))|(% style="width:323px" %)(((
369 -Distance measure by:1)TF-Mini plus LiDAR
370 -Or 2) TF-Luna LiDAR
371 -)))|(% style="width:188px" %)Distance signal  strength
324 +==== (% style="color:#4472c4" %)**Alarm Flag& MOD**(%%) ====
372 372  
373 -[[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"]]
374 374  
327 +**Example:**
375 375  
376 -**Connection to [[TF-Mini plus>>url:http://en.benewake.com/product/detail/5c345cd0e5b3a844c472329b.html]] LiDAR(UART version):**
329 +If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message
377 377  
378 -(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
331 +If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm
379 379  
380 -[[image:image-20230512180609-7.png||height="555" width="802"]]
333 +If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message
381 381  
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. 
382 382  
383 -**Connection to [[TF-Luna>>url:http://en.benewake.com/product/detail/5e1c1fd04d839408076b6255.html]] LiDAR (UART version):**
384 384  
385 -(% style="color:red" %)**Need to remove R3 and R4 resistors to get low power,otherwise there will be 400uA standby current.**
338 +== 2.4 Payload Decoder file ==
386 386  
387 -[[image:image-20230610170047-1.png||height="452" width="799"]]
388 388  
341 +In TTN, use can add a custom payload so it shows friendly reading
389 389  
390 -==== 2.3.2.3  MOD~=3 (3 ADC + I2C) ====
343 +In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
391 391  
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]]
392 392  
393 -This mode has total 12 bytes. Include 3 x ADC + 1x I2C
394 394  
395 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
396 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)(((
397 -**Size(bytes)**
398 -)))|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 110px;background-color:#4F81BD;color:white" %)2|=(% style="width: 97px;background-color:#4F81BD;color:white" %)2|=(% style="width: 20px;background-color:#4F81BD;color:white" %)1
399 -|Value|(% style="width:68px" %)(((
400 -ADC1(PA4)
401 -)))|(% style="width:75px" %)(((
402 -ADC2(PA5)
403 -)))|(((
404 -ADC3(PA8)
405 -)))|(((
406 -Digital Interrupt(PB15)
407 -)))|(% style="width:304px" %)(((
408 -Temperature(SHT20 or SHT31 or BH1750 Illumination Sensor)
409 -)))|(% style="width:163px" %)(((
410 -Humidity(SHT20 or SHT31)
411 -)))|(% style="width:53px" %)Bat
348 +== 2.5 Datalog Feature ==
412 412  
413 -[[image:image-20230513110214-6.png]]
414 414  
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.
415 415  
416 -==== 2.3.2.4 MOD~=4 (3 x DS18B20) ====
417 417  
354 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
418 418  
419 -This mode has total 11 bytes. As shown below:
420 420  
421 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
422 -|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:99px" %)**1**|(% style="background-color:#4f81bd; color:white; width:99px" %)**2**|(% style="background-color:#4f81bd; color:white; width:99px" %)**2**
423 -|Value|BAT|(% style="width:186px" %)(((
424 -Temperature1(DS18B20)(PC13)
425 -)))|(% style="width:82px" %)(((
426 -ADC(PA4)
427 -)))|(% style="width:210px" %)(((
428 -Digital in(PB15) & Digital Interrupt(PA8) 
429 -)))|(% style="width:191px" %)Temperature2(DS18B20)
430 -(PB9)|(% style="width:183px" %)Temperature3(DS18B20)(PB8)
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.
431 431  
432 -[[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"]]
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.
433 433  
362 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
434 434  
435 -[[image:image-20230513134006-1.png||height="559" width="736"]]
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"]]
436 436  
366 +=== 2.5.2 Unix TimeStamp ===
437 437  
438 -==== 2.3.2.5  MOD~=5(Weight Measurement by HX711) ====
439 439  
369 +S31x-LB uses Unix TimeStamp format based on
440 440  
441 -[[image:image-20230512164658-2.png||height="532" width="729"]]
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"]]
442 442  
443 -Each HX711 need to be calibrated before used. User need to do below two steps:
373 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
444 444  
445 -1. Zero calibration. Don't put anything on load cell and run (% style="color:blue" %)**AT+WEIGRE**(%%) to calibrate to Zero gram.
446 -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.
447 -1. (((
448 -Weight has 4 bytes, the unit is g.
375 +Below is the converter example
449 449  
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"]]
450 450  
451 -
452 -)))
379 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
453 453  
454 -For example:
455 455  
456 -(% style="color:blue" %)**AT+GETSENSORVALUE =0**
382 +=== 2.5.3 Set Device Time ===
457 457  
458 -Response:  Weight is 401 g
459 459  
460 -Check the response of this command and adjust the value to match the real value for thing.
385 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
461 461  
462 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
463 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)(((
464 -**Size(bytes)**
465 -)))|=(% style="width: 20px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 150px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 198px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 49px;background-color:#4F81BD;color:white" %)**4**
466 -|Value|BAT|(% style="width:193px" %)(((
467 -Temperature(DS18B20)(PC13)
468 -)))|(% style="width:85px" %)(((
469 -ADC(PA4)
470 -)))|(% style="width:186px" %)(((
471 -Digital in(PB15) & Digital Interrupt(PA8)
472 -)))|(% style="width:100px" %)Weight
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).
473 473  
474 -[[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"]]
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.**
475 475  
476 476  
477 -==== 2.3.2.6  MOD~=6 (Counting Mode) ====
392 +=== 2.5.4 Datalog Uplink payload (FPORT~=3) ===
478 478  
479 479  
480 -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.
395 +The Datalog uplinks will use below payload format.
481 481  
482 -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.
397 +**Retrieval data payload:**
483 483  
484 -[[image:image-20230512181814-9.png||height="543" width="697"]]
485 -
486 -
487 -(% 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.**
488 -
489 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
490 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**Size(bytes)**|=(% style="width: 40px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 180px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 77px;background-color:#4F81BD;color:white" %)**4**
491 -|Value|BAT|(% style="width:256px" %)(((
492 -Temperature(DS18B20)(PC13)
493 -)))|(% style="width:108px" %)(((
494 -ADC(PA4)
495 -)))|(% style="width:126px" %)(((
496 -Digital in(PB15)
497 -)))|(% style="width:145px" %)(((
498 -Count(PA8)
499 -)))
500 -
501 -[[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"]]
502 -
503 -
504 -==== 2.3.2.7  MOD~=7 (Three interrupt contact modes) ====
505 -
506 -
507 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
508 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)(((
399 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
400 +|=(% style="width: 80px;background-color:#D9E2F3" %)(((
509 509  **Size(bytes)**
510 -)))|=(% style="width: 20px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)1|=(% style="width: 40px;background-color:#4F81BD;color:white" %)2
511 -|Value|BAT|(% style="width:188px" %)(((
512 -Temperature(DS18B20)
513 -(PC13)
514 -)))|(% style="width:83px" %)(((
515 -ADC(PA5)
516 -)))|(% style="width:184px" %)(((
517 -Digital Interrupt1(PA8)
518 -)))|(% style="width:186px" %)Digital Interrupt2(PA4)|(% style="width:197px" %)Digital Interrupt3(PB15)|(% style="width:100px" %)Reserved
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"]]
519 519  
520 -[[image:image-20230513111203-7.png||height="324" width="975"]]
407 +**Poll message flag & Ext:**
521 521  
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"]]
522 522  
523 -==== 2.3.2.8  MOD~=8 (3ADC+1DS18B20) ====
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)
524 524  
413 +**Poll Message Flag**: 1: This message is a poll message reply.
525 525  
526 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
527 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)(((
528 -**Size(bytes)**
529 -)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 110px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 119px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 69px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 69px;background-color:#4F81BD;color:white" %)2
530 -|Value|BAT|(% style="width:207px" %)(((
531 -Temperature(DS18B20)
532 -(PC13)
533 -)))|(% style="width:94px" %)(((
534 -ADC1(PA4)
535 -)))|(% style="width:198px" %)(((
536 -Digital Interrupt(PB15)
537 -)))|(% style="width:84px" %)(((
538 -ADC2(PA5)
539 -)))|(% style="width:82px" %)(((
540 -ADC3(PA8)
541 -)))
415 +* Poll Message Flag is set to 1.
542 542  
543 -[[image:image-20230513111231-8.png||height="335" width="900"]]
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.
544 544  
419 +For example, in US915 band, the max payload for different DR is:
545 545  
546 -==== 2.3.2.9  MOD~=9 (3DS18B20+ two Interrupt count mode) ====
421 +**a) DR0:** max is 11 bytes so one entry of data
547 547  
423 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
548 548  
549 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
550 -|=(% style="width: 50px;background-color:#4F81BD;color:white" %)(((
551 -**Size(bytes)**
552 -)))|=(% style="width: 20px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 59px;background-color:#4F81BD;color:white" %)4|=(% style="width: 59px;background-color:#4F81BD;color:white" %)4
553 -|Value|BAT|(((
554 -Temperature
555 -(DS18B20)(PC13)
556 -)))|(((
557 -Temperature2
558 -(DS18B20)(PB9)
559 -)))|(((
560 -Digital Interrupt
561 -(PB15)
562 -)))|(% style="width:193px" %)(((
563 -Temperature3
564 -(DS18B20)(PB8)
565 -)))|(% style="width:78px" %)(((
566 -Count1(PA8)
567 -)))|(% style="width:78px" %)(((
568 -Count2(PA4)
569 -)))
425 +**c) DR2:** total payload includes 11 entries of data
570 570  
571 -[[image:image-20230513111255-9.png||height="341" width="899"]]
427 +**d) DR3: **total payload includes 22 entries of data.
572 572  
573 -(% style="color:blue" %)**The newly added AT command is issued correspondingly:**
429 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
574 574  
575 -(% style="color:#037691" %)** AT+INTMOD1 PA8**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)**06 00 00 xx**
576 576  
577 -(% style="color:#037691" %)** AT+INTMOD2 PA4**(%%)  pin:  Corresponding downlink: (% style="color:#037691" %)**06 00 01 xx**
432 +**Example:**
578 578  
579 -(% style="color:#037691" %)** AT+INTMOD3 PB15**(%%)  pin:  Corresponding downlink:  (% style="color:#037691" %)** 06 00 02 xx**
434 +If S31x-LB has below data inside Flash:
580 580  
436 +[[image:1682646494051-944.png]]
581 581  
582 -(% style="color:blue" %)**AT+SETCNT=aa,bb** 
438 +If user sends below downlink command: 3160065F9760066DA705
583 583  
584 -When AA is 1, set the count of PA8 pin to BB Corresponding downlink:09 01 bb bb bb bb
440 +Where : Start time: 60065F97 = time 21/1/19 04:27:03
585 585  
586 -When AA is 2, set the count of PA4 pin to BB Corresponding downlink:09 02 bb bb bb bb
442 + Stop time: 60066DA7= time 21/1/19 05:27:03
587 587  
588 588  
589 -==== 2.3.2.1 MOD~=10 (PWM input capture and output mode,Since firmware v1.2)(% style="display:none" %) (%%) ====
445 +**S31x-LB will uplink this payload.**
590 590  
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"]]
591 591  
592 -(% style="color:red" %)**Note: Firmware not release, contact Dragino for testing.**
593 -
594 -In this mode, the uplink can perform PWM input capture, and the downlink can perform PWM output.
595 -
596 -[[It should be noted when using PWM mode.>>||anchor="H2.3.3.12A0PWMMOD"]]
597 -
598 -
599 -===== 2.3.2.10.a  Uplink, PWM input capture =====
600 -
601 -
602 -[[image:image-20230817172209-2.png||height="439" width="683"]]
603 -
604 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
605 -|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:135px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:90px" %)**2**
606 -|Value|Bat|(% style="width:191px" %)(((
607 -Temperature(DS18B20)(PC13)
608 -)))|(% style="width:78px" %)(((
609 -ADC(PA4)
610 -)))|(% style="width:135px" %)(((
611 -PWM_Setting
612 -&Digital Interrupt(PA8)
613 -)))|(% style="width:70px" %)(((
614 -Pulse period
615 -)))|(% style="width:89px" %)(((
616 -Duration of high level
449 +(((
450 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E
617 617  )))
618 618  
619 -[[image:image-20230817170702-1.png||height="161" width="1044"]]
620 -
621 -
622 -When the device detects the following PWM signal ,decoder will converts the pulse period and high-level duration to frequency and duty cycle.
623 -
624 -**Frequency:**
625 -
626 -(% class="MsoNormal" %)
627 -(% 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);
628 -
629 -(% class="MsoNormal" %)
630 -(% 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);
631 -
632 -
633 -(% class="MsoNormal" %)
634 -**Duty cycle:**
635 -
636 -Duty cycle= Duration of high level/ Pulse period*100 ~(%).
637 -
638 -[[image:image-20230818092200-1.png||height="344" width="627"]]
639 -
640 -
641 -===== 2.3.2.10.b  Uplink, PWM output =====
642 -
643 -
644 -[[image:image-20230817172209-2.png||height="439" width="683"]]
645 -
646 -(% 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+PWMOUT=a,b,c**
647 -
648 -a is the time delay of the output, the unit is ms.
649 -
650 -b is the output frequency, the unit is HZ.
651 -
652 -c is the duty cycle of the output, the unit is %.
653 -
654 -(% 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" %)**Downlink**(%%):  (% style="color:#037691" %)**0B 01 bb cc aa **
655 -
656 -aa is the time delay of the output, the unit is ms.
657 -
658 -bb is the output frequency, the unit is HZ.
659 -
660 -cc is the duty cycle of the output, the unit is %.
661 -
662 -
663 -For example, send a AT command: AT+PWMOUT=65535,1000,50  The PWM is always out, the frequency is 1000HZ, and the duty cycle is 50.
664 -
665 -The oscilloscope displays as follows:
666 -
667 -[[image:image-20231213102404-1.jpeg||height="688" width="821"]]
668 -
669 -
670 -===== 2.3.2.10.c  Downlink, PWM output =====
671 -
672 -
673 -[[image:image-20230817173800-3.png||height="412" width="685"]]
674 -
675 -Downlink:  (% style="color:#037691" %)**0B xx xx xx yy zz zz**
676 -
677 - xx xx xx is the output frequency, the unit is HZ.
678 -
679 - yy is the duty cycle of the output, the unit is %.
680 -
681 - zz zz is the time delay of the output, the unit is ms.
682 -
683 -
684 -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.
685 -
686 -The oscilloscope displays as follows:
687 -
688 -[[image:image-20230817173858-5.png||height="634" width="843"]]
689 -
690 -
691 -
692 -==== 2.3.2.11  MOD~=11 (TEMP117)(Since firmware V1.3.0) ====
693 -
694 -
695 -In this mode, uplink payload includes in total 11 bytes. Uplink packets use FPORT=2.
696 -
697 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
698 -|(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:20px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**2**|(% style="background-color:#4f81bd; color:white; width:50px" %)**2**|(% style="background-color:#4f81bd; color:white; width:90px" %)**1**|(% style="background-color:#4f81bd; color:white; width:128px" %)**2**|(% style="background-color:#4f81bd; color:white; width:79px" %)**2**
699 -|Value|Bat|(% style="width:191px" %)(((
700 -Temperature(DS18B20)(PC13)
701 -)))|(% style="width:78px" %)(((
702 -ADC(PA4)
703 -)))|(% style="width:216px" %)(((
704 -Digital in(PB15)&Digital Interrupt(PA8)
705 -)))|(% style="width:308px" %)(((
706 -Temperature
707 -(TEMP117)
708 -)))|(% style="width:154px" %)(((
709 -Reserved position, meaningless
710 -(0x0000)
453 +(((
454 +Where the first 11 bytes is for the first entry:
711 711  )))
712 712  
713 -[[image:image-20240717113113-1.png||height="352" width="793"]]
714 -
715 -Connection:
716 -
717 -[[image:image-20240717141528-2.jpeg||height="430" width="654"]]
718 -
719 -
720 -==== 2.3.2.12  MOD~=12 (Count+SHT31)(Since firmware V1.3.1) ====
721 -
722 -
723 -This mode has total 11 bytes. As shown below:
724 -
725 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:517px" %)
726 -|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**Size(bytes)**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**2**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**2**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**2**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**1**|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**4**
727 -|Value|BAT|(% style="width:86px" %)(((
728 - Temperature_SHT31
729 -)))|(% style="width:86px" %)(((
730 -Humidity_SHT31
731 -)))|(% style="width:86px" %)(((
732 - Digital in(PB15)
733 -)))|(% style="width:86px" %)(((
734 -Count(PA8)
457 +(((
458 +7FFF089801464160065F97
735 735  )))
736 736  
737 -[[image:image-20240717150948-5.png||height="389" width="979"]]
738 -
739 -Wiring example:
740 -
741 -[[image:image-20240717152224-6.jpeg||height="359" width="680"]]
742 -
743 -
744 -=== 2.3.3  ​Decode payload ===
745 -
746 -
747 -While using TTN V3 network, you can add the payload format to decode the payload.
748 -
749 -[[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"]]
750 -
751 -The payload decoder function for TTN V3 are here:
752 -
753 -SN50v3-LB/LS TTN V3 Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
754 -
755 -
756 -==== 2.3.3.1 Battery Info ====
757 -
758 -
759 -Check the battery voltage for SN50v3-LB/LS.
760 -
761 -Ex1: 0x0B45 = 2885mV
762 -
763 -Ex2: 0x0B49 = 2889mV
764 -
765 -
766 -==== 2.3.3.2  Temperature (DS18B20) ====
767 -
768 -
769 -If there is a DS18B20 connected to PC13 pin. The temperature will be uploaded in the payload.
770 -
771 -More DS18B20 can check the [[3 DS18B20 mode>>||anchor="H2.3.2.4MOD3D4283xDS18B2029"]]
772 -
773 -(% style="color:blue" %)**Connection:**
774 -
775 -[[image:image-20230512180718-8.png||height="538" width="647"]]
776 -
777 -
778 -(% style="color:blue" %)**Example**:
779 -
780 -If payload is: 0105H:  (0105 & 8000 == 0), temp = 0105H /10 = 26.1 degree
781 -
782 -If payload is: FF3FH :  (FF3F & 8000 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
783 -
784 -(FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
785 -
786 -
787 -==== 2.3.3.3 Digital Input ====
788 -
789 -
790 -The digital input for pin PB15,
791 -
792 -* When PB15 is high, the bit 1 of payload byte 6 is 1.
793 -* When PB15 is low, the bit 1 of payload byte 6 is 0.
794 -
795 -(% class="wikigeneratedid" id="H2.3.3.4A0AnalogueDigitalConverter28ADC29" %)
796 796  (((
797 -When the digital interrupt pin is set to AT+INTMODx=0, this pin is used as a digital input pin.
798 -
799 -(% style="color:red" %)**Note: The maximum voltage input supports 3.6V.**
800 -
801 -
462 +**Ext sensor data**=0x7FFF/100=327.67
802 802  )))
803 803  
804 -==== 2.3.3.4  Analogue Digital Converter (ADC) ====
805 -
806 -
807 -The measuring range of the ADC is only about 0.1V to 1.1V The voltage resolution is about 0.24mv.
808 -
809 -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.
810 -
811 -[[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"]]
812 -
813 -
814 -(% 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.**
815 -
816 -
817 -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.
818 -
819 -[[image:image-20230811113449-1.png||height="370" width="608"]]
820 -
821 -
822 -
823 -==== 2.3.3.5 Digital Interrupt ====
824 -
825 -
826 -Digital Interrupt refers to pin PA8, and there are different trigger methods. When there is a trigger, the SN50v3-LB/LS will send a packet to the server.
827 -
828 -(% style="color:blue" %)** Interrupt connection method:**
829 -
830 -[[image:image-20230513105351-5.png||height="147" width="485"]]
831 -
832 -
833 -(% style="color:blue" %)**Example to use with door sensor :**
834 -
835 -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.
836 -
837 -[[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"]]
838 -
839 -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/LS interrupt interface to detect the status for the door or window.
840 -
841 -
842 -(% style="color:blue" %)**Below is the installation example:**
843 -
844 -Fix one piece of the magnetic sensor to the door and connect the two pins to SN50v3-LB/LS as follows:
845 -
846 -* (((
847 -One pin to SN50v3-LB/LS's PA8 pin
465 +(((
466 +**Temp**=0x088E/100=22.00
848 848  )))
849 -* (((
850 -The other pin to SN50v3-LB/LS's VDD pin
851 -)))
852 852  
853 -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.
854 -
855 -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.
856 -
857 -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.
858 -
859 -[[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"]]
860 -
861 -The above photos shows the two parts of the magnetic switch fitted to a door.
862 -
863 -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.
864 -
865 -The command is:
866 -
867 -(% 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]]**. **)
868 -
869 -Below shows some screen captures in TTN V3:
870 -
871 -[[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"]]
872 -
873 -
874 -(% style="color:blue" %)**Application in different modes:**
875 -
876 -* In **MOD=1**, user can use byte 6 to see the status for door open or close. TTN V3 decoder is as below:
877 -
878 - door= (bytes[6] & 0x80)? "CLOSE":"OPEN";
879 -
880 -
881 -* In **MOD=7**, there are three interrupt pins in effect.
882 -
883 -See the AT+INTMODx command explained to set the three pin interrupt modes.
884 -
885 -As you can see from the byte parsing table of pattern 7, the seventh byte of the original load is used to display the PA8 pin interrupt flag and status, the eighth byte of the original load is used to display the PA4 pin interrupt flag and status, and the ninth byte of the original load is used to display the PB15 pin interrupt flag and status.
886 -
887 -[[image:image-20250402103902-1.png]]
888 -
889 -TTN V3 decoder is as below:
890 -
891 -[[image:image-20250402104508-2.png||height="255" width="579"]]
892 -
893 -(% style="color:red" %)**Note: mode in decoding is sorted from 0, so it corresponds to the actual working mode AT+MOD=7.**
894 -
895 -
896 -(% style="color:#037691" %)**Interrupt flag: **(%%)"EXTI1/2/3_Trigger", indicates whether the uplink packet is generated by an interrupt on the PA8/PA4/PB15 pin.
897 -
898 -
899 -(% style="color:#037691" %)**Interrupt status: **(%%)"EXTI1/2/3_Status", Displays the status of the interrupt sensors connected to the PA4/PA8/PB15 interrupt pins when the packet is uplinked.
900 -
901 -
902 -==== 2.3.3.6 I2C Interface (SHT20 & SHT31) ====
903 -
904 -
905 -The SDA and SCK are I2C interface lines. You can use these to connect to an I2C device and get the sensor data.
906 -
907 -We have made an example to show how to use the I2C interface to connect to the SHT20/ SHT31 Temperature and Humidity Sensor.
908 -
909 -(% 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/LS will be a good reference.**
910 -
911 -
912 -Below is the connection to SHT20/ SHT31. The connection is as below:
913 -
914 -[[image:image-20230610170152-2.png||height="501" width="846"]]
915 -
916 -
917 -The device will be able to get the I2C sensor data now and upload to IoT Server.
918 -
919 -[[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"]]
920 -
921 -Convert the read byte to decimal and divide it by ten.
922 -
923 -**Example:**
924 -
925 -Temperature:  Read:0116(H) = 278(D)  Value:  278 /10=27.8℃;
926 -
927 -Humidity:    Read:0248(H)=584(D)  Value:  584 / 10=58.4, So 58.4%
928 -
929 -If you want to use other I2C device, please refer the SHT20 part source code as reference.
930 -
931 -
932 -==== 2.3.3.7  ​Distance Reading ====
933 -
934 -
935 -Refer [[Ultrasonic Sensor section>>||anchor="H2.3.3.8UltrasonicSensor"]].
936 -
937 -
938 -==== 2.3.3.8 Ultrasonic Sensor ====
939 -
940 -
941 -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]]
942 -
943 -The SN50v3-LB/LS 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.
944 -
945 -The working principle of this sensor is similar to the (% style="color:blue" %)**HC-SR04**(%%) ultrasonic sensor.
946 -
947 -The picture below shows the connection:
948 -
949 -[[image:image-20230512173903-6.png||height="596" width="715"]]
950 -
951 -
952 -Connect to the SN50v3-LB/LS and run (% style="color:blue" %)**AT+MOD=2**(%%) to switch to ultrasonic mode (ULT).
953 -
954 -The ultrasonic sensor uses the 8^^th^^ and 9^^th^^ byte for the measurement value.
955 -
956 -**Example:**
957 -
958 -Distance:  Read: 0C2D(Hex) = 3117(D)  Value:  3117 mm=311.7 cm
959 -
960 -
961 -==== 2.3.3.9  Battery Output - BAT pin ====
962 -
963 -
964 -The BAT pin of SN50v3-LB/LS 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/LS will run out very soon.
965 -
966 -
967 -==== 2.3.3.10  +5V Output ====
968 -
969 -
970 -SN50v3-LB/LS will enable +5V output before all sampling and disable the +5v after all sampling. 
971 -
972 -The 5V output time can be controlled by AT Command.
973 -
974 -(% style="color:blue" %)**AT+5VT=1000**
975 -
976 -Means set 5V valid time to have 1000ms. So the real 5V output will actually have 1000ms + sampling time for other sensors.
977 -
978 -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.
979 -
980 -
981 -==== 2.3.3.11  BH1750 Illumination Sensor ====
982 -
983 -
984 -MOD=1 support this sensor. The sensor value is in the 8^^th^^ and 9^^th^^ bytes.
985 -
986 -[[image:image-20230512172447-4.png||height="416" width="712"]]
987 -
988 -
989 -[[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"]]
990 -
991 -
992 -==== 2.3.3.12  PWM MOD ====
993 -
994 -
995 -* (((
996 -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
997 997  )))
998 -* (((
999 -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:
1000 -)))
1001 1001  
1002 - [[image:image-20230817183249-3.png||height="320" width="417"]]
1003 -
1004 -* (((
1005 -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
1006 1006  )))
1007 -* (((
1008 -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.
1009 -)))
1010 -* (((
1011 -PWM Input allows low power consumption. PWM Output to achieve real-time control, you need to go to class C. Power consumption will not be low.
1012 1012  
1013 -For PWM Output Feature, there are two consideration to see if the device can be powered by battery or have to be powered by external DC.
1014 -
1015 -a) If real-time control output is required, the SN50v3-LB/LS is already operating in class C and an external power supply must be used.
1016 -
1017 -b) If the output duration is more than 30 seconds, better to use external power source. 
1018 -
1019 -
1020 -
477 +(((
478 +**Unix time** is 0x60066009=1611030423s=21/1/19 04:27:03
1021 1021  )))
1022 1022  
1023 -==== 2.3.3.13  Working MOD ====
1024 1024  
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="单击并拖动以调整大小" %)的
1025 1025  
1026 -The working MOD info is contained in the Digital in & Digital Interrupt byte (7^^th^^ Byte).
484 +== 2.6 Temperature Alarm Feature ==
1027 1027  
1028 -User can use the 3^^rd^^ ~~ 7^^th^^  bit of this byte to see the working mod:
1029 1029  
1030 -Case 7^^th^^ Byte >> 2 & 0x1f:
487 +S31x-LB work flow with Alarm feature.
1031 1031  
1032 -* 0: MOD1
1033 -* 1: MOD2
1034 -* 2: MOD3
1035 -* 3: MOD4
1036 -* 4: MOD5
1037 -* 5: MOD6
1038 -* 6: MOD7
1039 -* 7: MOD8
1040 -* 8: MOD9
1041 -* 9: MOD10
1042 1042  
1043 -== 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"]]
1044 1044  
1045 1045  
1046 -In TTN, use can add a custom payload so it shows friendly reading
493 +== 2.7 Frequency Plans ==
1047 1047  
1048 -In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
1049 1049  
1050 -[[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.
1051 1051  
1052 -
1053 -== 2.5 Frequency Plans ==
1054 -
1055 -
1056 -The SN50v3-LB/LS uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
1057 -
1058 1058  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
1059 1059  
1060 1060  
1061 -= 3. Configure SN50v3-LB/LS =
501 += 3. Configure S31x-LB =
1062 1062  
1063 1063  == 3.1 Configure Methods ==
1064 1064  
1065 1065  
1066 -SN50v3-LB/LS supports below configure method:
506 +S31x-LB supports below configure method:
1067 1067  
1068 1068  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
1069 1069  * 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]].
... ... @@ -1082,10 +1082,10 @@
1082 1082  [[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/]]
1083 1083  
1084 1084  
1085 -== 3.3 Commands special design for SN50v3-LB/LS ==
525 +== 3.3 Commands special design for S31x-LB ==
1086 1086  
1087 1087  
1088 -These commands only valid for SN50v3-LB/LS, as below:
528 +These commands only valid for S31x-LB, as below:
1089 1089  
1090 1090  
1091 1091  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -1096,7 +1096,7 @@
1096 1096  (% style="color:blue" %)**AT Command: AT+TDC**
1097 1097  
1098 1098  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1099 -|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
539 +|=(% style="width: 156px;background-color:#D9E2F3" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3" %)**Function**|=(% style="background-color:#D9E2F3" %)**Response**
1100 1100  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
1101 1101  30000
1102 1102  OK
... ... @@ -1119,319 +1119,120 @@
1119 1119  === 3.3.2 Get Device Status ===
1120 1120  
1121 1121  
1122 -Send a LoRaWAN downlink to ask the device to send its status.
562 +Send a LoRaWAN downlink to ask device send Alarm settings.
1123 1123  
1124 -(% style="color:blue" %)**Downlink Payload: 0x26 01**
564 +(% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
1125 1125  
1126 -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.
1127 1127  
1128 1128  
1129 -=== 3.3.3 Set Interrupt Mode ===
569 +=== 3.3.3 Set Temperature Alarm Threshold ===
1130 1130  
571 +* (% style="color:blue" %)**AT Command:**
1131 1131  
1132 -==== 3.3.3.1 Before V1.3.4 firmware ====
573 +(% style="color:#037691" %)**AT+SHTEMP=min,max**
1133 1133  
1134 -(% style="color:red" %)**Note: Before V1.3.4 firmware, the interrupt function of PA8,PA4,PB15 had only one parameter to set, which was used to set the interrupt trigger mode.**
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
1135 1135  
1136 -Feature, Set Interrupt mode for PA8, PA4, PB15.
579 +Example:
1137 1137  
1138 -Before using the interrupt function of the **INT** pin, users can set the interrupt triggering mode as required.
581 + AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
1139 1139  
1140 -(% style="color:#037691" %)**AT Command:**(% style="color:blue" %)** **(% style="color:#4472c4" %)**AT+INTMODx=a**
583 +* (% style="color:blue" %)**Downlink Payload:**
1141 1141  
1142 -(% style="color:#4472c4" %)**AT+INTMODx:**
585 +(% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
1143 1143  
1144 -* (% style="color:#4472c4" %)**AT+INTMOD1   **(%%)~/~/ Set the interrupt mode for (% style="background-color:yellow" %)** PA8**(%%) pin.
1145 -* (% style="color:#4472c4" %)**AT+INTMOD2   **(%%)~/~/ Set the interrupt mode for (% style="background-color:yellow" %)** PA4**(%%) pin.
1146 -* (% style="color:#4472c4" %)**AT+INTMOD3   **(%%)~/~/ Set the interrupt mode for (% style="background-color:yellow" %)** PB15**(%%) pin.
587 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
1147 1147  
1148 -**Parameter a setting:**
1149 1149  
1150 -* **0:** Disable Interrupt
1151 -* **1:** Trigger by rising and falling edge
1152 -* **2:** Trigger by falling edge
1153 -* **3: **Trigger by rising edge
590 +=== 3.3.4 Set Humidity Alarm Threshold ===
1154 1154  
1155 -**Example:**
592 +* (% style="color:blue" %)**AT Command:**
1156 1156  
1157 -* AT+INTMOD1=0  ~/~/Disable the PA8 pin interrupt function
1158 -* AT+INTMOD2=2  ~/~/Set the interrupt of the PA4 pin to be triggered by the falling edge
1159 -* AT+INTMOD3=3  ~/~/Set the interrupt of the PB15 pin to be triggered by the rising edge
594 +(% style="color:#037691" %)**AT+SHHUM=min,max**
1160 1160  
1161 -(% style="color:#037691" %)**Downlink Command:**(% style="color:blue" %)** **(% style="color:#4472c4" %)**0x06 00 aa bb**
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
1162 1162  
1163 -Format: Command Code (0x06 00) followed by 2 bytes.
600 +Example:
1164 1164  
1165 -(% style="color:#4472c4" %)**aa:**(%%) Set the corresponding pin. ((% style="background-color:yellow" %)**00**(%%): PA8 Pin (% style="background-color:yellow" %)**01**(%%)**: **PA4 Pin;  (% style="background-color:yellow" %)**02**(%%): PB15 Pin.)
602 + AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
1166 1166  
1167 -(% style="color:#4472c4" %)**bb: **(%%)Set interrupt mode. ((% style="background-color:yellow" %)**00**(%%) Disable, (% style="background-color:yellow" %)**01**(%%) falling or rising, (% style="background-color:yellow" %)**02**(%%) falling, (% style="background-color:yellow" %)**03**(%%) rising)
604 +* (% style="color:blue" %)**Downlink Payload:**
1168 1168  
1169 -**Example:**
606 +(% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
1170 1170  
1171 -* Downlink Payload: **06 00 00 01     **~/~/ Equal to AT+INTMOD1=1
1172 -* Downlink Payload: **06 00 01 02     **~/~/ Equal to AT+INTMOD2=2
1173 -* Downlink Payload: **06 00 02 03     **~/~/ Equal to AT+INTMOD3=3
608 +(% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
1174 1174  
1175 1175  
1176 -==== 3.3.3.2 Since V1.3.4 firmware ====
611 +=== 3.3.5 Set Alarm Interval ===
1177 1177  
1178 -(% style="color:red" %)**Note: Since V1.3.4 firmware, the Interrupt function has added a new parameter to set the delay time, i.e. the state hold time.**
613 +The shortest time of two Alarm packet. (unit: min)
1179 1179  
1180 -(% style="color:#037691" %)**AT Command:**(% style="color:blue" %)** **(% style="color:#4472c4" %)**AT+INTMODx=a,b**
615 +* (% style="color:blue" %)**AT Command:**
1181 1181  
1182 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:420px" %)
1183 -|=(% style="width: 116px; background-color: rgb(79, 129, 189); color: white;" %)**Parameter **|=(% style="width: 304px; background-color: rgb(79, 129, 189); color: white;" %)**Values and functions**
1184 -|(% style="width:116px" %)(((
1185 -
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.
1186 1186  
1187 -**x**
1188 -)))|(% style="width:392px" %)(((
1189 -1: Set the interrupt mode for (% style="background-color:yellow" %)** PA8**(%%) pin.
619 +* (% style="color:blue" %)**Downlink Payload:**
1190 1190  
1191 -2:  Set the interrupt mode for (% style="background-color:yellow" %)** PA4**(%%) pin.
621 +(% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
1192 1192  
1193 -3: Set the interrupt mode for (% style="background-color:yellow" %)** PB15**(%%) pin.
1194 -)))
1195 -|(% style="width:116px" %)(((
1196 -
1197 1197  
1198 -**a**
1199 -)))|(% style="width:392px" %)(((
1200 -**0:** Disable Interrupt
624 +=== 3.3.6 Get Alarm settings ===
1201 1201  
1202 -**1:** Trigger by rising and falling edge
1203 1203  
1204 -**2:** Trigger by falling edge
627 +Send a LoRaWAN downlink to ask device send Alarm settings.
1205 1205  
1206 -**3: **Trigger by rising edge
1207 -)))
1208 -|(% style="width:116px" %)**b**|(% style="width:392px" %)(((
1209 -Set the delay time. (Default: 0)
629 +* (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
1210 1210  
1211 -**Value range: 0~~65535 ms**
1212 -)))
1213 -
1214 1214  **Example:**
1215 1215  
1216 -* AT+INTMOD1=0,0  ~/~/ Disable the PA8 pin interrupt function
1217 -* AT+INTMOD2=2,1000  ~/~/ Set the interrupt of the PA4 pin to be triggered by the falling edge, however, the interrupt will only be triggered if the low level state remains 1000ms
1218 -* AT+INTMOD3=3,2500  ~/~/ Set the interrupt of the PB15 pin to be triggered by the rising edge, however, the interrupt will only be triggered if the high level state remains 2500ms
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"]]
1219 1219  
1220 -(% style="color:#037691" %)**Downlink Command:**(% style="color:blue" %)** **(% style="color:#4472c4" %)**0x06 00 aa bb cc**
1221 1221  
1222 -Format: Command Code (0x06 00) followed by 4 bytes.
636 +**Explain:**
1223 1223  
1224 -(% style="color:#4472c4" %)**aa:**(%%) **1 byte**, set the corresponding pin. ((% style="background-color:yellow" %)**00**(%%): PA8 Pin;  (% style="background-color:yellow" %)**01**(%%)**: **PA4 Pin;  (% style="background-color:yellow" %)**02**(%%): PB15 Pin.)
638 +* Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
1225 1225  
1226 -(% style="color:#4472c4" %)**bb: **(%%)**1 byte**, set interrupt mode. ((% style="background-color:yellow" %)**00**(%%) Disable, (% style="background-color:yellow" %)**01**(%%) falling or rising, (% style="background-color:yellow" %)**02**(%%) falling, (% style="background-color:yellow" %)**03**(%%) rising)
640 +=== 3.3.7 Set Interrupt Mode ===
1227 1227  
1228 -(% style="color:#4472c4" %)**cc: **(%%)**2 bytes**, Set the delay time. (0x00~~0xFFFF)
1229 1229  
1230 -**Example:**
643 +Feature, Set Interrupt mode for GPIO_EXIT.
1231 1231  
1232 -* Downlink Payload: **06 00 00 01 00 00     **~/~/ Equal to AT+INTMOD1=1,0
1233 -* Downlink Payload: **06 00 01 02 0B B8     **~/~/ Equal to AT+INTMOD2=2,3000
1234 -* Downlink Payload: **06 00 02 03 03 E8   **~/~/ Equal to AT+INTMOD3=3,1000
645 +(% style="color:blue" %)**AT Command: AT+INTMOD**
1235 1235  
1236 -=== 3.3.4 Set Power Output Duration ===
1237 -
1238 -
1239 -Control the output duration 5V . Before each sampling, device will
1240 -
1241 -~1. first enable the power output to external sensor,
1242 -
1243 -2. keep it on as per duration, read sensor value and construct uplink payload
1244 -
1245 -3. final, close the power output.
1246 -
1247 -(% style="color:blue" %)**AT Command: AT+5VT**
1248 -
1249 1249  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1250 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
1251 -|(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)(((
1252 -500(default)
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
1253 1253  OK
652 +the mode is 0 =Disable Interrupt
1254 1254  )))
1255 -|(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)(((
1256 -Close after a delay of 1000 milliseconds.
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)
1257 1257  )))|(% style="width:157px" %)OK
1258 1258  
1259 -(% style="color:blue" %)**Downlink Command: 0x07**
662 +(% style="color:blue" %)**Downlink Command: 0x06**
1260 1260  
1261 -Format: Command Code (0x07) followed by 2 bytes.
664 +Format: Command Code (0x06) followed by 3 bytes.
1262 1262  
1263 -The first and second bytes are the time to turn on.
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.
1264 1264  
1265 -* Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
1266 -* Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
668 +* Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
669 +* Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1267 1267  
1268 -=== 3.3.5 Set Weighing parameters ===
671 += 4. Battery & Power Consumption =
1269 1269  
1270 1270  
1271 -Feature: Working mode 5 is effective, weight initialization and weight factor setting of HX711.
674 +S31x-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1272 1272  
1273 -(% style="color:blue" %)**AT Command: AT+WEIGRE,AT+WEIGAP**
1274 -
1275 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1276 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
1277 -|(% style="width:154px" %)AT+WEIGRE|(% style="width:196px" %)Weight is initialized to 0.|(% style="width:157px" %)OK
1278 -|(% style="width:154px" %)AT+WEIGAP=?|(% style="width:196px" %)400.0|(% style="width:157px" %)OK(default)
1279 -|(% style="width:154px" %)AT+WEIGAP=400.3|(% style="width:196px" %)Set the factor to 400.3.|(% style="width:157px" %)OK
1280 -
1281 -(% style="color:blue" %)**Downlink Command: 0x08**
1282 -
1283 -Format: Command Code (0x08) followed by 2 bytes or 4 bytes.
1284 -
1285 -Use AT+WEIGRE when the first byte is 1, only 1 byte. When it is 2, use AT+WEIGAP, there are 3 bytes.
1286 -
1287 -The second and third bytes are multiplied by 10 times to be the AT+WEIGAP value.
1288 -
1289 -* Example 1: Downlink Payload: 0801  **~-~-->**  AT+WEIGRE
1290 -* Example 2: Downlink Payload: 08020FA3  **~-~-->**  AT+WEIGAP=400.3
1291 -* Example 3: Downlink Payload: 08020FA0  **~-~-->**  AT+WEIGAP=400.0
1292 -
1293 -=== 3.3.6 Set Digital pulse count value ===
1294 -
1295 -
1296 -Feature: Set the pulse count value.
1297 -
1298 -Count 1 is PA8 pin of mode 6 and mode 9. Count 2 is PA4 pin of mode 9.
1299 -
1300 -(% style="color:blue" %)**AT Command: AT+SETCNT**
1301 -
1302 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1303 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
1304 -|(% style="width:154px" %)AT+SETCNT=1,100|(% style="width:196px" %)Initialize the count value 1 to 100.|(% style="width:157px" %)OK
1305 -|(% style="width:154px" %)AT+SETCNT=2,0|(% style="width:196px" %)Initialize the count value 2 to 0.|(% style="width:157px" %)OK
1306 -
1307 -(% style="color:blue" %)**Downlink Command: 0x09**
1308 -
1309 -Format: Command Code (0x09) followed by 5 bytes.
1310 -
1311 -The first byte is to select which count value to initialize, and the next four bytes are the count value to be initialized.
1312 -
1313 -* Example 1: Downlink Payload: 090100000000  **~-~-->**  AT+SETCNT=1,0
1314 -* Example 2: Downlink Payload: 0902000003E8  **~-~-->**  AT+SETCNT=2,1000
1315 -
1316 -=== 3.3.7 Set Workmode ===
1317 -
1318 -
1319 -Feature: Switch working mode.
1320 -
1321 -(% style="color:blue" %)**AT Command: AT+MOD**
1322 -
1323 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1324 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response**
1325 -|(% style="width:154px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:157px" %)(((
1326 -OK
1327 -)))
1328 -|(% style="width:154px" %)AT+MOD=4|(% style="width:196px" %)Set the working mode to 3DS18B20s.|(% style="width:157px" %)(((
1329 -OK
1330 -Attention:Take effect after ATZ
1331 -)))
1332 -
1333 -(% style="color:blue" %)**Downlink Command: 0x0A**
1334 -
1335 -Format: Command Code (0x0A) followed by 1 bytes.
1336 -
1337 -* Example 1: Downlink Payload: 0A01  **~-~-->**  AT+MOD=1
1338 -* Example 2: Downlink Payload: 0A04  **~-~-->**  AT+MOD=4
1339 -
1340 -=== 3.3.8 PWM setting ===
1341 -
1342 -
1343 -Feature: Set the time acquisition unit for PWM input capture.
1344 -
1345 -(% style="color:blue" %)**AT Command: AT+PWMSET**
1346 -
1347 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1348 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 225px; background-color: #4F81BD;color:white" %)**Function**|=(% style="width: 130px; background-color:#4F81BD;color:white" %)**Response**
1349 -|(% style="width:154px" %)AT+PWMSET=?|(% style="width:223px" %)0|(% style="width:130px" %)(((
1350 -0(default)
1351 -OK
1352 -)))
1353 -|(% style="width:154px" %)AT+PWMSET=0|(% style="width:223px" %)The unit of PWM capture time is microsecond. The capture frequency range is between 20HZ and 100000HZ.   |(% style="width:130px" %)(((
1354 -OK
1355 -
1356 -)))
1357 -|(% style="width:154px" %)AT+PWMSET=1|(% style="width:223px" %)The unit of PWM capture time is millisecond.  The capture frequency range is between 5HZ and 250HZ. |(% style="width:130px" %)OK
1358 -
1359 -(% style="color:blue" %)**Downlink Command: 0x0C**
1360 -
1361 -Format: Command Code (0x0C) followed by 1 bytes.
1362 -
1363 -* Example 1: Downlink Payload: 0C00  **~-~-->**  AT+PWMSET=0
1364 -* Example 2: Downlink Payload: 0C01  **~-~-->**  AT+PWMSET=1
1365 -
1366 -**Feature: Set PWM output time, output frequency and output duty cycle.**
1367 -
1368 -(% style="color:blue" %)**AT Command: AT+PWMOUT**
1369 -
1370 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1371 -|=(% style="width: 183px; background-color: #4F81BD;color:white" %)**Command Example**|=(% style="width: 193px; background-color: #4F81BD;color:white" %)**Function**|=(% style="width: 134px; background-color: #4F81BD;color:white" %)**Response**
1372 -|(% style="width:183px" %)AT+PWMOUT=?|(% style="width:193px" %)0|(% style="width:137px" %)(((
1373 -0,0,0(default)
1374 -OK
1375 -)))
1376 -|(% style="width:183px" %)AT+PWMOUT=0,0,0|(% style="width:193px" %)The default is PWM input detection|(% style="width:137px" %)(((
1377 -OK
1378 -
1379 -)))
1380 -|(% style="width:183px" %)AT+PWMOUT=5,1000,50|(% style="width:193px" %)(((
1381 -The PWM output time is 5ms, the output frequency is 1000HZ, and the output duty cycle is 50%.
1382 -
1383 -
1384 -)))|(% style="width:137px" %)(((
1385 -OK
1386 -)))
1387 -
1388 -(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1389 -|=(% style="width: 155px; background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 112px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 243px; background-color:#4F81BD;color:white" %)**parameters**
1390 -|(% colspan="1" rowspan="3" style="width:155px" %)(((
1391 -AT+PWMOUT=a,b,c
1392 -
1393 -
1394 -)))|(% colspan="1" rowspan="3" style="width:112px" %)(((
1395 -Set PWM output time, output frequency and output duty cycle.
1396 -
1397 -(((
1398 -
1399 -)))
1400 -
1401 -(((
1402 -
1403 -)))
1404 -)))|(% style="width:242px" %)(((
1405 -a: Output time (unit: seconds)
1406 -The value ranges from 0 to 65535.
1407 -When a=65535, PWM will always output.
1408 -)))
1409 -|(% style="width:242px" %)(((
1410 -b: Output frequency (unit: HZ)
1411 -
1412 -range 5~~100000HZ
1413 -)))
1414 -|(% style="width:242px" %)(((
1415 -c: Output duty cycle (unit: %)
1416 -The value ranges from 0 to 100.
1417 -)))
1418 -
1419 -(% style="color:blue" %)**Downlink Command: 0x0B**
1420 -
1421 -Format: Command Code (0x0B) followed by 6 bytes.
1422 -
1423 -0B + Output frequency (3bytes)+ Output duty cycle (1bytes)+Output time (2bytes)
1424 -
1425 -Downlink payload:0B bb cc aa **~-~--> **AT+PWMOUT=a,b,c
1426 -
1427 -* Example 1: Downlink Payload: 0B 0003E8 32 0005 **~-~-->**  AT+PWMOUT=5,1000,50
1428 -* Example 2: Downlink Payload: 0B 0007D0 3C 000A **~-~-->**  AT+PWMOUT=10,2000,60
1429 -
1430 -= 4. Battery & Power Cons =
1431 -
1432 -
1433 -SN50v3-LB use ER26500 + SPC1520 battery pack and SN50v3-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace.
1434 -
1435 1435  [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1436 1436  
1437 1437  
... ... @@ -1439,101 +1439,67 @@
1439 1439  
1440 1440  
1441 1441  (% class="wikigeneratedid" %)
1442 -**User can change firmware SN50v3-LB/LS to:**
683 +User can change firmware S31x-LB to:
1443 1443  
1444 1444  * Change Frequency band/ region.
1445 1445  * Update with new features.
1446 1446  * Fix bugs.
1447 1447  
1448 -**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]]**
1449 1449  
1450 -**Methods to Update Firmware:**
1451 1451  
1452 -* (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/]]**
1453 -* 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:
1454 1454  
1455 -= 6.  Developer Guide =
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]]**.
1456 1456  
1457 -SN50v3 is an open source project, developer can use compile their firmware for customized applications. User can get the source code from:
697 += 6. FAQ =
1458 1458  
1459 -* (((
1460 -Software Source Code: [[Releases · dragino/SN50v3 (github.com)>>url:https://github.com/dragino/SN50v3/releases]]
1461 -)))
1462 -* (((
1463 -Hardware Design files:  **[[Hardware Source Files>>https://github.com/dragino/Lora/tree/master/LSN50/v3.0]].**
1464 -)))
1465 -* (((
1466 -Compile instruction:[[Compile instruction>>https://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Module/Compile%20and%20Upload%20Code%20to%20ASR6601%20Platform/]]
1467 -)))
1468 1468  
1469 -**~1. If you want to change frequency, modify the Preprocessor Symbols.**
1470 1470  
1471 -For example, change EU868 to US915
701 += 7. Order Info =
1472 1472  
1473 -[[image:https://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/1656318662202-530.png?rev=1.1||alt="1656318662202-530.png"]]
1474 1474  
1475 -**2. Compile and build**
704 +Part Number: (% style="color:blue" %)**S31-LB-XX  / S31B-LB-XX**
1476 1476  
1477 -[[image:https://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-20220627163212-17.png?rev=1.1||alt="image-20220627163212-17.png"]]
1478 -
1479 -= 7. FAQ =
1480 -
1481 -== 7.1 How to generate PWM Output in SN50v3-LB/LS? ==
1482 -
1483 -
1484 -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]]**.
1485 -
1486 -
1487 -== 7.2 How to put several sensors to a SN50v3-LB/LS? ==
1488 -
1489 -
1490 -When we want to put several sensors to A SN50v3-LB/LS, the waterproof at the grand connector will become an issue. User can try to exchange the grand connector to below type.
1491 -
1492 -[[Reference Supplier>>https://www.yscableglands.com/cable-glands/nylon-cable-glands/cable-gland-rubber-seal.html]].
1493 -
1494 -[[image:image-20230810121434-1.png||height="242" width="656"]]
1495 -
1496 -
1497 -= 8. Order Info =
1498 -
1499 -
1500 -Part Number: (% style="color:blue" %)**SN50v3-LB-XX-YY**(%%) or (% style="color:blue" %)**SN50v3-LS-XX-YY**
1501 -
1502 1502  (% style="color:red" %)**XX**(%%): The default frequency band
1503 1503  
1504 1504  * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
709 +
1505 1505  * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
711 +
1506 1506  * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
713 +
1507 1507  * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
715 +
1508 1508  * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
717 +
1509 1509  * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
719 +
1510 1510  * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
721 +
1511 1511  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1512 1512  
1513 -(% style="color:red" %)**YY: ** (%%)Hole Option
724 += =
1514 1514  
1515 -* (% style="color:red" %)**12**(%%): With M12 waterproof cable hole
1516 -* (% style="color:red" %)**16**(%%): With M16 waterproof cable hole
1517 -* (% style="color:red" %)**20**(%%): With M20 waterproof cable hole
1518 -* (% style="color:red" %)**NH**(%%): No Hole
726 += 8. ​Packing Info =
1519 1519  
1520 -= 9. ​Packing Info =
1521 -
1522 -
1523 1523  (% style="color:#037691" %)**Package Includes**:
1524 1524  
1525 -* SN50v3-LB or SN50v3-LS LoRaWAN Generic Node
730 +* S31x-LB LoRaWAN Temperature & Humidity Sensor
1526 1526  
1527 1527  (% style="color:#037691" %)**Dimension and weight**:
1528 1528  
1529 1529  * Device Size: cm
735 +
1530 1530  * Device Weight: g
737 +
1531 1531  * Package Size / pcs : cm
739 +
1532 1532  * Weight / pcs : g
1533 1533  
1534 -= 10. Support =
742 += 9. Support =
1535 1535  
1536 1536  
1537 1537  * 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.
1538 -
1539 -* 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-20230511203450-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -679.1 KB
Content
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
image-20231213102404-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -4.2 MB
Content
image-20231231202945-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -36.3 KB
Content
image-20231231203148-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -35.4 KB
Content
image-20231231203439-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -46.6 KB
Content
image-20240103095513-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -577.4 KB
Content
image-20240103095714-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -230.1 KB
Content
image-20240717113113-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -34.0 KB
Content
image-20240717141512-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -948.8 KB
Content
image-20240717141528-2.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -234.2 KB
Content
image-20240717145707-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -39.8 KB
Content
image-20240717150334-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -37.6 KB
Content
image-20240717150948-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -38.3 KB
Content
image-20240717152224-6.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -238.1 KB
Content
image-20240924112806-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -140.2 KB
Content
image-20250329085729-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -363.5 KB
Content
image-20250329085744-2.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -102.1 KB
Content
image-20250329090241-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -67.5 KB
Content
image-20250329090300-4.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -98.7 KB
Content
image-20250329090324-5.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -59.6 KB
Content
image-20250329090341-6.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -40.6 KB
Content
image-20250329090403-7.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -55.2 KB
Content
image-20250329090417-8.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -43.4 KB
Content
image-20250402103902-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -20.0 KB
Content
image-20250402104508-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -17.7 KB
Content