Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20240705094013-3.png]]
3
4
5
6
7
8 (% _mstvisible="1" %)
9 (% _msthash="315238" _msttexthash="18964465" _mstvisible="3" %)**Table of Contents:**
10
11 {{toc/}}
12
13
14
15
16
17
18
19
20 = 1.  Introduction =
21
22 == 1.1  What is the PB01 LoRaWAN Push Button? ==
23
24
25 The **PB01 LoRaWAN Push Button** is a wireless LoRaWAN device equipped with a single (% style="color:blue" %)**push button**(%%). When the user presses the button, the PB01 sends an uplink to the LoRaWAN Network Server using the long-range LoRaWAN wireless protocol. Additionally, the PB01 measures (% style="color:blue" %)**environment temperature & humidity**(%%) and periodically uplinks this data to the LoRaWAN Network Server.
26
27 The PB01 is powered by (% style="color:blue" %)**2 x AAA batteries**(%%), allowing it to operate for several years.* Users can easily replace the batteries once they are drained.
28
29 The PB01 also features a built-in speaker that can produce different sounds when the button is pressed or when a reply (downlink) is received from the Network Server. The speaker can be disabled if the user prefers.
30
31 The PB01 is fully compatible with the LoRaWAN v1.0.3 protocol, and works seamlessly with standard LoRaWAN gateways.
32
33 ~* Battery life depends on the frequency of data transmission. Please refer to the [[battery analyzer>>||anchor="H4.2A0PowerConsumptionAnalyze"]] for details.
34
35
36 == 1.2  Features ==
37
38
39 * Wall-mountable
40 * LoRaWAN v1.0.3 protocol, Class A mode
41 * 1 x push button (available in different colors)
42 * Built-in temperature and humidity sensor
43 * Built-in speaker
44 * Frequency bands: CN470, EU433, KR920, US915, EU868, AS923, AU915
45 * AT commands for parameter changes
46 * Remote parameter configuration via LoRaWAN downlink
47 * Firmware upgradable via programming port
48 * Supports 2 x AAA LR03 batteries
49 * IP rating: IP52
50
51 == 1.3  Specification ==
52
53
54 **Built-in Temperature Sensor:**
55
56 * **Resolution**: 0.01 °C
57 * **Accuracy Tolerance**: Typ ±0.2 °C
58 * **Long-Term Drift**: < 0.03 °C/year
59 * **Operating Range**: -10 ~~ 50 °C or -40 ~~ 60 °C (depends on battery type; see [[FAQ>>||anchor="H6.5Whyiseedifferentworkingtemperatureforthedevice3F"]])
60
61 **Built-in Humidity Sensor:**
62
63 * **Resolution**: 0.01 %RH
64 * **Accuracy Tolerance**: Typ ±1.8 %RH
65 * **Long-Term Drift**: < 0.2 %RH/year
66 * **Operating Range**: 0 ~~ 99.0 %RH (no dew)
67
68 == 1.4  Power Consumption ==
69
70
71 PB01 : Idle: 5 uA, Transmit: max 110 mA
72
73
74 == 1.5  Storage & Operation Temperature ==
75
76
77 -10 ~~ 50 °C  or -40 ~~ 60 °C (depends on battery type; see [[FAQ>>||anchor="H6.5Whyiseedifferentworkingtemperatureforthedevice3F"]])
78
79
80 == 1.6  Applications ==
81
82
83 * Smart buildings & home automation
84 * Logistics & supply chain management
85 * Smart metering
86 * Smart agriculture
87 * Smart cities
88 * Smart factories
89
90 = 2.  Operation Mode =
91
92 == 2.1  How It Works? ==
93
94
95 Each PB01 is shipped with registration information that can be used to register and activate the device with a LoRaWAN Network Server using Over-The-Air Activation (OTAA), which is the most secure method for activating an end device on a LoRaWAN Network Server. It also supports Activation-By-Personalization (ABP), but this method is not recommended as it is less secure.
96
97 After registration, if the PB01 is within the LoRaWAN network's coverage area, it can join the network and start transmitting sensor data to the LoRaWAN Network Server. The default uplink interval is **20 minutes**.
98
99
100 == 2.2  How to turn on PB01? ==
101
102
103 (% style="color:red" %)** 1.  Open the enclosure from the bottom.**
104
105 [[image:image-20220621093835-1.png]]
106
107
108 (% style="color:red" %)** 2.  Insert 2 x AAA LR03 batteries to turn on the device.**
109
110 [[image:image-20220621093835-2.png]]
111
112
113 (% style="color:#ff0000" %)** 3. After **(% style="caret-color:#ff0000; color:#ff0000" %)**activating with a LoRaWAN network**(% style="color:#ff0000" %)**, you can re-join/restart the device by long pressing the ACT button as shown in the image below.**
114
115 [[image:image-20220621093835-3.png]]
116
117
118 You can check the [[LED Status>>||anchor="H2.8LEDIndicator"]] to determine the working state of the PB01.
119
120
121 == 2.3  Example to join LoRaWAN network ==
122
123
124 This section shows an example for how to join the [[TheThingsNetwork>>url:https://www.thethingsnetwork.org/]] LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are of similar procedure.
125
126 (% _mstvisible="1" class="wikigeneratedid" %)
127 Assume the LPS8v2 is already set to connect to [[TTN V3 network >>url:https://eu1.cloud.thethings.network/]]. We need to add the PB01 device in TTN V3 portal. 
128
129 [[image:image-20240705094824-4.png]]
130
131 (% style="color:blue" %)**Step 1**(%%):  Create a device in TTN V3 with the OTAA keys from PB01.
132
133 Each PB01 is shipped with a sticker with the default DEV EUI as below:
134
135 [[image:image-20230426083617-1.png||height="294" width="633"]]
136
137
138 Enter these keys in the LoRaWAN Server portal. Below is TTN V3 screen shot:
139
140 Create application.
141
142 choose to create the device manually.
143
144 Add JoinEUI(AppEUI), DevEUI, AppKey.(% style="display:none" %)
145
146 [[image:image-20240507142116-1.png||height="410" width="1138"]](% style="display:none" %) (%%)
147
148
149 [[image:image-20240507142157-2.png||height="559" width="1147"]]
150
151 [[image:image-20240507142401-3.png||height="693" width="1202"]]
152
153 [[image:image-20240507142651-4.png||height="760" width="1190"]]
154
155 **Default mode OTAA**(% style="display:none" %)
156
157
158 (% style="color:blue" %)**Step 2**(%%):  Use ACT button to activate PB01 and it will auto join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and user can see in the panel.
159
160 [[image:image-20240507143104-5.png||height="434" width="1398"]]
161
162
163 == 2.4  Uplink Payload ==
164
165
166 Uplink payloads include two types: Valid Sensor Value and other status / control command.
167
168 * Valid Sensor Value: Use FPORT=2
169 * Other control command: Use FPORT other than 2.
170
171 === 2.4.1  Uplink FPort~=5, Device Status ===
172
173
174 The 'Device Status' uplink is sent by the PB01 as its first uplink after successfully joining a LoRaWAN network. However, you can manually retrieve the device status as an uplink by sending a command as a downlink to the device. The format of the downlink command should be in hexadecimal.
175
176 (% style="color:#4472c4" %)**Downlink:  **(%%)**0x2601 **
177
178 The device uplinks its status via FPort=5, and the payload format is as follows:
179
180 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:370px" %)
181 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)**Size(bytes)(% style="display:none" %) (%%)**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**
182 |(% style="width:99px" %)Value|(% style="width:62px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:82px" %)Frequency Band|(% style="width:85px" %)Sub-band|(% style="width:46px" %)BAT
183
184 The following figure shows the decoded device status payload as displayed on The Things Stack.
185
186 [[image:image-20240507152130-12.png||height="469" width="1366"]](% style="display:none" %)
187
188
189 For example, if the device status uplink includes the payload, [[image:image-20240507152254-13.png||height="26" width="130"]]
190
191
192 (% style="color:#4472c4" %)**Sensor model**(%%): 0x35 - for PB01, this value is 0x35.
193
194 (% style="color:#4472c4" %)**Firmware version**(%%): 0x0100 - value 0x0100 means v1.0.0.
195
196 (% style="color:#4472c4" %)**Frequency band**(%%): 01 - means EU868. The following are the possible values for other frequency bands.
197
198 *0x01: EU868
199
200 *0x02: US915
201
202 *0x03: IN865
203
204 *0x04: AU915
205
206 *0x05: KZ865
207
208 *0x06: RU864
209
210 *0x07: AS923
211
212 *0x08: AS923-1
213
214 *0x09: AS923-2
215
216 *0x0A: AS923-3
217
218 (% style="color:#4472c4" %)**Sub band**(%%): 0xFF - value 0x00 ~~ 0x08 (only for CN470, AU915, US915. Others are 0x00)
219
220 (% style="color:#4472c4" %)**BAT**(%%): 0x 0CDE - represents the battery voltage for PB01. The values 0x0CDE means 3294 mV = 3.294 V
221
222
223 === 2.4.2  Uplink FPort~=2, Real time sensor values ===
224
225
226 The PB01 sends real time sensor values after the Device Status uplink. The device will continue to send this uplink periodically. The default interval is 20 minutes, but it can be changed.
227
228 This type of uplink uses FPort=2 and, by default, is sent every 20 minutes. The default uplink interval [[can be changed>>||anchor="H3.1A0DownlinkCommandSet"]] using AT commands.
229
230 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460px" %)
231 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
232 **Size(bytes)**
233 )))|=(% style="width: 60px;background-color:#4F81BD;color:white" %)2|=(% style="width: 140px;background-color:#4F81BD;color:white" %)(((
234 **1**
235 )))|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
236 **1**
237 )))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)(((
238 **2**
239 )))|=(% style="width: 50px;background-color:#4F81BD;color:white" %)(((
240 **2**
241 )))
242 |(% style="width:97px" %)(((
243 Value
244 )))|(% style="width:39px" %)Battery|(% style="width:39px" %)(((
245 Sound_ACK & Sound_key
246 )))|(% style="width:100px" %)(((
247 (((
248 Alarm
249 )))
250 )))|(% style="width:77px" %)(((
251 (((
252 Temperature
253 )))
254 )))|(% style="width:47px" %)(((
255 Humidity
256 )))
257
258 The following figure shows the decoded real time sensor values payload as displayed on The Things Stack.
259
260 [[image:image-20240507150155-11.png||height="549" width="1261"]]
261
262
263 For example, if the real time sensor values uplink includes the payload (FPort=2):  (% style="background-color:yellow" %)**0C EA 03 01 01 11 02 A8**
264
265
266 ==== (% style="color:blue" %)**Battery:**(%%) ====
267
268 Byte 1 and 2: Check the battery voltage.
269
270 * Example 1: 0x0CEA = 3306mV
271 * Example 2: 0x0D08 = 3336mV
272
273 ==== (% style="color:blue" %)**Sound_ACK & Sound_key:**(%%) ====
274
275 Byte 3: Key sound and ACK sound are enabled by default.
276
277 * Example1: 0x03
278
279 Sound_ACK: (03>>1) & 0x01=1, OPEN.
280
281 **~ ** Sound_key:  03 & 0x01=1, OPEN.
282
283 * Example 2: 0x01
284
285 Sound_ACK: (01>>1) & 0x01=0, CLOSE.
286
287 **~ ** Sound_key:  01 & 0x01=1, OPEN.
288
289
290 ==== (% style="color:blue" %)**Alarm:**(%%) ====
291
292 Byte 4: Key alarm.
293
294 * Example 1: 0x01 & 0x01=1, TRUE.
295 * Example 2: 0x00 & 0x01=0, FALSE.
296
297 ==== (% style="color:blue" %)**Temperature:**(%%) ====
298
299 Byte 5 and 6: Temperature.
300
301 * Example 1: 0x0111/10=27.3℃
302 * Example 2: (0xFF0D-65536)/10=-24.3℃
303
304 If payload is: FF0D :  (FF0D & 8000 == 1) , temp = (FF0D - 65536)/100 =-24.3℃
305
306 (FF0D & 8000:Check whether the highest bit is 1. If the highest bit is 1, the value is negative)
307
308
309 ==== (% style="color:blue" %)**Humidity:**(%%) ====
310
311 Byte 7 and 8: Humidity
312
313 * Humidity: 0x02A8/10=68.0%
314
315 === 2.4.3  Uplink FPort~=3, Datalog sensor value ===
316
317
318 PB01 stores sensor values, and you can retrieve these historical values via a downlink command. The Datalog sensor values are sent via FPort=3.
319
320 [[image:image-20240510144912-1.png||height="471" width="1178"]](% style="display:none" %)
321
322
323 Each data entry is 11 bytes. To save airtime and battery, the maximum payload size is depending on the current Date Rate and the frequency band.(% style="display:none" %) (%%) For example, in US915 band, the maximum payload for different DR is as follows:
324
325 1. **DR0**: maximum payload is 11 bytes. The device will uplink one entry of data.
326 1. **DR1**: maximum payload is 53 bytes. The device will upload 4 entries of data (total of 44 bytes)
327 1. **DR2**: A payload includes 11 entries of data
328 1. **DR3**: A payload includes 22 entries of data.
329
330 (% style="color:red" %)**Note: The PB01 will save 178 sets of historical data. If the device doesn't have any data during the polling time, it will uplink 11 bytes of 0s.**
331
332 See [[Datalog feature>>||anchor="H2.6A0DatalogFeature"]] for more information.
333
334 (% style="display:none" %) (%%)
335
336 === 2.4.4  Decoder in TTN V3 ===
337
338
339 In the LoRaWAN protocol, the uplink payload uses HEX format to store data. You need to add a payload formatter or decoder in the LoRaWAN server to extract each field and convert them into readable values.
340
341 The following figure shows how to add the uplink payload formatter in The Things Stack. The uplink decoder for PB01 can be found here:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
342
343 [[image:image-20240507162814-16.png||height="778" width="1135"]]
344
345 (((
346
347 )))
348
349 == 2.5 Show data on Datacake ==
350
351
352 (((
353 Datacake IoT platform provides a human friendly interface to show the sensor data in charts, once we have sensor data in TTN V3, we can use Datacake to connect to TTN V3 and see the data in Datacake. Below are the steps:
354 )))
355
356 (((
357
358 )))
359
360 (((
361 (% style="color:blue" %)**Step 1**(%%):  Be sure that your device is programmed and properly connected to the LoRaWAN network.
362 )))
363
364 (((
365 (% style="color:blue" %)**Step 2**(%%):  Configure your Application to forward data to Datacake you will need to add integration. Go to TTN V3 Console ~-~-> Applications ~-~-> Integrations ~-~-> Add Integrations.
366 )))
367
368 (((
369 ~1. Add Datacake:
370 )))
371
372 (((
373 2. Select default key as Access Key:
374 )))
375
376 (((
377 3. In Datacake console ([[https:~~/~~/datacake.co/>>url:https://datacake.co/]]) , add PB01:
378 )))
379
380 (((
381 Please refer to the figure below.
382 )))
383
384 [[image:image-20240510150924-2.png||height="612" width="1186"]]
385
386
387 Log in to DATACAKE, copy the API under the account.
388
389 [[image:image-20240510151944-3.png||height="581" width="1191"]]
390
391
392
393 [[image:image-20240510152150-4.png||height="697" width="1188"]]
394
395
396 [[image:image-20240510152300-5.png||height="298" width="1191"]]
397
398
399 [[image:image-20240510152355-6.png||height="782" width="1193"]]
400
401 [[image:image-20240510152542-8.png||height="545" width="739"]]
402
403 [[image:image-20240510152634-9.png||height="748" width="740"]]
404
405
406 [[image:image-20240510152809-10.png||height="607" width="732"]]
407
408 [[image:image-20240510153934-14.png||height="460" width="1199"]]
409
410
411 [[image:image-20240510153435-12.png||height="428" width="1197"]]
412
413
414 Copy and paste the [[TTN decoder>>https://github.com/dragino/dragino-end-node-decoder]] here and save.
415
416 [[image:image-20240510153624-13.png||height="468" width="1195"]]
417
418
419 Visual widgets please read the DATACAKE documentation.
420
421 (% style="display:none" %) (%%)
422
423 == 2.6  Datalog Feature ==
424
425
426 (% _msthash="315262" _msttexthash="32283004" _mstvisible="1" %)
427 To retrieve a sensor value, you can send a poll command from the network server to request the sensor to send the value within the required time period.
428
429
430 === 2.6.1  Unix Timestamp ===
431
432
433 The Unix timestamp indicates the sampling time of the uplink payload, based on the following format:
434
435 [[image:image-20220523001219-11.png||_mstalt="450450" _mstvisible="3" height="97" width="627"]]
436
437 You can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/||_mstvisible="3"]] :
438
439 For example, if the Unix timestamp is in HEX format as 0x60137afd, you can convert it to decimal: 1611889405, and then convert it to the time: 2021-Jan-29, Friday, 03:03:25 (GMT).
440
441
442 [[image:1655782409139-256.png]]
443
444
445 === 2.6.2  Poll sensor value ===
446
447
448 (((
449 You can poll sensor values based on timestamps from the server. The start and end timestamps use the Unix timestamp format as mentioned above. The device will reply with all data logs from this time period, using the uplink interval.
450 )))
451
452 (((
453 For example, if the downlink command is: [[image:image-20220621113526-13.png]] (% _mstvisible="3" style="display:none" %)
454 )))
455
456 (((
457 **0x31 **: Prefix
458
459 **0x5FC5F350** and **0x5FC60160 **: This is equivalent to checking the stored data between **2020/12/1 07:40:00** and **2020/12/1 08:40:00**.
460
461 **0x05 **: The uplink interval is 5 seconds, which means the PB01 will send one packet every 5 seconds. The uplink interval can be mentioned in the downlink payload with a range of 5 to 255 seconds.
462 )))
463
464
465 === 2.6.3  Datalog Uplink payload ===
466
467
468 See [[Uplink FPort=3, Datalog sensor value>>||anchor="H2.4.3A0UplinkFPort3D32CDatalogsensorvalue"]]
469
470 (% style="display:none" %) (%%) (% style="display:none" %)
471
472 == 2.7 Buttons ==
473
474
475 * **ACT button**
476
477 Long press this button, and the PB01 will reset and rejoin the network.
478
479 [[image:image-20240510161626-17.png||height="192" width="224"]]
480
481
482 * **Alarm button**
483
484 Press this button to immediately send an uplink, and the alarm will be set to 'TRUE'.
485
486 [[image:image-20240705095149-5.png||height="164" width="162"]](% style="display:none" %)
487
488
489 == 2.8 LED Indicators ==
490
491
492 (((
493 The PB01 has a single LED that displays different colors to indicate various stages:
494
495 1. **Hold the ACT button:** The LED will light up GREEN. GREEN flashing indicates the node is restarting. A BLUE flash signals a request for network access, and a solid GREEN light for 5 seconds signifies successful network access.
496 1. (((
497 **Normal Working State:**
498
499 * When the node restarts, hold the ACT button, and the LED will turn GREEN. GREEN flashing indicates a restart. A BLUE flash signals a request for network access, and a solid GREEN light for 5 seconds indicates successful network access.
500 )))
501 1. (((
502 **During OTAA Join:**
503
504 * For each Join Request uplink, the LED will blink GREEN once.
505 * Once the join is successful, the LED will remain solid GREEN for 5 seconds.
506 * After joining, for each uplink, the LED will blink either BLUE or GREEN.
507 )))
508 1. (((
509 **Alarm Button:**
510
511 * When the alarm button is pressed, the LED will flash RED until the node receives an acknowledgment (ACK) from the platform, followed by the LED staying BLUE for 5 seconds.
512 )))
513 )))
514
515 (((
516
517 )))
518
519 == 2.9 Buzzer ==
520
521
522 The PB01 produces different sounds or tones for the following events, which can be turned on or off using the [[AT+SOUND>>||anchor="H3.3A0SetbuttonsoundandACKsound"]] command.
523
524 * **Button Sound:** This is the tone produced by the node after the alarm button is pressed. Users can use the [[AT+OPTION>>||anchor="H3.4A0Setbuzzermusictype2807E429"]] command to set different button sounds.
525 * **ACK Sound:** This is the notification tone emitted when the node receives an acknowledgment (ACK).
526
527 = 3.  Configure PB01 via AT command or LoRaWAN downlink =
528
529
530 You can configure PB01 via AT Commands or LoRaWAN Downlinks.
531
532 * See [[FAQ>>||anchor="H6.FAQ"]] to find out how to connect PB01 with a computer to configure it using AT commands.
533
534 * LoRaWAN Downlink instruction for different platforms can be found at: [[IoT LoRaWAN Server>>doc:Main.WebHome]]
535
536 (% style="display:none" %)
537
538 There are two types of commands to configure the PB01:
539
540 1. (((
541 **General Commands:**
542 These commands are used to configure:
543
544 * General system settings, such as the uplink interval.
545 * LoRaWAN protocol and radio-related parameters.
546
547 These commands are the same for all Dragino devices that support the DLWS-005 LoRaWAN stack (Note~*~*). You can find these commands on the wiki: [[End Device Downlink Command>>path:#]].
548 )))
549 1. **Commands Specifically Designed for PB01:**
550 These commands are valid only for the PB01, as listed below (see Downlink Commands):
551
552 == 3.1  Downlink Commands ==
553
554
555 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
556 |=(% style="width: 130px; background-color: rgb(79, 129, 189); color: white;" %)**Command Example**|=(% style="width: 150px; background-color: rgb(79, 129, 189); color: white;" %)**Function**|=(% style="width: 90px; background-color: rgb(79, 129, 189); color: white;" %)**Response**|=(% style="width: 140px; background-color: rgb(79, 129, 189); color: white;" %)**Downlink**
557 |(% style="width:130px" %)AT+TDC=?|(% style="width:151px" %)(((
558 Get the current TDC (uplink) time
559 )))|(% style="width:92px" %)(((
560 1200000
561 OK
562 )))|(% style="width:206px" %)Default 1200000(ms)
563 |(% style="width:130px" %)AT+TDC=300000|(% style="width:151px" %)Set the TDC (uplink) time|(% style="width:92px" %)OK|(% style="width:206px" %)(((
564 (((
565 0X0100012C:
566 01: fixed command
567 00012C: 0X00012C=300(seconds)
568 )))
569
570 (((
571
572 )))
573 )))
574 |(% style="width:130px" %)ATZ|(% style="width:151px" %)Reset the node|(% style="width:92px" %) |(% style="width:206px" %)0x04FF
575 |(% style="width:130px" %)AT+FDR|(% style="width:151px" %)Restore to factory settings|(% style="width:92px" %) |(% style="width:206px" %)0X04FE
576 |(% style="width:130px" %)AT+CFM=?|(% style="width:151px" %)View the current confirmation mode status|(% style="width:92px" %)(((
577 0,7,0
578
579 OK
580 )))|(% style="width:206px" %)Default 0,7,0
581 |(% style="width:130px" %)AT+CFM=1,7,1|(% style="width:151px" %)(((
582 Confirmed uplink mode, the maximum number of retries is seven, and uplink fcnt increase by 1 for each retry
583 )))|(% style="width:92px" %)(((
584 OK
585 )))|(% style="width:206px" %)(((
586 05010701
587
588 05: fixed command
589
590 01:confirmed uplink
591
592 07: retry 7 times
593
594 01: fcnt count plus 1
595 )))
596 |(% style="width:130px" %)AT+NJM=?|(% style="width:151px" %)(((
597 Check the current network connection method
598 )))|(% style="width:92px" %)(((
599 1
600 OK
601 )))|(% style="width:206px" %)Default 1
602 |(% style="width:130px" %)AT+NJM=0|(% style="width:151px" %)Change the network connection method to ABP|(% style="width:92px" %)(((
603 Attention:Take effect after ATZ
604 OK
605 )))|(% style="width:206px" %)(((
606 0X2000: ABP
607 0x2001: OTAA
608 20: fixed command
609 )))
610 |(% style="width:130px" %)AT+RPL=?|(% style="width:151px" %)View current RPL settings|(% style="width:92px" %)(((
611 0
612 OK
613 )))|(% style="width:206px" %)Default 0
614 |(% style="width:130px" %)AT+RPL=1|(% style="width:151px" %)set RPL=1    |(% style="width:92px" %)OK|(% style="width:206px" %)(((
615 0x2101:
616 21: fixed command
617 01: for details, check wiki
618 )))
619 |(% style="width:130px" %)AT+ADR=?|(% style="width:151px" %)View current ADR status|(% style="width:92px" %)(((
620 1
621 OK
622 )))|(% style="width:206px" %)Default 0
623 |(% style="width:130px" %)AT+ADR=0|(% style="width:151px" %)Set the ADR state to off|(% style="width:92px" %)OK|(% style="width:206px" %)(((
624 0x2200: close
625 0x2201: open
626 22: fixed command
627 )))
628 |(% style="width:130px" %)AT+DR=?|(% style="width:151px" %)View the current DR settings|(% style="width:92px" %)OK|(% style="width:206px" %)
629 |(% style="width:130px" %)AT+DR=1|(% style="width:151px" %)(((
630 set DR to 1
631 It takes effect only when ADR=0
632 )))|(% style="width:92px" %)OK|(% style="width:206px" %)(((
633 0X22000101:
634 00: ADR=0
635 01: DR=1
636 01: TXP=1
637 22: fixed command
638 )))
639 |(% style="width:130px" %)AT+TXP=?|(% style="width:151px" %)View the current TXP|(% style="width:92px" %)OK|(% style="width:206px" %)
640 |(% style="width:130px" %)AT+TXP=1|(% style="width:151px" %)(((
641 set TXP to 1
642 It takes effect only when ADR=0
643 )))|(% style="width:92px" %)OK|(% style="width:206px" %)(((
644 0X22000101:
645 00: ADR=0
646 01: DR=1
647 01: TXP=1
648 22: fixed command
649 )))
650 |(% style="width:130px" %)AT+RJTDC=10|(% style="width:151px" %)Set RJTDC time interval|(% style="width:92px" %)OK|(% style="width:206px" %)(((
651 0X26000A:
652 26: fixed command
653 000A: 0X000A=10(min)
654 for details, check wiki
655 )))
656 |(% style="width:130px" %) |(% style="width:151px" %)(((
657 (((
658 ~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_
659
660 Retrieve stored data for a specified period of time
661 )))
662
663 (((
664
665 )))
666 )))|(% style="width:92px" %) |(% style="width:206px" %)(((
667 0X3161DE7C7061DE8A800A:
668 31: fixed command
669 61DE7C70:0X61DE7C70=2022/1/12 15:00:00
670 61DE8A80:0X61DE8A80=2022/1/12 16:00:00
671 0A: 0X0A=10(second)
672 View details 2.6.2
673 )))
674 |(% style="width:130px" %)AT+DDETECT=?|(% style="width:151px" %)View the current DDETECT setting status and time|(% style="width:92px" %)(((
675 1,1440,2880
676 OK
677 )))|(% style="width:206px" %)Default 1,1440,2880(min)
678 |(% style="width:130px" %)AT+DDETECT=(((
679 1,1440,2880
680 )))|(% style="width:151px" %)(((
681 Set DDETECT setting status and time
682 ((% style="color:red" %)When the node does not receive the downlink packet within the set time, it will re-enter the network(%%))
683 )))|(% style="width:92px" %)OK|(% style="width:206px" %)(((
684 0X320005A0: close
685 0X320105A0: open
686 32: fixed command
687 05A0: 0X05A0=1440(min)
688 )))
689
690 == 3.2  Set Password ==
691
692
693 **Feature**: Set the device password with a maximum of 9 digits.
694
695
696 (% style="color:#4f81bd" %)**AT command**
697
698 (% border="2" style="width:500px" %)
699 |(% style="width:141px" %)**Command**|(% style="width:357px" %)AT+PWORD
700 |(% style="width:141px" %)**Parameters**|(% style="width:357px" %)password : maximum up to 9 digits
701 |(% style="width:141px" %)**Get**|(% style="width:357px" %)AT+PWORD=?
702 |(% style="width:141px" %)**Response**|(% style="width:357px" %)(((
703 Returns the current password
704
705 OK
706 )))
707 |(% style="width:141px" %)**Set**|(% style="width:357px" %)AT+PWORD=<password>
708 |(% style="width:141px" %)**Response**|(% style="width:357px" %)OK
709 |(% style="width:141px" %)**Example**|(% style="width:357px" %)(((
710 AT+PWORD=999999999
711
712 Set the password 999999999
713 )))
714
715
716 (% style="color:#4f81bd" %)**Downlink command**
717
718 There is no downlink command for this feature.
719
720
721 == 3.3  Set button sound and ACK sound ==
722
723
724 **Feature**: Turn on/off button sound and ACK alarm.
725
726
727 (% style="color:#4f81bd" %)**AT command**
728
729 (% border="2" style="width:500px" %)
730 |(% style="width:143px" %)**Command**|(% style="width:355px" %)AT+SOUND
731 |(% style="width:143px" %)**Parameters**|(% style="width:355px" %)(((
732 **button_sound** :
733
734 **0** - off
735
736 **1** - on
737
738 **ack_sound** :
739
740 **0** - off
741
742 **1** - on
743 )))
744 |(% style="width:143px" %)**Get**|(% style="width:355px" %)AT+SOUND=?
745 |(% style="width:143px" %)**Response**|(% style="width:355px" %)(((
746 Returns the current sound settings. <button_sound>,<ack_sound>
747
748 OK
749 )))
750 |(% style="width:143px" %)**Set**|(% style="width:355px" %)(((
751 AT+SOUND=<button_sound>,<ack_sound>
752 )))
753 |(% style="width:143px" %)**Response**|(% style="width:355px" %)OK
754 |(% style="width:143px" %)**Example**|(% style="width:355px" %)(((
755 AT+SOUND=0,1
756
757 This will turn off the button sound and turn on the ACK sound.
758 )))
759
760
761 (% style="color:#4f81bd" %)**Downlink command**
762
763 (% border="2" style="width:500px" %)
764 |(% style="width:143px" %)**Prefix**|(% style="width:355px" %)0xA1
765 |(% style="width:143px" %)**Parameters**|(% style="width:355px" %)(((
766 **button_sound** : 1 byte in hexadecimal.
767
768 **00** - off
769
770 **01** - on
771
772 **ack_sound** : 1 byte in hexadecimal.
773
774 **00** - off
775
776 **01** - on
777 )))
778 |(% style="width:143px" %)**Payload format**|(% style="width:355px" %)<prefix><button_sound><ack_sound>
779 |(% style="width:143px" %)**Example**|(% style="width:355px" %)(((
780 A10001
781
782 Turn off the button sound and turn on ACK sound.
783 )))
784
785 == 3.4  Set buzzer music type(0~~4) ==
786
787
788 Feature: Set different alarm key response sounds.There are five different types of button music.
789
790 (% style="color:#4f81bd" %)**AT Command: AT+OPTION**
791
792 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:372px" %)
793 |(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response**
794 |(% style="width:155px" %)(((
795 AT+OPTION=?
796 )))|(% style="width:124px" %)(((
797 Get the buzzer music type
798 )))|(% style="width:86px" %)(((
799 3
800
801 OK
802 )))
803 |(% style="width:155px" %)AT+OPTION=1|(% style="width:124px" %)Set the buzzer music to type 1|(% style="width:86px" %)OK
804
805 (% style="color:#4f81bd" %)**Downlink Command: 0xA3**
806
807 Format: Command Code (0xA3) followed by 1 byte mode value.
808
809 * **Example: **Downlink Payload: A300  ~/~/ Set AT+OPTION=0  Set the buzzer music to type 0.
810
811 == 3.5  Set Valid Push Time ==
812
813
814 Feature: Set the holding time for pressing the alarm button to avoid miscontact. Values range from** 0 ~~1000ms**.
815
816 (% style="color:#4f81bd" %)**AT Command: AT+STIME**
817
818 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:372px" %)
819 |(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response**
820 |(% style="width:155px" %)(((
821 AT+STIME=?
822 )))|(% style="width:124px" %)(((
823 Get the button sound time
824 )))|(% style="width:86px" %)(((
825 0
826 OK
827 )))
828 |(% style="width:155px" %)(((
829 AT+STIME=1000
830 )))|(% style="width:124px" %)Set the button sound time to 1000**ms**|(% style="width:86px" %)OK
831
832 (% style="color:#4f81bd" %)**Downlink Command: 0xA2**
833
834 Format: Command Code (0xA2) followed by 2 bytes mode value.
835
836 * **Example: **Downlink Payload: A203E8  ~/~/ Set AT+STIME=1000  
837
838 **~ Explain: **Hold the alarm button for 10 seconds before the node will send the alarm packet.
839
840
841
842 = 4.  Battery =
843
844
845 PB01 uses 2xAAA LR03 (1.5V) batteries.
846
847
848 == 4.1  Replacing batteries ==
849
850
851 If the batteries are running low (if the battery voltage drops to 2.1V), you can use any two generic AAA batteries to replace them.
852
853 (% style="color:red" %)**Note: **
854
855 1. The PB01 doesn't have any screws; you can use a nail to open the battery cover.
856
857 [[image:image-20220621143535-5.png]]
858
859
860 2. Make sure the direction is correct when installing the AAA batteries.
861
862 [[image:image-20220621143535-6.png]]
863
864
865 == 4.2  Power Consumption Analysis ==
866
867
868 Dragino's battery-powered products all operate in Low Power mode. We provide an updated battery calculator based on real device measurements. You can use this calculator to estimate battery life and calculate it for different transmission intervals.
869
870 **Instructions for use:**
871
872 **Step 1:** Download the latest version of the **DRAGINO_Battery_Life_Prediction_Table.xlsx** from the [[battery calculator>>https://www.dropbox.com/sh/sxrgszkac4ips0q/AAA4XjBI3HAHNpdbU3ALN1j0a/Battery%20Document/Battery_Analyze?dl=0&subfolder_nav_tracking=1]].
873
874 **Step 2:** Open the file and select:
875
876 * Product Model
877 * Uplink Interval
878 * Working Mode
879
880 The expected battery life for different scenarios will be displayed on the right.
881
882
883 [[image:image-20220621143643-7.png||height="429" width="1326"]]
884
885
886 = 5.  Accessories =
887
888
889 * (((
890 **AS-02 USB Type-C Converter**
891
892 The AS-02 is an optional accessory. It is a USB Type-C converter that provides access to the AT console of the PB01 when used with a USB-TTL adapter. For more details, see this [[link>>||anchor="H6.1HowtouseATCommandtoconfigurePB01"]].
893 )))
894
895
896 [[image:image-20220621141724-3.png]]
897
898
899 = 6. FAQ =
900
901 == 6.1 How to use AT Commands to configure PB01 ==
902
903
904 PB01 supports the AT Command set. Users can use a USB-to-TTL adapter along with the AS-02 USB Type-C converter to connect to the PB01 and issue AT commands, as shown below.
905
906 [[image:image-20240511085914-1.png||height="570" width="602"]]
907
908
909 **Connection:**
910
911 * (% style="background-color:yellow" %)USB to TTL GND <~-~-> Program Converter GND pin
912 * (% style="background-color:yellow" %)USB to TTL RXD  <~-~-> Program Converter D+ pin
913 * (% style="background-color:yellow" %)USB to TTL TXD  <~-~-> Program Converter A11 pin
914
915 (((
916
917 )))
918
919 (((
920 On the PC, you need to set the serial tool (such as [[PuTTY>>https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to **9600** to access the serial console for the PB01. The AT commands are disabled by default, and you need to enter the password (default: **123456**) to activate them. The timeout for entering AT commands is 5 minutes; after 5 minutes, the user will need to enter the password again.
921
922 Enter the password 123456 and type "ATZ" to reboot the PB01, as shown below:
923 )))
924
925 [[image:image-20240510174509-18.png||height="572" width="791"]]
926
927
928 == 6.2  AT Commands ==
929
930
931 (((
932 * Sending "ATZ" will reboot the device.
933 * Sending "AT+FDR" will restore the device to factory settings.
934 * Get the device's AT command settings by sending "AT+CFG." The following is the output after issuing the AT+CFG command.
935 )))
936
937 (((
938
939 )))
940
941 (((
942 **Sample output:**                                           
943 )))
944
945 (((
946 AT+DEUI=FA 23 45 55 55 55 55 51
947
948 AT+APPEUI=FF AA 23 45 42 42 41 11
949
950 AT+APPKEY=AC D7 35 81 63 3C B6 05 F5 69 44 99 C1 12 BA 95
951
952 AT+DADDR=FFFFFFFF
953
954 AT+APPSKEY=FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
955
956 AT+NWKSKEY=FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
957
958 AT+ADR=1
959
960 AT+TXP=7
961
962 AT+DR=5
963
964 AT+DCS=0
965
966 AT+PNM=1
967
968 AT+RX2FQ=869525000
969
970 AT+RX2DR=0
971
972 AT+RX1DL=5000
973
974 AT+RX2DL=6000
975
976 AT+JN1DL=5000
977
978 AT+JN2DL=6000
979
980 AT+NJM=1
981
982 AT+NWKID=00 00 00 13
983
984 AT+FCU=61
985
986 AT+FCD=11
987
988 AT+CLASS=A
989
990 AT+NJS=1
991
992 AT+RECVB=0:
993
994 AT+RECV=
995
996 AT+VER=EU868 v1.0.0
997
998 AT+CFM=0,7,0
999
1000 AT+SNR=0
1001
1002 AT+RSSI=0
1003
1004 AT+TDC=1200000
1005
1006 AT+PORT=2
1007
1008 AT+PWORD=123456
1009
1010 AT+CHS=0
1011
1012 AT+RX1WTO=24
1013
1014 AT+RX2WTO=6
1015
1016 AT+DECRYPT=0
1017
1018 AT+RJTDC=20
1019
1020 AT+RPL=0
1021
1022 AT+TIMESTAMP=systime= 2024/5/11 01:10:58 (1715389858)
1023
1024 AT+LEAPSEC=18
1025
1026 AT+SYNCMOD=1
1027
1028 AT+SYNCTDC=10
1029
1030 AT+SLEEP=0
1031
1032 AT+ATDC=1
1033
1034 AT+UUID=003C0C53013259E0
1035
1036 AT+DDETECT=1,1440,2880
1037
1038 AT+SETMAXNBTRANS=1,0
1039
1040 AT+DISFCNTCHECK=0
1041
1042 AT+DISMACANS=0
1043
1044 AT+PNACKMD=0
1045
1046 AT+SOUND=0,0
1047
1048 AT+STIME=0
1049
1050 AT+OPTION=3
1051
1052
1053 )))
1054
1055 (((
1056 **Example:**
1057 )))
1058
1059 [[image:image-20240511091518-2.png||height="601" width="836"]]
1060
1061
1062 == 6.3  How to upgrade the firmware? ==
1063
1064
1065 PB01 requires a USB-to-TTL adapter along with the AS-02 USB Type-C converter to upload a new firmware image to PB01: Upgrading the device firmware,
1066
1067 * supports new features
1068 * fixes bugs
1069 * allows change the LoRaWAN frequency bands.
1070
1071 The PB01 is shipped with firmware preloaded. The firmware is divided into a bootloader and a work program.
1072
1073 If the bootloader is erased for any reason, you will need to download the firmware (which includes both the bootloader and the work program).
1074
1075 The latest firmware version for the PB01 can be downloaded from this link: [[firmware>>url:https://www.dropbox.com/scl/fo/y7pvm58wcr8319d5o4ujr/APZtqlbzRCNbHoPWTmmMMWs?rlkey=wfh93x2dhcev3ydn0846rinf0&st=kdp6lg7t&dl=0]]
1076
1077
1078 === 6.3.1 Update firmware (Assume device have bootloader) ===
1079
1080
1081 Follow the steps below only if the firmware needs to be updated and the bootloader of your device is not corrupted and is working properly.
1082
1083
1084 (% style="color:blue" %)**Step 1**(%%):** Connect UART as per FAQ 6.1**
1085
1086 (% style="color:blue" %)**Step 2**(%%):** Update follow [[Instruction for update via DraginoSensorManagerUtility.exe>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H3.2.1UpdateafirmwareviaDraginoSensorManagerUtility.exe]]. **
1087
1088
1089 === 6.3.2 Update firmware (Assume device doesn't have bootloader) ===
1090
1091
1092 Follow the steps below if the firmware needs to be updated along with the bootloader. This method is required if the bootloader of your device is corrupted.
1093
1094
1095 Download both the bootloader and the worker program. After updating the firmware, the device will have the bootloader installed, allowing you to use the above 6.3.1 method to update the worker program.
1096
1097
1098 (% style="color:blue" %)**Step 1**(%%):** **Install [[TremoProgrammer>>url:https://www.dropbox.com/scl/fo/gk1rb5pnnjw4kv5m5cs0z/h?rlkey=906ouvgbvif721f9bj795vfrh&dl=0]]  first.
1099
1100 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220615170542-5.png?rev=1.1||alt="image-20220615170542-5.png"]]
1101
1102 (% style="color:blue" %)**Step 2**(%%): Hardware Connection
1103
1104 Connect PC and PB01 via USB-TTL adapter .
1105
1106 (% style="color:red" %)**Note: To download firmware in this way, you need to pull the boot pin(Program Converter D- pin) high to enter the burn mode. After burning, disconnect the boot pin of the node and the 3V3 pin of the USB-TTL adapter, and reset the node to exit the burning mode.**
1107
1108 **Connection:**
1109
1110 * (% style="background-color:yellow" %)USB-TTL GND <~-~-> Program Converter GND pin
1111 * (% style="background-color:yellow" %)USB-TTL RXD  <~-~-> Program Converter D+ pin
1112 * (% style="background-color:yellow" %)USB-TTL TXD  <~-~-> Program Converter A11 pin
1113 * (% style="background-color:yellow" %)USB-TTL 3V3 <~-~-> Program Converter D- pin
1114
1115 (% style="color:blue" %)**Step 3**(%%):** **Select the device port to be connected, baud rate and bin file to be downloaded.
1116
1117 [[image:image-20240701160913-1.png]]
1118
1119 Users need to reset the node to start downloading the program.
1120 ~1. Reinstall the battery to reset the node
1121 2. Hold down the ACT button to reset the node (see [[2.7>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/PB01--LoRaWAN_Button_User_Manual/#H2.7Button]] ).
1122
1123 When this interface appears, it indicates that the download has been completed.
1124
1125 [[image:image-20240701160924-2.png]]
1126
1127 Finally, Disconnect Program Converter D- pin, reset the node again , and the node exits burning mode.
1128
1129
1130 == 6.4  How to change the LoRa Frequency Bands/Region? ==
1131
1132
1133 If you want to change the frequency band/region of your device, the only way is to** upgrade its firmware** to support the desired frequency band/region. When downloading the firmware, ensure you choose the correct image that supports the required frequency band/region.
1134
1135 We have named each firmware file to make it easy for you to identify its frequency band/region. For example, for the **EU868** band, the file name is **eu868.bin.** You can follow the instructions in the section [[how to upgrade image>>||anchor="H6.3A0Howtoupgradethefirmware3F"]] to complete the process.
1136
1137
1138 == 6.5 Why i see different working temperature for the device? ==
1139
1140
1141 The working temperature range of device depends on the battery user choose.
1142
1143 * Normal AAA Battery can support -10 ~~ 50°C working range.
1144 * Special AAA battery can support -40 ~~ 60 °C working range. For example: [[Energizer L92>>https://data.energizer.com/pdfs/l92.pdf]]
1145
1146 = 7. Order Info =
1147
1148 == 7.1  Main Device ==
1149
1150
1151 Part Number: (% style="color:#4472c4" %)PB01-LW-XX(%%) (white button) / (% style="color:#4472c4" %)PB01-LR-XX(%%)(Red Button)
1152
1153 (% style="color:#4472c4" %)**XX **(%%): The default frequency band
1154
1155 * (% style="color:red" %)**AS923**(%%)**: **LoRaWAN AS923 band
1156 * (% style="color:red" %)**AU915**(%%)**: **LoRaWAN AU915 band
1157 * (% style="color:red" %)**EU433**(%%)**: **LoRaWAN EU433 band
1158 * (% style="color:red" %)**EU868**(%%)**:** LoRaWAN EU868 band
1159 * (% style="color:red" %)**KR920**(%%)**: **LoRaWAN KR920 band
1160 * (% style="color:red" %)**US915**(%%)**: **LoRaWAN US915 band
1161 * (% style="color:red" %)**IN865**(%%)**:  **LoRaWAN IN865 band
1162 * (% style="color:red" %)**CN470**(%%)**: **LoRaWAN CN470 band
1163
1164 = 7. Packing Info =
1165
1166
1167 **Package Includes**:
1168
1169 * PB01 LoRaWAN Push Button x 1
1170
1171 = 8. Support =
1172
1173
1174 * 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.
1175 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]].
1176
1177 = 9.  Reference material =
1178
1179
1180 * [[Datasheet, photos, decoder, firmware>>https://www.dropbox.com/scl/fo/y7pvm58wcr8319d5o4ujr/APZtqlbzRCNbHoPWTmmMMWs?rlkey=wfh93x2dhcev3ydn0846rinf0&st=kdp6lg7t&dl=0]]
1181
1182 = 10. FCC Warning =
1183
1184
1185 This device complies with part 15 of the FCC Rules.Operation is subject to the following two conditions:
1186
1187 (1) This device may not cause harmful interference;
1188
1189 (2) this device must accept any interference received,including interference that may cause undesired operation.
1190
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0