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

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