Version 113.6 by Mengting Qiu on 2025/05/07 17:32

Show last authors
1 (% style="display:none" %) (%%) (% style="display:none" %) (%%) (% style="display:none" %) [[image:image-20250507162148-1.jpeg||height="528" width="528"]](%%) [[image:image-20250507162214-2.jpeg||height="528" width="528"]]
2
3
4
5 **Table of Contents:**
6
7 {{toc/}}
8
9
10
11
12
13
14 = 1. Introduction =
15
16 == 1.1 What is LC03 LoRaWAN Remote Switch Controller ==
17
18
19 The Dragino LC03 is a (% style="color:blue" %)**LoRaWAN Remote Switch Controller**(%%) for Internet of Things solution. It controls the device power switch via the IoT server downlink of the LoRaWAN wireless protocol.
20
21 It can be applied to (% style="color:blue" %)**smart agricultural irrigation, smart home, industrial automation and other industries**(%%).
22
23 The LoRa wireless technology used in the LC03 allows devices to send data at low rates and reach extremely long transmission distances. The technology provides ultra-long-range spread spectrum communication and high anti-interference capabilities while minimizing current consumption.
24
25 By default, LC03 has the function of detecting the access status of devices that need power. When the device that needs power is connected, it will automatically upload the data packet; when the device that needs power is disconnected, LC03 will also automatically upload the data packet.
26
27 LC03 (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
28
29 Each LC03 is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
30
31
32 == 1.2 ​Features ==
33
34
35 * LoRaWAN Class A & Class C modes
36 * Optional Customized LoRa Protocol
37 * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/RU864/IN865/MA869
38 * AT Commands to change parameters
39 * Remotely configure parameters via LoRaWAN Downlink
40 * Firmware upgradable via program port
41 * Support wireless OTA update firmware
42 * Uplink on periodically
43 * Downlink to change configure
44
45
46 == 1.3 Specification ==
47
48
49 (% style="color:#037691" %)**Common DC Characteristics:**
50
51 * Supply Voltage: 80~~275V AC
52 * Operating Temperature: -40~~+70°C
53
54
55 (% style="color:#037691" %)**LoRa Spec:**
56
57 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
58 * Max +22 dBm constant RF output vs.
59 * RX sensitivity: down to -139 dBm.
60 * Excellent blocking immunity
61
62
63 == 1.4 Applications ==
64
65
66 * Smart buildings & home automation
67 * Logistics and supply chain management
68 * Smart metering
69 * Smart agriculture
70 * Smart cities
71 * Smart factory
72
73
74 == 1.4 Sleep mode and working mode ==
75
76
77 (% 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.
78
79
80 == 1.5 Button & LEDs ==
81
82 [[image:image-20250507165509-5.jpeg||height="320" width="320"]]
83
84
85 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
86 |=(% 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**
87 |(% style="width:167px" %)Press the Reset button once|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
88 (% style="color:red" %)**Red led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**bBootloader mode**(%%) for 5 seconds. And then start to JOIN LoRaWAN network.
89 (% style="color:red" %)**Red led**(%%) will solidly turn on for 5 seconds after joined in network.
90 )))
91
92
93 (% style="display:none" %)
94
95
96 == 1.9 Mechanical ==
97
98 === ===
99
100
101
102
103 = 2. Configure LC03 to connect to LoRaWAN network =
104
105 == 2.1 How it works ==
106
107
108 The LC03 is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class C**(%%) 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 LC03. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
109
110
111 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
112
113
114 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.
115
116 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.
117
118 [[image:image-20250507171046-7.png]]
119
120 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from LC03.
121
122 Each LC03 is shipped with a sticker with the default device EUI as below:
123
124 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
125
126
127 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
128
129 **Create the application.**
130
131 [[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"]]
132
133 [[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"]]
134
135
136 **Add devices to the created Application.**
137
138 [[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"]]
139
140 [[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"]]
141
142
143 **Enter end device specifics manually.**
144
145 [[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"]]
146
147
148 **Add DevEUI and AppKey.**
149
150 **Customize a platform ID for the device.**
151
152 [[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"]]
153
154
155 (% style="color:blue" %)**Step 2:**(%%) Add decoder.
156
157 In TTN, user can add a custom payload so it shows friendly reading.
158
159 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/]]
160
161 Below is TTN screen shot:
162
163 [[image:image-20250507171147-8.png||height="566" width="1079"]]
164
165 [[image:image-20250507171423-9.png||height="552" width="1080"]]
166
167
168 (% style="color:blue" %)**Step 3:**(%%) Activate on LC03
169
170 Press the reset button once to activate the LC03.
171
172 (% style="color:red" %)**Red led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**bootloader mode**(%%) for 5 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
173
174 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
175
176
177 == 2.3 ​Uplink Payload ==
178
179 === 2.3.1 Device Status, FPORT~=5 ===
180
181
182 Users can use the downlink command(**0x26 01**) to ask LC03 to send device configure detail, include device configure status. LC03 will uplink a payload via FPort=5 to server.
183
184 The Payload format is as below.
185
186 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
187 |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
188 |(% style="width:103px" %)**Size (bytes)**|(% style="width:89px" %)**1**|(% style="width:98px" %)**2**|(% style="width:102px" %)**1**|(% style="width:116px" %)**1**
189 |(% style="width:103px" %)Value|(% style="width:89px" %)Sensor Model|(% style="width:98px" %)Firmware Version|(% style="width:102px" %)Frequency Band|(% style="width:116px" %)Sub-band
190
191 Example parse in TTNv3
192
193 [[image:image-20250507171948-10.png]]
194
195
196 (% style="color:#037691" %)**Sensor Model**(%%): For LC03, this value is 0x46
197
198 (% style="color:#037691" %)**Firmware Version**(%%): 0x0110, Means: v1.1.0 version
199
200 (% style="color:#037691" %)**Frequency Band**:
201
202 0x01: EU868
203
204 0x02: US915
205
206 0x03: IN865
207
208 0x04: AU915
209
210 0x05: KZ865
211
212 0x06: RU864
213
214 0x07: AS923
215
216 0x08: AS923-1
217
218 0x09: AS923-2
219
220 0x0a: AS923-3
221
222 0x0b: CN470
223
224 0x0c: EU433
225
226 0x0d: KR920
227
228 0x0e: MA869
229
230
231 (% style="color:#037691" %)**Sub-Band**:
232
233 AU915 and US915:value 0x00 ~~ 0x08
234
235 CN470: value 0x0B ~~ 0x0C
236
237 Other Bands: Always 0x00
238
239
240 === 2.3.2  Sensor Data. FPORT~=2 ===
241
242
243 Sensor Data is uplink via FPORT=2
244
245 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
246 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
247 **Size(bytes)**
248 )))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)4|=(% style="width: 150px; background-color: #4F81BD;color:white" %)1|=(% style="width: 80px; background-color: #4F81BD;color:white" %)**1**|=(% style="width: 80px; background-color: #4F81BD;color:white" %)1
249 |(% style="width:99px" %)Value|(% style="width:130px" %)(((
250 Unix TimeStamp
251 )))|(% style="width:194px" %)EventType|(% style="width:106px" %)Plugstatus|(% style="width:97px" %)Relaystatus
252
253 [[image:image-20250427155703-5.png]]
254
255
256
257 ==== (% style="color:#4472c4" %)**Plugstatus**(%%) ====
258
259 **Example**:
260
261 If payload is: 01H: 
262
263 If payload is: 00H : 
264
265 (FF3F & 8000:Judge whether the highest bit is 1, when the highest bit is 1, it is negative)
266
267
268 ==== (% style="color:#4472c4" %)**Relaystatus**(%%) ====
269
270 Read:0x(0197)=412    Value:  412 / 10=41.2, So 41.2%
271
272
273 ==== (% style="color:#4472c4" %)**Alarm Flag & MOD & Level of PA8**(%%) ====
274
275 **Example:**
276
277 If payload & 0x01 = 0x01  **~-~->** This is an Alarm Message.It means that the temperature and humidity exceed the alarm value or trigger an interrupt.
278
279 If payload & 0x01 = 0x00  **~-~->** This is a normal uplink message, no alarm.
280
281 If payload & 0x80>>7 = 0x01  **~-~->** The PA8 is low level.
282
283 If payload & 0x80>>7 =0x00  **~-~->** The PA8 is high level.
284
285 If payload >> 2 = 0x00  **~-~->**  means MOD=1, This is a sampling uplink message.
286
287 If payload >> 2 = 0x31  **~-~->**  means MOD=31, this message is a reply message for polling, this message contains the alarm settings. see [[this link>>path:#HPolltheAlarmsettings:]] for detail. 
288
289
290 == 2.4 Payload Decoder file ==
291
292
293 In TTN, use can add a custom payload so it shows friendly reading
294
295 In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from:
296
297 [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB>>https://github.com/dragino/dragino-end-node-decoder/tree/main/S31-LB%26S31B-LB]]
298
299
300 == 2.5 Datalog Feature ==
301
302
303 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/LS will store the reading for future retrieving purposes.
304
305
306 === 2.5.1 Ways to get datalog via LoRaWAN ===
307
308
309 Set PNACKMD=1, S31x-LB/LS will wait for ACK for every uplink, when there is no LoRaWAN network,S31x-LB/LS 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.
310
311 * (((
312 a) S31x-LB/LS will do an ACK check for data records sending to make sure every data arrive server.
313 )))
314 * (((
315 b) S31x-LB/LS will send data in **CONFIRMED Mode** when PNACKMD=1, but S31x-LB/LS 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/LS gets a ACK, S31x-LB/LS will consider there is a network connection and resend all NONE-ACK messages.
316 )))
317
318 === 2.5.2 Unix TimeStamp ===
319
320
321 S31x-LB/LS uses Unix TimeStamp format based on
322
323 [[image:image-20250328173339-5.jpeg]]
324
325 User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
326
327 Below is the converter example
328
329 [[image:image-20250328173355-6.jpeg]]
330
331
332 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
333
334
335 === 2.5.3 Set Device Time ===
336
337
338 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
339
340 Once S31x-LB/LS 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/LS. If S31x-LB/LS fails to get the time from the server, S31x-LB/LS will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
341
342 (% 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.**
343
344
345 === 2.5.4 Datalog Uplink payload (FPORT~=3) ===
346
347
348 The Datalog uplinks will use below payload format.
349
350 **Retrieval data payload:**
351
352 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
353 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
354 **Size(bytes)**
355 )))|=(% style="width: 40px; background-color:#4F81BD;color:white" %)**2**|=(% style="width: 55px; background-color:#4F81BD;color:white" %)**2**|=(% style="width: 65px; background-color:#4F81BD;color:white" %)**2**|=(% style="width: 180px; background-color:#4F81BD;color:white" %)**1**|=(% style="width: 100px; background-color:#4F81BD;color:white" %)**4**
356 |(% style="width:103px" %)Value|(% style="width:68px" %)(((
357 ignore
358 )))|(% style="width:104px" %)(((
359 (((
360 Humidity
361 )))
362 )))|(% style="width:87px" %)(((
363 Temperature
364 )))|(% style="width:178px" %)(((
365 Poll message flag & Alarm Flag& Level of PA8
366 )))|(% style="width:137px" %)Unix Time Stamp
367
368 **Poll message flag & Alarm Flag & Level of PA8:**
369
370 [[image:image-20230524114302-1.png||height="115" width="736"]]
371
372
373 **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)
374
375 **Poll Message Flag**: 1: This message is a poll message reply.
376
377 * Poll Message Flag is set to 1.
378
379 * Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
380
381 For example, in US915 band, the max payload for different DR is:
382
383 **a) DR0:** max is 11 bytes so one entry of data
384
385 **b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
386
387 **c) DR2:** total payload includes 11 entries of data
388
389 **d) DR3: **total payload includes 22 entries of data.
390
391 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
392
393 **Example:**
394
395 If S31x-LB/LS has below data inside Flash:
396
397 [[image:image-20230524114654-2.png]]
398
399
400 If user sends below downlink command: 31646D84E1646D856C05
401
402 Where : Start time: 646D84E1 = time 23/5/24 03:30:41
403
404 Stop time: 646D856C= time 23/5/24 03:33:00
405
406
407 **S31x-LB/LS will uplink this payload.**
408
409 [[image:image-20230524114826-3.png||height="448" width="1244"]]
410
411 (((
412 00 00 02 36 01 10 40 64 6D 84 E1 00 00 02 37 01 10 40 64 6D 84 F8 00 00 02 37 01 0F 40 64 6D 85 04 00 00 02 3A 01 0F 40 64 6D 85 18 00 00 02 3C 01 0F 40 64 6D 85 36 00 00 02 3D 01 0E 40 64 6D 85 3F 00 00 02 3F 01 0E 40 64 6D 85 60 00 00 02 40 01 0E 40 64 6D 85 6A
413 )))
414
415 (((
416 Where the first 11 bytes is for the first entry:
417 )))
418
419 (((
420 00 00 02 36 01 10 40 64 6D 84 E1
421 )))
422
423 (((
424 **Hum**=0x0236/10=56.6
425 )))
426
427 (((
428 **Temp**=0x0110/10=27.2
429 )))
430
431 (((
432 **poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
433 )))
434
435 (((
436 **Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41
437 )))
438
439
440 (% 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="单击并拖动以调整大小" %)的
441
442 == 2.6 Temperature Alarm Feature ==
443
444
445 S31x-LB/LS work flow with Alarm feature.
446
447
448 [[image:image-20230524110125-3.png||height="768" width="1115"]]
449
450
451
452 == 2.7 Frequency Plans ==
453
454
455 The S31x-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.
456
457 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
458
459
460 == 2.8 ​Firmware Change Log ==
461
462
463 **Firmware download link: **[[https:~~/~~/www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]]
464
465
466 = 3. Configure S31x-LB/LS =
467
468 == 3.1 Configure Methods ==
469
470
471 S31x-LB/LS supports below configure method:
472
473 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
474 * 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]].
475 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
476
477 == 3.2 General Commands ==
478
479
480 These commands are to configure:
481
482 * General system settings like: uplink interval.
483 * LoRaWAN protocol & radio related command.
484
485 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
486
487 [[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/]]
488
489
490 == 3.3 Commands special design for S31x-LB/LS ==
491
492
493 These commands only valid for S31x-LB/LS, as below:
494
495
496 === 3.3.1 Set Transmit Interval Time ===
497
498
499 Feature: Change LoRaWAN End Node Transmit Interval.
500
501 (% style="color:blue" %)**AT Command: AT+TDC**
502
503 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
504 |=(% 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**
505 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
506 30000
507 OK
508 the interval is 30000ms = 30s
509 )))
510 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
511 OK
512 Set transmit interval to 60000ms = 60 seconds
513 )))
514
515 (% style="color:blue" %)**Downlink Command: 0x01**
516
517 Format: Command Code (0x01) followed by 3 bytes time value.
518
519 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
520
521 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
522 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
523
524 === 3.3.2 Get Device Status ===
525
526
527 Send a LoRaWAN downlink to ask device send Alarm settings.
528
529 (% style="color:blue" %)**Downlink Payload:  **(%%)0x26 01
530
531 Sensor will upload Device Status via FPORT=5. See payload section for detail.
532
533
534 === 3.3.3 Set Temperature Alarm Threshold ===
535
536
537 * (% style="color:blue" %)**AT Command:**
538
539 (% style="color:#037691" %)**AT+SHTEMP=min,max**
540
541 * When min=0, and max≠0, Alarm higher than max
542 * When min≠0, and max=0, Alarm lower than min
543 * When min≠0 and max≠0, Alarm higher than max or lower than min
544
545 Example:
546
547 AT+SHTEMP=0,30   ~/~/ Alarm when temperature higher than 30.
548
549 * (% style="color:blue" %)**Downlink Payload:**
550
551 (% style="color:#037691" %)**0x(0C 01 00 1E)**  (%%) ~/~/ Set AT+SHTEMP=0,30
552
553 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x00 for low limit(not set), 4^^th^^ byte = 0x1E for high limit: 30)**
554
555
556 === 3.3.4 Set Humidity Alarm Threshold ===
557
558
559 * (% style="color:blue" %)**AT Command:**
560
561 (% style="color:#037691" %)**AT+SHHUM=min,max**
562
563 * When min=0, and max≠0, Alarm higher than max
564 * When min≠0, and max=0, Alarm lower than min
565 * When min≠0 and max≠0, Alarm higher than max or lower than min
566
567 Example:
568
569 AT+SHHUM=70,0  ~/~/ Alarm when humidity lower than 70%.
570
571 * (% style="color:blue" %)**Downlink Payload:**
572
573 (% style="color:#037691" %)**0x(0C 02 46 00)**(%%)  ~/~/ Set AT+SHTHUM=70,0
574
575 (% style="color:red" %)**(note: 3^^rd^^ byte= 0x46 for low limit (70%), 4^^th^^ byte = 0x00 for high limit (not set))**
576
577
578 === 3.3.5 Set Alarm Interval ===
579
580
581 The shortest time of two Alarm packet. (unit: min)
582
583 * (% style="color:blue" %)**AT Command:**
584
585 (% 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.
586
587 * (% style="color:blue" %)**Downlink Payload:**
588
589 (% style="color:#037691" %)**0x(0D 00 1E)**(%%)     **~-~--> ** Set AT+ATDC=0x 00 1E = 30 minutes
590
591
592 === 3.3.6 Get Alarm settings ===
593
594
595 Send a LoRaWAN downlink to ask device send Alarm settings.
596
597 * (% style="color:#037691" %)**Downlink Payload:  **(%%)0x0E 01
598
599 **Example:**
600
601 [[image:image-20230524110211-4.png]]
602
603 **Explain:**
604
605 * Alarm & MOD bit is 0x7C, 0x7C >> 2 = 0x31: Means this message is the Alarm settings message.
606
607 === 3.3.7 Set Interrupt Mode ===
608
609
610 Feature, Set Interrupt mode for PA8 of pin.
611
612 When AT+INTMOD=0 is set, PA8 is used as a digital input port.
613
614 (% style="color:blue" %)**AT Command: AT+INTMOD**
615
616 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
617 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 192px; background-color: rgb(79, 129, 189); color: white;" %)**Function**|=(% style="width: 161px; background-color: rgb(79, 129, 189); color: white;" %)**Response**
618 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:192px" %)Show current interrupt mode|(% style="width:161px" %)(((
619 0
620 OK
621 the mode is 0 =Disable Interrupt
622 )))
623 |(% style="width:154px" %)AT+INTMOD=2|(% style="width:192px" %)(((
624 0: Disable Interrupt
625 1: Trigger by rising and falling edge
626 2: Trigger by falling edge
627 3: Trigger by rising edge
628 )))|(% style="width:161px" %)OK
629
630 (% style="color:blue" %)**Downlink Command: 0x06**
631
632 Format: Command Code (0x06) followed by 3 bytes.
633
634 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
635
636 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
637 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
638
639 === 3.3.8 Set Power Output Duration ===
640
641
642 Control the output duration 5V . Before each sampling, device will
643
644 ~1. first enable the power output to external sensor,
645
646 2. keep it on as per duration, read sensor value and construct uplink payload
647
648 3. final, close the power output.
649
650 (% style="color:blue" %)**AT Command: AT+5VT**
651
652 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
653 |=(% 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**
654 |(% style="width:154px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:157px" %)0 (default)
655 OK
656 |(% style="width:154px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK
657
658 (% style="color:blue" %)**Downlink Command: 0x07**
659
660 Format: Command Code (0x07) followed by 2 bytes.
661
662 The first and second bytes are the time to turn on.
663
664 * Example 1: Downlink Payload: 070000  **~-~-->**  AT+5VT=0
665 * Example 2: Downlink Payload: 0701F4  **~-~-->**  AT+5VT=500
666
667 === 3.3.9 Print data entries base on page ===
668
669
670 Feature: Print the sector data from start page to stop page (max is 416 pages).
671
672 (% style="color:#4f81bd" %)**AT Command: AT+PDTA**
673
674 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
675 |(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function**
676 |(% style="width:156px" %)(((
677 AT+PDTA=1,3
678 Print page 1 to 3
679 )))|(% style="width:311px" %)(((
680 8019500 19/6/26 16:48 1 2992 sht temp=28.21 sht hum=71.5 ds temp=27.31
681 8019510 19/6/26 16:53 1 2994 sht temp=27.64 sht hum=69.3 ds temp=26.93
682 8019520 19/6/26 16:58 1 2996 sht temp=28.39 sht hum=72.0 ds temp=27.06
683 8019530 19/6/26 17:03 1 2996 sht temp=27.97 sht hum=70.4 ds temp=27.12
684 8019540 19/6/26 17:08 1 2996 sht temp=27.80 sht hum=72.9 ds temp=27.06
685 8019550 19/6/26 17:13 1 2998 sht temp=27.30 sht hum=72.4 ds temp=26.68
686 8019560 19/6/26 17:22 1 2992 sht temp=26.27 sht hum=62.3 ds temp=26.56
687 8019570
688 8019580
689 8019590
690 80195A0
691 80195B0
692 80195C0
693 80195D0
694 80195E0
695 80195F0
696
697 OK
698 )))
699
700 (% style="color:#4f81bd" %)**Downlink Command:**
701
702 No downlink commands for feature
703
704
705 === 3.3.10 Print last few data entries ===
706
707
708 Feature: Print the last few data entries
709
710 (% style="color:#4f81bd" %)**AT Command: AT+PLDTA**
711
712 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
713 |(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function**
714 |(% style="width:156px" %)(((
715 AT+PLDTA=5
716 Print last 5 entries
717 )))|(% style="width:311px" %)(((
718 Stop Tx and RTP events when read sensor data
719 1 19/6/26 13:59 1 3005 sht temp=27.09 sht hum=79.5 ds temp=26.75
720 2 19/6/26 14:04 1 3007 sht temp=26.65 sht hum=74.8 ds temp=26.43
721 3 19/6/26 14:09 1 3007 sht temp=26.91 sht hum=77.9 ds temp=26.56
722 4 19/6/26 14:15 1 3007 sht temp=26.93 sht hum=76.7 ds temp=26.75
723 5 19/6/26 14:20 1 3007 sht temp=26.78 sht hum=76.6 ds temp=26.43
724 Start Tx and RTP events
725 OK
726 )))
727
728 (% style="color:#4f81bd" %)**Downlink Command:**
729
730 No downlink commands for feature
731
732
733 === 3.3.11 Clear Flash Record ===
734
735
736 Feature: Clear flash storage for data log feature.
737
738 (% style="color:#4f81bd" %)**AT Command: AT+CLRDTA**
739
740 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:503px" %)
741 |(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:137px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:209px" %)**Response**
742 |(% style="width:155px" %)AT+CLRDTA |(% style="width:134px" %)Clear date record|(% style="width:209px" %)(((
743 Clear all stored sensor data…
744
745 OK
746 )))
747
748 (% style="color:#4f81bd" %)**Downlink Command: 0xA3**
749
750 * Example: 0xA301  ~/~/  Same as AT+CLRDTA
751
752 = 4. Battery & Power Consumption =
753
754
755 S31x-LB use ER26500 + SPC1520 battery pack and S31x-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace.
756
757 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
758
759
760 = 5. OTA Firmware update =
761
762
763 (% class="wikigeneratedid" %)
764 User can change firmware S31x-LB/LS to:
765
766 * Change Frequency band/ region.
767 * Update with new features.
768 * Fix bugs.
769
770 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/fis3g6nmhv0eokg/AAC6BcCZaX4BdqZkduUvZ3jIa?dl=0]]**
771
772
773 Methods to Update Firmware:
774
775 * (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/]]**
776 * 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]]**.
777
778 = 6. FAQ =
779
780
781
782 = 7. Order Info =
783
784
785 Part Number: (% style="color:blue" %)**S31-LB-XX / S31B-LB-XX**(%%)**  or  (% style="color:blue" %)S31-LS-XX / S31B-LS-XX(%%)**
786
787 (% style="color:red" %)**XX**(%%): The default frequency band
788
789 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
790
791 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
792
793 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
794
795 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
796
797 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
798
799 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
800
801 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
802
803 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
804
805 = 8. ​Packing Info =
806
807
808 (% style="color:#037691" %)**Package Includes**:
809
810 * S31x-LB or S31x-LS LoRaWAN Temperature & Humidity Sensor
811
812 (% style="color:#037691" %)**Dimension and weight**:
813
814 * Device Size: cm
815
816 * Device Weight: g
817
818 * Package Size / pcs : cm
819
820 * Weight / pcs : g
821
822 = 9. Support =
823
824
825 * 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.
826
827 * 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>>mailto:Support@dragino.cc]].