Last modified by Xiaoling on 2025/04/01 18:19

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