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