Wiki source code of DS03A-NB -- NB-IoT Door Sensor User Manual
Version 135.1 by Mengting Qiu on 2024/03/16 15:09
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
84.2 | 1 | (% style="text-align:center" %) |
![]() |
106.2 | 2 | [[image:image-20231011093014-5.png]] |
![]() |
1.1 | 3 | |
4 | |||
![]() |
85.2 | 5 | |
6 | |||
![]() |
82.23 | 7 | **Table of Contents:** |
![]() |
30.1 | 8 | |
![]() |
1.1 | 9 | {{toc/}} |
10 | |||
11 | |||
12 | |||
13 | |||
14 | |||
15 | |||
![]() |
31.1 | 16 | = 1. Introduction = |
![]() |
1.1 | 17 | |
![]() |
107.2 | 18 | == 1.1 What is DS03A-NB NB-IoT Door Sensor == |
![]() |
1.1 | 19 | |
![]() |
39.6 | 20 | |
![]() |
107.3 | 21 | The Dragino DS03A-NB is a (% style="color:blue" %) **NB-IoT Door Sensor**(%%) for Internet of Things solution. It (% style="color:blue" %)**detects door open/close status**(%%) and uplinks to IoT server via NB-IoT network. user can see the door status, open duration, open counts in the IoT Server. |
![]() |
1.1 | 22 | |
![]() |
107.2 | 23 | The DS03A-NB will send periodically data every 2 hours as well as for each door open/close action. It also counts the door open times and calculates the last door open duration. Users can also disable the uplink for each open/close event, instead, DS03A-NB can count each open event and uplink periodically. |
![]() |
1.1 | 24 | |
![]() |
107.10 | 25 | DS03A-NB supports (% style="color:blue" %)**Datalog Feature,** (%%)it can save the data when there is no NB-IoT network and uplink when network recover. |
![]() |
1.1 | 26 | |
![]() |
107.10 | 27 | DS03A-NB has the (% style="color:blue" %)**Open Alarm Feature**,(%%) user can set this feature so the device will send an alarm if the door has been open for a certain time. |
![]() |
107.2 | 28 | |
![]() |
107.10 | 29 | DS03A-NB is designed for outdoor use. It has a weatherproof enclosure and industrial level battery to work in low to high temperatures |
![]() |
107.2 | 30 | |
![]() |
107.10 | 31 | DS03A-NB supports different uplink methods including (% style="color:blue" %)**MQTT, MQTTs, UDP & TCP**(%%) for different application requirement, and support uplinks to various IoT Servers. |
![]() |
1.1 | 32 | |
![]() |
107.10 | 33 | DS03A-NB (% style="color:blue" %)**supports BLE configure **(%%)and(% style="color:blue" %)** OTA update**(%%) which make user easy to use. |
![]() |
1.1 | 34 | |
![]() |
107.10 | 35 | DS03A-NB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long-term use up to several years. |
![]() |
1.1 | 36 | |
![]() |
107.10 | 37 | DS03A-NB has optional built-in SIM card and default IoT server connection version. Which makes it works with simple configuration. |
![]() |
100.3 | 38 | |
![]() |
107.2 | 39 | [[image:image-20231011093807-6.png||height="278" width="879"]] |
![]() |
124.4 | 40 | |
![]() |
1.1 | 41 | |
42 | == 1.2 Features == | ||
43 | |||
![]() |
39.6 | 44 | |
![]() |
70.3 | 45 | * NB-IoT Bands: B1/B2/B3/B4/B5/B8/B12/B13/B17/B18/B19/B20/B25/B28/B66/B70/B85 @H-FDD |
![]() |
1.1 | 46 | * Ultra-low power consumption |
![]() |
107.4 | 47 | * Door Open/Close detect |
48 | * Door open/close statistics | ||
49 | * Datalog Feature | ||
50 | * Open Alarm Feature | ||
![]() |
70.3 | 51 | * Multiply Sampling and one uplink |
52 | * Support Bluetooth v5.1 remote configure and update firmware | ||
![]() |
1.1 | 53 | * Uplink on periodically |
54 | * Downlink to change configure | ||
55 | * 8500mAh Battery for long term use | ||
![]() |
70.3 | 56 | * Nano SIM card slot for NB-IoT SIM |
![]() |
124.5 | 57 | (% style="display:none" %) (%%) |
![]() |
1.1 | 58 | |
59 | == 1.3 Specification == | ||
60 | |||
61 | |||
![]() |
82.28 | 62 | (% style="color:blue" %)**Common DC Characteristics:** |
![]() |
1.1 | 63 | |
![]() |
84.4 | 64 | * Supply Voltage: 2.5v ~~ 3.6v |
![]() |
1.1 | 65 | * Operating Temperature: -40 ~~ 85°C |
66 | |||
![]() |
82.28 | 67 | (% style="color:blue" %)**NB-IoT Spec:** |
![]() |
1.1 | 68 | |
![]() |
82.28 | 69 | (% style="color:#037691" %)**NB-IoT Module: BC660K-GL** |
![]() |
1.1 | 70 | |
![]() |
82.29 | 71 | (% style="color:#037691" %)**Support Bands:** |
![]() |
70.4 | 72 | |
73 | * B1 @H-FDD: 2100MHz | ||
74 | * B2 @H-FDD: 1900MHz | ||
75 | * B3 @H-FDD: 1800MHz | ||
76 | * B4 @H-FDD: 2100MHz | ||
77 | * B5 @H-FDD: 860MHz | ||
78 | * B8 @H-FDD: 900MHz | ||
79 | * B12 @H-FDD: 720MHz | ||
80 | * B13 @H-FDD: 740MHz | ||
81 | * B17 @H-FDD: 730MHz | ||
82 | * B18 @H-FDD: 870MHz | ||
83 | * B19 @H-FDD: 870MHz | ||
84 | * B20 @H-FDD: 790MHz | ||
85 | * B25 @H-FDD: 1900MHz | ||
86 | * B28 @H-FDD: 750MHz | ||
87 | * B66 @H-FDD: 2000MHz | ||
88 | * B70 @H-FDD: 2000MHz | ||
89 | * B85 @H-FDD: 700MHz | ||
90 | |||
![]() |
82.28 | 91 | (% style="color:blue" %)**Battery:** |
![]() |
1.1 | 92 | |
93 | * Li/SOCI2 un-chargeable battery | ||
94 | * Capacity: 8500mAh | ||
![]() |
70.5 | 95 | * Self Discharge: <1% / Year @ 25°C |
![]() |
1.1 | 96 | * Max continuously current: 130mA |
97 | * Max boost current: 2A, 1 second | ||
98 | |||
![]() |
82.28 | 99 | (% style="color:blue" %)**Power Consumption** |
![]() |
1.1 | 100 | |
![]() |
70.4 | 101 | * STOP Mode: 10uA @ 3.3v |
102 | * Max transmit power: 350mA@3.3v | ||
![]() |
101.3 | 103 | (% style="display:none" %) (%%) |
![]() |
1.1 | 104 | |
![]() |
107.4 | 105 | == 1.4 Applications == |
![]() |
84.5 | 106 | |
107 | |||
![]() |
107.4 | 108 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/1654741400370-813.png?rev=1.1||alt="1654741400370-813.png"]] |
![]() |
101.7 | 109 | |
![]() |
84.5 | 110 | |
![]() |
107.5 | 111 | == 1.5 Sleep mode and working mode == |
![]() |
84.5 | 112 | |
![]() |
107.5 | 113 | |
![]() |
99.3 | 114 | (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any NB-IoT activate. This mode is used for storage and shipping to save battery life. |
![]() |
73.2 | 115 | |
![]() |
99.3 | 116 | (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as NB-IoT Sensor to Join NB-IoT 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. |
![]() |
73.2 | 117 | |
118 | |||
![]() |
107.5 | 119 | == 1.6 Button & LEDs == |
![]() |
73.2 | 120 | |
121 | |||
![]() |
6.1 | 122 | [[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]] |
![]() |
1.1 | 123 | |
124 | |||
![]() |
14.13 | 125 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) |
![]() |
80.11 | 126 | |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width:225px;background-color:#4F81BD;color:white" %)**Action** |
![]() |
1.1 | 127 | |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( |
![]() |
73.2 | 128 | If sensor has already attached to NB-IoT network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. |
![]() |
1.1 | 129 | Meanwhile, BLE module will be active and user can connect via BLE to configure device. |
130 | ))) | ||
131 | |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( | ||
![]() |
73.2 | 132 | (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to attach NB-IoT network. |
![]() |
1.1 | 133 | (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. |
![]() |
73.2 | 134 | Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device attach NB-IoT network or not. |
![]() |
1.1 | 135 | ))) |
![]() |
6.1 | 136 | |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. |
![]() |
1.1 | 137 | |
![]() |
107.29 | 138 | (% style="color:red" %)**Note: When the device is executing a program, the buttons may become invalid. It is best to press the buttons after the device has completed the program execution.** |
![]() |
107.27 | 139 | |
140 | |||
![]() |
107.6 | 141 | == 1.7 BLE connection == |
![]() |
1.1 | 142 | |
143 | |||
![]() |
107.10 | 144 | DS03A-NB support BLE remote configure and firmware update. |
![]() |
1.1 | 145 | |
146 | |||
147 | 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: | ||
148 | |||
149 | * Press button to send an uplink | ||
150 | * Press button to active device. | ||
151 | * Device Power on or reset. | ||
152 | |||
153 | If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. | ||
154 | |||
155 | |||
![]() |
133.2 | 156 | == 1.8 Pin Definitions , Switch & SIM Direction == |
![]() |
1.1 | 157 | |
![]() |
73.3 | 158 | |
![]() |
73.2 | 159 | [[image:image-20230819104805-5.png]] |
![]() |
1.1 | 160 | |
![]() |
43.1 | 161 | |
![]() |
107.6 | 162 | === 1.8.1 Jumper JP2 === |
![]() |
43.1 | 163 | |
![]() |
73.3 | 164 | |
165 | Power on Device when put this jumper. | ||
166 | |||
167 | |||
![]() |
107.6 | 168 | === 1.8.2 BOOT MODE / SW1 === |
![]() |
73.3 | 169 | |
170 | |||
![]() |
82.31 | 171 | **1)** (% style="color:blue" %)**ISP**(%%): upgrade mode, device won't have any signal in this mode. but ready for upgrade firmware. LED won't work. Firmware won't run. |
![]() |
73.3 | 172 | |
![]() |
82.31 | 173 | **2)** (% style="color:blue" %)**Flash**(%%): work mode, device starts to work and send out console output for further debug |
![]() |
73.3 | 174 | |
175 | |||
![]() |
107.6 | 176 | === 1.8.3 Reset Button === |
![]() |
73.3 | 177 | |
![]() |
80.2 | 178 | |
![]() |
73.3 | 179 | Press to reboot the device. |
180 | |||
![]() |
1.1 | 181 | (% style="display:none" %) |
182 | |||
183 | |||
![]() |
133.2 | 184 | === 1.8.4 SIM Card Direction === |
185 | |||
186 | |||
187 | See this link. [[How to insert SIM Card>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]]. | ||
188 | |||
189 | |||
![]() |
107.6 | 190 | == 1.9 Mechanical == |
![]() |
84.14 | 191 | |
192 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143884058-338.png?rev=1.1||alt="1675143884058-338.png"]] | ||
193 | |||
194 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143899218-599.png?rev=1.1||alt="1675143899218-599.png"]] | ||
195 | |||
196 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675143909447-639.png?rev=1.1||alt="1675143909447-639.png"]] | ||
197 | |||
198 | |||
199 | |||
![]() |
101.7 | 200 | **Probe Mechanical:** |
![]() |
84.14 | 201 | |
202 | |||
![]() |
107.6 | 203 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS03A%20-%20Outdoor%20LoRaWAN%20OpenClose%20Door%20Sensor%20Manual/WebHome/1654741444887-479.png?width=513&height=399&rev=1.1||alt="1654741444887-479.png"]] |
![]() |
84.14 | 204 | |
![]() |
101.7 | 205 | |
206 | |||
![]() |
107.6 | 207 | == 1.10 Magnet Distance == |
![]() |
101.7 | 208 | |
209 | |||
![]() |
107.6 | 210 | * Wood Door: 10mm ~~ 30mm |
211 | * Iron Door: 30 ~~ 45mm | ||
![]() |
124.7 | 212 | (% style="display:none" %) (%%) |
![]() |
101.7 | 213 | |
![]() |
107.7 | 214 | = 2. Use DS03A-NB to communicate with IoT Server = |
![]() |
1.1 | 215 | |
![]() |
80.2 | 216 | == 2.1 Send data to IoT server via NB-IoT network == |
![]() |
1.1 | 217 | |
218 | |||
![]() |
107.10 | 219 | The DS03A-NB is equipped with a NB-IoT module, the pre-loaded firmware in DS03A-NB will get environment data from sensors and send the value to local NB-IoT network via the NB-IoT module. The NB-IoT network will forward this value to IoT server via the protocol defined by DS03A-NB. |
![]() |
1.1 | 220 | |
221 | |||
![]() |
80.2 | 222 | Below shows the network structure: |
![]() |
1.1 | 223 | |
![]() |
107.8 | 224 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DS03A-NB_NB-IoT_Door_Sensor_User_Manual/WebHome/image-20231011093807-6.png?width=879&height=278&rev=1.1||alt="image-20231011093807-6.png"]] |
![]() |
1.1 | 225 | |
226 | |||
![]() |
107.10 | 227 | There are two version: (% style="color:blue" %)**-GE**(%%) and (% style="color:blue" %)**-1D**(%%) version of DS03A-NB. |
![]() |
1.1 | 228 | |
229 | |||
![]() |
107.10 | 230 | (% style="color:blue" %)**GE Version**(%%): This version doesn't include SIM card or point to any IoT server. User needs to use AT Commands to configure below two steps to set DS03A-NB send data to IoT server. |
![]() |
1.1 | 231 | |
![]() |
82.19 | 232 | * Install NB-IoT SIM card and configure APN. See instruction of [[Attach Network>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H2.AttachNetwork]]. |
![]() |
80.4 | 233 | |
![]() |
82.19 | 234 | * Set up sensor to point to IoT Server. See instruction of [[Configure to Connect Different Servers>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.Configuretoconnecttodifferentservers]]. |
![]() |
1.1 | 235 | |
![]() |
80.2 | 236 | Below shows result of different server as a glance. |
![]() |
1.1 | 237 | |
![]() |
80.9 | 238 | (% border="1" cellspacing="4" style="width:515px" %) |
![]() |
81.2 | 239 | |(% style="background-color:#4f81bd; color:white; width:100px" %)**Servers**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Dash Board**|(% style="background-color:#4f81bd; color:white; width:115px" %)**Comments** |
![]() |
82.24 | 240 | |(% style="width:127px" %)[[Node-Red>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.5A0Node-RedA028viaA0MQTT29]]|(% style="width:385px" %)((( |
241 | (% style="text-align:center" %) | ||
242 | [[image:image-20230819113244-8.png||height="183" width="367"]] | ||
243 | )))|(% style="width:170px" %) | ||
244 | |(% style="width:127px" %)[[DataCake>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]]|(% style="width:385px" %)((( | ||
245 | (% style="text-align:center" %) | ||
![]() |
82.25 | 246 | [[image:image-20230819113244-9.png||height="119" width="367"]] |
![]() |
82.24 | 247 | )))|(% style="width:170px" %) |
![]() |
80.9 | 248 | |(% style="width:127px" %)[[Tago.IO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.7A0Tago.ioA028viaA0MQTT29]]|(% style="width:385px" %) |(% style="width:170px" %) |
249 | |(% style="width:127px" %)[[General UDP>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.1GeneralA0UDPA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %) | ||
250 | |(% style="width:127px" %)[[General MQTT>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.2GeneralA0MQTTA0Connection]]|(% style="width:385px" %)Raw Payload. Need Developer to design Dash Board|(% style="width:170px" %) | ||
![]() |
82.24 | 251 | |(% style="width:127px" %)[[ThingSpeak>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.3A0ThingSpeakA028viaA0MQTT29]]|(% style="width:385px" %)((( |
252 | (% style="text-align:center" %) | ||
![]() |
82.25 | 253 | [[image:image-20230819113244-10.png||height="104" width="367"]] |
![]() |
82.24 | 254 | )))|(% style="width:170px" %) |
255 | |(% style="width:127px" %)[[ThingsBoard>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.6A0ThingsBoard.CloudA028viaA0MQTT29]]|(% style="width:385px" %)((( | ||
256 | (% style="text-align:center" %) | ||
![]() |
82.25 | 257 | [[image:image-20230819113244-11.png||height="141" width="367"]] |
![]() |
82.24 | 258 | )))|(% style="width:170px" %) |
![]() |
80.2 | 259 | |
![]() |
107.10 | 260 | (% style="color:blue" %)**1D Version**(%%): This version has 1NCE SIM card pre-installed and configure to send value to DataCake. User Just need to select the sensor type in DataCake and Activate DS03A-NB and user will be able to see data in DataCake. See here for [[DataCake Config Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H3.4Datacake]]. |
![]() |
80.2 | 261 | |
262 | |||
263 | == 2.2 Payload Types == | ||
264 | |||
265 | |||
![]() |
107.10 | 266 | To meet different server requirement, DS03A-NB supports different payload type. |
![]() |
1.1 | 267 | |
![]() |
81.2 | 268 | **Includes:** |
![]() |
1.1 | 269 | |
![]() |
82.21 | 270 | * [[General JSON format payload>>||anchor="H2.2.1GeneralJsonFormat28Type3D529"]]. (Type=5) |
![]() |
80.7 | 271 | |
![]() |
82.21 | 272 | * [[HEX format Payload>>||anchor="H2.2.2HEXformatPayload28Type3D029"]]. (Type=0) |
![]() |
80.7 | 273 | |
![]() |
82.21 | 274 | * [[ThingSpeak Format>>||anchor="H2.2.4ThingSpeakPayload28Type3D129"]]. (Type=1) |
![]() |
80.7 | 275 | |
![]() |
82.21 | 276 | * [[ThingsBoard Format>>||anchor="H2.2.3ThingsBoardPayload28Type3D329"]]. (Type=3) |
![]() |
1.1 | 277 | |
![]() |
80.3 | 278 | User can specify the payload type when choose the connection protocol. Example: |
![]() |
1.1 | 279 | |
![]() |
81.2 | 280 | (% style="color:#037691" %)**AT+PRO=2,0** (%%) ~/~/ Use UDP Connection & hex Payload |
![]() |
1.1 | 281 | |
![]() |
80.8 | 282 | (% style="color:#037691" %)**AT+PRO=2,5** (%%) ~/~/ Use UDP Connection & Json Payload |
![]() |
1.1 | 283 | |
![]() |
81.2 | 284 | (% style="color:#037691" %)**AT+PRO=3,5 ** (%%) ~/~/ Use MQTT Connection & Json Payload |
![]() |
1.1 | 285 | |
286 | |||
![]() |
82.20 | 287 | === 2.2.1 General Json Format(Type~=5) === |
![]() |
1.1 | 288 | |
![]() |
80.8 | 289 | |
![]() |
131.2 | 290 | (% style="color:red" %)**This is the General Json Format. Payloads in General Json format for single-channel mode and double-channel mode have different byte lengths.** |
![]() |
1.1 | 291 | |
![]() |
131.2 | 292 | |
293 | **The General Json format payload for the single-channel mode is as follows:** | ||
294 | |||
![]() |
113.1 | 295 | (% style="color:#4472c4" %)**{"IMEI":"866207052559857","Model":"DS03A-NB","level status":1,"alarm status":0,"door open num":0,"last open time":0,"level status2":1,"alarm status2":0,"door open num2":0,"last open time2":0,"battery":3.48,"signal":24,"1":{1,0,0,2023/11/13 09:59:01},"2":{0,0,261,2023/11/13 03:20:00},"3":{237,9896971,263,2023/11/13 03:05:00},"4":{0,29,263,2023/11/13 02:20:12},"5":{215,9897015,268,2023/11/13 01:58:16},"6":{0,79,261,2023/11/13 01:43:16},"7":{227,9896991,5368540,2023/11/13 01:18:46},"8":{0,19,5367640,2023/11/11 08:53:57}}** |
![]() |
1.1 | 296 | |
![]() |
131.2 | 297 | [[image:image-20231115162221-7.png]] |
![]() |
90.1 | 298 | |
299 | |||
![]() |
132.2 | 300 | **The General Json format payload for the double-channel mode is as follows:** |
![]() |
131.2 | 301 | |
302 | (% style="color:#4472c4" %)**{"IMEI":"866207058378443","Model":"DS03A-NB","level status":1,"alarm status":0,"door open num":2,"last open time":0,"level status2":1,"alarm status2":0,"door open num2":3,"last open time2":0,"battery":3.39,"signal":25,"1":{1,4,0,1,3,0,2023/11/15 07:54:30},"2":{1,3,0,1,6,1,2023/11/15 07:10:04},"3":{0,0,0,1,1,0,2023/11/15 06:55:04},"4":{0,0,0,1,0,0,2023/11/15 06:40:04},"5":{0,0,0,1,0,0,2023/11/15 03:50:36},"6":{0,0,0,1,4,11,2023/11/15 03:28:16},"7":{0,0,0,1,4,11,2023/11/15 03:13:16},"8":{0,0,0,1,3,11,2023/11/15 02:58:25}}** | ||
303 | |||
304 | [[image:image-20231115161803-6.png]] | ||
305 | |||
306 | |||
![]() |
81.2 | 307 | (% style="color:red" %)**Notice, from above payload:** |
![]() |
1.1 | 308 | |
![]() |
131.2 | 309 | * level status, alarm status, door open num, last open time, level status2, alarm status2, door open sum2, last open time2, Battery & Signal are the value at uplink time. |
![]() |
1.1 | 310 | |
![]() |
131.2 | 311 | * Json entry 1 ~~ 8 are the last 1 ~~ 8 sampling data as specify by (% style="color:#037691" %)**AT+NOUD=8 ** (%%)Command. Each entry includes (from left to right): |
![]() |
1.1 | 312 | |
![]() |
131.2 | 313 | Single-channel mode: level status, door open num, last open time, Sampling time. |
314 | |||
315 | Double-channel mode: level status, door open num, last open time, level status2, door open sum2, last open time2, Sampling time. | ||
316 | |||
![]() |
131.3 | 317 | |
318 | |||
![]() |
81.2 | 319 | === 2.2.2 HEX format Payload(Type~=0) === |
![]() |
1.1 | 320 | |
321 | |||
![]() |
131.2 | 322 | (% style="color:red" %)**This is the HEX Format. Payloads in HEX format for single-channel mode and double-channel mode have different byte lengths.** |
![]() |
1.1 | 323 | |
![]() |
119.2 | 324 | |
325 | **The HEX format payload for the single-channel mode is as follows:** | ||
326 | |||
![]() |
113.1 | 327 | (% style="color:#4472c4" %)**f86620705255985712640d9c180101000000000000006551f424010000000000006551f36500000000000105655195e0ed97040b0001076551925c0000001d000107655187dcd797043700010c655182b80000004f00010565517f34e397041f51eadc655179760000001351e758654f4125** |
![]() |
1.1 | 328 | |
![]() |
115.2 | 329 | [[image:image-20231114091247-2.png||height="186" width="1363"]] |
![]() |
6.1 | 330 | |
![]() |
1.1 | 331 | |
![]() |
118.2 | 332 | If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data. |
333 | |||
334 | [[image:image-20231114094432-3.png]] | ||
335 | |||
336 | |||
![]() |
120.1 | 337 | |
![]() |
119.2 | 338 | **The HEX format payload for the double-channel mode is as follows:** |
![]() |
118.2 | 339 | |
![]() |
120.1 | 340 | (% style="color:#4472c4" %)**f86620705255985712640db71701010000000000000001000000000000006552d13401000000000000000000000000006551f365000000000001050000005f00005f655195e0ed97040b0001070000005c00005c6551925c0000001d00010700000033000033655187dcd797043700010c00000033000033655182b80000004f0001050000003300003365517f34e397041f51eadc00000000000000655179760000001351e75800000000000000654f4125** |
![]() |
118.2 | 341 | |
![]() |
115.2 | 342 | [[image:image-20231114091229-1.png||height="180" width="1584"]] |
![]() |
109.2 | 343 | |
![]() |
115.2 | 344 | |
![]() |
88.2 | 345 | If we use the MQTT client to subscribe to this MQTT topic, we can see the following information when the NB sensor uplink data. |
346 | |||
![]() |
118.2 | 347 | [[image:image-20231114094838-5.png]] |
![]() |
88.3 | 348 | |
![]() |
118.2 | 349 | |
![]() |
80.4 | 350 | (% style="color:blue" %)**Version:** |
![]() |
1.1 | 351 | |
![]() |
80.3 | 352 | These bytes include the hardware and software version. |
![]() |
1.1 | 353 | |
![]() |
107.10 | 354 | (% style="color:#037691" %)**Higher byte:**(%%) Specify Sensor Model: 0x12 for DS03A-NB |
![]() |
1.1 | 355 | |
![]() |
88.3 | 356 | (% style="color:#037691" %)**Lower byte:**(%%) Specify the software version: 0x64=100, means firmware version 1.0.0 |
![]() |
1.1 | 357 | |
358 | |||
![]() |
81.2 | 359 | (% style="color:blue" %)**BAT (Battery Info):** |
![]() |
1.1 | 360 | |
![]() |
88.3 | 361 | Ex1: 0x0dda = 3546mV |
![]() |
1.1 | 362 | |
363 | |||
![]() |
80.4 | 364 | (% style="color:blue" %)**Signal Strength:** |
![]() |
1.1 | 365 | |
![]() |
80.3 | 366 | NB-IoT Network signal Strength. |
![]() |
1.1 | 367 | |
![]() |
88.3 | 368 | **Ex1: 0x15 = 21** |
![]() |
1.1 | 369 | |
![]() |
80.3 | 370 | **0** -113dBm or less |
![]() |
1.1 | 371 | |
![]() |
80.3 | 372 | **1** -111dBm |
![]() |
1.1 | 373 | |
![]() |
80.3 | 374 | **2...30** -109dBm... -53dBm |
![]() |
1.1 | 375 | |
![]() |
80.3 | 376 | **31** -51dBm or greater |
![]() |
1.1 | 377 | |
![]() |
80.3 | 378 | **99** Not known or not detectable |
![]() |
1.1 | 379 | |
380 | |||
![]() |
88.3 | 381 | (% style="color:blue" %)**Timestamp: ** |
![]() |
1.1 | 382 | |
![]() |
88.3 | 383 | Unit Timestamp Example: 650abc40(H) = 1695202368(D) |
384 | |||
385 | Put the decimal value into this link([[https:~~/~~/www.epochconverter.com)>>https://www.epochconverter.com]]) to get the time. | ||
386 | |||
387 | |||
![]() |
81.2 | 388 | === 2.2.3 ThingsBoard Payload(Type~=3) === |
![]() |
1.1 | 389 | |
![]() |
80.8 | 390 | |
![]() |
80.3 | 391 | Type3 payload special design for ThingsBoard, it will also configure other default server to ThingsBoard. |
![]() |
1.1 | 392 | |
![]() |
125.2 | 393 | (% style="color:#4472c4" %)**{ |
394 | "IMEI": "866207058378443", | ||
395 | "Model": "DS03A-NB", | ||
396 | "level status": 1, | ||
397 | "alarm status": 0, | ||
398 | "door open num": 6, | ||
399 | "last open time": 1, | ||
400 | "level status2": 1, | ||
401 | "alarm status2": 0, | ||
402 | "door open num2": 2, | ||
403 | "last open time2": 0, | ||
404 | "battery": 3.4, | ||
405 | "signal": 24 | ||
406 | }** | ||
![]() |
46.1 | 407 | |
![]() |
125.2 | 408 | [[image:image-20231115150948-1.png||height="625" width="1188"]] |
![]() |
1.1 | 409 | |
![]() |
99.1 | 410 | |
![]() |
81.2 | 411 | === 2.2.4 ThingSpeak Payload(Type~=1) === |
![]() |
1.1 | 412 | |
![]() |
80.8 | 413 | |
![]() |
131.2 | 414 | This payload meets ThingSpeak platform requirement. It includes eight fields. Form 1~~8 are: |
![]() |
1.1 | 415 | |
![]() |
90.2 | 416 | Distance, Battery & Signal. This payload type only valid for ThingsSpeak Platform |
![]() |
14.22 | 417 | |
![]() |
80.3 | 418 | As below: |
![]() |
1.1 | 419 | |
![]() |
110.1 | 420 | (% style="color:#4472c4" %)**field1=Flow value&field2=Battery value&field3=signal value** |
![]() |
1.1 | 421 | |
![]() |
127.2 | 422 | [[image:image-20231115154757-2.png]] |
![]() |
84.24 | 423 | |
![]() |
127.2 | 424 | [[image:image-20231115154821-3.png||height="695" width="1119"]] |
![]() |
92.1 | 425 | |
![]() |
123.1 | 426 | |
![]() |
10.1 | 427 | |
![]() |
132.2 | 428 | == 2.3 Test Uplink and Change Update Interval == |
![]() |
1.1 | 429 | |
![]() |
101.11 | 430 | |
![]() |
80.4 | 431 | By default, Sensor will send uplinks (% style="color:blue" %)**every 2 hours**(%%) & AT+NOUD=8 |
![]() |
1.1 | 432 | |
![]() |
80.4 | 433 | User can use below commands to change the (% style="color:blue" %)**uplink interval**. |
![]() |
1.1 | 434 | |
![]() |
82.2 | 435 | (% style="color:#037691" %)**AT+TDC=600 ** (%%) ~/~/ Set Update Interval to 600s |
![]() |
1.1 | 436 | |
![]() |
80.3 | 437 | User can also push the button for more than 1 seconds to activate an uplink. |
![]() |
1.1 | 438 | |
439 | |||
![]() |
132.2 | 440 | == 2.4 Multi-Samplings and One uplink == |
![]() |
39.5 | 441 | |
![]() |
80.4 | 442 | |
![]() |
107.9 | 443 | To save battery life, DS03A-NB will sample Water Flow data every 15 minutes and send one uplink every 2 hours. So each uplink it will include 8 stored data + 1 real-time data. They are defined by: |
![]() |
1.1 | 444 | |
![]() |
82.6 | 445 | * (% style="color:#037691" %)**AT+TR=900** (%%) ~/~/ The unit is seconds, and the default is to record data once every 900 seconds (15 minutes, the minimum can be set to 180 seconds) |
![]() |
1.1 | 446 | |
![]() |
82.12 | 447 | * (% style="color:#037691" %)**AT+NOUD=8** (%%)~/~/ The device uploads 8 sets of recorded data by default. Up to 32 sets of record data can be uploaded. |
![]() |
1.1 | 448 | |
![]() |
80.3 | 449 | The diagram below explains the relationship between TR, NOUD, and TDC more clearly: |
![]() |
1.1 | 450 | |
![]() |
82.2 | 451 | [[image:1692424376354-959.png]] |
![]() |
1.1 | 452 | |
453 | |||
![]() |
132.2 | 454 | == 2.5 Trggier an uplink by external interrupt == |
![]() |
1.1 | 455 | |
![]() |
80.5 | 456 | |
![]() |
107.9 | 457 | DS03A-NB has an external trigger interrupt function. Users can use the PB15 pin to trigger the upload of data packets. |
![]() |
39.5 | 458 | |
![]() |
80.5 | 459 | (% style="color:blue" %)**AT command:** |
![]() |
46.1 | 460 | |
![]() |
82.6 | 461 | * (% style="color:#037691" %)**AT+INTMOD **(%%) ~/~/ Set the trigger interrupt mode |
![]() |
46.1 | 462 | |
![]() |
82.6 | 463 | * (% style="color:#037691" %)**AT+INTMOD=0 **(%%) ~/~/ Disable Interrupt |
![]() |
1.1 | 464 | |
![]() |
82.6 | 465 | * (% style="color:#037691" %)**AT+INTMOD=1 **(%%) ~/~/ Trigger by rising and falling edge |
![]() |
80.5 | 466 | |
![]() |
82.6 | 467 | * (% style="color:#037691" %)**AT+INTMOD=2 **(%%) ~/~/ Trigger by falling edge |
![]() |
80.5 | 468 | |
![]() |
82.6 | 469 | * (% style="color:#037691" %)**AT+INTMOD=3 **(%%) ~/~/ Trigger by rising edge |
![]() |
124.8 | 470 | (% style="display:none" %) (%%) |
![]() |
80.5 | 471 | |
![]() |
132.2 | 472 | == 2.5 Set Transmit Interval Time == |
![]() |
101.12 | 473 | |
474 | |||
475 | ((( | ||
![]() |
107.11 | 476 | Feature: Change NB-IoT End Node Transmit Interval. |
![]() |
101.12 | 477 | ))) |
478 | |||
479 | ((( | ||
![]() |
107.11 | 480 | (% style="color:blue" %)**AT Command: AT+TDC** |
![]() |
101.12 | 481 | ))) |
482 | |||
![]() |
107.11 | 483 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) |
484 | |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** | ||
485 | |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( | ||
486 | 30000 | ||
487 | OK | ||
488 | the interval is 30000ms = 30s | ||
![]() |
101.12 | 489 | ))) |
![]() |
107.11 | 490 | |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|((( |
491 | OK | ||
492 | Set transmit interval to 60000ms = 60 seconds | ||
![]() |
101.12 | 493 | ))) |
494 | |||
495 | ((( | ||
![]() |
107.11 | 496 | (% style="color:blue" %)**Downlink Command: 0x01** |
![]() |
101.12 | 497 | ))) |
498 | |||
499 | ((( | ||
![]() |
107.11 | 500 | Format: Command Code (0x01) followed by 3 bytes time value. |
![]() |
101.12 | 501 | ))) |
502 | |||
503 | ((( | ||
![]() |
107.11 | 504 | If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. |
![]() |
101.12 | 505 | ))) |
506 | |||
507 | * ((( | ||
![]() |
107.11 | 508 | Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds |
![]() |
101.12 | 509 | ))) |
![]() |
107.11 | 510 | * ((( |
511 | Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds | ||
![]() |
124.12 | 512 | )))(% style="display:none" %) (%%) |
![]() |
101.12 | 513 | |
![]() |
132.2 | 514 | == 2.7 Enable / Disable Alarm == |
![]() |
107.11 | 515 | |
516 | |||
517 | Feature: Enable/Disable Alarm for open/close event. Default value 0. | ||
518 | |||
519 | (% style="color:blue" %)**AT Command: ** | ||
520 | |||
521 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) | ||
![]() |
107.19 | 522 | |(% style="background-color:#4f81bd; color:white; width:153px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:276px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response** |
![]() |
107.11 | 523 | |(% style="width:154px" %)AT+DISALARM=1|(% style="width:278px" %)End node will only send packets in TDC time.|OK |
524 | |(% style="width:154px" %)AT+DISALARM=0|(% style="width:278px" %)End node will send packets in TDC time or status change for door sensor|OK | ||
525 | |||
526 | (% style="color:blue" %)**Downlink Command: ** | ||
527 | |||
528 | 0xA7 01 ~/~/ Same As AT+DISALARM=1 | ||
529 | |||
530 | 0xA7 00 ~/~/ Same As AT+DISALARM=0 | ||
531 | |||
532 | |||
![]() |
132.2 | 533 | == 2.8 Alarm Base on Timeout == |
![]() |
107.11 | 534 | |
535 | |||
![]() |
107.12 | 536 | DS03A-NB can monitor the timeout for a status change, this feature can be used to monitor some events such as door opening too long etc. Related Parameters are: |
![]() |
107.11 | 537 | |
![]() |
101.12 | 538 | * ((( |
![]() |
107.11 | 539 | (% style="color:blue" %)**Keep Status: Status to be monitor** |
![]() |
101.12 | 540 | ))) |
541 | |||
![]() |
107.11 | 542 | (% style="color:#037691" %)**Keep Status = 1**(%%): Monitor Close to Open event |
543 | |||
544 | (% style="color:#037691" %)**Keep Status = 0**(%%): Monitor Open to Close event | ||
545 | |||
546 | |||
547 | * ((( | ||
548 | (% style="color:blue" %)**Keep Time: Timeout to send an Alarm** | ||
![]() |
101.12 | 549 | ))) |
550 | |||
![]() |
107.11 | 551 | Range 0 ~~ 65535(0xFFFF) seconds. |
552 | |||
553 | If (% style="color:#037691" %)**keep time = 0**(%%), Disable Alarm Base on Timeout feature. | ||
554 | |||
555 | If (% style="color:#037691" %)**keep time > 0**(%%), device will monitor the keep status event and send an alarm when status doesn't change after timeout. | ||
556 | |||
557 | |||
558 | * ((( | ||
559 | (% style="color:blue" %)**Downlink Command** | ||
![]() |
101.12 | 560 | ))) |
561 | |||
![]() |
107.11 | 562 | (% style="color:#037691" %)**Command: 0xA9 aa bb cc dd** |
563 | |||
564 | **A9:** Command Type Code | ||
565 | |||
566 | **aa: **01:TTRIG1; 02:TTRIG2 | ||
567 | |||
568 | **bb:** status to be monitored | ||
569 | |||
570 | **cc dd:** timeout. | ||
571 | |||
572 | |||
573 | **1) AT+TTRIG1 : (PA8 of pin)** | ||
574 | |||
575 | (% style="color:blue" %)**AT Command to configure:** | ||
576 | |||
577 | * ((( | ||
![]() |
107.12 | 578 | (% style="color:#037691" %)**AT+TTRIG1=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. DS03A-NB will send an uplink packet, the Alarm1 bit(the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1. |
![]() |
107.11 | 579 | |
![]() |
107.12 | 580 | (% style="color:#037691" %)**AT+TTRIG1=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in open status for more than 30 seconds. DS03A-NB will send an uplink packet, the Alarm1 bit (the second bit of 1^^st^^ byte of payload) on this uplink packet is set to 1. |
![]() |
101.12 | 581 | ))) |
582 | |||
![]() |
107.11 | 583 | * ((( |
584 | (% style="color:#037691" %)**AT+TTRIG1=0,0** (%%) **~-~-> ** Default Value, disable timeout Alarm. | ||
585 | |||
586 | |||
![]() |
101.12 | 587 | ))) |
588 | |||
![]() |
107.11 | 589 | (% style="color:blue" %)**Downlink Command to configure:** |
590 | |||
591 | If user send 0xA9 01 01 00 1E: equal to AT+TTRIG1=1,30 **or** 0xA9 01 00 00 00: Equal to AT+TTRIG1=0,0. | ||
592 | |||
593 | |||
594 | **2) AT+TTRIG2 : (PA4 of pin,need to use AT+TTRCHANNEL=2)** | ||
595 | |||
596 | (% style="color:blue" %)**AT Command to configure:** | ||
597 | |||
598 | * ((( | ||
![]() |
107.12 | 599 | (% style="color:#037691" %)**AT+TTRIG2=1,30** (%%) **~-~->** When the **Keep Status** change from close to open, and device remains in open status for more than 30 seconds. DS03A-NB will send an uplink packet, the Alarm2 bit (the second bit of 12^^st^^ byte of payload) on this uplink packet is set to 1. |
![]() |
107.11 | 600 | |
![]() |
107.12 | 601 | (% style="color:#037691" %)**AT+TTRIG2=0,30** (%%) **~-~->** When the **Keep Status** change from open to close, and device remains in open status for more than 30 seconds. DS03A-NB will send an uplink packet, the Alarm2 bit (the second bit of 12^^st^^ byte of payload) on this uplink packet is set to 1. |
![]() |
101.12 | 602 | ))) |
603 | |||
![]() |
107.11 | 604 | * ((( |
605 | (% style="color:#037691" %)**AT+TTRIG2=0,0** (%%) **~-~-> ** Default Value, disable timeout Alarm. | ||
606 | |||
607 | |||
![]() |
101.12 | 608 | ))) |
609 | |||
![]() |
107.11 | 610 | (% style="color:blue" %)**Downlink Command to configure:** |
![]() |
101.12 | 611 | |
![]() |
107.11 | 612 | If user send 0xA9 02 00 00 1E: equal to AT+TTRIG2=0,30 **or** 0xA9 02 00 00 00: Equal to AT+TTRIG2=0,0. |
![]() |
101.12 | 613 | |
614 | |||
![]() |
132.2 | 615 | == 2.9 TTRIG1 & TTRIG2 timeout status alarm == |
![]() |
101.12 | 616 | |
617 | |||
![]() |
107.11 | 618 | It needs to be used with AT+TTRIG1 or AT+TTRIG2. When TTRIG1 or TTRIG2 times out and causes an alarm, and the status does not change subsequently, an alarm packet will be sent at the alarm interval. |
![]() |
101.12 | 619 | |
![]() |
107.11 | 620 | (% style="color:blue" %)**AT Command:** |
621 | |||
622 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) | ||
![]() |
107.13 | 623 | |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 279px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 76px;background-color:#4F81BD;color:white" %)**Response** |
![]() |
107.11 | 624 | |(% style="width:155px" %)((( |
625 | AT+TTRALARM=0 | ||
626 | )))|(% style="width:279px" %)((( | ||
627 | disable continuous alarm | ||
628 | )))|(% style="width:84px" %)((( | ||
629 | OK | ||
630 | ))) | ||
631 | |(% style="width:155px" %)((( | ||
632 | AT+TTRALARM=60 | ||
633 | )))|(% style="width:279px" %)((( | ||
634 | The alarm interval is 60 minutes (unit: minutes) | ||
635 | )))|(% style="width:84px" %)((( | ||
636 | OK | ||
637 | ))) | ||
638 | |||
![]() |
101.12 | 639 | (% style="color:blue" %)**Downlink Command:** |
640 | |||
![]() |
107.11 | 641 | Example: 0C aa => AT+TTRALARM= aa |
![]() |
101.12 | 642 | |
643 | |||
![]() |
132.2 | 644 | == 2.10 Count Mod == |
![]() |
101.12 | 645 | |
646 | |||
![]() |
107.11 | 647 | Feature: Manually set the count mode. |
![]() |
101.12 | 648 | |
![]() |
107.11 | 649 | (% style="color:blue" %)**AT Command:** |
![]() |
101.12 | 650 | |
![]() |
107.11 | 651 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) |
![]() |
107.14 | 652 | |=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 275px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 86px;background-color:#4F81BD;color:white" %)**Response** |
![]() |
107.11 | 653 | |(% style="width:155px" %)((( |
654 | AT+COUNTMOD=0 | ||
655 | )))|(% style="width:277px" %)((( | ||
656 | the count value keeps accumulating mode | ||
657 | )))|(% style="width:86px" %)((( | ||
658 | OK | ||
659 | ))) | ||
660 | |(% style="width:155px" %)((( | ||
661 | AT+COUNTMOD=1 | ||
662 | )))|(% style="width:277px" %)((( | ||
663 | the count value will be reset after each TDC time(Last Close Duration Reset after each uplink) | ||
664 | )))|(% style="width:86px" %)((( | ||
665 | OK | ||
666 | ))) | ||
667 | |||
![]() |
101.12 | 668 | (% style="color:blue" %)**Downlink Command:** |
669 | |||
![]() |
107.11 | 670 | Example: 0B aa => AT+COUNTMOD = second byte |
![]() |
101.12 | 671 | |
672 | |||
![]() |
132.2 | 673 | == 2.11 Number of channel of door sensors == |
![]() |
101.17 | 674 | |
675 | |||
![]() |
107.11 | 676 | Feature: Set the number of door sensor channels. |
![]() |
101.17 | 677 | |
![]() |
107.11 | 678 | (% style="color:blue" %)**AT Command:** |
![]() |
101.17 | 679 | |
![]() |
107.11 | 680 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) |
![]() |
107.14 | 681 | |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 288px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 57px;background-color:#4F81BD;color:white" %)**Response** |
![]() |
107.11 | 682 | |(% style="width:155px" %)((( |
683 | AT+TTRCHANNEL=1 | ||
684 | )))|(% style="width:259px" %)((( | ||
685 | Set as single channel, only use PA8 pin as interrupt pin. | ||
686 | )))|(% style="width:44px" %)((( | ||
![]() |
101.17 | 687 | OK |
688 | ))) | ||
![]() |
107.11 | 689 | |(% style="width:155px" %)((( |
690 | AT+TTRCHANNEL=2 | ||
691 | )))|(% style="width:259px" %)((( | ||
692 | Set as dual channel, use PA8 pin and PA4 pin as interrupt pin. | ||
693 | )))|(% style="width:44px" %)((( | ||
![]() |
101.17 | 694 | OK |
695 | ))) | ||
696 | |||
![]() |
107.11 | 697 | (% style="color:blue" %)**Downlink Command:** |
![]() |
101.17 | 698 | |
![]() |
107.11 | 699 | Example: 0D aa => AT+TTRCHANNEL = second byte |
![]() |
101.17 | 700 | |
![]() |
107.11 | 701 | |
![]() |
132.2 | 702 | == 2.12 Clear the open door times and the duration of the last open door == |
![]() |
107.11 | 703 | |
704 | |||
705 | (% style="color:blue" %)**AT Command:** | ||
706 | |||
707 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) | ||
![]() |
107.14 | 708 | |=(% style="width: 163px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 290px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 57px;background-color:#4F81BD;color:white" %)**Response** |
![]() |
107.11 | 709 | |(% style="width:155px" %)AT+CLRC|(% style="width:259px" %)clear the open door times and the duration of the last open door.|(% style="width:44px" %)((( |
710 | OK | ||
![]() |
101.17 | 711 | ))) |
![]() |
101.35 | 712 | |
![]() |
107.11 | 713 | (% style="color:blue" %)**Downlink Command:**(%%)0xA6 01 |
![]() |
101.35 | 714 | |
![]() |
107.11 | 715 | The sensor will clear the open door times and the duration of the last open door. |
716 | |||
717 | |||
![]() |
132.2 | 718 | == 2.13 Set the count value of the number of open door == |
![]() |
107.11 | 719 | |
720 | |||
721 | (% style="color:blue" %)**AT Command:** | ||
722 | |||
723 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) | ||
![]() |
107.14 | 724 | |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 288px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 57px;background-color:#4F81BD;color:white" %)**Response** |
![]() |
107.11 | 725 | |(% style="width:155px" %)((( |
726 | AT+SETCNT=1,100 | ||
727 | )))|(% style="width:259px" %)((( | ||
728 | Set the open door times of PA8 pin to 100 times. | ||
729 | )))|(% style="width:44px" %)((( | ||
730 | OK | ||
![]() |
101.17 | 731 | ))) |
![]() |
107.11 | 732 | |(% style="width:155px" %)AT+SETCNT=1,0|(% style="width:259px" %)Clear the open door times of PA8 pin.|(% style="width:44px" %)OK |
733 | |(% style="width:155px" %)((( | ||
734 | AT+SETCNT=2,50 | ||
735 | )))|(% style="width:259px" %)((( | ||
736 | Set the open door times of PA4 pin to 100 times. | ||
737 | )))|(% style="width:44px" %)((( | ||
738 | OK | ||
739 | ))) | ||
![]() |
101.17 | 740 | |
![]() |
107.11 | 741 | (% style="color:blue" %)**Downlink Command:** |
742 | |||
743 | 0xA6 01 00 00 64 ==> AT+SETCNT=1,100 | ||
744 | |||
745 | 0xA6 01 00 00 00 ==> AT+SETCNT=1,0 | ||
746 | |||
747 | 0xA6 02 00 00 32 ==> AT+SETCNT=2,50 | ||
748 | |||
749 | |||
![]() |
107.9 | 750 | = 3. Configure DS03A-NB = |
![]() |
1.1 | 751 | |
![]() |
16.4 | 752 | == 3.1 Configure Methods == |
![]() |
1.1 | 753 | |
754 | |||
![]() |
107.9 | 755 | DS03A-NB supports below configure method: |
![]() |
1.1 | 756 | |
757 | * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. | ||
![]() |
80.6 | 758 | |
![]() |
11.1 | 759 | * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]]. |
![]() |
124.8 | 760 | (% style="display:none" %) (%%) |
![]() |
80.6 | 761 | |
![]() |
82.8 | 762 | == 3.2 AT Commands Set == |
![]() |
1.1 | 763 | |
764 | |||
![]() |
82.8 | 765 | AT+<CMD>? : Help on <CMD> |
![]() |
1.1 | 766 | |
![]() |
82.8 | 767 | AT+<CMD> : Run <CMD> |
![]() |
1.1 | 768 | |
![]() |
82.8 | 769 | AT+<CMD>=<value> : Set the value |
![]() |
1.1 | 770 | |
![]() |
82.8 | 771 | AT+<CMD>=? : Get the value |
![]() |
1.1 | 772 | |
773 | |||
![]() |
82.10 | 774 | (% style="color:blue" %)**General Commands** |
![]() |
1.1 | 775 | |
![]() |
82.8 | 776 | AT : Attention |
![]() |
1.1 | 777 | |
![]() |
82.9 | 778 | AT? : Short Help |
![]() |
1.1 | 779 | |
![]() |
82.9 | 780 | ATZ : MCU Reset |
![]() |
1.1 | 781 | |
![]() |
82.9 | 782 | AT+TDC : Application Data Transmission Interval |
![]() |
1.1 | 783 | |
![]() |
82.9 | 784 | AT+CFG : Print all configurations |
![]() |
1.1 | 785 | |
![]() |
82.8 | 786 | AT+CFGMOD : Working mode selection |
![]() |
1.1 | 787 | |
![]() |
82.9 | 788 | AT+DEUI : Get or set the Device ID |
![]() |
1.1 | 789 | |
![]() |
82.8 | 790 | AT+INTMOD : Set the trigger interrupt mode |
![]() |
1.1 | 791 | |
![]() |
82.8 | 792 | AT+5VT : Set extend the time of 5V power |
![]() |
1.1 | 793 | |
![]() |
82.8 | 794 | AT+PRO : Choose agreement |
![]() |
1.1 | 795 | |
![]() |
82.9 | 796 | AT+RXDL : Extend the sending and receiving time |
![]() |
1.1 | 797 | |
![]() |
82.9 | 798 | AT+DNSCFG : Get or Set DNS Server |
![]() |
1.1 | 799 | |
![]() |
82.8 | 800 | AT+GETSENSORVALUE : Returns the current sensor measurement |
![]() |
1.1 | 801 | |
![]() |
82.9 | 802 | AT+NOUD : Get or Set the number of data to be uploaded |
![]() |
1.1 | 803 | |
![]() |
82.8 | 804 | AT+CDP : Read or Clear cached data |
![]() |
1.1 | 805 | |
![]() |
82.9 | 806 | AT+SHTEMP: Get or Set alarm of temp |
![]() |
1.1 | 807 | |
![]() |
82.9 | 808 | AT+SHHUM: Get or Set alarm of moisture |
![]() |
1.1 | 809 | |
![]() |
82.9 | 810 | AT+SERVADDR : Server Address |
![]() |
1.1 | 811 | |
![]() |
82.9 | 812 | |
![]() |
82.10 | 813 | (% style="color:blue" %)**UDP Management** |
![]() |
1.1 | 814 | |
![]() |
82.9 | 815 | AT+CFM : Upload confirmation mode (only valid for UDP) |
![]() |
1.1 | 816 | |
![]() |
39.6 | 817 | |
![]() |
82.10 | 818 | (% style="color:blue" %)**MQTT Management** |
![]() |
1.1 | 819 | |
![]() |
82.8 | 820 | AT+CLIENT : Get or Set MQTT client |
![]() |
1.1 | 821 | |
![]() |
82.8 | 822 | AT+UNAME : Get or Set MQTT Username |
![]() |
1.1 | 823 | |
![]() |
82.8 | 824 | AT+PWD : Get or Set MQTT password |
![]() |
1.1 | 825 | |
![]() |
82.9 | 826 | AT+PUBTOPIC : Get or Set MQTT publish topic |
![]() |
1.1 | 827 | |
![]() |
82.9 | 828 | AT+SUBTOPIC : Get or Set MQTT subscription topic |
![]() |
1.1 | 829 | |
830 | |||
![]() |
82.10 | 831 | (% style="color:blue" %)**Information** |
![]() |
1.1 | 832 | |
![]() |
82.9 | 833 | AT+FDR : Factory Data Reset |
![]() |
1.1 | 834 | |
![]() |
82.9 | 835 | AT+PWORD : Serial Access Password |
![]() |
1.1 | 836 | |
![]() |
82.9 | 837 | AT+LDATA : Get the last upload data |
![]() |
39.6 | 838 | |
![]() |
82.9 | 839 | AT+CDP : Read or Clear cached data |
![]() |
1.1 | 840 | |
![]() |
82.9 | 841 | |
![]() |
16.4 | 842 | = 4. Battery & Power Consumption = |
![]() |
14.45 | 843 | |
![]() |
1.1 | 844 | |
![]() |
107.9 | 845 | DS03A-NB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. |
![]() |
1.1 | 846 | |
847 | [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . | ||
848 | |||
849 | |||
![]() |
82.11 | 850 | = 5. Firmware update = |
![]() |
1.1 | 851 | |
852 | |||
![]() |
82.11 | 853 | User can change device firmware to:: |
![]() |
1.1 | 854 | |
![]() |
13.1 | 855 | * Update with new features. |
![]() |
82.11 | 856 | |
![]() |
13.1 | 857 | * Fix bugs. |
![]() |
1.1 | 858 | |
![]() |
107.20 | 859 | Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zbsm9p4coksqwd5/AADy2ZJc39KsvfbhTMCUGmz1a?dl=0]]** |
![]() |
1.1 | 860 | |
![]() |
31.1 | 861 | Methods to Update Firmware: |
![]() |
1.1 | 862 | |
![]() |
82.12 | 863 | * (Recommended way) OTA firmware update via BLE: [[**Instruction**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE_Firmware_Update_NB_Sensors_BC660K-GL/]]. |
![]() |
82.14 | 864 | |
![]() |
134.1 | 865 | * Update through UART TTL interface : **[[Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/UART_Access_for_NB_ST_BC660K-GL/#H4.2UpdateFirmware28Assumethedevicealreadyhaveabootloader29]]**. |
![]() |
124.8 | 866 | (% style="display:none" %) (%%) |
![]() |
1.1 | 867 | |
![]() |
31.1 | 868 | = 6. FAQ = |
![]() |
1.1 | 869 | |
![]() |
82.15 | 870 | == 6.1 How can I access t BC660K-GL AT Commands? == |
![]() |
1.1 | 871 | |
872 | |||
![]() |
82.15 | 873 | User can access to BC660K-GL directly and send AT Commands. |
![]() |
1.1 | 874 | |
![]() |
82.15 | 875 | [[See BC660K-GL AT Command set>>url:https://www.dropbox.com/sh/5f6ssda5fum8rvs/AABT68l8ZzWOvZ5eg2qwOoFda?dl=0]] |
![]() |
1.1 | 876 | |
877 | |||
![]() |
101.23 | 878 | = 7. Order Info = |
![]() |
1.1 | 879 | |
880 | |||
![]() |
107.9 | 881 | Part Number: (% style="color:blue" %)**DS03A-NB-XX** |
![]() |
1.1 | 882 | |
![]() |
82.15 | 883 | (% style="color:red" %)**XX**(%%): |
![]() |
1.1 | 884 | |
![]() |
82.15 | 885 | * (% style="color:#037691" %)**GE**(%%): General version ( Exclude SIM card) |
![]() |
1.1 | 886 | |
![]() |
82.15 | 887 | * (% style="color:#037691" %)**1D**(%%): with 1NCE* 10 years 500MB SIM card and Pre-configure to DataCake server |
![]() |
1.1 | 888 | |
![]() |
82.31 | 889 | (% style="color:#037691" %)**1NCE SIM Card NB-IoT network coverage**(%%): Austria, Belgium, Bulgaria, Croatia, Czech Republic, Denmark, Finland, Germany, Great Britain, Greece, Hungary, Ireland, Italy, Latvia, Malta, Netherlands, Norway, Puerto Rico, Russia, Slovak , Republic, Slovenia, Spain, Sweden, Switzerland, Taiwan, USA, US Virgin Islands |
![]() |
1.1 | 890 | |
891 | |||
![]() |
101.23 | 892 | = 8. Packing Info = |
![]() |
1.1 | 893 | |
![]() |
39.6 | 894 | |
![]() |
39.1 | 895 | (% style="color:#037691" %)**Package Includes**: |
![]() |
1.1 | 896 | |
![]() |
107.9 | 897 | * DS03A-NB NB-IoT Door sensor x 1 |
![]() |
1.1 | 898 | |
![]() |
82.16 | 899 | * External antenna x 1 |
900 | |||
![]() |
39.1 | 901 | (% style="color:#037691" %)**Dimension and weight**: |
![]() |
1.1 | 902 | |
![]() |
82.24 | 903 | * Device Size: 13.0 x 5 x 4.5 cm |
![]() |
1.1 | 904 | |
![]() |
82.24 | 905 | * Device Weight: 150g |
![]() |
1.1 | 906 | |
![]() |
82.24 | 907 | * Package Size / pcs : 14.0 x 8x 5 cm |
![]() |
1.1 | 908 | |
![]() |
82.24 | 909 | * Weight / pcs : 180g |
![]() |
124.8 | 910 | (% style="display:none" %) (%%) |
![]() |
1.1 | 911 | |
![]() |
101.23 | 912 | = 9. Support = |
![]() |
1.1 | 913 | |
914 | |||
![]() |
31.1 | 915 | * 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. |
![]() |
39.6 | 916 | |
917 | * 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]]. | ||
![]() |
75.2 | 918 | |
![]() |
80.9 | 919 | (% style="display:none" %) (%%) |