Last modified by Mengting Qiu on 2025/06/18 15:53

Hide last authors
Xiaoling 135.2 1 ​**Table of Contents:**
Edwin Chen 1.1 2
Xiaoling 135.2 3 {{toc/}}
Edwin Chen 1.1 4
5
6
Xiaoling 135.2 7
8
9
Edwin Chen 2.1 10 = 1. The use of this guideline =
Edwin Chen 1.1 11
Xiaoling 129.3 12
Edwin Chen 3.1 13 This configure instruction is for Dragino NB-IoT models with -CB or -CS suffix, for example DDS75-CB. These models use the same NB-IoT Module **[[BG95-M2>>https://www.dropbox.com/sh/3ilyaswz4odgaru/AADR86cAgL9UGlmLuEH-UZgla?st=x1ry6v5j&dl=0]]** and has the same software structure. The have the same configure instruction to different IoT servers. Use can follow the instruction here to see how to configure to connect to those servers.
Edwin Chen 1.1 14
Edwin Chen 3.1 15
Edwin Chen 2.1 16 = 2. Attach Network =
Edwin Chen 1.1 17
Edwin Chen 2.1 18 == 2.1 General Configure to attach network ==
Edwin Chen 1.1 19
Xiaoling 129.3 20
Edwin Chen 3.1 21 To attache end nodes to NB-IoT or LTE-M Network, You need to:
Edwin Chen 1.1 22
Edwin Chen 3.1 23 1. Get a NB-IoT or LTE-M SIM card from Service Provider. (Not the same as the SIM card we use in mobile phone)
Edwin Chen 2.1 24 1. Power Off End Node ( See below for the power off/on position)
25 1. Insert the SIM card to Sensor. ( See below for direction)
26 1. Power On End Node
27 1. [[Configure APN>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20configure%20APN%20in%20the%20node/]] in the sensor (AT+APN=<APN>), example AT+APN=iot.1nce.net
Edwin Chen 1.1 28
Edwin Chen 7.1 29 [[image:image-20240602220856-1.png]]
Edwin Chen 1.1 30
31
Xiaoling 129.3 32 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20230808205045-1.png?width=438&height=293&rev=1.1||alt="image-20230808205045-1.png"]]
Edwin Chen 7.1 33
34
Edwin Chen 3.1 35 After doing above, the end nodes should be able to attach to NB-IoT network .
Edwin Chen 1.1 36
Edwin Chen 3.1 37 The -CB and -CS models support (% style="color:blue" %)**LTE Cat NB2 and LTE-M (CAT-M1)**(%%), with below frequency band: multiple frequency bands of
Edwin Chen 1.1 38
Edwin Chen 5.1 39 ~-~-(% style="color:blue" %)** CAT-NB2: B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/B20/B25/B28/B66/B71/B85 **(%%).
Edwin Chen 3.1 40
Edwin Chen 5.1 41 ~-~-(% style="color:blue" %)** CAT-M1: B1/B2/B3/B4/B5/B8/B12/B13/B18/B19/B20/B25/B26/B27/B28/B66/B85 **(%%).
Edwin Chen 3.1 42
Edwin Chen 4.1 43 Make sure you use a the NB-IoT or LTE-M SIM card.
Edwin Chen 3.1 44
Edwin Chen 4.1 45 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1134px" %)
46 |(% style="background-color:#4f81bd; color:white; width:117px" %)**SIM Provider**|(% style="background-color:#4f81bd; color:white; width:151px" %)**AT+APN=**|(% style="background-color:#4f81bd; color:white; width:406px" %)**NB-IoT Coverage**|(% style="background-color:#4f81bd; color:white; width:351px" %)**LTE-M Coverage**|(% style="background-color:#4f81bd; color:white; width:120px" %)**Comments**
47 |(% style="width:117px" %)**[[1NCE>>https://1nce.com]]**|(% style="width:151px" %)iot.1nce.net|(% style="width:406px" %)(((
Edwin Chen 2.1 48 **[[Coverage Reference Link>>https://1nce.com/en-ap/1nce-connect]]**
Edwin Chen 1.1 49
Edwin Chen 4.1 50 Austria, Belgium, Bulgaria, China, Croatia, Czech Republic, Denmark, Estonia, Finland, Germany, Great Britain, Greece, Hungary, Ireland,Italy, Latvia, Malta, Netherlands, Norway, Portugal, Puerto Rico, Russia, Slovak,Republic, Slovenia, Spain, Sweden, Switzerland, Taiwan, USA, US Virgin Islands
51 )))|(% style="width:351px" %)(((
52 Argentina, Austria, Australia, Belgium, Canada, Denmark,Estonia, Finland, France, Germany, Great Britain, Hungary, Ireland, Japan,Jersey, Korea, Repiblic of, Latvia, Luxembourg, Mexico, Netherlands, New Zealand, Norway, Poland, Puerto Rico, Romania, Spain, Sweden, Switzerland,Taiwan, USA, US Virgin Islands.
53 )))|(% style="width:120px" %)UK: Band20
54 |(% style="width:117px" %)China Mobile|(% style="width:151px" %)No need configure|(% style="width:406px" %)China Mainland, HongKong|(% style="width:351px" %) |(% style="width:120px" %)
55 |(% style="width:117px" %)China Telecom|(% style="width:151px" %)ctnb|(% style="width:406px" %)China Mainland|(% style="width:351px" %) |(% style="width:120px" %)
Edwin Chen 1.1 56
Edwin Chen 2.1 57 == 2.2 Speed Up Network Attach time ==
Edwin Chen 1.1 58
Xiaoling 130.1 59
Edwin Chen 4.1 60 **BG95-M2** supports multi bands (% style="color:blue" %)**in NB-IoT and LTE-M. **(%%) It will search one by one and try to attach, this will take a lot of time and even cause attach fail and show **Signal Strenght:99**.
Edwin Chen 1.1 61
David Huang 9.1 62 **Note:**Before using the NB module command, users need to power on the NB module. Run the AT+QSW command to turn on and off the NB module.Remember to shut down after using the NB module command, otherwise it will consume power.
Edwin Chen 1.1 63
Edwin Chen 4.1 64 Attache to 1NCE card for Australia use:
Edwin Chen 1.1 65
Bei Jinggeng 137.1 66 * AT+COPS=1,2,"50501",8                                                 
Edwin Chen 4.1 67 * AT+QCFG="band",0,0x8000000,0x8000000,1
Edwin Chen 1.1 68
Edwin Chen 4.1 69 After connection is successful, user can use (% style="color:#037691" %)**AT+QENG="servingcell"**(%%) to check which band is actually in used.
70
71 AT+QENG="servingcell"
72 +QENG: "servingcell","NOCONN","eMTC","FD
73 D",505,01,90D2C0B,258,9410,28,5,5,901A,-112,-17,-80,10,27
74
75
Edwin Chen 2.1 76 See bands used for different provider:** [[NB-IoT Deployment , Bands, Operator list>>http://wiki.dragino.com/xwiki/bin/view/Main/NB-IoT%20Deployment%20%2C%20Bands%2C%20Operator%20list/]]**
Edwin Chen 1.1 77
Xiaoling 130.1 78 === **1. Configure Frequency Band** ===
Edwin Chen 5.1 79
David Huang 9.1 80 AT+QCFG="band"[,<GSM_bandval>,<eMTC_bandval>,<NB-IoT_bandval>[,<effect>]]
Edwin Chen 5.1 81
Xiaoling 138.1 82 **<GSM_bandval>:**
David Huang 9.1 83
84 0 No change 
85 0x1 EGSM900
86 0x2 DCS1800
87 0x4 GSM850 
88 0x8 PCS1900 
89 0xF All of the supported bands above
90
Xiaoling 138.1 91 **<eMTC_bandval>:**
David Huang 9.1 92
93 0 No change 
94 0x1  LTE B1
95 0x2  LTE B2 
96 0x4  LTE B3 
97 0x8  LTE B4 
98 0x10  LTE B5 
99 0x80  LTE B8 
100 0x800  LTE B12 
101 0x1000  LTE B13 
102 0x20000  LTE B18 
103 0x40000  LTE B19 
104 0x80000  LTE B20 
105 0x1000000  LTE B25 
106 0x2000000  LTE B26 
107 0x4000000  LTE B27 
108 0x8000000  LTE B28 
109 0x40000000  LTE B31 
110 0x20000000000000000  LTE B66 
111 0x800000000000000000  LTE B72 
112 0x1000000000000000000  LTE B73 
113 0x1000000000000000000000  LTE B85
114
Xiaoling 138.1 115 **<NB-IoT_bandval>:**
David Huang 9.1 116
117 0 No change 
118 0x1  LTE B1
119 0x2  LTE B2 
120 0x4  LTE B3 
121 0x8  LTE B4 
122 0x10  LTE B5 
123 0x80  LTE B8 
124 0x800  LTE B12 
125 0x1000  LTE B13 
126 0x20000  LTE B18 
127 0x40000  LTE B19 
128 0x80000  LTE B20 
129 0x1000000  LTE B25 
130 0x8000000  LTE B28 
131 0x40000000  LTE B31 
132 0x20000000000000000  LTE B66
133
134 0x400000000000000000  LTE B71
135 0x800000000000000000  LTE B72 
136 0x1000000000000000000  LTE B73 
137 0x1000000000000000000000  LTE B85
138
139 For example, setting the LTE-M network frequency band to 3.
140
141 AT+QCFG="band",0xF,0x4,0,1
142
143 When searching for all bands, the value of this command is set to:
144
145 AT+QCFG="band",0xF,0x100002000000000f0e189f,0x10004200000000090e189f,1
146
147
Xiaoling 130.1 148 === **2. Configure search network sequence** ===
David Huang 9.1 149
150 AT+QCFG="nwscanseq",<scanseq>,1
151
152 <scanseq>:
153
154 00 Automatic (eMTC → NB-IoT → GSM) 
155 01 GSM 
156 02 eMTC 
157 03 NB-IoT
158
159 AT+QCFG="nwscanseq",02,1  ~/~/Priority search for eMTC
160
161
Xiaoling 130.1 162 === **3. Configure Network Category to be Searched for under LTE RAT** ===
163
David Huang 9.1 164 AT+QCFG="iotopmode",mode,1
165
166 0 eMTC 
167 1 NB-IoT 
168 2 eMTC and NB-IoT
169
170
Xiaoling 130.1 171 === **4. AT command to set frequency band and network category** ===
172
David Huang 13.1 173 AT+QBAND=0x100002000000000f0e189f,0x10004200000000090e189f  ~/~/<eMTC_bandval>,<NB-IoT_bandval>
174
175 AT+IOTMOD=0  ~/~/ 0 eMTC  1 NB-IoT  2 eMTC and NB-IoT
176
177 **Example :**
178
179 Taking the use of 1nce cards in **the United States** as an example.
180
181 AT+APN=iot.1nce.net  ~/~/set APN
182
183 AT+QBAND=0x100180A,0  ~/~/ eMTC :Set frequency band B2,B4,B12,B13,B25  NB-IoT:No change
184
185 AT+IOTMOD=0  ~/~/ Set  eMTC Network
186
187 **Setting the above commands in the United States will greatly reduce the network search time of the NB module.**
188
189
Edwin Chen 2.1 190 = 3. Configure to connect to different servers =
Edwin Chen 1.1 191
Edwin Chen 2.1 192 == 3.1 General UDP Connection ==
Edwin Chen 1.1 193
Xiaoling 130.1 194
Edwin Chen 2.1 195 The NB-IoT Sensor can send packet to server use UDP protocol.
Edwin Chen 1.1 196
Xiaoling 129.1 197
Edwin Chen 2.1 198 === 3.1.1 Simulate UDP Connection by PC tool ===
Edwin Chen 1.1 199
Xiaoling 129.1 200
Edwin Chen 2.1 201 We can use PC tool to simulate UDP connection to make sure server works ok.
Edwin Chen 1.1 202
Xiaoling 129.1 203 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20230802112413-1.png?width=1024&height=468&rev=1.1||alt="image-20230802112413-1.png"]]
Edwin Chen 1.1 204
Xiaoling 129.1 205
Edwin Chen 2.1 206 === 3.1.2 Configure NB-IoT Sensor ===
Edwin Chen 1.1 207
Edwin Chen 2.1 208 ==== 3.1.2.1 AT Commands ====
Edwin Chen 1.1 209
Xiaoling 129.1 210
Edwin Chen 2.1 211 (% style="color:blue" %)**AT Commands:**
Edwin Chen 1.1 212
Edwin Chen 3.1 213 * (% style="color:#037691" %)**AT+PRO=2,0**  (%%) ~/~/ Set to use UDP protocol to uplink ,Payload Type select Hex payload
Edwin Chen 1.1 214
Mengting Qiu 108.1 215 * (% style="color:#037691" %)**AT+SERVADDR=8.217.91.207,1999**  (%%) ~/~/ Set UDP server address and port
Edwin Chen 1.1 216
Mengting Qiu 20.2 217 [[image:image-20240819102802-1.png]]
Edwin Chen 1.1 218
Xiaoling 129.1 219
Edwin Chen 2.1 220 ==== 3.1.2.2 Uplink Example ====
Edwin Chen 1.1 221
222
Xiaoling 129.1 223 [[image:image-20240819105418-8.png||height="611" width="1287"]]
224
225
David Huang 8.1 226 == 3.2 General COAP Connection ==
227
Xiaoling 129.1 228
David Huang 8.1 229 The NB-IoT Sensor can send packet to server use COAP protocol.
230
231 Below are the commands.
232
233 (% style="color:blue" %)**AT Commands:**
234
235 * (% style="color:#037691" %)**AT+PRO=1,0**   (%%) ~/~/ Set to use COAP protocol to uplink, Payload Type select Hex payload.
236
237 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5683** (%%) ~/~/ Set COAP server address and port
238
kai 131.1 239 * (% style="color:#037691" %)**AT+URI1=11,"i"**  (%%) ~/~/  Configure CoAP Message Options
David Huang 9.1 240 * (% style="color:#037691" %)**AT+URI2=11,"aaa05e26-4d6d-f01b-660e-1d8de4a3bfe1"**    (%%) ~/~/ Configure CoAP Message Options
David Huang 8.1 241
Mengting Qiu 20.2 242 [[image:image-20240819103212-2.png]]
243
Xiaoling 129.1 244
David Huang 8.1 245 === 3.2.1 Uplink Example ===
246
Xiaoling 129.1 247
Mengting Qiu 20.2 248 [[image:image-20240819103909-4.png||height="453" width="955"]]
David Huang 8.1 249
250
Edwin Chen 2.1 251 == 3.2 General MQTT Connection ==
Edwin Chen 1.1 252
Xiaoling 129.1 253
Edwin Chen 2.1 254 The NB-IoT Sensor can send packet to server use MQTT protocol.
Edwin Chen 1.1 255
Edwin Chen 2.1 256 Below are the commands.
Edwin Chen 1.1 257
Edwin Chen 2.1 258 (% style="color:blue" %)**AT Commands:**
Edwin Chen 1.1 259
Edwin Chen 3.1 260 * (% style="color:#037691" %)**AT+PRO=3,0**   (%%) ~/~/ Set to use MQTT protocol to uplink, Payload Type select Hex payload.
Edwin Chen 1.1 261
Edwin Chen 3.1 262 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,1883**  (%%) ~/~/ Set MQTT server address and port
Edwin Chen 1.1 263
Edwin Chen 3.1 264 * (% style="color:#037691" %)**AT+CLIENT=CLIENT**     (%%) ~/~/ Set up the CLIENT of MQTT
Edwin Chen 1.1 265
Edwin Chen 3.1 266 * (% style="color:#037691" %)**AT+UNAME=UNAME**        (%%) ~/~/ Set the username of MQTT
Edwin Chen 1.1 267
Edwin Chen 3.1 268 * (% style="color:#037691" %)**AT+PWD=PWD**             (%%) ~/~/ Set the password of MQTT
Edwin Chen 1.1 269
Edwin Chen 3.1 270 * (% style="color:#037691" %)**AT+PUBTOPIC=NSE01_PUB**  (%%) ~/~/ Set the sending topic of MQTT
Edwin Chen 1.1 271
Edwin Chen 3.1 272 * (% style="color:#037691" %)**AT+SUBTOPIC=NSE01_SUB**  (%%) ~/~/ Set the subscription topic of MQTT
Edwin Chen 1.1 273
Mengting Qiu 20.2 274 [[image:image-20240819105003-7.png||height="613" width="458"]]
Edwin Chen 1.1 275
276
Mengting Qiu 20.2 277 [[image:image-20240819104942-6.png||height="702" width="974"]]
278
Edwin Chen 2.1 279 (% style="color:red" %)**Notice: MQTT protocol has a much higher power consumption compare with UDP/CoAP protocol. Please check the power analyze document and adjust the uplink period to a suitable interval.**
Edwin Chen 1.1 280
Xiaoling 129.1 281
Edwin Chen 2.1 282 == 3.3 [[ThingSpeak>>url:https://thingspeak.com/]] (via MQTT) ==
Edwin Chen 1.1 283
Edwin Chen 2.1 284 === 3.3.1 Get MQTT Credentials ===
Edwin Chen 1.1 285
Xiaoling 129.1 286
Edwin Chen 2.1 287 [[ThingSpeak>>url:https://thingspeak.com/]] connection uses MQTT Connection. So we need to get MQTT Credentials first. You need to point MQTT Devices to ThingSpeak Channel as well.
Edwin Chen 1.1 288
Mengting Qiu 34.2 289 [[image:image-20240819173602-1.png||height="401" width="743"]]
Edwin Chen 1.1 290
Mengting Qiu 34.2 291 [[image:image-20240819173706-3.png||height="595" width="597"]]
Edwin Chen 1.1 292
Xiaoling 129.1 293
Edwin Chen 2.1 294 === 3.3.2 Simulate with MQTT.fx ===
Edwin Chen 1.1 295
Edwin Chen 2.1 296 ==== 3.3.2.1 Establish MQTT Connection ====
Edwin Chen 1.1 297
Xiaoling 129.1 298
Edwin Chen 2.1 299 After we got MQTT Credentials, we can first simulate with PC tool MQTT.fx tool to see if the Credentials and settings are fine.
Edwin Chen 1.1 300
Mengting Qiu 34.2 301 [[image:image-20240819173826-4.png||height="534" width="734"]]
Edwin Chen 1.1 302
Edwin Chen 2.1 303 * (% style="color:#037691" %)**Broker Address:**(%%) mqtt3.thingspeak.com
Edwin Chen 1.1 304
Edwin Chen 2.1 305 * (% style="color:#037691" %)**Broker Port:**(%%) 1883
Edwin Chen 1.1 306
Edwin Chen 2.1 307 * (% style="color:#037691" %)**Client ID:**(%%) <Your ThingSpeak MQTT ClientID>
Edwin Chen 1.1 308
Edwin Chen 2.1 309 * (% style="color:#037691" %)**User Name:**(%%) <Your ThingSpeak MQTT User Name>
Edwin Chen 1.1 310
Edwin Chen 2.1 311 * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
Edwin Chen 1.1 312
Edwin Chen 2.1 313 ==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
Edwin Chen 1.1 314
Xiaoling 129.1 315
Mengting Qiu 34.2 316 [[image:image-20240819174033-5.png]]
Edwin Chen 1.1 317
Mengting Qiu 34.2 318 [[image:image-20240819174209-6.png]]
Edwin Chen 1.1 319
Edwin Chen 2.1 320 (% style="color:blue" %)**In MQTT.fx, we can publish below info:**
Edwin Chen 1.1 321
Edwin Chen 2.1 322 * (% style="color:#037691" %)**Topic:**(%%) channels/YOUR_CHANNEL_ID/publish
Edwin Chen 1.1 323
Edwin Chen 2.1 324 * (% style="color:#037691" %)**Payload:**(%%) field1=63&field2=67&status=MQTTPUBLISH
Edwin Chen 1.1 325
Edwin Chen 2.1 326 Where 63 and 67 are the value to be published to field1 & field2.
Edwin Chen 1.1 327
Edwin Chen 2.1 328 (% style="color:blue" %)**Result: **
Edwin Chen 1.1 329
Mengting Qiu 34.2 330 [[image:image-20240819174314-7.png||height="469" width="785"]]
Edwin Chen 1.1 331
Xiaoling 129.1 332
Edwin Chen 2.1 333 === 3.3.3 Configure NB-IoT Sensor for connection ===
Edwin Chen 1.1 334
Edwin Chen 2.1 335 ==== 3.3.3.1 AT Commands: ====
Edwin Chen 1.1 336
Xiaoling 129.1 337
Edwin Chen 2.1 338 In the NB-IoT, we can run below commands so to publish the channels like MQTT.fx
Edwin Chen 1.1 339
Edwin Chen 2.1 340 * (% style="color:blue" %)**AT+PRO=3,1** (%%) ~/~/ Set to use ThingSpeak Server and Related Payload
Edwin Chen 1.1 341
Edwin Chen 2.1 342 * (% style="color:blue" %)**AT+CLIENT=<Your ThingSpeak MQTT ClientID>**
Edwin Chen 1.1 343
Edwin Chen 2.1 344 * (% style="color:blue" %)**AT+UNAME=<Your ThingSpeak MQTT User Name>**
Edwin Chen 1.1 345
Edwin Chen 2.1 346 * (% style="color:blue" %)**AT+PWD=<Your ThingSpeak MQTT Password>**
Edwin Chen 1.1 347
Edwin Chen 2.1 348 * (% style="color:blue" %)**AT+PUBTOPIC=<YOUR_CHANNEL_ID>**
Edwin Chen 1.1 349
Edwin Chen 2.1 350 * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
Edwin Chen 1.1 351
Edwin Chen 2.1 352 ==== 3.3.3.2 Uplink Examples ====
Edwin Chen 1.1 353
Xiaoling 129.1 354
Mengting Qiu 34.2 355 [[image:image-20240819174540-8.png]]
Edwin Chen 1.1 356
Edwin Chen 2.1 357 For SE01-NB
Edwin Chen 1.1 358
Edwin Chen 2.1 359 For DDS20-NB
Edwin Chen 1.1 360
Edwin Chen 2.1 361 For DDS45-NB
Edwin Chen 1.1 362
Edwin Chen 2.1 363 For DDS75-NB
Edwin Chen 1.1 364
Edwin Chen 2.1 365 For NMDS120-NB
Edwin Chen 1.1 366
Edwin Chen 2.1 367 For SPH01-NB
Edwin Chen 1.1 368
Edwin Chen 2.1 369 For NLM01-NB
Edwin Chen 1.1 370
Edwin Chen 2.1 371 For NMDS200-NB
Edwin Chen 1.1 372
Edwin Chen 2.1 373 For CPN01-NB
Edwin Chen 1.1 374
Edwin Chen 2.1 375 For DS03A-NB
Edwin Chen 1.1 376
Edwin Chen 2.1 377 For SN50V3-NB
Edwin Chen 1.1 378
Xiaoling 129.1 379
Edwin Chen 2.1 380 ==== 3.3.3.3 Map fields to sensor value ====
Edwin Chen 1.1 381
Xiaoling 129.1 382
Edwin Chen 2.1 383 When NB-IoT sensor upload to ThingSpeak. The payload already specify which fileds related to which sensor value. Use need to create fileds in Channels Settings. with name so to see the value correctly.
Edwin Chen 1.1 384
Mengting Qiu 34.2 385 [[image:image-20240819174610-9.png]]
Edwin Chen 1.1 386
Mengting Qiu 34.2 387 [[image:image-20240819174618-10.png]]
Edwin Chen 1.1 388
Edwin Chen 2.1 389 Below is the NB-IoT Product Table show the mapping.
Edwin Chen 1.1 390
Xiaoling 129.1 391 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1353.82px" %)
Xiaoling 138.1 392 |(% style="background-color:#4f81bd; width:143px" %) |(% style="background-color:#4f81bd; color:white; width:103px" %)Field1|(% style="background-color:#4f81bd; color:white; width:102px" %)Field2|(% style="background-color:#4f81bd; color:white; width:150px" %)Field3|(% style="background-color:#4f81bd; color:white; width:141px" %)Field4|(% style="background-color:#4f81bd; color:white; width:138px" %)Field5|(% style="background-color:#4f81bd; color:white; width:135px" %)Field6|(% style="background-color:#4f81bd; color:white; width:134px" %)Field7|(% style="background-color:#4f81bd; color:white; width:138px" %)Field8|(% style="background-color:#4f81bd; color:white; width:85px" %)Field9|(% style="background-color:#4f81bd; color:white; width:80px" %)Field10
393 |(% style="background-color:#4f81bd; color:white; width:143px" %)S31x-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:150px" %)Battery|(% style="width:141px" %)RSSI|(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
394 |(% style="background-color:#4f81bd; color:white; width:143px" %)SE01-NB|(% style="width:103px" %)Temperature |(% style="width:102px" %)Humidity|(% style="width:150px" %)conduct|(% style="width:141px" %)dielectric_constant|(% style="width:138px" %)Battery|(% style="width:135px" %)RSSI|(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
395 |(% style="background-color:#4f81bd; color:white; width:143px" %)DDS20-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:150px" %)RSSI|(% style="width:141px" %) |(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
396 |(% style="background-color:#4f81bd; color:white; width:143px" %)DDS45-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:150px" %)RSSI|(% style="width:141px" %) |(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
397 |(% style="background-color:#4f81bd; color:white; width:143px" %)DDS75-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:150px" %)RSSI|(% style="width:141px" %) |(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
398 |(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS120-NB|(% style="width:103px" %)distance|(% style="width:102px" %)Battery|(% style="width:150px" %)RSSI|(% style="width:141px" %) |(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
399 |(% rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SPH01-NB|(% style="width:103px" %)ph|(% style="width:102px" %)Temperature|(% style="width:150px" %)Battery|(% style="width:141px" %)RSSI|(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% colspan="1" rowspan="1" style="width:80px" %)
400 |(% style="background-color:#4f81bd; color:white; width:143px" %)NLM01-NB|(% style="width:103px" %)Humidity|(% style="width:102px" %)Temperature|(% style="width:150px" %)Battery|(% style="width:141px" %)RSSI|(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
401 |(% style="background-color:#4f81bd; color:white; width:143px" %)NMDS200-NB|(% style="width:103px" %)distance1|(% style="width:102px" %)distance2|(% style="width:150px" %)Battery|(% style="width:141px" %)RSSI|(% style="width:138px" %) |(% style="width:135px" %) |(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
402 |(% style="background-color:#4f81bd; color:white; width:143px" %)CPN01-NB|(% style="width:103px" %)alarm|(% style="width:102px" %)count|(% style="width:150px" %)door open duration|(% style="width:141px" %)calc flag|(% style="width:138px" %)Battery|(% style="width:135px" %)RSSI|(% style="width:134px" %) |(% style="width:138px" %) |(% style="width:85px" %) |(% style="width:80px" %)
403 |(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)DS03A-NB|(% colspan="1" rowspan="1" style="width:103px" %)level|(% colspan="1" rowspan="1" style="width:102px" %)alarm|(% colspan="1" rowspan="1" style="width:150px" %)pb14door open num|(% colspan="1" rowspan="1" style="width:141px" %)pb14 last open time|(% colspan="1" rowspan="1" style="width:138px" %)pb15 level status|(% colspan="1" rowspan="1" style="width:135px" %)pb15 alarm status|(% colspan="1" rowspan="1" style="width:134px" %)pb15 door open num|(% colspan="1" rowspan="1" style="width:138px" %)pb15 last open time|(% colspan="1" rowspan="1" style="width:85px" %)Battery|(% colspan="1" rowspan="1" style="width:80px" %)RSSI
404 |(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod1|(% colspan="1" rowspan="1" style="width:103px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:150px" %)RSSI|(% colspan="1" rowspan="1" style="width:141px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:138px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:135px" %)adc0|(% colspan="1" rowspan="1" style="width:134px" %)Temperature |(% colspan="1" rowspan="1" style="width:138px" %)Humidity|(% colspan="1" rowspan="1" style="width:85px" %) |(% colspan="1" rowspan="1" style="width:80px" %)
405 |(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod2|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:150px" %)RSSI|(% colspan="1" style="width:141px" %)DS18B20 Temp|(% colspan="1" style="width:138px" %)exit_state/input PA4|(% colspan="1" style="width:135px" %)adc0|(% colspan="1" style="width:134px" %)distance|(% colspan="1" style="width:138px" %) |(% colspan="1" style="width:85px" %) |(% colspan="1" style="width:80px" %)
406 |(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod3|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:150px" %)RSSI|(% colspan="1" style="width:141px" %)adc0|(% colspan="1" style="width:138px" %)exit_state/input PA4|(% colspan="1" style="width:135px" %)adc1|(% colspan="1" style="width:134px" %)Temperature|(% colspan="1" style="width:138px" %)Humidity|(% colspan="1" style="width:85px" %)adc4|(% colspan="1" style="width:80px" %)
407 |(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod4|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:150px" %)RSSI|(% colspan="1" style="width:141px" %)DS18B20 Temp|(% colspan="1" style="width:138px" %)adc0|(% colspan="1" style="width:135px" %)exit_state/input PA4|(% colspan="1" style="width:134px" %)DS18B20 Temp2|(% colspan="1" style="width:138px" %)DS18B20 Temp3|(% colspan="1" style="width:85px" %) |(% colspan="1" style="width:80px" %)
408 |(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod5|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:150px" %)RSSI|(% colspan="1" style="width:141px" %)DS18B20 Temp|(% colspan="1" style="width:138px" %)adc0|(% colspan="1" style="width:135px" %)exit_state/input PA4|(% colspan="1" style="width:134px" %)Weight|(% colspan="1" style="width:138px" %) |(% colspan="1" style="width:85px" %) |(% colspan="1" style="width:80px" %)
409 |(% colspan="1" style="background-color:#4f81bd; color:white; width:143px" %)SN50V3-NB mod6|(% colspan="1" style="width:103px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:150px" %)RSSI|(% colspan="1" style="width:141px" %)count|(% colspan="1" style="width:138px" %) |(% colspan="1" style="width:135px" %) |(% colspan="1" style="width:134px" %) |(% colspan="1" style="width:138px" %) |(% colspan="1" style="width:85px" %) |(% colspan="1" style="width:80px" %)
Edwin Chen 1.1 410
Edwin Chen 2.1 411 == 3.4 [[Datacake>>https://datacake.co/]] ==
Edwin Chen 1.1 412
Edwin Chen 2.1 413 (% class="wikigeneratedid" %)
414 Dragino NB-IoT sensors has its template in **[[Datacake>>https://datacake.co/]]** Platform. There are two version for NB Sensor,
Edwin Chen 1.1 415
Edwin Chen 2.1 416 (% class="wikigeneratedid" %)
Mengting Qiu 46.2 417 As example for S31B-CB. there are two versions: **S31B-CB-1D and S31B-CB-GE.**
Edwin Chen 1.1 418
Mengting Qiu 46.2 419 * (% style="color:blue" %)**S31B-CB-1D**(%%): This version have pre-configure DataCake connection. User just need to Power on this device, it will auto connect send data to DataCake Server.
Edwin Chen 1.1 420
Mengting Qiu 46.2 421 * (% style="color:blue" %)**S31B-CB-GE**(%%): This verson doesn't have pre-configure Datacake connection. User need to enter the AT Commands to connect to Datacake. See below for instruction.
Edwin Chen 1.1 422
Edwin Chen 2.1 423 === 3.4.1 For device Already has template ===
Edwin Chen 1.1 424
Edwin Chen 2.1 425 ==== 3.4.1.1 Create Device ====
Edwin Chen 1.1 426
Xiaoling 129.1 427
Edwin Chen 2.1 428 (% style="color:blue" %)**Add Device**(%%) in DataCake.
Edwin Chen 1.1 429
Mengting Qiu 46.2 430 [[image:image-20240820110003-1.png]]
Edwin Chen 1.1 431
Mengting Qiu 46.2 432 [[image:image-20240820110017-2.png]]
Edwin Chen 1.1 433
Edwin Chen 2.1 434 (% style="color:blue" %)**Choose the correct model**(%%) from template.
Edwin Chen 1.1 435
Mengting Qiu 46.2 436 [[image:image-20240820110031-3.png]]
Edwin Chen 1.1 437
Edwin Chen 3.1 438 (% style="color:blue" %)**Fill Device ID**(%%). The device ID needs to be filled in with IMEI, and a prefix of(% style="color:blue" %)** 'f' **(%%)needs to be added.
Edwin Chen 1.1 439
Mengting Qiu 46.2 440 [[image:image-20240820110048-4.png]]
Edwin Chen 1.1 441
Mengting Qiu 46.2 442 [[image:image-20240820110103-5.png]]
Edwin Chen 1.1 443
Mengting Qiu 46.2 444 [[image:image-20240820110114-6.png]]
Edwin Chen 1.1 445
Xiaoling 129.1 446
Edwin Chen 2.1 447 === 3.4.2 For Device already registered in DataCake before shipped ===
Edwin Chen 1.1 448
Edwin Chen 2.1 449 ==== 3.4.2.1 Scan QR Code to get the device info ====
Edwin Chen 1.1 450
Xiaoling 129.1 451
Edwin Chen 1.1 452 Users can use their phones or computers to scan QR codes to obtain device data information.
453
Mengting Qiu 46.2 454 [[image:image-20240820110129-7.png]]
Edwin Chen 1.1 455
Mengting Qiu 46.2 456 [[image:image-20240820110218-9.png]]
Edwin Chen 1.1 457
Xiaoling 129.1 458
Edwin Chen 2.1 459 ==== 3.4.2.2 Claim Device to User Account ====
Edwin Chen 1.1 460
Xiaoling 138.1 461
Edwin Chen 1.1 462 By Default, the device is registered in Dragino's DataCake Account. User can Claim it to his account.
463
Xiaoling 129.1 464
Edwin Chen 2.1 465 === 3.4.3 Manual Add Decoder in DataCake ( don't use the template in DataCake) ===
Edwin Chen 1.1 466
Xiaoling 129.1 467
Edwin Chen 2.1 468 **Step1: Add a device**
Edwin Chen 1.1 469
Mengting Qiu 46.2 470 [[image:image-20240820110235-10.png]][[image:image-20240129170024-1.png||height="330" width="900"]]
Edwin Chen 1.1 471
Xiaoling 129.1 472
Edwin Chen 2.1 473 **Step2: Choose your device type,please select dragino NB-IOT device**
Edwin Chen 1.1 474
Mengting Qiu 46.2 475 [[image:image-20240820110247-11.png]]
Edwin Chen 1.1 476
Xiaoling 129.1 477
Edwin Chen 2.1 478 **Step3: Choose to create a new device**
Edwin Chen 1.1 479
Mengting Qiu 75.2 480 [[image:image-20240820111016-12.png]]
Edwin Chen 1.1 481
Xiaoling 129.1 482
Edwin Chen 2.1 483 **Step4: Fill in the device ID of your NB device**
Edwin Chen 1.1 484
Mengting Qiu 75.2 485 [[image:image-20240820111101-13.png]]
Edwin Chen 1.1 486
Xiaoling 129.1 487
Edwin Chen 2.1 488 **Step5: Please select your device plan according to your needs and complete the creation of the device**
Edwin Chen 1.1 489
Mengting Qiu 75.2 490 [[image:image-20240820111113-14.png]]
Edwin Chen 1.1 491
Xiaoling 129.1 492
Edwin Chen 2.1 493 **Step6: Please add the decoder at the payload decoder of the device configuration.**
Edwin Chen 1.1 494
Edwin Chen 2.1 495 **Decoder location:**[[dragino-end-node-decoder/Datacake-Dragino_NB at main · dragino/dragino-end-node-decoder (github.com)>>url:https://github.com/dragino/dragino-end-node-decoder/tree/main/Datacake-Dragino_NB]]
Edwin Chen 1.1 496
Mengting Qiu 75.2 497 [[image:image-20240820111236-15.png]]
Edwin Chen 1.1 498
Mengting Qiu 75.2 499 [[image:image-20240820111248-16.png]]
Edwin Chen 1.1 500
Xiaoling 129.1 501
Edwin Chen 2.1 502 **Step7: Add the output of the decoder as a field**
Edwin Chen 1.1 503
Mengting Qiu 75.2 504 [[image:image-20240820111259-17.png]]
Edwin Chen 1.1 505
Xiaoling 129.1 506
Edwin Chen 2.1 507 **Step8: Customize the dashboard and use fields as parameters of the dashboard**
Edwin Chen 1.1 508
Mengting Qiu 75.2 509 [[image:image-20240820111312-18.png]]
Edwin Chen 1.1 510
Mengting Qiu 75.2 511 [[image:image-20240820111322-19.png]]
Edwin Chen 1.1 512
Mengting Qiu 75.2 513 [[image:image-20240820111333-20.png]]
Edwin Chen 1.1 514
Xiaoling 129.1 515
Edwin Chen 2.1 516 === 3.4.4 For device have not configured to connect to DataCake ===
Edwin Chen 1.1 517
Xiaoling 129.1 518
Edwin Chen 2.1 519 (% class="lead" %)
Edwin Chen 1.1 520 Use AT command for connecting to DataCake
521
Edwin Chen 2.1 522 (% style="color:blue" %)**AT+PRO=2,0**
Edwin Chen 1.1 523
Edwin Chen 2.1 524 (% style="color:blue" %)**AT+SERVADDR=67.207.76.90,4445**
Edwin Chen 1.1 525
Xiaoling 129.1 526
Edwin Chen 2.1 527 == 3.5 Node-Red (via MQTT) ==
Edwin Chen 1.1 528
Edwin Chen 2.1 529 === 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
Edwin Chen 1.1 530
Xiaoling 129.1 531
Edwin Chen 1.1 532 Take S31-NB UDP protocol as an example.
533
534 Dragino provides input flow examples for the sensors.
535
536 User can download the required JSON file through Dragino Node-RED input flow template.
537
Edwin Chen 2.1 538 Download sample JSON file link: [[https:~~/~~/www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0>>url:https://www.dropbox.com/sh/mduw85jcuwsua22/AAAvwPhg9z6dLjJhmZjqBf_ma?dl=0]]
Edwin Chen 1.1 539
540 We can directly import the template.
541
542 The templates for S31-NB and NB95S31B are the same.
543
Mengting Qiu 75.2 544 [[image:image-20240820111353-21.png]]
Edwin Chen 1.1 545
546 Please select the NB95S31B template.
547
Mengting Qiu 75.2 548 [[image:image-20240820111405-22.png]]
Edwin Chen 1.1 549
Mengting Qiu 75.2 550 [[image:image-20240820111418-23.png]]
Edwin Chen 1.1 551
Mengting Qiu 75.2 552 [[image:image-20240820111427-24.png]]
Edwin Chen 1.1 553
554 Successfully imported template.
555
Mengting Qiu 75.2 556 [[image:image-20240820111438-25.png]]
Edwin Chen 1.1 557
558 Users can set UDP port.
559
Mengting Qiu 75.2 560 [[image:image-20240820111448-26.png]]
Edwin Chen 1.1 561
Xiaoling 129.1 562
Edwin Chen 2.1 563 === 3.5.2 Simulate Connection ===
Edwin Chen 1.1 564
Xiaoling 129.1 565
Edwin Chen 1.1 566 We have completed the configuration of UDP. We can try sending packets to node red.
567
Mengting Qiu 75.2 568 [[image:image-20240820111504-27.png]]
Edwin Chen 1.1 569
Mengting Qiu 75.2 570 [[image:image-20240820111515-28.png]]
Edwin Chen 1.1 571
Xiaoling 129.1 572
Edwin Chen 2.1 573 === 3.5.3 Configure NB-IoT Sensors ===
Edwin Chen 1.1 574
Xiaoling 129.1 575
Edwin Chen 2.1 576 * (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format**
577 * (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined**
578 * (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined**
579 * (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined**
580 * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
581 * (% style="color:#037691" %)**AT+PWD=“Your device token”**
Edwin Chen 1.1 582
Edwin Chen 2.1 583 == 3.6 ThingsBoard.Cloud (via MQTT) ==
Edwin Chen 1.1 584
Edwin Chen 2.1 585 === 3.6.1 Configure ThingsBoard ===
Edwin Chen 1.1 586
Edwin Chen 2.1 587 ==== 3.6.1.1 Create Device ====
Edwin Chen 1.1 588
Xiaoling 129.1 589
Edwin Chen 2.1 590 Create a New Device in [[ThingsBoard>>url:https://thingsboard.cloud/]]. Record Device Name which is used for MQTT connection.
Edwin Chen 1.1 591
Mengting Qiu 75.2 592 [[image:image-20240820112210-29.png]]
Edwin Chen 1.1 593
Xiaoling 129.1 594
Edwin Chen 2.1 595 ==== 3.6.1.2 Create Uplink & Downlink Converter ====
Edwin Chen 1.1 596
Xiaoling 129.1 597
Edwin Chen 2.1 598 (% style="color:blue" %)**Uplink Converter**
Edwin Chen 1.1 599
Edwin Chen 2.1 600 The purpose of the decoder function is to parse the incoming data and metadata to a format that ThingsBoard can consume. deviceName and deviceType are required, while attributes and telemetry are optional. Attributes and telemetry are flat key-value objects. Nested objects are not supported.
Edwin Chen 1.1 601
Edwin Chen 2.1 602 To create an uplink converter go to the (% style="color:blue" %)**Integrations center**(%%) -> (% style="color:blue" %)**Data converters**(%%) page and click (% style="color:blue" %)**“plus”** (%%)button. Name it (% style="color:blue" %)**“MQTT Uplink Converter”**(%%) and select type (% style="color:blue" %)"**Uplink"**(%%). Use debug mode for now.
Edwin Chen 1.1 603
Mengting Qiu 75.2 604 [[image:image-20240820112222-30.png]]
Edwin Chen 1.1 605
Edwin Chen 2.1 606 (% style="color:blue" %)**Downlink Converter**
Edwin Chen 1.1 607
Edwin Chen 2.1 608 The Downlink converter transforming outgoing RPC message and then the Integration sends it to external MQTT broke
Edwin Chen 1.1 609
Mengting Qiu 75.2 610 [[image:image-20240820112236-31.png]]
Edwin Chen 1.1 611
Edwin Chen 2.1 612 (% style="color:red" %)**Note: Our device payload is already human readable data. Therefore, users do not need to write decoders. Simply create by default.**
Edwin Chen 1.1 613
Xiaoling 129.1 614
Edwin Chen 2.1 615 ==== 3.6.1.3 MQTT Integration Setup ====
Edwin Chen 1.1 616
Xiaoling 129.1 617
Edwin Chen 2.1 618 Go to the (% style="color:blue" %)**Integrations center**(%%) **->** (% style="color:blue" %)**Integrations page**(%%) and click **“(% style="color:blue" %)plus(%%)”** icon to add a new integration. Name it (% style="color:blue" %)**“MQTT Integration”**(%%), select type (% style="color:blue" %)**MQTT**;
Edwin Chen 1.1 619
Mengting Qiu 75.2 620 [[image:image-20240820112247-32.png]]
Edwin Chen 1.1 621
Edwin Chen 2.1 622 * The next steps is to add the recently created uplink and downlink converters;
Edwin Chen 1.1 623
Mengting Qiu 75.2 624 [[image:image-20240820112302-33.png]]
Edwin Chen 1.1 625
Mengting Qiu 75.2 626 [[image:image-20240820112316-34.png]]
Edwin Chen 1.1 627
Edwin Chen 2.1 628 (% style="color:blue" %)**Add a topic filter:**
Edwin Chen 1.1 629
630 Consistent with the theme of the node setting.
631
Edwin Chen 2.1 632 You can also select an MQTT QoS level. We use MQTT QoS level 0 (At most once) by default;
Edwin Chen 1.1 633
Mengting Qiu 75.2 634 [[image:image-20240820112330-35.png]]
Edwin Chen 1.1 635
Xiaoling 129.1 636
Edwin Chen 2.1 637 === 3.6.2 Simulate with MQTT.fx ===
Edwin Chen 1.1 638
Mengting Qiu 75.2 639 [[image:image-20240820112340-36.png]]
Edwin Chen 1.1 640
Mengting Qiu 75.2 641 [[image:image-20240820112351-37.png]]
Edwin Chen 1.1 642
Xiaoling 129.1 643
Edwin Chen 2.1 644 === 3.6.3 Configure NB-IoT Sensor ===
Edwin Chen 1.1 645
Xiaoling 129.1 646
Edwin Chen 2.1 647 (% style="color:blue" %)**AT Commands**
Edwin Chen 1.1 648
Edwin Chen 3.1 649 * (% style="color:#037691" %)**AT+PRO=3,3  **(%%)** **~/~/ Use MQTT to connect to ThingsBoard. Payload Type set to 3.
Edwin Chen 1.1 650
Edwin Chen 2.1 651 * (% style="color:#037691" %)**AT+SUBTOPIC=<device name>**
Edwin Chen 1.1 652
Edwin Chen 2.1 653 * (% style="color:#037691" %)**AT+PUBTOPIC=<device name>**
Edwin Chen 1.1 654
Edwin Chen 2.1 655 * (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined**
Edwin Chen 1.1 656
Edwin Chen 2.1 657 * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
Edwin Chen 1.1 658
Edwin Chen 2.1 659 * (% style="color:#037691" %)**AT+PWD=<device name> or User Defined**
Edwin Chen 1.1 660
Edwin Chen 2.1 661 Test Uplink by click the button for 1 second
Edwin Chen 1.1 662
Mengting Qiu 75.2 663 [[image:image-20240820112404-38.png]]
Edwin Chen 1.1 664
Mengting Qiu 75.2 665 [[image:image-20240820112416-39.png]]
Edwin Chen 1.1 666
Mengting Qiu 75.2 667 [[image:image-20240820112426-40.png]]
Edwin Chen 1.1 668
Xiaoling 129.1 669
Mengting Qiu 132.1 670 == 3.7 ThingsBoard.Cloud (via COAP) ==
Edwin Chen 1.1 671
Mengting Qiu 132.1 672 === 3.7.1 Configure ThingsBoard ===
Xiaoling 129.1 673
Mengting Qiu 132.1 674 ==== 3.7.1.1 Create Uplink & Downlink Converter ====
675
676
677 (% style="color:blue" %)**Uplink Converter**
678
679 The purpose of the decoder function is to parse the incoming data and metadata to a format that ThingsBoard can consume. deviceName and deviceType are required, while attributes and telemetry are optional. Attributes and telemetry are flat key-value objects. Nested objects are not supported.
680
681 To create an uplink converter go to the (% style="color:blue" %)**Integrations center**(%%) -> (% style="color:blue" %)**Data converters**(%%) page and click (% style="color:blue" %)**“plus”** (%%)button. Name it (% style="color:blue" %)**“COAP Uplink Converter”**(%%) and select type (% style="color:blue" %)"**Uplink"**(%%). Use debug mode for now.
682
Mengting Qiu 133.1 683 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20240729141300-1.png?width=1115&height=552&rev=1.1||alt="image-20240729141300-1.png" height="579" width="1168"]]
Mengting Qiu 132.1 684
685
686 (% style="color:blue" %)**Downlink Converter**
687
688 The Downlink converter transforming outgoing RPC message and then the Integration sends it to external COAP broker.
689
Mengting Qiu 133.1 690 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20240729142505-3.png?width=1023&height=507&rev=1.1||alt="image-20240729142505-3.png" height="579" width="1168"]]
Mengting Qiu 132.1 691
692
693 ==== 3.7.1.2 COAP Integration Setup ====
694
695
696 Go to the (% style="color:blue" %)**Integrations center**(%%) **->** (% style="color:blue" %)**Integrations page**(%%) and click **“(% style="color:blue" %)plus(%%)”** icon to add a new integration. Name it (% style="color:blue" %)**“CoAP Integration”**(%%), select type **COAP    **(% style="color:blue" %);
697
Mengting Qiu 133.1 698 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20240729144058-4.png?width=1021&height=506&rev=1.1||alt="image-20240729144058-4.png" height="583" width="1176"]]
Mengting Qiu 132.1 699
700
701 The next steps is to add the recently created uplink converters;
702
Mengting Qiu 133.1 703 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20240729150142-5.png?width=1023&height=507&rev=1.1||alt="image-20240729150142-5.png" height="591" width="1193"]]
Mengting Qiu 132.1 704
705
706 ==== 3.7.1.3 Add COAP Integration ====
707
Mengting Qiu 133.1 708 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20240729161543-9.png?width=1009&height=500&rev=1.1||alt="image-20240729161543-9.png" height="590" width="1191"]]
Mengting Qiu 132.1 709
710
711 === 3.7.2 Node Configuration(Example: Connecting to the Thingsboard platform) ===
712
713 ==== 3.7.2.1 Instruction Description ====
714
715
716 * AT+PRO=1,0(HEX format uplink)  &AT+PRO=1,5(JSON format uplink)
717 * AT+SERVADDR=COAP Server Address,5683
718
719 Example: AT+SERVADDR=int.thingsboard.cloud,5683(The address is automatically generated when the COAP integration is created)
720
Mengting Qiu 133.1 721 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20240729172305-12.png?width=624&height=361&rev=1.1||alt="image-20240729172305-12.png" height="417" width="721"]]
Mengting Qiu 132.1 722
723 Note:The port for the COAP protocol has been fixed to 5683
724
725
Mengting Qiu 140.1 726 * AT+URI1=11,"i"
727 * AT+URI2=11,"Needs to be consistent with the CoAP endpoint URL in the platform"
Mengting Qiu 133.1 728 *
Mengting Qiu 132.1 729
Mengting Qiu 133.1 730 -CB devices using a (% style="color:red" %)**BG95-M2**(%%) module, you need to configure (% style="color:red" %)**TWO**(%%) URL commands,
Mengting Qiu 132.1 731
732 e.g.
733
Mengting Qiu 140.1 734 * AT+URI1=11, "i"
735 * AT+URI2=11,"faaaa241f-af4a-b780-4468-c671bb574858"
Mengting Qiu 132.1 736
Mengting Qiu 133.1 737 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/WebHome/image-20240729172500-14.png?width=700&height=403&rev=1.1||alt="image-20240729172500-14.png" height="413" width="718"]]
Mengting Qiu 132.1 738
739
740 == 3.8 [[Tago.io>>url:https://admin.tago.io/]] (via MQTT) ==
741
742 === 3.8.1 Create device & Get Credentials ===
743
744
Edwin Chen 2.1 745 We use MQTT Connection to send data to [[Tago.io>>url:https://admin.tago.io/]]. We need to Create Device and Get MQTT Credentials first.
Edwin Chen 1.1 746
Mengting Qiu 95.2 747 [[image:image-20240820112516-41.png]]
Edwin Chen 1.1 748
Mengting Qiu 95.2 749 [[image:image-20240820112526-42.png]]
Edwin Chen 1.1 750
Edwin Chen 2.1 751 Go to the Device section and create a device. Then, go to the section tokens and copy your device-token.
Edwin Chen 1.1 752
Mengting Qiu 95.2 753 [[image:image-20240820112539-43.png]]
Edwin Chen 1.1 754
Edwin Chen 2.1 755 The device needs to enable the TLS mode and set the (% style="color:blue" %)**AT+TLSMOD=1,0**(%%) command.
Edwin Chen 1.1 756
Edwin Chen 2.1 757 (% style="color:blue" %)**On the Connection Profile window, set the following information:**
Edwin Chen 1.1 758
Edwin Chen 2.1 759 * (% style="color:#037691" %)**Profile Name: “Any name”**
Edwin Chen 1.1 760
Edwin Chen 2.1 761 * (% style="color:#037691" %)**Broker Address: mqtt.tago.io**
Edwin Chen 1.1 762
Edwin Chen 2.1 763 * (% style="color:#037691" %)**Broker Port: 8883**
Edwin Chen 1.1 764
Edwin Chen 2.1 765 * (% style="color:#037691" %)**Client ID: “Any value”**
Edwin Chen 1.1 766
Edwin Chen 2.1 767 (% style="color:blue" %)**On the section User credentials, set the following information:**
Edwin Chen 1.1 768
Edwin Chen 2.1 769 * (% style="color:#037691" %)**User Name: “Any value”** (%%) **~/~/ Tago validates your user by the token only**
Edwin Chen 1.1 770
Edwin Chen 2.1 771 * (% style="color:#037691" %)**Password: “Your device token”**
Edwin Chen 1.1 772
Edwin Chen 2.1 773 * (% style="color:#037691" %)**PUBTOPIC: “Any value”**
Edwin Chen 1.1 774
Edwin Chen 2.1 775 * (% style="color:#037691" %)**SUBTOPIC: “Any value”**
Edwin Chen 1.1 776
Edwin Chen 2.1 777 (% style="color:blue" %)**AT command:**
Edwin Chen 1.1 778
Edwin Chen 2.1 779 * (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%) **~/~/ hex format or json format**
Edwin Chen 1.1 780
Edwin Chen 2.1 781 * (% style="color:#037691" %)**AT+SUBTOPIC=<device name>or User Defined**
Edwin Chen 1.1 782
Edwin Chen 2.1 783 * (% style="color:#037691" %)**AT+PUBTOPIC=<device name>or User Defined**
Edwin Chen 1.1 784
Edwin Chen 2.1 785 * (% style="color:#037691" %)**AT+CLIENT=<device name> or User Defined**
Edwin Chen 1.1 786
Edwin Chen 2.1 787 * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
Edwin Chen 1.1 788
Edwin Chen 2.1 789 * (% style="color:#037691" %)**AT+PWD=“Your device token”**
Edwin Chen 1.1 790
Mengting Qiu 132.1 791 === 3.8.2 Simulate with MQTT.fx ===
Edwin Chen 1.1 792
Xiaoling 129.1 793
Mengting Qiu 95.2 794 [[image:image-20240820112552-44.png]]
Edwin Chen 1.1 795
Mengting Qiu 95.2 796 [[image:image-20240820112604-45.png]]
Edwin Chen 1.1 797
Edwin Chen 2.1 798 Users can run the (% style="color:blue" %)**AT+PRO=3,5**(%%) command, and the payload will be converted to **JSON format**.
Edwin Chen 1.1 799
Mengting Qiu 95.2 800 [[image:image-20240820112615-46.png]]
Edwin Chen 1.1 801
Mengting Qiu 95.2 802 [[image:image-20240820112626-47.png]]
Edwin Chen 1.1 803
Xiaoling 129.1 804
Mengting Qiu 132.1 805 === 3.8.3 tago data ===
Edwin Chen 1.1 806
Xiaoling 129.1 807
Mengting Qiu 95.2 808 [[image:image-20240820112637-48.png]]
Edwin Chen 1.1 809
Mengting Qiu 95.2 810 [[image:image-20240820112647-49.png]]
Edwin Chen 1.1 811
Xiaoling 129.1 812
Mengting Qiu 132.1 813 == 3.9 TCP Connection ==
Edwin Chen 1.1 814
Xiaoling 129.1 815
Edwin Chen 2.1 816 (% style="color:blue" %)**AT command:**
Edwin Chen 1.1 817
Edwin Chen 3.1 818 * (% style="color:#037691" %)**AT+PRO=4,0   ** (%%) ~/~/ Set to use TCP protocol to uplink(HEX format)
Edwin Chen 1.1 819
Mengting Qiu 135.1 820 * (% style="color:#037691" %)**AT+PRO=4,5   ** (%%) ~/~/ Set to use TCP protocol to uplink(JSON format)
Edwin Chen 1.1 821
Edwin Chen 2.1 822 * (% style="color:#037691" %)**AT+SERVADDR=120.24.4.116,5600 ** (%%) ~/~/ to set TCP server address and port
Edwin Chen 1.1 823
Edwin Chen 2.1 824 (% style="color:blue" %)**Sensor Console Output when Uplink:**
Edwin Chen 1.1 825
Mengting Qiu 95.2 826 [[image:image-20240820112704-50.png]]
Edwin Chen 1.1 827
Edwin Chen 2.1 828 (% style="color:blue" %)**See result in TCP Server:**
Edwin Chen 1.1 829
Mengting Qiu 95.2 830 [[image:image-20240820112716-51.png]]
Edwin Chen 1.1 831
Xiaoling 129.1 832
Mengting Qiu 132.1 833 == 3.10 AWS Connection ==
Edwin Chen 1.1 834
Xiaoling 129.1 835
Edwin Chen 2.1 836 Users can refer to [[Dragino NB device connection to AWS platform instructions>>http://wiki.dragino.com/xwiki/bin/view/Dragino%20NB%20device%20connection%20to%20AWS%20platform%20instructions/#H1.LogintotheplatformandfindIoTcore]]
Edwin Chen 1.1 837
Mengting Qiu 96.1 838
Mengting Qiu 24.1 839 = 4. COAP/UDP/MQTT/TCP downlink =
Edwin Chen 1.1 840
Edwin Chen 2.1 841 == 4.1 MQTT (via MQTT.fx) ==
Edwin Chen 1.1 842
Xiaoling 129.1 843
Edwin Chen 2.1 844 Configure MQTT connections properly and send downlink commands to configure nodes through the Publish function of MQTT.fx//.//
Edwin Chen 1.1 845
Edwin Chen 2.1 846 **1.** Configure node MQTT connection (via MQTT.fx):
Edwin Chen 1.1 847
Edwin Chen 2.1 848 (% style="color:blue" %)**AT command:**
Edwin Chen 1.1 849
Edwin Chen 2.1 850 * (% style="color:#037691" %)**AT+PRO=3,0 or 3,5 ** (%%)~/~/ hex format or json format
Edwin Chen 1.1 851
Edwin Chen 2.1 852 * (% style="color:#037691" %)**AT+SUBTOPIC=User Defined**
Edwin Chen 1.1 853
Edwin Chen 2.1 854 * (% style="color:#037691" %)**AT+PUBTOPIC=User Defined**
Edwin Chen 1.1 855
Edwin Chen 2.1 856 * (% style="color:#037691" %)**AT+UNAME=<device name> or User Defined**
Edwin Chen 1.1 857
Edwin Chen 2.1 858 * (% style="color:#037691" %)**AT+PWD=<device name> or User Defined**
Edwin Chen 1.1 859
Edwin Chen 2.1 860 * (% style="color:#037691" %)**AT+SERVADDR=8.217.91.207,1883 ** (%%) ~/~/ to set MQTT server address and port
Edwin Chen 1.1 861
Edwin Chen 2.1 862 (% style="color:red" %)**Note: To uplink and downlink via MQTT.fx, we need set the publish topic and subscribe topic different, for example: AT+SUBTOPIC=SE01_SUB & AT+PUBTOPIC=SE01_PUB.**
Edwin Chen 1.1 863
Mengting Qiu 95.2 864 [[image:image-20240820112732-52.png]][[image:image-20240820112758-53.png]]
Edwin Chen 1.1 865
Xiaoling 129.1 866
Edwin Chen 2.1 867 **2. **When the node uplink packets, we can observe the data in MQTT.fx.
Edwin Chen 1.1 868
Mengting Qiu 95.2 869 [[image:image-20240820112813-54.png]]
Edwin Chen 1.1 870
Xiaoling 129.1 871
Edwin Chen 2.1 872 **3. **The downlink command can be successfully sent only when the downlink port is open.
Edwin Chen 1.1 873
874 The downlink port is opened for about 3 seconds after uplink packets are sent.
875
Edwin Chen 2.1 876 Therefore, when we see the node uplink packets in the **Subscribe** window, we need to immediately switch to the **publish** window to publish the **hex format** command.
Edwin Chen 1.1 877
Mengting Qiu 95.2 878 [[image:image-20240820112824-55.png]]
Edwin Chen 1.1 879
Mengting Qiu 95.2 880 [[image:image-20240820112835-56.png]]
Edwin Chen 1.1 881
Edwin Chen 2.1 882 (% style="color:red" %)**Note: Users can edit the hex command in advance. When the node uplink, directly click the publish button several times to increase the success rate of command configuration.**
Edwin Chen 1.1 883
Mengting Qiu 96.1 884
885 == 4.2 UDP (via Thingseye) ==
886
Xiaoling 129.1 887
Mengting Qiu 107.1 888 (% style="color:red" %)**Note:**(%%) The UDP service on the ThingsEye platform needs to be built by the user. (Description Link:[[UDP service building instructions>>http://www.ithingsboard.com/docs/user-guide/integrations/udp/]])
Mengting Qiu 96.1 889
Mengting Qiu 107.1 890 After the node is successfully connected to the platform, you need to select the corresponding node (you can refer to the node's IMEI to find it)
Mengting Qiu 96.1 891
Mengting Qiu 107.1 892 [[image:image-20240820141843-2.png||height="546" width="821"]]
893
894 After clicking Show Node Details Page, (% style="color:blue" %)**Select Properties ~-~-- select Shared Properties ~-~-- click Add Properties**
895
896 [[image:image-20240820143316-3.png||height="555" width="1170"]]
897
898 After clicking Add Shared Attribute, set the key to (% style="color:red" %)**value**(%%), and write the command that needs to be downlinked in the Downlink Command Input box
899
900 (% style="color:red" %)**(Note: Downlinks can only be downlinked in string format, otherwise the node will not recognize the downlink command.)**
901
902 [[image:image-20240820143820-4.png||height="554" width="1168"]]
903
904 After the command is successfully added, the platform will send the command down on the node's next uplink.
905
906 [[image:image-20240820144913-6.png||height="585" width="1232"]]
907
908 [[image:image-20240820145133-7.png||height="582" width="1227"]]
909
910 Upon successful issuance, the platform automatically eliminates the attributes from the queue and waits for the next addition of new attributes
911
912 [[image:image-20240820145309-8.png]]
913
914
David Huang 10.1 915 = 5. GPS positioning function =
916
Xiaoling 129.2 917 == 1. Turn on GPS function ==
David Huang 10.1 918
Xiaoling 129.2 919
David Huang 10.1 920 (% class="wikigeneratedid" %)
Xiaoling 129.2 921 AT+GPS=1 or 0  ~/~/ GPS function on or off
David Huang 10.1 922
923
Xiaoling 129.2 924 == 2. Extend the time to turn on GNSS ==
David Huang 10.1 925
926
Xiaoling 138.1 927 AT+GNSST=30  ~/~/ GPS search for positioning information for 30 seconds
David Huang 10.1 928
929
Xiaoling 129.2 930 == 3. Get or set GPS positioning interval in units of hour ==
David Huang 10.1 931
932
Xiaoling 138.1 933 AT+GTDC=24  ~/~/ The device will activate GPS positioning every 24 hours
Edwin Chen 1.1 934
935
Xiaoling 129.2 936 = 6. FAQ =
Xiaoling 129.1 937
Xiaoling 129.2 938 == 6.1 What is the usage of Multi Sampling and One Uplink? ==
939
940
Edwin Chen 1.1 941 The NB series has the feature for Multi Sampling and one uplink. See one of them
942
Edwin Chen 2.1 943 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-NB_BN-IoT_Sensor_Node_User_Manual/#H2.5Multi-SamplingsandOneuplink>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SN50v3-NB_BN-IoT_Sensor_Node_User_Manual/#H2.5Multi-SamplingsandOneuplink]]
Edwin Chen 1.1 944
945 User can use this feature for below purpose:
946
Edwin Chen 2.1 947 1. **Reduce power consumption**. The NB-IoT transmit power is much more higher than the sensor sampling power. To save battery life, we can sampling often and send in one uplink.
948 1. Give more sampling data points.
949 1. Increase reliable in transmission. For example. If user set
950 1*. **AT+TR=1800** ~/~/ The unit is seconds, and the default is to record data once every 1800 seconds (30 minutes, the minimum can be set to 180 seconds)
951 1*. **AT+NOUD=24** ~/~/ The device uploads 24 sets of recorded data by default. Up to 32 sets of record data can be uploaded.
952 1*. **AT+TDC=7200** ~/~/ Uplink every 2 hours.
953 1*. this will mean each uplink will actually include the 6 uplink data (24 set data which cover 12 hours). So if device doesn't lost 6 continue data. There will not data lost.
Edwin Chen 1.1 954
Xiaoling 129.2 955 == 6.2 Why the uplink JSON format is not standard? ==
Xiaoling 129.1 956
Edwin Chen 1.1 957
958 The json format in uplink packet is not standard Json format. Below is the example. This is to make the payload as short as possible, due to NB-IoT transmit limition, a standard Json is not able to include 32 sets of sensors data with timestamp.
959
960 The firmware version released after 2024, Mar will use change back to use Json format. Detail please check changelog.
961
Mengting Qiu 95.2 962 [[image:image-20240820112848-57.png]]
Edwin Chen 1.1 963
Xiaoling 129.1 964
Xiaoling 129.2 965 = 7. Trouble Shooting: =
Edwin Chen 1.1 966
Xiaoling 129.2 967 == 7.1 Checklist for debuging Network Connection issue. Signal Strenght:99 issue. ==
Edwin Chen 1.1 968
Xiaoling 129.1 969
Edwin Chen 1.1 970 There are many different providers provide NB-IoT service in the world. They might use different band, different APN & different operator configuration. Which makes connection to NB-IoT network is complicate.
971
Edwin Chen 2.1 972 If end device successfully attached NB-IoT Network, User can normally see the signal strengh as below (between 0~~31)
Edwin Chen 1.1 973
Mengting Qiu 95.2 974 [[image:image-20240820112859-58.png]]
Edwin Chen 1.1 975
976 If fail to attach network, it will shows signal 99. as below:
977
Mengting Qiu 95.2 978 [[image:image-20240820112908-59.png]]
Edwin Chen 1.1 979
Edwin Chen 2.1 980 (% class="lead" %)
Edwin Chen 1.1 981 When see this issue, below are the checklist:
982
Edwin Chen 2.1 983 * Does your SIM card support NB-IoT network? If SIM card doesn't not specify support NB-IoT clearly, normally it doesn't support. You need to confirm with your operator.
984 * Do you configure the correct APN? [[Check here for APN settings>>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.1GeneralConfiguretoattachnetwork]].
Mengting Qiu 143.1 985 * Do you lock the frequency band? This is the most case we see. [[Explain and Instruction>>||anchor="H1.ConfigureFrequencyBand"]].
Edwin Chen 2.1 986 * Check if the device is attached to Carrier network but reject. (need to check with operator).
987 * Check if the antenna is connected firmly.
Edwin Chen 1.1 988
Edwin Chen 2.1 989 If you have check all above and still fail. please send console log files (as many as possible) to [[support@dragino.com>>mailto:support@dragino.com]] so we can check.
Edwin Chen 1.1 990
991
Xiaoling 129.2 992 == (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)7.2 Why sometime the AT Command is slow in reponse?(%%) ==
Edwin Chen 1.1 993
Xiaoling 129.1 994
Edwin Chen 1.1 995 When the MCU is communicating with the NB-IoT module, the MCU response of AT Command will become slower, it might takes several seconds to response.
996
Mengting Qiu 95.2 997 [[image:image-20240820113015-60.png]]
Edwin Chen 1.1 998
Xiaoling 129.1 999
Mengting Qiu 140.2 1000 == (% data-sider-select-id="765eceff-93b1-40ee-800b-b7b7d022ef8a" %)7.3 (%%)What is the Downlink Command Format for CB Devices? ==
Edwin Chen 1.1 1001
1002
Mengting Qiu 140.2 1003 Firstly, it is recommended that users upgrade the firmware of the -CB node to the latest version, as the processing method for downlink commands varies depending on the firmware version. Below, we will introduce the latest downlink command format.
Edwin Chen 1.1 1004
Mengting Qiu 140.2 1005 === **UDP Protocol:** ===
Edwin Chen 1.1 1006
Mengting Qiu 140.2 1007 Only supports valid **HEX-format downlink commands** corresponding to AT command.
Xiaoling 129.1 1008
Mengting Qiu 141.4 1009 Take the AT+TDC command of S31-CB as an example, that is, only the valid HEX format downstream command corresponding to the AT+TDC command can be used:
Mengting Qiu 140.2 1010 Downward format: (% style="color:blue" %)**01000384**(%%)  ~/~/ There are no Spaces. 0x0384(H)=900(D), that is, modify TDC to 900 seconds.
1011
Mengting Qiu 141.2 1012 [[image:1750039871468-460.png||height="299" width="600"]]
Mengting Qiu 140.2 1013
Mengting Qiu 141.3 1014 === **MQTT Protocol:** ===
Edwin Chen 1.1 1015
Mengting Qiu 141.3 1016 Supports both **JSON-format** and **HEX-format** downlink commands (corresponding to AT commands).
1017
Mengting Qiu 141.4 1018 //Example~:// For the S31-CB's uplink interval modification (AT+TDC=900):
Mengting Qiu 141.3 1019
Mengting Qiu 141.4 1020 * HEX format: (% style="color:blue" %)**01000384**(%%)  ~/~/ There are no Spaces. 0x0384(H)=900(D), that is, modify TDC to 900 seconds.
Mengting Qiu 143.1 1021 * JSON format: (% style="color:blue" %)**{AT+TDC=900}**(%%)**       **~/~/ The correct format is (% style="color:blue" %)**{AT Command}**(%%). No extra characters other than valid AT commands can be added within {}.
Mengting Qiu 141.3 1022
Mengting Qiu 141.9 1023 (% style="color:red" %)**Note:**
Mengting Qiu 141.3 1024
Mengting Qiu 141.10 1025 (% style="color:red" %)**1. Only when the correct and valid download command is used and the format is correct can the device be configured through the download command. Invalid download content cannot be processed by the device and will be automatically restarted.**
Mengting Qiu 141.3 1026
Mengting Qiu 141.10 1027 (% style="color:red" %)**2. Devices designed with downlink commands can utilize different downlink formats (e.g., JSON or HEX) for configuration. However, regardless of the format, the functionality is strictly limited to the downlink command specifications described in the user manual's AT command explanation.**
Mengting Qiu 141.3 1028
Mengting Qiu 141.10 1029 (% style="color:red" %)**For example, the HEX-format downlink command corresponding to AT+TDC can only be used to configure TDC and cannot be used for queries. There is no HEX-format downlink command equivalent to AT+TDC=? , so querying TDC via downlink is not supported.**
Mengting Qiu 141.3 1030
Mengting Qiu 141.10 1031
Mengting Qiu 142.1 1032 **Template for Batch Configuration:**
Mengting Qiu 141.10 1033
Mengting Qiu 142.1 1034 We can also use templates to configure multiple commands AT once. Users only need to modify the parameters of the required AT commands in the correct template for each device.
Edwin Chen 1.1 1035 Template:
1036
1037 {
1038 "AT+SERVADDR":"119.91.62.30,1882",
1039 "AT+CLIENT":"JwcXKjQBNhQ2JykDDAA5Ahs",
1040 "AT+UNAME":"usenamedragino",
1041 "AT+PWD":"passworddragino",
1042 "AT+PUBTOPIC":"123",
1043 "AT+SUBTOPIC":"321",
1044 "AT+TDC":"7200",
1045 "AT+INTMOD":"0",
1046 "AT+APN":"NULL",
1047 "AT+5VT":"0",
1048 "AT+PRO":"3,5",
1049 "AT+TR":"900",
1050 "AT+NOUD":"0",
1051 "AT+CSQTIME":"5",
1052 "AT+DNSTIMER":"0",
1053 "AT+TLSMOD":"0,0",
1054 "AT+MQOS":"0",
1055 "AT+TEMPALARM1":"0",
1056 "AT+TEMPALARM2":"10",
1057 "AT+TEMPALARM3":"0"
1058 }
1059
Mengting Qiu 142.1 1060 **Instructions for Using the Template:**
Edwin Chen 1.1 1061
Mengting Qiu 142.1 1062 1. Modify the parameters for each AT command in the template as needed.
1063 1. Send the entire template in one downlink command.
Edwin Chen 1.1 1064
Mengting Qiu 142.1 1065 (% style="color:red" %)**Note:**
Edwin Chen 1.1 1066
Mengting Qiu 142.1 1067 * The template may vary depending on the device model.
1068 * **Currently, each specific template is being updated and tested**. If you need a template for your specific device, please contact **Dragino Technical Support** at [[support@dragino.com>>url:https://mailto:support@dragino.com/]] to request the latest downlink template.
Edwin Chen 1.1 1069
Mengting Qiu 108.2 1070
Mengting Qiu 142.1 1071
Xiaoling 129.2 1072 == 7.4 What if the signal is good but the domain name resolution fails? ==
Mengting Qiu 108.2 1073
1074
1075 If the domain name resolution fails, first check whether the domain name is correct, users can use their own website domain name resolution tool to verify the domain name.
1076
Mengting Qiu 112.1 1077 [[image:image-20240827150705-6.png||height="489" width="687"]]
1078
Mengting Qiu 108.2 1079 If the domain name is correct, but the domain name cannot be resolved, the user can turn off the domain name resolution function(AT+GDNS=1) and use the domain name communication directly.
1080
1081 * Set the DNS
1082
1083 (% style="color:blue" %)**AT Command: AT+GDNS**
1084
Xiaoling 129.1 1085 **AT+GDNS=0**  ~/~/ Default. Automatically resolves the domain name and uses the resolved IP to communicate.
Mengting Qiu 108.2 1086
Xiaoling 129.1 1087 **AT+GDNS=1    **~/~/ Disabling Domain name resolution. Use the domain name directly to communicate.
Mengting Qiu 108.2 1088
1089 (% style="color:red" %)**Note: For -CB products, with the exception of AT+PRO=2,5, all protocols and payload formats support direct domain communication.**
1090
1091 Example:
1092
Xiaoling 135.2 1093 [[image:image-20240827150121-5.png||height="473" width="676"]][[image:image-20240827145055-4.png||height="474" width="665"]]
Mengting Qiu 108.2 1094
1095
Xiaoling 129.2 1096 == 7.5 GPS debugging ==
Mengting Qiu 108.2 1097
1098
Mengting Qiu 120.1 1099 Indoor GPS signal is very weak, **outdoor** positioning is generally recommended.
Mengting Qiu 117.1 1100
Mengting Qiu 127.1 1101 [[image:image-20240903104250-9.png||height="275" width="614"]]
Mengting Qiu 120.1 1102
1103
Mengting Qiu 127.1 1104 [[image:image-20240903104431-10.png||height="291" width="621"]]
1105
1106
Xiaoling 129.2 1107 === 7.5.1 GPS commands ===
Mengting Qiu 117.1 1108
1109
Mengting Qiu 114.1 1110 The following are three related AT commands that introduce GPS functions.
Mengting Qiu 108.2 1111
Mengting Qiu 114.1 1112 * **Turn on/off GPS**
Mengting Qiu 108.2 1113
Mengting Qiu 114.1 1114 (% style="color:blue" %)**AT Command: **(% style="color:#037691" %)**AT+GPS **
Mengting Qiu 108.2 1115
Mengting Qiu 114.1 1116 **Ex1:  **AT+GPS=0  ~/~/ Turn off GPS
1117
1118 **Ex2:  **AT+GPS=1  ~/~/ Turn on GPS
1119
1120 (% style="color:blue" %)**Downlink command:**(%%)** (% style="color:#037691" %)0x11(%%)**
1121
1122 Format: Command Code (0x11) followed by 1 byte.
1123
1124 Example:  Downlink Payload: **11 01   **~/~/ AT+GPS=1
1125
1126 * **Set GNSS open time**
1127
1128 Extend the time to turn on GNSS. The automatic GPS location time is extended when the node is activated.
1129
1130 (% style="color:blue" %)**AT Command: **(% style="color:#037691" %)**AT+GNSST**
1131
1132 Example: AT+GNSST=30  ~/~/ Set the GPS positioning time to 30 seconds
1133
1134 (% style="color:blue" %)**Downlink command:**(%%)** (% style="color:#037691" %)0x10(%%)**
1135
1136 Format: Command Code (0x10) followed by 2 bytes.
1137
1138 Example:  Downlink Payload: **10 00 1E    **~/~/ AT+GNSST=30
1139
1140 * **Set GPS positioning interval**
1141
1142 Feature: Set GPS positioning interval (unit: hour).
1143
1144 When GPS is enabled, the node automatically locates and uplinks each time it passes **GTDC time** after activation.
1145
1146 (% style="color:blue" %)**AT Command: **(% style="color:#037691" %)**AT+GTDC**
1147
1148 Example: AT+GTDC=24  ~/~/ Set the GPS positioning interval to 24h.
1149
1150 (% style="color:blue" %)**Downlink command:**(%%)** (% style="color:#037691" %)0x12(%%)**
1151
1152 Format: Command Code (0x12) followed by 3 bytes.
1153
1154 Example: 24 hours:  24(D)=0x18(H)
1155
Xiaoling 129.1 1156 Downlink Payload: **12 00 00 18   **~/~/ AT+GTDC=24
Mengting Qiu 114.1 1157
1158
Xiaoling 129.2 1159 === 7.5.2 GPS workflow ===
Mengting Qiu 114.1 1160
1161
Mengting Qiu 117.1 1162 The whole working process after the GPS function is enabled((% style="color:#037691" %)**AT+GPS=1**(%%)) is as follows:
Mengting Qiu 114.1 1163
Mengting Qiu 117.1 1164 ~1. When activate the node, the node will turn on the GNSS, if the GPS signal is good, the node will print and upload the position information with the first data packet immediately.
Mengting Qiu 114.1 1165
Mengting Qiu 117.1 1166 If the signal is not good, it may take the whole (% style="color:#037691" %)**GNSST**(%%) time but still can not search the latitude and longitude information, at this time the node uploads the latitude and longitude all to 0.
Mengting Qiu 114.1 1167
Mengting Qiu 117.1 1168 So if there is a failure of positioning, the user can extend the (% style="color:#037691" %)**GNSST**(%%) time appropriately.
Mengting Qiu 114.1 1169
Mengting Qiu 117.1 1170 2. Each TDC time node is not repositioned and the positioning interval is determined by the AT+GTDC time.
Mengting Qiu 114.1 1171
Mengting Qiu 117.1 1172 The latitude and longitude payload uplinked at each TDC time is the GPS positioning information from the previous (% style="color:#037691" %)**GTDC**(%%) time.
Mengting Qiu 114.1 1173
Mengting Qiu 117.1 1174 Only when the node is activated or every (% style="color:#037691" %)**GTDC**(%%) time is reached, the node turns on the GNSS and we can observe the GPS search information through the serial assistant or Bluetooth tool.
1175
1176
Xiaoling 129.2 1177 === 7.5.3 GPS debugging methods ===
Mengting Qiu 117.1 1178
1179
Mengting Qiu 128.1 1180 In summary, we can deduce the methods of debugging GPS:
Mengting Qiu 117.1 1181
Mengting Qiu 127.1 1182 * **Check whether the GPS function is enabled.**
1183
1184 [[image:image-20240903102327-5.png||height="271" width="529"]]
1185
Mengting Qiu 117.1 1186 * **Check whether the GPS antenna is loose**.
1187
1188 If the GPS antenna is loose, the GPS signal is weak, and the positioning fails.
1189
1190 [[image:image-20240903094214-1.png||height="340" width="461"]]
1191
1192 * **Use the AT+GNSST command to extend the positioning time.**
1193
1194 The default AT+GNSST=30, that is, the default positioning time is 30 seconds.
1195
1196 If the location fails, users can extend the location time.
1197
Mengting Qiu 127.1 1198 [[image:image-20240903102641-8.png||height="303" width="600"]]
Mengting Qiu 117.1 1199
1200
Bei Jinggeng 137.1 1201 == 7.6 CB device configuration TCP/IP failed ==
Mengting Qiu 117.1 1202
Bei Jinggeng 137.1 1203 [[image:image-20250113103816-1.png]]
Mengting Qiu 117.1 1204
Bei Jinggeng 137.1 1205 **Use AT+IPTYPE=? to check the IPTYPE configuration.
1206 AT+IPTYPE can only be configured as 1 or 2.
1207 If it is configured otherwise, this error will occur**
1208
Edwin Chen 139.1 1209
1210 == 7.7 How to get the debug log for further analyze? ==
1211
1212
1213 CB model use the same debug instruction as NB model. Please check this link:
1214
1215 **[[How to Get Full Log>>https://wiki.dragino.com/xwiki/bin/view/Main/General%20Configure%20to%20Connect%20to%20IoT%20server%20for%20-NB%20%26%20-NS%20NB-IoT%20models/#H6.6Howtogetthedebuglogforfurtheranalyze3F]]**?
1216
1217
Mengting Qiu 108.2 1218