Last modified by Xiaoling on 2025/06/10 09:32

Show last authors
1 [[image:image-20230327104036-1.png||data-xwiki-image-style-alignment="center" height="595" width="501"]]
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 LoRaWAN Analog Sensor ==
17
18
19 (((
20 The Dragino PS-LB-NA is a (% style="color:blue" %)**LoRaWAN Analog Sensor**(%%) for Internet of Things solution. PS-LB-NA has 5v and 12v output , 4~~20mA, 0~~30v input interface to power and get value from Analog Sensor. PS-LB-NA will convert the Analog Value to LoRaWAN wireless data and send to IoT platform via LoRaWAN gateway.
21 )))
22
23 (((
24 The LoRa wireless technology used in PS-LB-NA allows device 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 minimizing current consumption.
25 )))
26
27 (((
28 PS-LB-NA (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
29 )))
30
31 (((
32 PS-LB-NA is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
33 )))
34
35 (((
36 Each PS-LB-NA 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.
37 )))
38
39
40 == 1.2 ​Features ==
41
42
43 * LoRaWAN 1.0.3 Class A
44 * Ultra-low power consumption
45 * 1 x 0~~20mA input , 1 x 0~~30v input
46 * 5v and 12v output to power external sensor
47 * Monitor Battery Level
48 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
49 * Support Bluetooth v5.1 and LoRaWAN remote configure
50 * Support wireless OTA update firmware
51 * Uplink on periodically
52 * Downlink to change configure
53 * 8500mAh Battery for long term use
54
55 == 1.3 Specification ==
56
57
58 (% style="color:#037691" %)**Micro Controller:**
59
60 * MCU: 48Mhz ARM
61 * Flash: 256KB
62 * RAM: 64KB
63
64 (% style="color:#037691" %)**Common DC Characteristics:**
65
66 * Supply Voltage: 2.5v ~~ 3.6v
67 * Operating Temperature: -40 ~~ 85°C
68
69 (% style="color:#037691" %)**LoRa Spec:**
70
71 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
72 * Max +22 dBm constant RF output vs.
73 * RX sensitivity: down to -139 dBm.
74 * Excellent blocking immunity
75
76 (% style="color:#037691" %)**Current Input (DC) Measuring :**
77
78 * Range: 0 ~~ 20mA
79 * Accuracy: 0.02mA
80 * Resolution: 0.001mA
81
82 (% style="color:#037691" %)**Voltage Input Measuring:**
83
84 * Range: 0 ~~ 30v
85 * Accuracy: 0.02v
86 * Resolution: 0.001v
87
88 (% style="color:#037691" %)**Battery:**
89
90 * Li/SOCI2 un-chargeable battery
91 * Capacity: 8500mAh
92 * Self-Discharge: <1% / Year @ 25°C
93 * Max continuously current: 130mA
94 * Max boost current: 2A, 1 second
95
96 (% style="color:#037691" %)**Power Consumption**
97
98 * Sleep Mode: 5uA @ 3.3v
99 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
100
101 == 1.4 Supported Extenal Sensors ==
102
103
104 (% class="wikigeneratedid" id="H1.6.1ThreadInstallationType" %)
105 PS-LB-NA can be used to power and connect to traditional industrial sensors and convert the sensor output signal to LoRaWAN signal. Below are some examples field as reference:
106
107 * (% style="color:#037691" %)**Pressure Sensor**(%%): level sensors, level probes and pressure transmitters.
108 * (% style="color:#037691" %)**Flow**(%%): flow of gases, liquids, or sludges.
109 * (% style="color:#037691" %)**Level**(%%):
110 * (% style="color:#037691" %)**Temperature/ Humidity**(%%): temperature probes, such as RTD temperature probes, thermocouples.
111 * (% style="color:#037691" %)**Liquid analysis**(%%): pH values, redox potential, electrolytic conductivity, ammonia, dissolved oxygen, turbidity, chlorine, and much more
112
113 (% style="color:blue" %)**Key point for external sensor:**
114
115 * Can be powered by 5v or 12v. Require Current < 1A.
116 * Sensor has output within range: 4~~20mA or 0~~30v.
117 * Sensor will be power off and power on after deployment. and After power on, it can provide valid output within several seconds.
118
119 == 1.5 Sleep mode and working mode ==
120
121
122 (% 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.
123
124 (% 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.
125
126
127 == 1.6 Button & LEDs ==
128
129
130 [[image:1675071855856-879.png]]
131
132 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
133 |=(% 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**
134 |[[image:1749519128470-453.png]] 1~~3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)(((
135 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
136 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
137 )))
138 |[[image:1749519133897-979.png]] >3s|(% style="background-color:#f2f2f2; width:117px" %)Active Device|(% style="background-color:#f2f2f2; width:225px" %)(((
139 (% style="background-color:#f2f2f2; 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.
140 (% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
141 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.
142 )))
143 |[[image:1749519022294-562.png]] x5|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB-NA is in Deep Sleep Mode.
144
145 == 1.7 Pin Mapping ==
146
147
148 [[image:1675072568006-274.png]]
149
150
151 * (% style="color:blue" %)**+3v3_OUT**(%%): Controllable 3.3v output, Actually voltage level same as Battery, 2.6v ~~ 3.6v
152
153 * (% style="color:blue" %)**+5v_OUT**(%%): Controllable 5.0v output
154
155 * (% style="color:blue" %)**GND**(%%): GND
156
157 * (% style="color:blue" %)**INT**(%%): Interrupt Pin
158
159 * (% style="color:blue" %)**IN1 & IN2**(%%): Digital IN1 and Digital IN2
160
161 * (% style="color:blue" %)**IDC_IN**(%%): 4~~20mA current input pin
162
163 * (% style="color:blue" %)**VDC_IN**(%%): 0~~30v sensor voltage input pin
164
165 * (% style="color:blue" %)**SDI-12_DATA**(%%): No used
166
167 * (% style="color:blue" %)**+12v_OUT**(%%): Controllable 12v output
168
169 * (% style="color:blue" %)**GND**(%%): GND
170
171 == 1.8 BLE connection ==
172
173
174 PS-LB-NA support BLE remote configure.
175
176
177 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:
178
179 * Press button to send an uplink
180 * Press button to active device.
181 * Device Power on or reset.
182
183 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
184
185
186 == 1.9 Mechanical ==
187
188
189 [[image:image-20250415135710-2.jpeg]]
190
191
192
193
194 = 2. Configure PS-LB-NA to connect to LoRaWAN network =
195
196 == 2.1 How it works ==
197
198
199 The PS-LB-NA 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 activate the PS-LB-NA. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
200
201
202 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
203
204
205 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.
206
207 [[image:image-20250415135626-1.png]]
208
209
210 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.
211
212
213 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from PS-LB-NA.
214
215 Each PS-LB-NA is shipped with a sticker with the default device EUI as below:
216
217 [[image:image-20230426083226-1.png||height="225" width="484"]]
218
219
220 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
221
222 **Create the application.**
223
224 [[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"]]
225
226 [[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"]]
227
228
229 **Add devices to the created Application.**
230
231 [[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"]]
232
233 [[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"]]
234
235
236 **Enter end device specifics manually.**
237
238 [[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"]]
239
240
241 **Add DevEUI and AppKey.**
242
243 **Customize a platform ID for the device.**
244
245 [[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"]]
246
247
248 (% style="color:blue" %)**Step 2:**(%%) Add decoder.
249
250 In TTN, user can add a custom payload so it shows friendly reading.
251
252 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/]]
253
254 Below is TTN screen shot:
255
256 [[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"]]
257
258 [[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"]]
259
260
261 (% style="color:blue" %)**Step 3:**(%%) Activate on PS-LB-NA
262
263 Press the button for 5 seconds to activate the PS-LB-NA.
264
265 (% 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.
266
267 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
268
269
270 == 2.3 ​Uplink Payload ==
271
272 === 2.3.1 Device Status, FPORT~=5 ===
273
274
275 Include device configure status. Once PS-LB-NA Joined the network, it will uplink this message to the server.
276
277 Users can also use the downlink command(0x26 01) to ask PS-LB-NA to resend this uplink.
278
279 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
280 |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
281 |(% style="background-color:#f2f2f2; width:103px" %)**Size (bytes)**|(% style="background-color:#f2f2f2; width:72px" %)**1**|(% style="background-color:#f2f2f2" %)**2**|(% style="background-color:#f2f2f2; width:91px" %)**1**|(% style="background-color:#f2f2f2; width:86px" %)**1**|(% style="background-color:#f2f2f2; width:44px" %)**2**
282 |(% style="background-color:#f2f2f2; width:103px" %)**Value**|(% style="background-color:#f2f2f2; width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2; width:91px" %)Frequency Band|(% style="background-color:#f2f2f2; width:86px" %)Sub-band|(% style="background-color:#f2f2f2; width:44px" %)BAT
283
284 Example parse in TTNv3
285
286 [[image:1675144504430-490.png]]
287
288
289 (% style="color:#037691" %)**Sensor Model**(%%): For PS-LB-NA, this value is 0x16
290
291 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
292
293 (% style="color:#037691" %)**Frequency Band**:
294
295 0x01: EU868
296
297 0x02: US915
298
299 0x03: IN865
300
301 0x04: AU915
302
303 0x05: KZ865
304
305 0x06: RU864
306
307 0x07: AS923
308
309 0x08: AS923-1
310
311 0x09: AS923-2
312
313 0x0a: AS923-3
314
315 0x0b: CN470
316
317 0x0c: EU433
318
319 0x0d: KR920
320
321 0x0e: MA869
322
323
324 (% style="color:#037691" %)**Sub-Band**:
325
326 AU915 and US915:value 0x00 ~~ 0x08
327
328 CN470: value 0x0B ~~ 0x0C
329
330 Other Bands: Always 0x00
331
332
333 (% style="color:#037691" %)**Battery Info**:
334
335 Check the battery voltage.
336
337 Ex1: 0x0B45 = 2885mV
338
339 Ex2: 0x0B49 = 2889mV
340
341
342 === 2.3.2 Sensor value, FPORT~=2 ===
343
344
345 Uplink payload includes in total 9 bytes.
346
347 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
348 |(% style="background-color:#4f81bd; color:white; width:97px" %)(((
349 **Size(bytes)**
350 )))|(% style="background-color:#4f81bd; color:white; width:48px" %)**2**|(% style="background-color:#4f81bd; color:white; width:71px" %)**2**|(% style="background-color:#4f81bd; color:white; width:98px" %)**2**|(% style="background-color:#4f81bd; color:white; width:73px" %)**2**|(% style="background-color:#4f81bd; color:white; width:122px" %)**1**
351 |(% style="background-color:#f2f2f2; width:97px" %)Value|(% style="background-color:#f2f2f2; width:48px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="background-color:#f2f2f2; width:71px" %)[[Probe Model>>||anchor="H2.3.4ProbeModel"]]|(% style="background-color:#f2f2f2; width:98px" %)[[0 ~~~~ 20mA value>>||anchor="H2.3.507E20mAvalue28IDC_IN29"]]|(% style="background-color:#f2f2f2; width:73px" %)[[0 ~~~~ 30v value>>||anchor="H2.3.607E30Vvalue28pinVDC_IN29"]]|(% style="background-color:#f2f2f2; width:122px" %)[[IN1 &IN2 Interrupt  flag>>||anchor="H2.3.7IN126IN226INTpin"]]
352
353 [[image:1675144608950-310.png]]
354
355
356 === 2.3.3 Battery Info ===
357
358
359 Check the battery voltage for PS-LB-NA.
360
361 Ex1: 0x0B45 = 2885mV
362
363 Ex2: 0x0B49 = 2889mV
364
365
366 === 2.3.4 Probe Model ===
367
368
369 PS-LB-NA might connect to different kind of probes, 4~~20mA represent the full scale of the measuring range. So a 12mA output means different meaning for different probe. 
370
371
372 **For example.**
373
374 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
375 |(% style="background-color:#4f81bd; color:white; width:150px" %)**Probe Type**|(% style="background-color:#4f81bd; color:white; width:150px" %)**4~~20mA scale for this probe**|(% style="background-color:#4f81bd; color:white; width:200px" %)**Example: 12mA actually meaning for this probe**
376 |(% style="background-color:#f2f2f2; width:206px" %)PH Combination Electrodes|(% style="background-color:#f2f2f2; width:222px" %)0 ~~ 14 pH|(% style="background-color:#f2f2f2; width:356px" %)PH Value: 7
377 |(% style="background-color:#f2f2f2; width:206px" %)Water Pressure Sensor|(% style="background-color:#f2f2f2; width:222px" %)0~~5 meters|(% style="background-color:#f2f2f2; width:356px" %)2.5 meters pure water
378 |(% style="background-color:#f2f2f2; width:206px" %)Pressure transmitter probe|(% style="background-color:#f2f2f2; width:222px" %)0~~1MPa|(% style="background-color:#f2f2f2; width:356px" %)0.5MPa air / gas or water pressure
379
380 User can set different probe model for above probes. So IoT server is able to se identical how it should parse the 4~~20mA or 0~~30v sensor value and get the correct value.
381
382
383 When connecting to current sensors sold by our company, you can convert current readings to corresponding values by simply configuring the [[AT+PROBE command>>||anchor="H3.3.4SettheProbeModel"]]. If you prefer not to configure this command on the sensor, you can uniformly handle the conversion in the payload decoder instead.
384
385 **Examples for decoder implementation:**
386
387 ~1. For AT+PROBE=0005, add the following processing in your decoder:
388
389 [[image:image-20250512150340-1.png]]
390
391 [[image:image-20250512150352-2.png]]
392
393 2. For AT+PROBE=0102, add the following processing in your decoder(Corresponding to the position shown in the above screenshot).
394
395 bytes[i]=0x01;bytes[1+i]=0x02;
396
397 bytes[2]=0x01;bytes[3]=0x02;
398
399
400 === 2.3.5 0~~20mA value (IDC_IN) ===
401
402
403 (% style="color:#037691" %)**Payload Example**:
404
405 27AE(H) = 10158 (D)/1000 = 10.158mA.
406
407
408 [[image:image-20230821150704-1.png||height="180" width="609"]]
409
410 **Connect to a 2 wire 4~~20mA sensor.**
411
412 [[image:image-20230225154759-1.png||height="408" width="741"]]
413
414
415 === 2.3.6 0~~30V value ( pin VDC_IN) ===
416
417
418 Measure the voltage value. The range is 0 to 30V.
419
420 (% style="color:#037691" %)**Example**:
421
422 138E(H) = 5006(D)/1000= 5.006V
423
424
425 === 2.3.7 IN1&IN2&INT pin(GPIO_EXTI) ===
426
427
428 IN1 and IN2 are digital level inputs, INT(GPIO_EXTI) is interrupt pin, and their maximum input voltage is 3.6V.
429
430
431 IN1 and IN2 are used as digital input pins.
432
433 (% style="color:#037691" %)**Example**:
434
435 09 (H): (0x09&0x08)>>3=1    IN1 pin is high level.
436
437 09 (H): (0x09&0x04)>>2=0    IN2 pin is low level.
438
439
440 For motherboards older than SIB V1.2, the interrupt pin name is "INT", and for motherboards older than SIB V1.3, the interrupt pin name is "GPIO_EXTI."
441
442 This data field shows if this packet is generated by (% style="color:blue" %)**Interrupt Pin** (%%)or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up.
443
444 (% style="color:#037691" %)**Example:**
445
446 09 (H): (0x09&0x02)>>1=1    The level of the interrupt pin.
447
448 09 (H): 0x09&0x01=1              0x00: Normal uplink packet.
449
450 0x01: Interrupt Uplink Packet.
451
452
453 === 2.3.8 Sensor value, FPORT~=7 ===
454
455
456 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:504px" %)
457 |(% style="background-color:#4f81bd; color:white; width:94px" %)(((
458 **Size(bytes)**
459 )))|(% style="background-color:#4f81bd; color:white; width:43px" %)**2**|(% style="background-color:#4f81bd; color:white; width:367px" %)**n**
460 |(% style="background-color:#f2f2f2; width:94px" %)Value|(% style="background-color:#f2f2f2; width:43px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="background-color:#f2f2f2; width:367px" %)(((
461 Voltage value, each 2 bytes is a set of voltage values.
462 )))
463
464 [[image:image-20230220171300-1.png||height="207" width="863"]]
465
466 Multiple sets of data collected are displayed in this form:
467
468 [voltage value1], [voltage value2], [voltage value3],…[voltage value n/2]
469
470
471 === 2.3.9 ​Decode payload in The Things Network ===
472
473
474 While using TTN network, you can add the payload format to decode the payload.
475
476
477 [[image:1675144839454-913.png]]
478
479
480 PS-LB-NA TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
481
482
483 == 2.4 Uplink Interval ==
484
485
486 The PS-LB-NA by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval||style="background-color: rgb(255, 255, 255);"]]
487
488
489 == 2.5 Show Data in DataCake IoT Server ==
490
491
492 [[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, once we have data in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
493
494
495 (% style="color:blue" %)**Step 1: **(%%)Be sure that your device is programmed and properly connected to the network at this time.
496
497 (% style="color:blue" %)**Step 2:**(%%) To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:
498
499
500 [[image:1675144951092-237.png]]
501
502
503 [[image:1675144960452-126.png]]
504
505
506 (% style="color:blue" %)**Step 3:**(%%) Create an account or log in Datacake.
507
508 (% style="color:blue" %)**Step 4:** (%%)Create PS-LB-NA product.
509
510 [[image:1675145004465-869.png]]
511
512
513 [[image:1675145018212-853.png]]
514
515
516 [[image:1675145029119-717.png]]
517
518
519 (% style="color:blue" %)**Step 5: **(%%)add payload decode
520
521 [[image:1675145051360-659.png]]
522
523
524 [[image:1675145060812-420.png]]
525
526
527 After added, the sensor data arrive TTN, it will also arrive and show in Datacake.
528
529
530 [[image:1675145081239-376.png]]
531
532
533 == 2.6 Frequency Plans ==
534
535
536 The PS-LB-NA 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.
537
538 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
539
540
541 == 2.7 Datalog Feature (Since V1.1) ==
542
543
544 When a user wants to retrieve sensor value, he can send a poll command from the IoT platform to ask the sensor to send value in the required time slot.
545
546
547 === 2.7.1 Unix TimeStamp ===
548
549
550 PS-LB-NA uses Unix TimeStamp format based on
551
552 [[image:image-20250327145437-3.jpeg]]
553
554 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
555
556 Below is the converter example:
557
558 [[image:image-20250415140441-3.jpeg]]
559
560
561 === 2.7.2 Set Device Time ===
562
563
564 There are two ways to set the device's time:
565
566
567 (% style="color:blue" %)**1. Through LoRaWAN MAC Command (Default settings)**
568
569 Users need to set SYNCMOD=1 to enable sync time via the MAC command.
570
571 Once PS-LB Joined the LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to CPL01. If CPL01 fails to get the time from the server, PS-LB will use the internal time and wait for the next time request ~[[[via Device Status (FPORT=5)>>||anchor="H2.3.1DeviceStatus2CFPORT3D5"]]].
572
573
574 (% style="color:red" %)**Note: LoRaWAN Server needs to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature.**
575
576
577 (% style="color:blue" %)**2. Manually Set Time**
578
579 Users need to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server.
580
581
582 === 2.7.3 Poll sensor value ===
583
584
585 Users can poll sensor values based on timestamps. Below is the downlink command.
586
587 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:470px" %)
588 |=(% colspan="4" style="width: 160px; background-color:#4F81BD;color:white" %)**Downlink Command to poll Open/Close status (0x31)**
589 |(% style="background-color:#f2f2f2; width:67px" %)**1byte**|(% style="background-color:#f2f2f2; width:145px" %)**4bytes**|(% style="background-color:#f2f2f2; width:133px" %)**4bytes**|(% style="background-color:#f2f2f2; width:163px" %)**1byte**
590 |(% style="background-color:#f2f2f2; width:67px" %)31|(% style="background-color:#f2f2f2; width:145px" %)Timestamp start|(% style="background-color:#f2f2f2; width:133px" %)(((
591 Timestamp end
592 )))|(% style="background-color:#f2f2f2; width:163px" %)Uplink Interval
593
594 Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
595
596 For example, downlink command[[image:image-20250116174124-1.png]]
597
598 Is to check 2024/12/20 09:34:59 to 2024/12/20 14:34:59's data
599
600 Uplink Internal =5s,means PS-LB will send one packet every 5s. range 5~~255s.
601
602
603 === 2.7.4 Datalog Uplink payload (FPORT~=3) ===
604
605
606 The Datalog uplinks will use below payload format.
607
608 **Retrieval data payload:**
609
610 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %)
611 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
612 **Size(bytes)**
613 )))|=(% style="width: 55px; background-color:#4F81BD;color:white" %)**2**|=(% style="width: 65px; background-color:#4F81BD;color:white" %)**2**|=(% style="width: 75px; background-color: rgb(79, 129, 189); color: white;" %)**2**|=(% style="width: 170px; background-color: rgb(79, 129, 189); color: white;" %)**1**|=(% style="width: 75px; background-color: rgb(79, 129, 189); color: white;" %)**4**
614 |(% style="width:103px" %)Value|(% style="width:68px" %)(((
615 Probe_mod
616 )))|(% style="width:104px" %)(((
617 VDC_intput_V
618 )))|(% style="width:83px" %)(((
619 IDC_intput_mA
620 )))|(% style="width:201px" %)(((
621 IN1_pin_level& IN2_pin_level& Exti_pin_level&Exti_status
622 )))|(% style="width:86px" %)Unix Time Stamp
623
624 **IN1_pin_level & IN2_pin_level & Exti_pin_level & Exti_status:**
625
626 [[image:image-20250117104039-5.png||height="91" width="627"]]
627
628
629 **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)
630
631 **Poll Message Flag**: 1: This message is a poll message reply.
632
633 * Poll Message Flag is set to 1.
634
635 * Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
636
637 For example, in US915 band, the max payload for different DR is:
638
639 **a) DR0:** max is 11 bytes so one entry of data
640
641 **b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
642
643 **c) DR2:** total payload includes 11 entries of data
644
645 **d) DR3: **total payload includes 22 entries of data.
646
647 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
648
649 **Example:**
650
651 If PS-LB-NA has below data inside Flash:
652
653 [[image:image-20250117090504-2.png]]
654
655
656 If user sends below downlink command: 316788D9BF6788DB6305
657
658 Where : Start time: 6788D9BF = time 25/1/16 10:04:47
659
660 Stop time: 6788DB63 = time 25/1/16 10:11:47
661
662
663 **PA-LB-NA will uplink this payload.**
664
665 [[image:image-20250117085341-1.png]]
666
667 (((
668 00001B620000406788D9BF  00000D130000406788D9FB  00000D120000406788DA37  00000D110000406788DA73  00000D100000406788DAAF  00000D100000406788DAEB  00000D0F0000406788DB27  00000D100000406788DB63
669 )))
670
671 (((
672 Where the first 11 bytes is for the first entry :
673 )))
674
675 (((
676 0000  0D10  0000  40  6788DB63
677 )))
678
679 (((
680 **Probe_mod **= 0x0000 = 0000
681 )))
682
683 (((
684 **VDC_intput_V **= 0x0D10/1000=3.344V
685
686 **IDC_intput_mA **= 0x0000/1000=0mA
687 )))
688
689 (((
690 **IN1_pin_level **= (0x40& 0x08)? "High":"Low" = 0(Low)
691
692 **IN2_pin_level = (**0x40& 0x04)? "High":"Low" = 0(Low)
693
694 **Exti_pin_level = (**0x40& 0x02)? "High":"Low" = 0(Low)
695
696 **Exti_status = (**0x40& 0x01)? "True":"False" = 0(False)
697 )))
698
699 (((
700 **Unix time** is 0x6788DB63 = 1737022307s = 2025/1/16 10:11:47
701 )))
702
703 **Its data format is:**
704
705 [Probe_mod, VDC_intput_V, IDC_intput_mA, IN1_pin_level**, **IN2_pin_level, Exti_pin_level, water_deep, Data_time],[Probe_mod, VDC_intput_V, IDC_intput_mA, IN1_pin_level**, **IN2_pin_level, Exti_pin_level, water_deep, Data_time],...
706
707 (% style="color:red" %)**Note: water_deep in the data needs to be converted using decoding to get it.**
708
709
710 === 2.7.5 Decoder in TTN V3 ===
711
712
713 [[image:image-20250327145403-2.jpeg]]
714
715 Please check the decoder from this link: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
716
717
718 == 2.8 Report on Change Feature (Since firmware V1.2) ==
719
720 === 2.8.1 Uplink payload(Enable ROC) ===
721
722
723 Used to Monitor the IDC and VDC increments, and send ROC uplink when the IDC or VDC changes exceed.
724
725 With ROC enabled, the payload is as follows:
726
727 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
728 |(% style="background-color:#4f81bd; color:white; width:97px" %)(((
729 **Size(bytes)**
730 )))|(% style="background-color:#4f81bd; color:white; width:48px" %)**2**|(% style="background-color:#4f81bd; color:white; width:71px" %)**1**|(% style="background-color:#4f81bd; color:white; width:98px" %)**2**|(% style="background-color:#4f81bd; color:white; width:73px" %)**2**|(% style="background-color:#4f81bd; color:white; width:122px" %)**1**
731 |(% style="background-color:#f2f2f2; width:97px" %)Value|(% style="background-color:#f2f2f2; width:48px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="background-color:#f2f2f2; width:71px" %)[[Probe Model>>||anchor="H2.3.4ProbeModel"]]|(% style="background-color:#f2f2f2; width:98px" %)[[0 ~~~~ 20mA value>>||anchor="H2.3.507E20mAvalue28IDC_IN29"]]|(% style="background-color:#f2f2f2; width:73px" %)[[0 ~~~~ 30v value>>||anchor="H2.3.607E30Vvalue28pinVDC_IN29"]]|(% style="background-color:#f2f2f2; width:122px" %)(((
732 [[IN1 & IN2 Interrupt  flag>>||anchor="H2.3.7IN126IN226INTpin28GPIO_EXTI29"]] & ROC_flag
733 )))
734
735 (% style="color:blue" %)**IN1 &IN2 , Interrupt flag , ROC_flag:**
736
737 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
738 |(% style="background-color:#4f81bd; color:white; width:50px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:60px" %)**bit7**|(% style="background-color:#4f81bd; color:white; width:62px" %)**bit6**|(% style="background-color:#4f81bd; color:white; width:62px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:65px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:56px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:55px" %)**bit2**|(% style="background-color:#4f81bd; color:white; width:55px" %)**bit1**|(% style="background-color:#4f81bd; color:white; width:50px" %)**bit0**
739 |(% style="width:75px" %)Value|(% style="width:89px" %)IDC_Roc_flagL|(% style="width:46.5834px" %)IDC_Roc_flagH|(% style="width:1px" %)VDC_Roc_flagL|(% style="width:89px" %)VDC_Roc_flagH|(% style="width:89px" %)IN1_pin_level|(% style="width:103px" %)IN2_pin_level|(% style="width:103px" %)Exti_pin_level|(% style="width:103px" %)Exti_status
740
741 * (% style="color:#037691" %)**IDC_Roc_flagL**
742
743 80 (H): (0x80&0x80)=80(H)=**1**000 0000(B)  bit7=1, "TRUE", This uplink is triggered when the decrease in the IDC compared to the last ROC refresh exceeds the set threshold.
744
745 60 (H): (0x60&0x80)=0  bit7=0, "FALSE", This uplink is not triggered when the decrease in the IDC compared to the last ROC refresh does not exceeds the set threshold.
746
747
748 * (% style="color:#037691" %)**IDC_Roc_flagH**
749
750 60 (H): (0x60&0x40)=40(H)=0**1**000 0000(B)  bit6=1, "TRUE", This uplink is triggered when the increase in the value of the IDC compared to the last ROC refresh exceeds the set threshold.
751
752 80 (H): (0x80&0x40)=0  bit6=0, "FALSE", This uplink is not triggered when the increase in the value of the IDC compared to the last ROC refresh does not exceeds the set threshold.
753
754
755 * (% style="color:#037691" %)**VDC_Roc_flagL**
756
757 20 (H): (0x20&0x20)=20(H)=00**1**0 0000(B)  bit5=1, "TRUE", This uplink is triggered when the decrease in the VDC compared to the last ROC refresh exceeds the set threshold.
758
759 90 (H): (0x90&0x20)=0  bit5=0, "FALSE", This uplink is not triggered when the decrease in the VDC compared to the last ROC refresh does not exceeds the set threshold.
760
761
762 * (% style="color:#037691" %)**VDC_Roc_flagH**
763
764 90 (H): (0x90&0x10)=10(H)=000**1** 0000(B)  bit4=1, "TRUE", This uplink is triggered when the increase in the value of the VDC compared to the last ROC refresh exceeds the set threshold.
765
766 20 (H): (0x20&0x10)=0  bit4=0, "FALSE", This uplink is not triggered when the increase in the value of the VDC compared to the last ROC refresh does not exceeds the set threshold.
767
768
769 * (% style="color:#037691" %)**IN1_pin_level & IN2_pin_level**
770
771 IN1 and IN2 are used as digital input pins.
772
773 80 (H): (0x80&0x08)=0  IN1 pin is low level.
774
775 80 (H): (0x80&0x04)=0    IN2 pin is low level.
776
777
778 * (% style="color:#037691" %)**Exti_pin_level &Exti_status**
779
780 This data field shows whether the packet is generated by an interrupt pin.
781
782 Note: The Internet pin of the old motherboard is a separate pin in the screw terminal, and the interrupt pin of the new motherboard(SIB V1.3) is the **GPIO_EXTI** pin.
783
784 **Exti_pin_level:**  80 (H): (0x80&0x02)=0  "low", The level of the interrupt pin.
785
786 **Exti_status: **80 (H): (0x80&0x01)=0  "False", Normal uplink packet.
787
788
789 === 2.8.2 Set the Report on Change ===
790
791
792 Feature: Get or Set the Report on Change.
793
794
795 ==== 2.8.2.1 Wave alarm mode ====
796
797
798 Feature: By setting the detection period and a change value, the IDC/VDC variable is monitored whether it exceeds the set change value. If this change value is exceeded, the ROC uplink is sent and the comparison value is flushed.
799
800 * (% style="color:#037691" %)**Change value: **(%%)The amount by which the next detection value increases/decreases relative to the previous detection value.
801 * (% style="color:#037691" %)**Comparison value:**(%%) A parameter to compare with the latest ROC test.
802
803 (% style="color:blue" %)**AT Command: AT+ROC**
804
805 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
806 |=(% style="width: 163px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 150px; background-color: rgb(79, 129, 189); color: white;" %)**Parameters**|=(% style="width: 197px; background-color: rgb(79, 129, 189); color: white;" %)**Response/Explanation**
807 |(% style="width:143px" %)AT+ROC=?|(% style="width:154px" %)Show current ROC setting|(% style="width:197px" %)(((
808 0,0,0,0(default)
809 OK
810 )))
811 |(% colspan="1" rowspan="4" style="width:143px" %)(((
812
813
814
815
816 AT+ROC=a,b,c,d
817 )))|(% style="width:154px" %)(((
818
819
820
821
822
823
824 **a**: Enable or disable the ROC
825 )))|(% style="width:197px" %)(((
826 **0:** off
827 **1:** Turn on the wave alarm mode, send the ROC uplink when the increment exceeds the set parameter and refresh the comparison value.
828 **2:** Turn on the wave alarm mode, send the ROC uplink when the increment exceeds the set parameter and refresh the comparison value. In addition, the comparison value is refreshed when the device sends packets ([[TDC>>||anchor="H3.3.1SetTransmitIntervalTime"]] or [[ACT>>||anchor="H1.6Button26LEDs"]]).
829 )))
830 |(% style="width:154px" %)**b**: Set the detection interval|(% style="width:197px" %)(((
831 Range:  0~~65535s
832 )))
833 |(% style="width:154px" %)**c**: Setting the IDC change value|(% style="width:197px" %)Unit: uA
834 |(% style="width:154px" %)**d**: Setting the VDC change value|(% style="width:197px" %)Unit: mV
835
836 **Example:**
837
838 * AT+ROC=0,0,0,0  ~/~/ The ROC function is not used.
839 * AT+ROC=1,60,3000, 500  ~/~/ Check value every 60 seconds. lf there is change in IDC (>3mA) or VDC (>500mV), sends an ROC uplink, and the comparison value is refreshed.
840 * AT+ROC=1,60,3000,0  ~/~/ Check value every 60 seconds. lf there is change in IDC (>3mA), send an ROC uplink and the comparison value of IDC is refreshed. dd=0 Means doesn't monitor Voltage.
841 * AT+ROC=2,60,3000,0  ~/~/ Check value every 60 seconds. lf there is change in IDC (>3mA), send an ROC uplink and the comparison value of IDC is refreshed. dd=0 Means doesn't monitor Voltage. In addition, if the change in the IDC does not exceed 3mA, then the ROC uplink is not sent, and the comparison value is not refreshed by the ROC uplink packet. However, if the device TDC time arrives, or if the user manually sends packets, then the IDC comparison value is also refreshed.
842
843 (% style="color:blue" %)**Downlink Command: 0x09 aa bb cc dd**
844
845 Format: Function code (0x09) followed by 4 bytes.
846
847 (% style="color:blue" %)**aa: **(% style="color:#037691" %)**1 byte;**(%%) Set the wave alarm mode.
848
849 (% style="color:blue" %)**bb: **(% style="color:#037691" %)**2 bytes;**(%%) Set the detection interval. (second)
850
851 (% style="color:blue" %)**cc: **(% style="color:#037691" %)**2 bytes;**(%%) Setting the IDC change threshold. (uA)
852
853 (% style="color:blue" %)**dd: **(% style="color:#037691" %)**2 bytes;**(%%) Setting the VDC change threshold. (mV)
854
855 **Example:**
856
857 * Downlink Payload: **09 01 00 3C 0B B8 01 F4 ** ~/~/ Equal to AT+ROC=1,60,3000, 500
858 * Downlink Payload: **09 01 00 3C 0B B8 00 00 ** ~/~/ Equal to AT+ROC=1,60,3000,0
859 * Downlink Payload: **09 02 00 3C 0B B8 00 00 ** ~/~/ Equal to AT+ROC=2,60,3000,0
860
861 (% style="color:blue" %)**Screenshot of parsing example in TTN:**
862
863 * AT+ROC=1,60,3000, 500.
864
865 [[image:image-20241019170902-1.png||height="450" width="1454"]]
866
867
868 ==== 2.8.2.2 Over-threshold alarm mode ====
869
870
871 Feature: Monitors whether the IDC/VDC exceeds the threshold by setting the detection period and threshold. Alarm if the threshold is exceeded.
872
873 (% style="color:blue" %)**AT Command: AT+ROC=3,a,b,c,d,e**
874
875 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
876 |=(% style="width: 163px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 160px; background-color: rgb(79, 129, 189); color: white;" %)**Parameters**|=(% style="width: 185px; background-color: rgb(79, 129, 189); color: white;" %)**Response/Explanation**
877 |(% style="width:143px" %)AT+ROC=?|(% style="width:160px" %)Show current ROC setting|(% style="width:185px" %)(((
878 0,0,0,0(default)
879 OK
880 )))
881 |(% colspan="1" rowspan="5" style="width:143px" %)(((
882
883
884
885
886 AT+ROC=(% style="color:blue" %)**3**(%%),a,b,c,d,e
887 )))|(% style="width:160px" %)(((
888 **a: **Set the detection interval
889 )))|(% style="width:185px" %)(((
890 Range:  0~~65535s
891 )))
892 |(% style="width:160px" %)**b**: Set the IDC alarm trigger condition|(% style="width:185px" %)(((
893 **0:** Less than the set IDC threshold, Alarm
894
895 **1:** Greater than the set IDC threshold, Alarm
896 )))
897 |(% style="width:160px" %)**c**:  IDC alarm threshold|(% style="width:185px" %)(((
898 Unit: uA
899 )))
900 |(% style="width:160px" %)**d**: Set the VDC alarm trigger condition|(% style="width:185px" %)(((
901 **0:** Less than the set VDC threshold, Alarm
902
903 **1:** Greater than the set VDC threshold, Alarm
904 )))
905 |(% style="width:160px" %)**e:** VDC alarm threshold|(% style="width:185px" %)Unit: mV
906
907 **Example:**
908
909 * AT+ROC=3,60,0,3000,0,5000  ~/~/ The data is checked every 60 seconds. If the IDC is less than 3mA or the VDC is less than 5000mV, an alarm is generated.
910 * AT+ROC=3,180,1,3000,1,5000  ~/~/ The data is checked every 180 seconds. If the IDC is greater than 3mA or the VDC is greater than 5000mV, an alarm is generated.
911 * AT+ROC=3,300,0,3000,1,5000  ~/~/ The data is checked every 300 seconds. If the IDC is less than 3mA or the VDC is greater than 5000mV, an alarm is generated.
912
913 (% style="color:blue" %)**Downlink Command: 0x09 03 aa bb cc dd ee**
914
915 Format: Function code (0x09) followed by 03 and the remaining 5 bytes.
916
917 (% style="color:blue" %)**aa: **(% style="color:#037691" %)**2 bytes;**(%%) Set the detection interval.(second)
918
919 (% style="color:blue" %)**bb: **(% style="color:#037691" %)**1 byte; **(%%)Set the IDC alarm trigger condition.
920
921 (% style="color:blue" %)**cc: **(% style="color:#037691" %)**2 bytes;**(%%) IDC alarm threshold.(uA)
922
923
924 (% style="color:blue" %)**dd: **(% style="color:#037691" %)**1 byte;**(%%) Set the VDC alarm trigger condition.
925
926 (% style="color:blue" %)**ee: **(% style="color:#037691" %)**2 bytes; **(%%)VDC alarm threshold.(mV)
927
928 **Example:**
929
930 * Downlink Payload: **09 03 00 3C 00 0B B8 00 13 38** ~/~/ Equal to AT+ROC=3,60,0,3000,0,5000
931 * Downlink Payload: **09 03 00 b4 01 0B B8 01 13 38**  ~/~/ Equal to AT+ROC=3,180,1,3000,1,5000
932 * Downlink Payload: **09 03 01 2C 00 0B B8 01 13 38** ~/~/ Equal to AT+ROC=3,300,0,3000,1,5000
933
934 (% style="color:blue" %)**Screenshot of parsing example in TTN:**
935
936 * AT+ROC=3,60,0,3000,0,5000
937
938 [[image:image-20250116180136-4.png]]
939
940
941 = 3. Configure PS-LB-NA =
942
943 == 3.1 Configure Methods: ==
944
945
946 PS-LB-NA supports below configure method:
947
948 * AT Command via Bluetooth Connection (**Recommand Way**): [[BLE Configure Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
949 * AT Command via UART Connection : See [[FAQ>>||anchor="H6.FAQ"]].
950 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>url:http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
951
952 == 3.2 General Commands ==
953
954
955 These commands are to configure:
956
957 * General system settings like: uplink interval.
958 * LoRaWAN protocol & radio related command.
959
960 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
961
962 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
963
964
965 == 3.3 Commands special design for PS-LB-NA ==
966
967
968 These commands only valid for PS-LB-NA, as below:
969
970
971 === 3.3.1 Set Transmit Interval Time ===
972
973
974 Feature: Change LoRaWAN End Node Transmit Interval.
975
976 (% style="color:blue" %)**AT Command: AT+TDC**
977
978 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
979 |=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 190px;background-color:#4F81BD;color:white" %)**Response**
980 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
981 30000
982 OK
983 the interval is 30000ms = 30s
984 )))
985 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((
986 OK
987 Set transmit interval to 60000ms = 60 seconds
988 )))
989
990 (% style="color:blue" %)**Downlink Command: 0x01**
991
992 Format: Command Code (0x01) followed by 3 bytes time value.
993
994 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
995
996 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
997 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
998
999 === 3.3.2 Set Interrupt Mode ===
1000
1001
1002 Feature, Set Interrupt mode for GPIO_EXIT.
1003
1004 (% style="color:blue" %)**AT Command: AT+INTMOD**
1005
1006 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:507px" %)
1007 |=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 157px;background-color:#4F81BD;color:white" %)**Response**
1008 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)(((
1009 0
1010 OK
1011 the mode is 0 =Disable Interrupt
1012 )))
1013 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)(((
1014 Set Transmit Interval
1015 0. (Disable Interrupt),
1016 ~1. (Trigger by rising and falling edge)
1017 2. (Trigger by falling edge)
1018 3. (Trigger by rising edge)
1019 )))|(% style="background-color:#f2f2f2; width:157px" %)OK
1020
1021 (% style="color:blue" %)**Downlink Command: 0x06**
1022
1023 Format: Command Code (0x06) followed by 3 bytes.
1024
1025 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1026
1027 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
1028 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1029
1030 === 3.3.3 Set Power Output Duration ===
1031
1032
1033 Control the output duration 3V3 , 5V or 12V. Before each sampling, device will
1034
1035 ~1. first enable the power output to external sensor,
1036
1037 2. keep it on as per duration, read sensor value and construct uplink payload
1038
1039 3. final, close the power output.
1040
1041
1042 (% style="color:blue" %)**AT Command: AT+3V3T**
1043
1044 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:471px" %)
1045 |=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 201px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 116px;background-color:#4F81BD;color:white" %)**Response**
1046 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)(((
1047 0
1048 OK
1049 )))
1050 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=0|(% style="background-color:#f2f2f2; width:201px" %)Normally open 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)(((
1051 OK
1052 default setting
1053 )))
1054 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=1000|(% style="background-color:#f2f2f2; width:201px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:116px" %)(((
1055 OK
1056 )))
1057 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=65535|(% style="background-color:#f2f2f2; width:201px" %)Normally closed 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)(((
1058 OK
1059 )))
1060
1061 (% style="color:blue" %)**AT Command: AT+5VT**
1062
1063 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:465px" %)
1064 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 114px;background-color:#4F81BD;color:white" %)**Response**
1065 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)(((
1066 0
1067 OK
1068 )))
1069 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=0|(% style="background-color:#f2f2f2; width:196px" %)Normally closed 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)(((
1070 OK
1071 default setting
1072 )))
1073 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=1000|(% style="background-color:#f2f2f2; width:196px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:114px" %)(((
1074 OK
1075 )))
1076 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=65535|(% style="background-color:#f2f2f2; width:196px" %)Normally open 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)(((
1077 OK
1078 )))
1079
1080 (% style="color:blue" %)**AT Command: AT+12VT**
1081
1082 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:438px" %)
1083 |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 199px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 83px;background-color:#4F81BD;color:white" %)**Response**
1084 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)(((
1085 0
1086 OK
1087 )))
1088 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=0|(% style="background-color:#f2f2f2; width:199px" %)Normally closed 12V power supply.|(% style="background-color:#f2f2f2; width:83px" %)OK
1089 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=500|(% style="background-color:#f2f2f2; width:199px" %)Close after a delay of 500 milliseconds.|(% style="background-color:#f2f2f2; width:83px" %)(((
1090 OK
1091 )))
1092
1093 (% style="color:blue" %)**Downlink Command: 0x07**
1094
1095 Format: Command Code (0x07) followed by 3 bytes.
1096
1097 The first byte is which power, the second and third bytes are the time to turn on.
1098
1099 * Example 1: Downlink Payload: 070101F4  **~-~-->**  AT+3V3T=500
1100 * Example 2: Downlink Payload: 0701FFFF   **~-~-->**  AT+3V3T=65535
1101 * Example 3: Downlink Payload: 070203E8  **~-~-->**  AT+5VT=1000
1102 * Example 4: Downlink Payload: 07020000  **~-~-->**  AT+5VT=0
1103 * Example 5: Downlink Payload: 070301F4  **~-~-->**  AT+12VT=500
1104 * Example 6: Downlink Payload: 07030000  **~-~-->**  AT+12VT=0
1105
1106 (% style="color:red" %)**Note: Before v1.2, the maximum settable time of 3V3T, 5VT and 12VT is 65535 milliseconds. After v1.2, the maximum settable time of 3V3T, 5VT and 12VT is 180 seconds.**
1107
1108 (% style="color:red" %)**Therefore, the corresponding downlink command is increased by one byte to five bytes.**
1109
1110 **Example: **
1111
1112 * 120s=120000ms(D) =0x01D4C0(H), Downlink Payload: 07 **01** 01 D4 C0  **~-~-->**  AT+3V3T=120000
1113 * 100s=100000ms(D) =0x0186A0(H), Downlink Payload: 07 **02** 01 86 A0  **~-~-->**  AT+5VT=100000
1114 * 80s=80000ms(D) =0x013880(H), Downlink Payload: 07 **03** 01 38 80  **~-~-->**  AT+12VT=80000
1115
1116 === 3.3.4 Set the Probe Model ===
1117
1118
1119 Users need to configure this parameter according to the type of external probe. In this way, the server can decode according to this value, and convert the current value output by the sensor into water depth or pressure value.
1120
1121 (% style="color:blue" %)**AT Command: AT** **+PROBE**
1122
1123 AT+PROBE=aabb
1124
1125 When aa=00, it is the water depth mode, and the current is converted into the water depth value; bb is the probe at a depth of several meters.
1126
1127 When aa=01, it is the pressure mode, which converts the current into a pressure value;
1128
1129 bb represents which type of pressure sensor it is.
1130
1131 (A->01,B->02,C->03,D->04,E->05,F->06,G->07,H->08,I->09,J->0A,K->0B,L->0C)
1132
1133 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1134 |(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:269px" %)**Function**|(% style="background-color:#4f81bd; color:white" %)**Response**
1135 |(% style="background-color:#f2f2f2; width:154px" %)AT +PROBE =?|(% style="background-color:#f2f2f2; width:269px" %)Get or Set the probe model.|(% style="background-color:#f2f2f2" %)0
1136 OK
1137 |(% style="background-color:#f2f2f2; width:154px" %)AT +PROBE =0003|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 3m type.|(% style="background-color:#f2f2f2" %)OK
1138 |(% style="background-color:#f2f2f2; width:154px" %)(((
1139 AT +PROBE =000A
1140
1141
1142 )))|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 10m type.|(% style="background-color:#f2f2f2" %)OK
1143 |(% style="background-color:#f2f2f2; width:154px" %)AT +PROBE =0101|(% style="background-color:#f2f2f2; width:269px" %)Set pressure transmitters mode, first type(A).|(% style="background-color:#f2f2f2" %)OK
1144 |(% style="background-color:#f2f2f2; width:154px" %)AT +PROBE =0000|(% style="background-color:#f2f2f2; width:269px" %)Initial state, no settings.|(% style="background-color:#f2f2f2" %)OK
1145
1146 (% style="color:blue" %)**Downlink Command: 0x08**
1147
1148 Format: Command Code (0x08) followed by 2 bytes.
1149
1150 * Example 1: Downlink Payload: 080003  **~-~-->**  AT+PROBE=0003
1151 * Example 2: Downlink Payload: 080101  **~-~-->**  AT+PROBE=0101
1152
1153 === 3.3.5 Multiple VDC /IDC collections in one uplink(Since firmware V1.1) ===
1154
1155
1156 Added AT+STDC command to collect the voltage of **VDC_INPUT/IDC_INPUT** multiple times and upload it at one time.
1157
1158 (% style="color:blue" %)**AT Command: AT** **+STDC**
1159
1160 AT+STDC=aa,bb,bb
1161
1162 (% style="color:#037691" %)**aa:**(%%)
1163 **0:** means disable this function and use TDC to send packets.
1164 **1:** means that the function is enabled to send packets by collecting VDC data for multiple times
1165 **2:** means that the function is enabled to send packets by collecting IDC data for multiple times
1166 (% style="color:#037691" %)**bb:**(%%) Each collection interval (s), the value is 1~~65535
1167 (% style="color:#037691" %)**cc:**(%%)** **the number of collection times, the value is 1~~120
1168
1169 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1170 |(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:215px" %)**Function**|(% style="background-color:#4f81bd; color:white" %)**Response**
1171 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=?|(% style="background-color:#f2f2f2; width:215px" %)Get the mode of multiple acquisitions and one uplink.|(% style="background-color:#f2f2f2" %)1,10,18
1172 OK
1173 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=1,10,18|(% style="background-color:#f2f2f2; width:215px" %)Set the mode of multiple acquisitions and one uplink, collect once every 10 seconds, and report after 18 times.|(% style="background-color:#f2f2f2" %)(((
1174 Attention:Take effect after ATZ
1175
1176 OK
1177 )))
1178 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=0, 0,0|(% style="background-color:#f2f2f2; width:215px" %)(((
1179 Use the TDC interval to send packets.(default)
1180
1181
1182 )))|(% style="background-color:#f2f2f2" %)(((
1183 Attention:Take effect after ATZ
1184
1185 OK
1186 )))
1187
1188 (% style="color:blue" %)**Downlink Command: 0xAE**
1189
1190 Format: Command Code (0xAE) followed by 4 bytes.
1191
1192 * Example 1: Downlink Payload: AE 01 02 58 12** ~-~-->**  AT+STDC=1,600,18
1193
1194 == 3.4 Print data entries base on page(Since v1.1.0) ==
1195
1196
1197 Feature: Print the sector data from start page to stop page (max is 416 pages).
1198
1199 (% style="color:#4f81bd" %)**AT Command: AT+PDTA**
1200
1201 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1202 |(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function**
1203 |(% style="width:156px" %)(((
1204 AT+PDTA=1,1
1205 Print page 1 to 1
1206 )))|(% style="width:311px" %)(((
1207 Stop Tx events when read sensor data
1208
1209 8031000 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1210
1211 8031010 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1212
1213 8031020 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1214
1215 8031030 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1216
1217 8031040 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1218
1219 8031050 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1220
1221 8031060 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1222
1223 8031070 1970/1/1 00:00:00 0 in1:low in2:low exti:low status:false vdc:0.000 idc:0.000 proble:0000 water_deep:0.000
1224
1225 Start Tx events
1226
1227
1228 OK
1229 )))
1230
1231 (% style="color:#4f81bd" %)**Downlink Command:**
1232
1233 No downlink commands for feature
1234
1235
1236 == 3.5 Print last few data entries(Since v1.1.0) ==
1237
1238
1239 Feature: Print the last few data entries
1240
1241
1242 (% style="color:#4f81bd" %)**AT Command: AT+PLDTA**
1243
1244 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1245 |(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function**
1246 |(% style="width:156px" %)(((
1247 AT+PLDTA=10
1248 Print last 10 entries
1249 )))|(% style="width:311px" %)(((
1250 Stop Tx events when read sensor data
1251
1252 0001 2025/5/19 06:16:50 3246 in1:low in2:low exti:low status:false vdc:3.352 idc:0.000 proble:0000 water_deep:0.000
1253
1254 0002 2025/5/19 06:17:50 3246 in1:low in2:low exti:low status:false vdc:3.352 idc:0.000 proble:0000 water_deep:0.000
1255
1256 0003 2025/5/19 06:18:50 3246 in1:low in2:low exti:low status:false vdc:3.352 idc:0.000 proble:0000 water_deep:0.000
1257
1258 0004 2025/5/19 06:19:50 3246 in1:low in2:low exti:low status:false vdc:3.352 idc:0.000 proble:0000 water_deep:0.000
1259
1260 0005 2025/5/19 06:20:50 3246 in1:low in2:low exti:low status:false vdc:3.352 idc:0.000 proble:0000 water_deep:0.000
1261
1262 0006 2025/5/19 06:21:50 3246 in1:low in2:low exti:low status:false vdc:3.351 idc:0.000 proble:0000 water_deep:0.000
1263
1264 0007 2025/5/19 06:22:50 3240 in1:low in2:low exti:low status:false vdc:3.351 idc:0.000 proble:0000 water_deep:0.000
1265
1266 0008 2025/5/19 06:26:44 3276 in1:low in2:low exti:low status:false vdc:3.385 idc:0.000 proble:0000 water_deep:0.000
1267
1268 0009 2025/5/19 06:27:36 3246 in1:low in2:low exti:low status:false vdc:3.351 idc:0.000 proble:0000 water_deep:0.000
1269
1270 0010 2025/5/19 06:28:36 3240 in1:low in2:low exti:low status:false vdc:3.351 idc:0.000 proble:0000 water_deep:0.000
1271
1272 Start Tx events
1273
1274 OK
1275 )))
1276
1277 (% style="color:#4f81bd" %)**Downlink Command:**
1278
1279 No downlink commands for feature
1280
1281
1282 == 3.6 Clear Flash Record(Since v1.1.0) ==
1283
1284
1285 Feature: Clear flash storage for data log feature.
1286
1287 (% style="color:#4f81bd" %)**AT Command: AT+CLRDTA**
1288
1289 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:503px" %)
1290 |(% 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**
1291 |(% style="width:155px" %)AT+CLRDTA |(% style="width:134px" %)Clear date record|(% style="width:209px" %)(((
1292 Clear all stored sensor data…
1293
1294 OK
1295 )))
1296
1297 (% style="color:#4f81bd" %)**Downlink Command: 0xA3**
1298
1299 * Example: 0xA301  ~/~/  Same as AT+CLRDTA
1300
1301 = 4. Battery & Power Consumption =
1302
1303
1304 PS-LB-NA uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
1305
1306 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1307
1308
1309 = 5. OTA firmware update =
1310
1311
1312 User can change firmware PS-LB-NA to:
1313
1314 * Change Frequency band/ region.
1315 * Update with new features.
1316 * Fix bugs.
1317
1318 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]**
1319
1320 Methods to Update Firmware:
1321
1322 * (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/]]
1323 * 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]]**.
1324
1325 = 6. FAQ =
1326
1327 == 6.1 How to use PS-LB-Ix with liquid other than water? ==
1328
1329
1330 Calculated according to the ratio of the density of the measured liquid to the density of water, and add their ratio in the decoding
1331 Example: Use gasoline with a density of 0.70g/cm^3
1332 Adding to this part of the decoding divides it by 0.7 and puts a parenthesis around the equation
1333
1334 [[image:image-20230724153033-1.png]]
1335
1336 **Change:**
1337
1338 if(decode.Probe_mod===0x00)
1339 {
1340 if(decode.IDC_intput_mA<=4.0)
1341 decode.Water_deep_cm= 0;
1342 else
1343 decode.Water_deep_cm= parseFloat(~(% style="color:red" %)**(**((decode.IDC_intput_mA-4.0)*(bytes[3]*100/16)(% style="color:red" %)**/0.7)**(%%)).toFixed(3));
1344 }
1345
1346
1347 = 7. Order Info =
1348
1349
1350 Part Number: (% style="color:blue" %)**PS-LB-NA-XX-YY**
1351
1352 (% style="color:red" %)**XX**(%%): The default frequency band
1353
1354 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1355
1356 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1357
1358 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1359
1360 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1361
1362 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1363
1364 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1365
1366 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1367
1368 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1369
1370 (% style="color:#037691" %)**YY:**(%%) The grand connector hole size
1371
1372 * (% style="color:#037691" %)**M12**(%%): M12 hole
1373
1374 * (% style="color:#037691" %)**M16**(%%): M16 hole
1375
1376 * (% style="color:#037691" %)**M20**(%%): M20 hole
1377
1378 = 8. ​Packing Info =
1379
1380
1381 (% style="color:#037691" %)**Package Includes**:
1382
1383 * PS-LB-NA LoRaWAN Analog Sensor
1384
1385 (% style="color:#037691" %)**Dimension and weight**:
1386
1387 (% style="color:blue" %)**Package Size / pcs :**
1388
1389 * For PS-LB: 145*80*50 mm
1390 * For PS-LS: 160*105*45 mm
1391
1392 (% style="color:blue" %)**Weight / pcs :**(%%)** **
1393
1394 * For PS-LB: 225 g
1395 * For PS-LS: 285 g
1396
1397 = 9. Support =
1398
1399
1400 * 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.
1401
1402 * 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]]