Version 129.2 by Xiaoling on 2025/04/19 16:27

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