Version 146.3 by Mengting Qiu on 2025/07/08 10:58

Show last authors
1
2
3
4 [[image:image-20240109154731-4.png||data-xwiki-image-style-alignment="center" height="546" width="769"]]
5
6
7
8
9
10
11
12 **Table of Contents :**
13
14 {{toc/}}
15
16
17
18
19
20
21 = 1. Introduction =
22
23 == 1.1 What is LoRaWAN Pressure Sensor ==
24
25
26 (((
27 The Dragino PS-LB/LS series sensors are (% style="color:blue" %)**LoRaWAN Pressure Sensor**(%%) for Internet of Things solution. PS-LB/LS can measure Air, Water pressure and liquid level and upload the sensor data via wireless to LoRaWAN IoT server.
28 )))
29
30 (((
31 The PS-LB/LS series sensors include (% style="color:blue" %)**Thread Installation Type**(%%) and (% style="color:blue" %)**Immersion Type**(%%), it supports different pressure range which can be used for different measurement requirement.
32 )))
33
34 (((
35 The LoRa wireless technology used in PS-LB/LS 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.
36 )))
37
38 (((
39 PS-LB/LS supports BLE configure and wireless OTA update which make user easy to use.
40 )))
41
42 (((
43 PS-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery **(%%)or (% style="color:blue" %)**solar powered + Li-ion battery **(%%), it is designed for long term use up to 5 years.
44 )))
45
46 (((
47 Each PS-LB/LS 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.
48 )))
49
50
51 == 1.2 ​Features ==
52
53
54 * LoRaWAN 1.0.3 Class A
55 * Ultra-low power consumption
56 * Measure air / gas or water pressure
57 * Different pressure range available
58 * Thread Installation Type or Immersion Type
59 * Monitor Battery Level
60 * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
61 * Support Bluetooth v5.1 and LoRaWAN remote configure
62 * Support wireless OTA update firmware
63 * Uplink on periodically
64 * Downlink to change configure
65 * Controllable 3.3v,5v and 12v output to power external sensor
66 * 8500mAh Li/SOCl2 Battery (PS-LB)
67 * Solar panel + 3000mAh Li-ion battery (PS-LS)
68
69 == 1.3 Specification ==
70
71
72 (% style="color:#037691" %)**Micro Controller:**
73
74 * MCU: 48Mhz ARM
75 * Flash: 256KB
76 * RAM: 64KB
77
78 (% style="color:#037691" %)**Common DC Characteristics:**
79
80 * Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v
81 * Operating Temperature: -40 ~~ 85°C
82
83 (% style="color:#037691" %)**LoRa Spec:**
84
85 * Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz,Band 2 (LF): 410 ~~ 528 Mhz
86 * Max +22 dBm constant RF output vs.
87 * RX sensitivity: down to -139 dBm.
88 * Excellent blocking immunity
89
90 (% style="color:#037691" %)**Current Input Measuring :**
91
92 * Range: 0 ~~ 20mA
93 * Accuracy: 0.02mA
94 * Resolution: 0.001mA
95
96 (% style="color:#037691" %)**Voltage Input Measuring:**
97
98 * Range: 0 ~~ 30v
99 * Accuracy: 0.02v
100 * Resolution: 0.001v
101
102 (% style="color:#037691" %)**Battery:**
103
104 * Li/SOCI2 un-chargeable battery
105 * Capacity: 8500mAh
106 * Self-Discharge: <1% / Year @ 25°C
107 * Max continuously current: 130mA
108 * Max boost current: 2A, 1 second
109
110 (% style="color:#037691" %)**Power Consumption**
111
112 * Sleep Mode: 5uA @ 3.3v
113 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
114
115 == 1.4 Probe Types ==
116
117 === 1.4.1 Thread Installation Type ===
118
119
120 [[image:1675071448299-229.png]]
121
122 * Hersman Pressure Transmitter
123 * Measuring Range: -0.1 ~~ 0 ~~ 60MPa, see order info.
124 * Accuracy: 0.2% F.S
125 * Long-Term Stability: 0.2% F.S ±0.05%
126 * Overload 200% F.S
127 * Zero Temperature Drift: 0.03% FS/℃(≤100Kpa), 0.02%FS/℃(>100Kpa)
128 * FS Temperature Drift: 0.003% FS/℃(≤100Kpa), 0.002%FS/℃(>100Kpa)
129 * Storage temperature: -30℃~~80℃
130 * Operating temperature: -20℃~~60℃
131 * Connector Type: Various Types, see order info
132
133 === 1.4.2 Immersion Type ===
134
135
136 [[image:image-20240109160445-5.png||height="199" width="150"]]
137
138 * Immersion Type, Probe IP Level: IP68
139 * Measuring Range: Measure range can be customized, up to 100m.
140 * Accuracy: 0.2% F.S
141 * Long-Term Stability: ±0.2% F.S / Year
142 * Storage temperature: -30°C~~80°C
143 * Operating temperature: 0°C~~50°C
144 * Probe Material: 316 stainless steels
145 * Cable model specifications: CGYPU 5*0.2mm2
146 * Usage characteristics of Cable
147 1) Operating temperature:-40℃— +70℃
148 2) -30℃ bending cable 15 times of outer diameter can work normally
149
150 === 1.4.3 Wireless Differential Air Pressure Sensor ===
151
152 [[image:image-20240511174954-1.png||height="193" width="193"]]
153
154 * Measuring Range: -100KPa~~0~~100KPa(Optional measuring range).
155 * Accuracy: 0.5% F.S, resolution is 0.05%.
156 * Overload: 300% F.S
157 * Zero temperature drift: ±0.03%F.S/°C
158 * Operating temperature: -20°C~~60°C
159 * Storage temperature:  -20°C~~60°C
160 * Compensation temperature: 0~~50°C
161
162 == 1.5 Application and Installation ==
163
164 === 1.5.1 Thread Installation Type ===
165
166
167 (% style="color:blue" %)**Application:**
168
169 * Hydraulic Pressure
170 * Petrochemical Industry
171 * Health and Medical
172 * Food & Beverage Processing
173 * Auto-controlling house
174 * Constant Pressure Water Supply
175 * Liquid Pressure measuring
176
177 Order the suitable thread size and install to measure the air / liquid pressure
178
179 [[image:1675071670469-145.png]]
180
181
182 === 1.5.2 Immersion Type ===
183
184
185 (% style="color:blue" %)**Application:**
186
187 Liquid & Water Pressure / Level detect.
188
189 [[image:1675071725288-579.png]]
190
191
192 Below is the wiring to for connect the probe to the device.
193
194 The Immersion Type Sensor has different variant which defined by Ixx. For example, this means two points:
195
196 * Cable Length: 10 Meters
197 * Water Detect Range: 0 ~~ 10 Meters.
198
199 [[image:1675071736646-450.png]]
200
201
202 [[image:1675071776102-240.png]]
203
204 Size of immersion type water depth sensor:
205
206 [[image:image-20250401102131-1.png||height="268" width="707"]]
207
208
209 === 1.5.3 Wireless Differential Air Pressure Sensor ===
210
211
212 (% style="color:blue" %)**Application:**
213
214 Indoor Air Control & Filter clogging Detect.
215
216 [[image:image-20240513100129-6.png]]
217
218 [[image:image-20240513100135-7.png]]
219
220
221 Below is the wiring to for connect the probe to the device.
222
223 [[image:image-20240513093957-1.png]]
224
225
226 Size of wind pressure transmitter:
227
228 [[image:image-20240513094047-2.png||height="462" width="518"]]
229
230 (% style="color:red" %)**Note: The above dimensions are measured by hand, and the numerical error of the shell is within ±0.2mm.**
231
232
233 == 1.6 Sleep mode and working mode ==
234
235
236 **Deep Sleep Mode:** Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.
237
238 **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.
239
240
241 == 1.7 Button & LEDs ==
242
243
244 [[image:image-20250419092225-1.jpeg]]
245
246 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
247 |=(% 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
248 |[[image:1749540420016-961.png]] 1~~3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)(((
249 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, blue led will blink once.
250 Meanwhile, BLE module will be active and user can connect via BLE to configure device.
251 )))
252 |[[image:1749540423574-437.png]] >3s|(% style="background-color:#f2f2f2; width:117px" %)Active Device|(% style="background-color:#f2f2f2; width:225px" %)(((
253 Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network.
254 Green led will solidly turn on for 5 seconds after joined in network.
255 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.
256 )))
257 |[[image:1749540397649-875.png]] x5|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)Red led will solid on for 5 seconds. Means PS-LB is in Deep Sleep Mode.
258
259 == 1.8 Pin Mapping ==
260
261
262 [[image:1675072568006-274.png]]
263
264
265 == 1.9 BLE connection ==
266
267
268 PS-LB/LS support BLE remote configure.
269
270
271 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:
272
273 * Press button to send an uplink
274 * Press button to active device.
275 * Device Power on or reset.
276
277 If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
278
279
280 == 1.10 Mechanical ==
281
282 === 1.10.1 for LB version ===
283
284
285 [[image:image-20250401163530-1.jpeg]]
286
287
288 === 1.10.2 for LS version ===
289
290
291 [[image:image-20250401163539-2.jpeg]]
292
293
294 = 2. Configure PS-LB/LS to connect to LoRaWAN network =
295
296 == 2.1 How it works ==
297
298
299 The PS-LB/LS is configured as 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/LS. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
300
301
302 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
303
304
305 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.
306
307 [[image:image-20250419162538-1.png]]
308
309
310 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.
311
312
313 (% style="color:blue" %)**Step 1: Create a device in TTN with the OTAA keys from PS-LB/LS.**
314
315 Each PS-LB/LS is shipped with a sticker with the default device EUI as below:
316
317 [[image:image-20230426085320-1.png||height="234" width="504"]]
318
319
320 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
321
322 **Create the application.**
323
324 [[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"]]
325
326 [[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"]]
327
328
329 **Add devices to the created Application.**
330
331 [[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"]]
332
333 [[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"]]
334
335
336 **Enter end device specifics manually.**
337
338 [[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"]]
339
340
341 **Add DevEUI and AppKey. Customize a platform ID for the device.**
342
343 [[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"]]
344
345
346 (% style="color:blue" %)**Step 2: Add decoder.**
347
348 In TTN, user can add a custom payload so it shows friendly reading.
349
350 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/]]
351
352 Below is TTN screen shot:
353
354 [[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"]]
355
356 [[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"]]
357
358
359 (% style="color:blue" %)**Step 3: Activate on PS-LB/LS**
360
361 Press the button for 5 seconds to activate the PS-LB/LS.
362
363 Green led will fast blink 5 times, device will enter OTA mode for 3 seconds. And then start to JOIN LoRaWAN network. Green led will solidly turn on for 5 seconds after joined in network.
364
365 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
366
367
368 == 2.3 ​Uplink Payload ==
369
370 === 2.3.1 Device Status, FPORT~=5 ===
371
372
373 Include device configure status. Once PS-LB/LS Joined the network, it will uplink this message to the server.
374
375 Users can also use the downlink command(0x26 01) to ask PS-LB/LS to resend this uplink.
376
377 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
378 |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)**
379 |(% 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
380 |(% 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
381
382 Example parse in TTNv3
383
384 [[image:1675144504430-490.png]]
385
386
387 Sensor Model: For PS-LB/LS, this value is 0x16
388
389 Firmware Version: 0x0100, Means: v1.0.0 version
390
391 Frequency Band:
392
393 *0x01: EU868
394
395 *0x02: US915
396
397 *0x03: IN865
398
399 *0x04: AU915
400
401 *0x05: KZ865
402
403 *0x06: RU864
404
405 *0x07: AS923
406
407 *0x08: AS923-1
408
409 *0x09: AS923-2
410
411 *0x0a: AS923-3
412
413 *0x0b: CN470
414
415 *0x0c: EU433
416
417 *0x0d: KR920
418
419 *0x0e: MA869
420
421
422 Sub-Band:
423
424 AU915 and US915:value 0x00 ~~ 0x08
425
426 CN470: value 0x0B ~~ 0x0C
427
428 Other Bands: Always 0x00
429
430
431 Battery Info:
432
433 Check the battery voltage.
434
435 Ex1: 0x0B45 = 2885mV
436
437 Ex2: 0x0B49 = 2889mV
438
439
440 === 2.3.2 Sensor value, FPORT~=2 ===
441
442
443 Uplink payload includes in total 9 bytes.
444
445
446 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
447 |(% style="background-color:#4f81bd; color:white; width:97px" %)(((
448 **Size(bytes)**
449 )))|(% style="background-color:#4f81bd; color:white; width:50px" %)**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**
450 |(% style="width:97px" %)Value|(% style="width:48px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:71px" %)[[Probe Model>>||anchor="H2.3.4ProbeModel"]]|(% style="width:98px" %)[[0 ~~~~ 20mA value>>||anchor="H2.3.507E20mAvalue28IDC_IN29"]]|(% style="width:73px" %)[[0 ~~~~ 30v value>>||anchor="H2.3.607E30Vvalue28pinVDC_IN29"]]|(% style="width:122px" %)[[IN1 &IN2 Interrupt  flag>>||anchor="H2.3.7IN126IN226INTpin"]]
451
452 [[image:1675144608950-310.png]]
453
454
455 === 2.3.3 Battery Info ===
456
457
458 Check the battery voltage for PS-LB/LS.
459
460 Ex1: 0x0B45 = 2885mV
461
462 Ex2: 0x0B49 = 2889mV
463
464
465 === 2.3.4 Probe Model ===
466
467
468 PS-LB/LS has different kind of probe, 4~~20mA represent the full scale of the measuring range. So a 12mA output means different meaning for different probe. 
469
470 For example.
471
472 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
473 |(% style="background-color:#4f81bd; color:white" %)**Part Number**|(% style="background-color:#4f81bd; color:white" %)**Probe Used**|(% style="background-color:#4f81bd; color:white" %)**4~~20mA scale**|(% style="background-color:#4f81bd; color:white" %)**Example: 12mA meaning**
474 |(% style="background-color:#f2f2f2" %)PS-LB/LS-I3|(% style="background-color:#f2f2f2" %)immersion type with 3 meters cable|(% style="background-color:#f2f2f2" %)0~~3 meters|(% style="background-color:#f2f2f2" %)1.5 meters pure water
475 |(% style="background-color:#f2f2f2" %)PS-LB/LS-I5|(% style="background-color:#f2f2f2" %)immersion type with 5 meters cable|(% style="background-color:#f2f2f2" %)0~~5 meters|(% style="background-color:#f2f2f2" %)2.5 meters pure water
476 |(% style="background-color:#f2f2f2" %)PS-LB/LS-T20-B|(% style="background-color:#f2f2f2" %)T20 threaded probe|(% style="background-color:#f2f2f2" %)0~~1MPa|(% style="background-color:#f2f2f2" %)0.5MPa air / gas or water pressure
477
478 The probe model field provides the convenient for server to identical how it should parse the 4~~20mA sensor value and get the correct value.
479
480
481 When connecting to current sensors sold by our company, you can convert current readings to corresponding values by simply configuring the [[AT+PROBE>>||anchor="H3.3.4SettheProbeModel"]] command. If you prefer not to configure this command on the sensor, you can uniformly handle the conversion in the payload decoder instead.
482
483 **Examples for decoder implementation:**
484
485 ~1. For AT+PROBE=0005, add the following processing in your decoder:
486
487 [[image:image-20250512144042-1.png]]
488
489 [[image:image-20250512144122-2.png]]
490
491 2. For AT+PROBE=0102, add the following processing in your decoder(Corresponding to the position shown in the above screenshot).
492
493 bytes[i]=0x01;bytes[1+i]=0x02;
494
495 bytes[2]=0x01;bytes[3]=0x02;
496
497
498 === 2.3.5 0~~20mA value (IDC_IN) ===
499
500
501 The output value from Pressure Probe, use together with Probe Model to get the pressure value or water level.
502
503 Example:
504
505 27AE(H) = 10158 (D)/1000 = 10.158mA.
506
507
508 Instead of pressure probe, User can also connect a general 4~~20mA in this port to support different types of 4~~20mA sensors. below is the connection example:
509
510 [[image:image-20230225154759-1.png||height="408" width="741"]]
511
512
513 === 2.3.6 0~~30V value (pin VDC_IN) ===
514
515
516 Measure the voltage value. The range is 0 to 30V.
517
518 Example:
519
520 138E(H) = 5006(D)/1000= 5.006V
521
522
523 === 2.3.7 IN1&IN2&INT pin ===
524
525
526 IN1 and IN2 are used as digital input pins.
527
528 Example:
529
530 09 (H): (0x09&0x08)>>3=1    IN1 pin is high level.
531
532 09 (H): (0x09&0x04)>>2=0    IN2 pin is low level.
533
534
535 This data field shows if this packet is generated by Interrupt Pin or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal.
536
537 Example:
538
539 09 (H): (0x09&0x02)>>1=1    The level of the interrupt pin.
540
541 09 (H): 0x09&0x01=1              0x00: Normal uplink packet.
542
543 0x01: Interrupt Uplink Packet.
544
545
546 === 2.3.8 Sensor value, FPORT~=7 ===
547
548
549 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %)
550 |(% style="background-color:#4f81bd; color:white; width:65px" %)(((
551 **Size(bytes)**
552 )))|(% style="background-color:#4f81bd; color:white; width:35px" %)**2**|(% style="background-color:#4f81bd; color:white; width:400px" %)**n**
553 |(% style="width:94px" %)Value|(% style="width:43px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:367px" %)(((
554
555
556 Voltage value, each 2 bytes is a set of voltage values.
557 )))
558
559 [[image:image-20230220171300-1.png||height="207" width="863"]]
560
561 Multiple sets of data collected are displayed in this form:
562
563 [voltage value1], [voltage value2], [voltage value3],…[voltage value n/2]
564
565
566 === 2.3.9 ​Decode payload in The Things Network ===
567
568
569 While using TTN network, you can add the payload format to decode the payload.
570
571 [[image:1675144839454-913.png]]
572
573
574 PS-LB/LS TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
575
576
577 == 2.4 Uplink Interval ==
578
579
580 The PS-LB/LS 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);"]]
581
582
583 == 2.5 Show Data in DataCake IoT Server ==
584
585
586 [[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:
587
588 Step 1: Be sure that your device is programmed and properly connected to the network at this time.
589
590 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:
591
592 [[image:1675144951092-237.png]]
593
594
595 [[image:1675144960452-126.png]]
596
597
598 Step 3: Create an account or log in Datacake.
599
600 Step 4: Create PS-LB/LS product.
601
602 [[image:1675145004465-869.png]]
603
604
605 [[image:1675145018212-853.png]]
606
607
608 [[image:1675145029119-717.png]]
609
610
611 Step 5: add payload decode
612
613 [[image:1675145051360-659.png]]
614
615
616 [[image:1675145060812-420.png]]
617
618
619 After added, the sensor data arrive TTN, it will also arrive and show in Datacake.
620
621 [[image:1675145081239-376.png]]
622
623
624 == 2.6 Datalog Feature (Since V1.1) ==
625
626
627 Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, PS-LB will store the reading for future retrieving purposes.
628
629
630 === 2.5.1 How datalog works ===
631
632
633 PS-LB will wait for ACK for every uplink, when there is no LoRaWAN network,PS-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
634
635 * (((
636 a) PS-LB will do an ACK check for data records sending to make sure every data arrive server.
637 )))
638 * (((
639 b) PS-LB will send data in **CONFIRMED Mode**, but PS-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if PS-LB gets a ACK, PS-LB will consider there is a network connection and resend all NONE-ACK messages.
640
641
642 )))
643
644 === 2.5.2 Enable Datalog ===
645
646
647 User need to make sure below two settings are enable to use datalog;
648
649 * (% style="color:blue" %)**SYNCMOD=1(Default)**(%%) to enable sync time via LoRaWAN MAC command, click here ([[AT+SYNCMOD>>https://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.6Settimesynchronizationmethod28ThenetworkservermustsupportLoRaWANv1.0.329]]) for detailed instructions.
650 * (% style="color:blue" %)**PNACKMD=1**(%%)** **to enable datalog feature, click here ([[AT+PNACKMD>>https://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H7.26RequesttheservertosendanACK]]) for detailed instructions.
651
652
653
654 Once PS-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to PS-LB. If PS-LB fails to get the time from the server, PS-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
655
656 (% 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.**
657
658
659 === 2.6.1 Unix TimeStamp ===
660
661
662 PS-LB uses Unix TimeStamp format based on
663
664 [[image:image-20250401163826-3.jpeg]]
665
666 Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
667
668 Below is the converter example:
669
670 [[image:image-20250401163906-4.jpeg]]
671
672
673 === 2.6.3 Poll sensor value ===
674
675 Users can poll sensor values based on timestamps. Below is the downlink command.
676
677 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:470px" %)
678 |=(% colspan="4" style="width: 160px; background-color:#4F81BD;color:white" %)Downlink Command to poll Open/Close status (0x31)
679 |(% 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
680 |(% style="background-color:#f2f2f2; width:67px" %)31|(% style="background-color:#f2f2f2; width:145px" %)Timestamp start|(% style="background-color:#f2f2f2; width:133px" %)(((
681 Timestamp end
682 )))|(% style="background-color:#f2f2f2; width:163px" %)Uplink Interval
683
684 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.
685
686 For example, downlink command[[image:image-20250117104812-1.png]]
687
688 Is to check 2024/12/20 09:34:59 to 2024/12/20 14:34:59's data
689
690 Uplink Internal =5s,means PS-LB will send one packet every 5s. range 5~~255s.
691
692
693 === 2.6.4 Datalog Uplink payload (FPORT~=3) ===
694
695
696 The Datalog uplinks will use below payload format.
697
698 Retrieval data payload:
699
700 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
701 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
702 Size(bytes)
703 )))|=(% style="width: 70px; background-color:#4F81BD;color:white" %)2|=(% style="width: 70px; background-color:#4F81BD;color:white" %)2|=(% style="width: 80px; background-color: rgb(79, 129, 189); color: white;" %)2|=(% style="width: 150px; background-color: rgb(79, 129, 189); color: white;" %)1|=(% style="width: 80px; background-color: rgb(79, 129, 189); color: white;" %)4
704 |(% style="width:103px" %)Value|(% style="width:68px" %)(((
705 Probe_mod
706 )))|(% style="width:104px" %)(((
707 VDC_intput_V
708 )))|(% style="width:83px" %)(((
709 IDC_intput_mA
710 )))|(% style="width:201px" %)(((
711 IN1_pin_level& IN2_pin_level& Exti_pin_level&Exti_status
712 )))|(% style="width:86px" %)Unix Time Stamp
713
714 IN1_pin_level & IN2_pin_level & Exti_pin_level & Exti_status:
715
716 [[image:image-20250117104847-4.png]]
717
718
719 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)
720
721 Poll Message Flag: 1: This message is a poll message reply.
722
723 * Poll Message Flag is set to 1.
724
725 * Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
726
727 For example, in US915 band, the max payload for different DR is:
728
729 a) DR0: max is 11 bytes so one entry of data
730
731 b) DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
732
733 c) DR2: total payload includes 11 entries of data
734
735 d) DR3: total payload includes 22 entries of data.
736
737 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
738
739 Example:
740
741 If PS-LB-NA has below data inside Flash:
742
743 [[image:image-20250117104837-3.png]]
744
745
746 If user sends below downlink command: 316788D9BF6788DB6305
747
748 Where : Start time: 6788D9BF = time 25/1/16 10:04:47
749
750 Stop time: 6788DB63 = time 25/1/16 10:11:47
751
752
753 PA-LB-NA will uplink this payload.
754
755 [[image:image-20250117104827-2.png]]
756
757
758 00001B620000406788D9BF  00000D130000406788D9FB  00000D120000406788DA37  00000D110000406788DA73  00000D100000406788DAAF  00000D100000406788DAEB  00000D0F0000406788DB27  00000D100000406788DB63
759
760
761 Where the first 11 bytes is for the first entry :
762
763
764 0000  0D10  0000  40  6788DB63
765
766
767 Probe_mod = 0x0000 = 0000
768
769
770 VDC_intput_V = 0x0D10/1000=3.344V
771
772 IDC_intput_mA = 0x0000/1000=0mA
773
774
775 IN1_pin_level = (0x40& 0x08)? "High":"Low" = 0(Low)
776
777 IN2_pin_level = (0x40& 0x04)? "High":"Low" = 0(Low)
778
779 Exti_pin_level = (0x40& 0x02)? "High":"Low" = 0(Low)
780
781 Exti_status = (0x40& 0x01)? "True":"False" = 0(False)
782
783
784 Unix time is 0x6788DB63 = 1737022307s = 2025/1/16 10:11:47
785
786 Its data format is:
787
788 [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],...
789
790 Note: water_deep in the data needs to be converted using decoding to get it.
791
792
793 === 2.6.5 Decoder in TTN V3 ===
794
795 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/1652862574387-195.png?width=722&height=359&rev=1.1||alt="1652862574387-195.png" height="359" width="722"]]
796
797 Please check the decoder from this link: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]]
798
799
800 == 2.7 Frequency Plans ==
801
802
803 The PS-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.
804
805 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/a>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
806
807
808 == 2.8 Report on Change Feature (Since firmware V1.2) ==
809
810 === 2.8.1 Uplink payload(Enable ROC) ===
811
812
813 Used to Monitor the IDC and VDC increments, and send ROC uplink when the IDC or VDC changes exceed.
814
815 With ROC enabled, the payload is as follows:
816
817 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
818 |(% style="background-color:#4f81bd; color:white; width:97px" %)(((
819 Size(bytes)
820 )))|(% 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
821 |(% style="width:98px" %)Value|(% style="width:48px" %)[[BAT>>||anchor="H2.3.3BatteryInfo"]]|(% style="width:71px" %)[[Probe Model>>||anchor="H2.3.4ProbeModel"]]|(% style="width:98px" %)[[0 ~~~~ 20mA value>>||anchor="H2.3.507E20mAvalue28IDC_IN29"]]|(% style="width:73px" %)[[0 ~~~~ 30v value>>||anchor="H2.3.607E30Vvalue28pinVDC_IN29"]]|(% style="width:122px" %)(((
822 [[IN1 &IN2 Interrupt  flag>>||anchor="H2.3.7IN126IN226INTpin"]] & ROC_flag
823 )))
824
825 IN1 &IN2 , Interrupt  flag , ROC_flag:
826
827 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:515px" %)
828 |(% 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
829 |(% 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
830
831 * IDC_Roc_flagL
832
833 80 (H): (0x80&0x80)=80(H)=1000 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.
834
835 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 exceeds the set threshold.
836
837
838 * IDC_Roc_flagH
839
840 60 (H): (0x60&0x40)=60(H)=01000 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.
841
842 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 exceeds the set threshold.
843
844
845 * VDC_Roc_flagL
846
847 20 (H): (0x20&0x20)=20(H)=0010 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.
848
849 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 exceeds the set threshold.
850
851
852 * VDC_Roc_flagH
853
854 90 (H): (0x90&0x10)=10(H)=0001 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.
855
856 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 exceeds the set threshold.
857
858
859 * IN1_pin_level & IN2_pin_level
860
861 IN1 and IN2 are used as digital input pins.
862
863 80 (H): (0x80&0x08)=0  IN1 pin is low level.
864
865 80 (H): (0x09&0x04)=0    IN2 pin is low level.
866
867
868 * Exti_pin_level &Exti_status
869
870 This data field shows whether the packet is generated by an interrupt pin.
871
872 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.
873
874 Exti_pin_level:  80 (H): (0x80&0x02)=0  "low", The level of the interrupt pin.
875
876 Exti_status: 80 (H): (0x80&0x01)=0  "False", Normal uplink packet.
877
878
879 === 2.8.2 Set the Report on Change ===
880
881
882 Feature: Get or Set the Report on Change.
883
884
885 ==== 2.8.2.1 Wave alarm mode ====
886
887
888 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.
889
890 * Change value: The amount by which the next detection value increases/decreases relative to the previous detection value.
891 * Comparison value: A parameter to compare with the latest ROC test.
892
893 AT Command: AT+ROC
894
895 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
896 |=(% style="width: 163px; background-color: rgb(79, 129, 189); color: white;" %)Command Example|=(% style="width: 154px; background-color: rgb(79, 129, 189); color: white;" %)Parameters|=(% style="width: 193px; background-color: rgb(79, 129, 189); color: white;" %)Response/Explanation
897 |(% style="width:143px" %)AT+ROC=?|(% style="width:154px" %)Show current ROC setting|(% style="width:197px" %)(((
898 0,0,0,0(default)
899 OK
900 )))
901 |(% colspan="1" rowspan="4" style="width:143px" %)(((
902 AT+ROC=a,b,c,d
903 )))|(% style="width:154px" %)(((
904 **a:** Enable or disable the ROC
905 )))|(% style="width:197px" %)(((
906 **0:** off
907 **1:** Turn on the wave alarm mode, send the ROC uplink when the increment exceeds the set parameter and refresh the comparison value.
908 **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.7Button26LEDs"]]).
909 )))
910 |(% style="width:154px" %)**b:** Set the detection interval|(% style="width:197px" %)(((
911 Range:  0~~65535s
912 )))
913 |(% style="width:154px" %)**c:** Setting the IDC change value|(% style="width:197px" %)Unit: uA
914 |(% style="width:154px" %)**d:** Setting the VDC change value|(% style="width:197px" %)Unit: mV
915
916 Example:
917
918 * AT+ROC=0,0,0,0  ~/~/ The ROC function is not used.
919 * 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.
920 * 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.
921 * 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.
922
923 Downlink Command: 0x09 aa bb cc dd
924
925 Format: Function code (0x09) followed by 4 bytes.
926
927 aa: 1 byte; Set the wave alarm mode.
928
929 bb: 2 bytes; Set the detection interval. (second)
930
931 cc: 2 bytes; Setting the IDC change threshold. (uA)
932
933 dd: 2 bytes; Setting the VDC change threshold. (mV)
934
935 Example:
936
937 * Downlink Payload: 09 01 00 3C 0B B8 01 F4  ~/~/ Equal to AT+ROC=1,60,3000, 500
938 * Downlink Payload: 09 01 00 3C 0B B8 00 00  ~/~/ Equal to AT+ROC=1,60,3000,0
939 * Downlink Payload: 09 02 00 3C 0B B8 00 00  ~/~/ Equal to AT+ROC=2,60,3000,0
940
941 Screenshot of parsing example in TTN:
942
943 * AT+ROC=1,60,3000, 500.
944
945 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/PS-LB-NA--LoRaWAN_Analog_Sensor_User_Manual/WebHome/image-20241019170902-1.png?width=1454&height=450&rev=1.1||alt="image-20241019170902-1.png"]]
946
947
948 ==== 2.8.2.2 Over-threshold alarm mode ====
949
950
951 Feature: Monitors whether the IDC/VDC exceeds the threshold by setting the detection period and threshold. Alarm if the threshold is exceeded.
952
953 AT Command: AT+ROC=3,a,b,c,d,e
954
955 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
956 |=(% 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: 187px; background-color: rgb(79, 129, 189); color: white;" %)Response/Explanation
957 |(% style="width:143px" %)AT+ROC=?|(% style="width:160px" %)Show current ROC setting|(% style="width:185px" %)(((
958 0,0,0,0(default)
959 OK
960 )))
961 |(% colspan="1" rowspan="5" style="width:143px" %)(((
962 AT+ROC=3,a,b,c,d,e
963 )))|(% style="width:160px" %)(((
964 **a:** Set the detection interval
965 )))|(% style="width:185px" %)(((
966 Range:  0~~65535s
967 )))
968 |(% style="width:160px" %)**b:** Set the IDC alarm trigger condition|(% style="width:185px" %)(((
969 **0:** Less than the set IDC threshold, Alarm
970 **1:** Greater than the set IDC threshold, Alarm
971 )))
972 |(% style="width:160px" %)(((
973 **c: ** IDC alarm threshold
974 )))|(% style="width:185px" %)(((
975 Unit: uA
976 )))
977 |(% style="width:160px" %)**d:** Set the VDC alarm trigger condition|(% style="width:185px" %)(((
978 **0:** Less than the set VDC threshold, Alarm
979 **1:** Greater than the set VDC threshold, Alarm
980 )))
981 |(% style="width:160px" %)**e:** VDC alarm threshold|(% style="width:185px" %)Unit: mV
982
983 Example:
984
985 * 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.
986 * 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.
987 * 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.
988
989 Downlink Command: 0x09 03 aa bb cc dd ee
990
991 Format: Function code (0x09) followed by 03 and the remaining 5 bytes.
992
993 aa: 2 bytes; Set the detection interval.(second)
994
995 bb: 1 byte; Set the IDC alarm trigger condition.
996
997 cc: 2 bytes; IDC alarm threshold.(uA)
998
999
1000 dd: 1 byte; Set the VDC alarm trigger condition.
1001
1002 ee: 2 bytes; VDC alarm threshold.(mV)
1003
1004 Example:
1005
1006 * Downlink Payload: 09 03 00 3C 00 0B B8 00 13 38 ~/~/ Equal to AT+ROC=3,60,0,3000,0,5000
1007 * Downlink Payload: 09 03 00 b4 01 0B B8 01 13 38  ~/~/ Equal to AT+ROC=3,60,1,3000,1,5000
1008 * Downlink Payload: 09 03 01 2C 00 0B B8 01 13 38  ~/~/ Equal to AT+ROC=3,60,0,3000,1,5000
1009
1010 Screenshot of parsing example in TTN:
1011
1012 * AT+ROC=3,60,0,3000,0,5000
1013
1014 [[image:image-20250116180030-2.png]]
1015
1016
1017 == 2.9 ​Firmware Change Log ==
1018
1019
1020 Firmware download link:
1021
1022 [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]]
1023
1024
1025 = 3. Configure PS-LB/LS =
1026
1027 == 3.1 Configure Methods ==
1028
1029
1030 PS-LB/LS supports below configure method:
1031
1032 * AT Command via Bluetooth Connection (Recommand Way): [[BLE Configure Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
1033 * AT Command via UART Connection : See [[FAQ>>||anchor="H6.FAQ"]].
1034 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>url:http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
1035
1036 == 3.2 General Commands ==
1037
1038
1039 These commands are to configure:
1040
1041 * General system settings like: uplink interval.
1042 * LoRaWAN protocol & radio related command.
1043
1044 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
1045
1046 [[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/]]
1047
1048
1049 == 3.3 Commands special design for PS-LB/LS ==
1050
1051
1052 These commands only valid for PS-LB/LS, as below:
1053
1054
1055 === 3.3.1 Set Transmit Interval Time ===
1056
1057
1058 Feature: Change LoRaWAN End Node Transmit Interval.
1059
1060 AT Command: AT+TDC
1061
1062 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1063 |=(% 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
1064 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)(((
1065 30000
1066 OK
1067 the interval is 30000ms = 30s
1068 )))
1069 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)(((
1070 OK
1071 Set transmit interval to 60000ms = 60 seconds
1072 )))
1073
1074 Downlink Command: 0x01
1075
1076 Format: Command Code (0x01) followed by 3 bytes time value.
1077
1078 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
1079
1080 * Example 1: Downlink Payload: 0100001E  ~/~/  Set Transmit Interval (TDC) = 30 seconds
1081 * Example 2: Downlink Payload: 0100003C  ~/~/  Set Transmit Interval (TDC) = 60 seconds
1082
1083 === 3.3.2 Set Interrupt Mode ===
1084
1085
1086 Feature, Set Interrupt mode for GPIO_EXIT.
1087
1088 AT Command: AT+INTMOD
1089
1090 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1091 |=(% style="width: 154px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 196px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 160px;background-color:#4F81BD;color:white" %)Response
1092 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)(((
1093 0
1094 OK
1095 the mode is 0 =Disable Interrupt
1096 )))
1097 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)(((
1098 Set Transmit Interval
1099 0. (Disable Interrupt),
1100 ~1. (Trigger by rising and falling edge)
1101 2. (Trigger by falling edge)
1102 3. (Trigger by rising edge)
1103 )))|(% style="background-color:#f2f2f2; width:157px" %)OK
1104
1105 Downlink Command: 0x06
1106
1107 Format: Command Code (0x06) followed by 3 bytes.
1108
1109 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
1110
1111 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
1112 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
1113
1114 === 3.3.3 Set the output time ===
1115
1116
1117 Feature, Control the output 3V3 , 5V or 12V.
1118
1119 AT Command: AT+3V3T
1120
1121 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:474px" %)
1122 |=(% style="width: 154px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 201px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 119px;background-color:#4F81BD;color:white" %)Response
1123 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)(((
1124 0
1125 OK
1126 )))
1127 |(% 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" %)(((
1128 OK
1129 default setting
1130 )))
1131 |(% 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" %)(((
1132 OK
1133 )))
1134 |(% 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" %)(((
1135 OK
1136 )))
1137
1138 AT Command: AT+5VT
1139
1140 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:470px" %)
1141 |=(% style="width: 155px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 196px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 119px;background-color:#4F81BD;color:white" %)Response
1142 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)(((
1143 0
1144 OK
1145 )))
1146 |(% 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" %)(((
1147 OK
1148 default setting
1149 )))
1150 |(% 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" %)(((
1151 OK
1152 )))
1153 |(% 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" %)(((
1154 OK
1155 )))
1156
1157 AT Command: AT+12VT
1158
1159 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:443px" %)
1160 |=(% style="width: 156px;background-color:#4F81BD;color:white" %)Command Example|=(% style="width: 199px;background-color:#4F81BD;color:white" %)Function|=(% style="width: 88px;background-color:#4F81BD;color:white" %)Response
1161 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)(((
1162 0
1163 OK
1164 )))
1165 |(% 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
1166 |(% 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" %)(((
1167 OK
1168 )))
1169
1170 Downlink Command: 0x07
1171
1172 Format: Command Code (0x07) followed by 3 bytes.
1173
1174 The first byte is which power, the second and third bytes are the time to turn on.
1175
1176 * Example 1: Downlink Payload: 070101F4  ~-~-->  AT+3V3T=500
1177 * Example 2: Downlink Payload: 0701FFFF   ~-~-->  AT+3V3T=65535
1178 * Example 3: Downlink Payload: 070203E8  ~-~-->  AT+5VT=1000
1179 * Example 4: Downlink Payload: 07020000  ~-~-->  AT+5VT=0
1180 * Example 5: Downlink Payload: 070301F4  ~-~-->  AT+12VT=500
1181 * Example 6: Downlink Payload: 07030000  ~-~-->  AT+12VT=0
1182
1183 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.
1184
1185 Therefore, the corresponding downlink command is increased by one byte to five bytes.
1186
1187 Example:
1188
1189 * 120s=120000ms(D) =0x01D4C0(H), Downlink Payload: 07 01 01 D4 C0  ~-~-->  AT+3V3T=120000
1190 * 100s=100000ms(D) =0x0186A0(H), Downlink Payload: 07 02 01 86 A0  ~-~-->  AT+5VT=100000
1191 * 80s=80000ms(D) =0x013880(H), Downlink Payload: 07 03 01 38 80  ~-~-->  AT+12VT=80000
1192
1193 === 3.3.4 Set the Probe Model ===
1194
1195
1196 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.
1197
1198 AT Command: AT +PROBE
1199
1200 AT+PROBE=aabb
1201
1202 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.
1203
1204 When aa=01, it is the pressure mode, which converts the current into a pressure value;
1205
1206 bb represents which type of pressure sensor it is.
1207
1208 (A->01,B->02,C->03,D->04,E->05,F->06,G->07,H->08,I->09,J->0A,K->0B,L->0C)
1209
1210 When aa=02, it is the Differential Pressure Sensor , which converts the current into a pressure value;
1211
1212 bb represents which type of pressure sensor it is.
1213
1214 (0~~100Pa->01,0~~200Pa->02,0~~300Pa->03,0~~1KPa->04,0~~2KPa->05,0~~3KPa->06,0~~4KPa->07,0~~5KPa->08,0~~10KPa->09,-100~~ 100Pa->0A,-200~~ 200Pa->0B,-1~~ 1KPa->0C)
1215
1216 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
1217 |(% 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
1218 |(% 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
1219 OK
1220 |(% 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
1221 |(% style="background-color:#f2f2f2; width:154px" %)(((
1222 AT+PROBE=000A
1223 )))|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 10m type.|(% style="background-color:#f2f2f2" %)OK
1224 |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0064|(% style="background-color:#f2f2f2; width:269px" %)Set water depth sensor mode, 100m type.|(% style="background-color:#f2f2f2" %)OK
1225 |(% 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
1226 |(% style="background-color:#f2f2f2; width:154px" %)AT+PROBE=0000|(% style="background-color:#f2f2f2; width:269px" %)Initial state, no settings.|(% style="background-color:#f2f2f2" %)OK
1227
1228 Downlink Command: 0x08
1229
1230 Format: Command Code (0x08) followed by 2 bytes.
1231
1232 * Example 1: Downlink Payload: 080003  ~-~-->  AT+PROBE=0003
1233 * Example 2: Downlink Payload: 080101  ~-~-->  AT+PROBE=0101
1234
1235 === 3.3.5 Multiple collections are one uplink (Since firmware V1.1) ===
1236
1237
1238 Added AT+STDC command to collect the voltage of VDC_INPUT/IDC_INPUT multiple times and upload it at one time.
1239
1240 AT Command: AT +STDC
1241
1242 AT+STDC=aa,bb,cc
1243
1244 aa:
1245 0: means disable this function and use TDC to send packets.
1246 1: means that the function is enabled to send packets by collecting VDC data for multiple times.
1247 2: means that the function is enabled to send packets by collecting IDC data for multiple times.
1248 bb: Each collection interval (s), the value is 1~~65535
1249 cc: the number of collection times, the value is 1~~120
1250
1251 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1252 |(% 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
1253 |(% 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
1254 OK
1255 |(% 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" %)(((
1256 Attention:Take effect after ATZ
1257 OK
1258 )))
1259 |(% style="background-color:#f2f2f2; width:160px" %)AT+STDC=0, 0,0|(% style="background-color:#f2f2f2; width:215px" %)(((
1260
1261
1262 Use the TDC interval to send packets.(default)
1263
1264
1265 )))|(% style="background-color:#f2f2f2" %)(((
1266 Attention:Take effect after ATZ
1267 OK
1268 )))
1269
1270 Downlink Command: 0xAE
1271
1272 Format: Command Code (0xAE) followed by 4 bytes.
1273
1274 * Example 1: Downlink Payload: AE 01 02 58 12 ~-~-->  AT+STDC=1,600,18
1275
1276 == 3.4 Print data entries base on page(Since v1.1.0) ==
1277
1278
1279 Feature: Print the sector data from start page to stop page (max is 416 pages).
1280
1281 (% style="color:#4f81bd" %)**AT Command: AT+PDTA**
1282
1283 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1284 |(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function**
1285 |(% style="width:156px" %)(((
1286 AT+PDTA=1,1
1287 Print page 1 to 1
1288 )))|(% style="width:311px" %)(((
1289 Stop Tx events when read sensor data
1290
1291 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
1292
1293 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
1294
1295 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
1296
1297 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
1298
1299 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
1300
1301 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
1302
1303 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
1304
1305 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
1306
1307 Start Tx events
1308
1309
1310 OK
1311 )))
1312
1313 (% style="color:#4f81bd" %)**Downlink Command:**
1314
1315 No downlink commands for feature
1316
1317
1318 == 3.5 Print last few data entries(Since v1.1.0) ==
1319
1320
1321 Feature: Print the last few data entries
1322
1323
1324 (% style="color:#4f81bd" %)**AT Command: AT+PLDTA**
1325
1326 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
1327 |(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function**
1328 |(% style="width:156px" %)(((
1329 AT+PLDTA=10
1330 Print last 10 entries
1331 )))|(% style="width:311px" %)(((
1332 Stop Tx events when read sensor data
1333
1334 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
1335
1336 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
1337
1338 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
1339
1340 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
1341
1342 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
1343
1344 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
1345
1346 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
1347
1348 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
1349
1350 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
1351
1352 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
1353
1354 Start Tx events
1355
1356 OK
1357 )))
1358
1359 (% style="color:#4f81bd" %)**Downlink Command:**
1360
1361 No downlink commands for feature
1362
1363
1364 == 3.6 Clear Flash Record(Since v1.1.0) ==
1365
1366
1367 Feature: Clear flash storage for data log feature.
1368
1369 (% style="color:#4f81bd" %)**AT Command: AT+CLRDTA**
1370
1371 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:503px" %)
1372 |(% 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**
1373 |(% style="width:155px" %)AT+CLRDTA |(% style="width:134px" %)Clear date record|(% style="width:209px" %)(((
1374 Clear all stored sensor data…
1375
1376 OK
1377 )))
1378
1379 (% style="color:#4f81bd" %)**Downlink Command: 0xA3**
1380
1381 * Example: 0xA301  ~/~/  Same as AT+CLRDTA
1382
1383 = 4. Battery & Power Consumption =
1384
1385
1386 PS-LB use ER26500 + SPC1520 battery pack and PS-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace.
1387
1388 [[Battery Info & Power Consumption Analyze>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1389
1390
1391 = 5. OTA firmware update =
1392
1393
1394 Please see this link for how to do OTA firmware update: [[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/]]
1395
1396
1397 = 6. FAQ =
1398
1399 == 6.1 How to use AT Command via UART to access device? ==
1400
1401
1402 See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]
1403
1404
1405 == 6.2 How to update firmware via UART port? ==
1406
1407
1408 See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]
1409
1410
1411 == 6.3 How to change the LoRa Frequency Bands/Region? ==
1412
1413
1414 You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]].
1415 When downloading the images, choose the required image file for download. ​
1416
1417
1418 == 6.4 How to measure the depth of other liquids other than water? ==
1419
1420
1421 Test the current values at the depth of different liquids and convert them to a linear scale.
1422 Replace its ratio with the ratio of water to current in the decoder.
1423
1424 Example:
1425
1426 Measure the corresponding current of the sensor when the liquid depth is 2.04m and 0.51m.
1427
1428 Calculate scale factor:
1429 Use these two data to calculate the current and depth scaling factors:(7.888-5.035)/(2.04-0.51)=1.86470588235294
1430
1431 Calculation formula:
1432
1433 Use the calibration formula:(Current current - Minimum calibration current)/Scale factor + Minimum actual calibration height
1434
1435 Actual calculations:
1436
1437 Use this formula to calculate the value corresponding to the current at a depth of 1.5 meters: (6.918-5.035)/1.86470588235294+0.51=1.519810726
1438
1439 Error:
1440
1441 0.009810726
1442
1443
1444 [[image:image-20240329175044-1.png]]
1445
1446
1447 == 6.5 Cable & Probe Material Compatibility(Immersion type) ==
1448
1449
1450 Since the installation method of immersion sensors requires immersion in a liquid environment, the discussion of liquids that can be safely installed is very important.
1451
1452 (% style="color:blue" %)**The material of the immersed part of the immersion sensor:**
1453
1454 * **Cable Jacket**: Black polyurethane (PU) – Resistant to water, oils, and mild chemicals.
1455 * **Probe Material**: 316 stainless steel – Corrosion-resistant in most industrial/marine environments.
1456
1457 (% style="color:blue" %)**Chemical Compatibility:**
1458
1459 * **Polyurethane (PU) Cable:** Resists water, oils, fuels, and mild chemicals but may degrade with prolonged exposure to strong acids, bases, or solvents (e.g., acetone, chlorinated hydrocarbons).
1460 * 3**16 Stainless Steel Probe:** Suitable for water, seawater, mild acids/alkalis, and industrial fluids. Avoid highly concentrated acids (e.g., hydrochloric acid) or chlorides at high temperatures.
1461
1462 **Chemical Resistance Chart for Polyurethane (PU) Cable**
1463
1464 [[image:image-20250603171424-1.png||height="429" width="625"]]
1465
1466 **Chemical Resistance Chart for 316 Stainless Steel Probe**
1467
1468 [[image:image-20250603171503-2.png||height="350" width="616"]]
1469
1470
1471 = 7. Troubleshooting =
1472
1473 == 7.1 Water Depth Always shows 0 in payload ==
1474
1475
1476 If your device's IDC_intput_mA is normal, but your reading always shows 0, please refer to the following points:
1477
1478 ~1. Please set it to mod1
1479
1480 2. Please set the command [[AT+PROBE>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/PS-LB%20--%20LoRaWAN%20Pressure%20Sensor/#H3.3.4SettheProbeModel]] according to the model of your sensor
1481
1482 3. Check the connection status of the sensor
1483
1484
1485 = 8. Order Info =
1486
1487 == 8.1 Thread Installation Type & Immersion Type Pressure Sensor ==
1488
1489
1490 Part Number: (% style="color:blue" %)**PS-NB/NS-Txx-YY  or  PS-NB/NS-Ixx-YY**
1491
1492 (% style="color:blue" %)**XX:**(%%)** Pressure Range and Thread Type **
1493
1494 (% style="color:blue" %)**YY:**(%%)** The default frequency band**
1495
1496 * YY: Frequency Bands, options: EU433,CN470,EU868,IN865,KR920,AS923,AU915,US915
1497
1498 [[image:image-20241021093209-1.png]]
1499
1500
1501 == 8.2 Wireless Differential Air Pressure Sensor ==
1502
1503
1504 Part Number: (% style="color:blue" %)**PS-LB-Dxx-YY  or  PS-LS-Dxx-YY **
1505
1506 (% style="color:blue" %)**XX:**(%%)** Differential Pressure Range**
1507
1508 (% style="color:blue" %)**YY:**(%%)** The default frequency band**
1509
1510 * YY: Frequency Bands, options: EU433,CN470,EU868,IN865,KR920,AS923,AU915,US915
1511
1512 [[image:image-20250401174215-1.png||height="486" width="656"]]
1513
1514
1515 = 9. ​Packing Info =
1516
1517
1518 Package Includes:
1519
1520 * PS-LB/LS-Txx/Ixx, PS-LB/LS-Dxx   LoRaWAN Pressure Sensor
1521
1522 Dimension and weight:
1523
1524 * Device Size: cm
1525 * Device Weight: g
1526 * Package Size / pcs : cm
1527 * Weight / pcs : g
1528
1529 = 10. Support =
1530
1531
1532 * 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.
1533
1534 * 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]].