<
From version < 58.1 >
edited by Edwin Chen
on 2023/08/07 09:28
To version < 56.3 >
edited by Xiaoling
on 2023/08/07 08:45
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.Xiaoling
Content
... ... @@ -17,7 +17,7 @@
17 17  
18 18  1. Get a NB-IoT SIM card from Service Provider. (Not the same as the SIM card we use in mobile phone)
19 19  1. Insert the SIM card to Sensor
20 -1. [[Configure APN>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20configure%20APN%20in%20the%20node/]] in the sensor (% class="mark" %)(补充 APN 指令(%%))
20 +1. [[Configure APN>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20configure%20APN%20in%20the%20node/]] in the sensor
21 21  
22 22  After doing above, the NB-IoT Sensors should be able to attach to NB-IoT network .
23 23  
... ... @@ -30,9 +30,11 @@
30 30  
31 31  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
32 32  )))|(% style="width:135px" %)
33 -|(% style="width:117px" %)China Mobile|(% style="width:151px" %)No need configure|(% style="width:474px" %)China Mainland, HongKong|(% style="width:135px" %)
33 +|(% style="width:117px" %)China Mobile|(% style="width:151px" %) |(% style="width:474px" %)China Mainland, HongKong|(% style="width:135px" %)
34 34  |(% style="width:117px" %)China Telecom|(% style="width:151px" %) |(% style="width:474px" %)China Mainland|(% style="width:135px" %)
35 35  
36 +
37 +
36 36  = 3. Configure to connect to different servers =
37 37  
38 38  == 3.1 General UDP Connection ==
... ... @@ -132,6 +132,8 @@
132 132  
133 133  * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password>
134 134  
137 +
138 +
135 135  ==== 3.3.2.2 Publish Data to ThingSpeak Channel ====
136 136  
137 137  
... ... @@ -173,6 +173,8 @@
173 173  
174 174  * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>**
175 175  
180 +
181 +
176 176  ==== 3.3.3.2 Uplink Examples ====
177 177  
178 178  
... ... @@ -227,18 +227,136 @@
227 227  |(% style="background-color:#4f81bd; color:white; width:124px" %)NMDS200-NB|(% style="width:91px" %)distance1|(% style="width:102px" %)distance2|(% style="width:159px" %)Battery|(% style="width:153px" %)RSSI|(% style="width:152px" %) |(% style="width:148px" %) |(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
228 228  |(% style="background-color:#4f81bd; color:white; width:124px" %)CPN01-NB|(% style="width:91px" %)alarm|(% style="width:102px" %)count|(% style="width:159px" %)door open duration|(% style="width:153px" %)calc flag|(% style="width:152px" %)Battery|(% style="width:148px" %)RSSI|(% style="width:164px" %) |(% style="width:152px" %) |(% style="width:66px" %) |(% style="width:66px" %)
229 229  |(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)DS03A-NB|(% colspan="1" rowspan="1" style="width:91px" %)level|(% colspan="1" rowspan="1" style="width:102px" %)alarm|(% colspan="1" rowspan="1" style="width:159px" %)pb14door open num|(% colspan="1" rowspan="1" style="width:153px" %)pb14 last open time|(% colspan="1" rowspan="1" style="width:152px" %)pb15 level status|(% colspan="1" rowspan="1" style="width:148px" %)pb15 alarm status|(% colspan="1" rowspan="1" style="width:164px" %)pb15 door open num|(% colspan="1" rowspan="1" style="width:152px" %)pb15 last open time|(% colspan="1" rowspan="1" style="width:66px" %)Battery|(% colspan="1" rowspan="1" style="width:66px" %)RSSI
230 -|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod1|(% colspan="1" rowspan="1" style="width:91px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:159px" %)RSSI|(% colspan="1" rowspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:148px" %)adc0|(% colspan="1" rowspan="1" style="width:164px" %)Temperature |(% colspan="1" rowspan="1" style="width:152px" %)Humidity|(% colspan="1" rowspan="1" style="width:66px" %) |(% colspan="1" rowspan="1" style="width:66px" %)
231 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod2|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc0|(% colspan="1" style="width:164px" %)distance|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
232 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod3|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc1|(% colspan="1" style="width:164px" %)Temperature|(% colspan="1" style="width:152px" %)Humidity|(% colspan="1" style="width:66px" %)adc4|(% colspan="1" style="width:66px" %)
233 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod4|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)DS18B20 Temp2|(% colspan="1" style="width:152px" %)DS18B20 Temp3|(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
234 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod5|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)Weight|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
235 -|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB mod6|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)count|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:148px" %) |(% colspan="1" style="width:164px" %) |(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
236 +|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)SN50V3-NB|(% colspan="1" rowspan="1" style="width:91px" %) |(% colspan="1" rowspan="1" style="width:102px" %) |(% colspan="1" rowspan="1" style="width:159px" %) |(% colspan="1" rowspan="1" style="width:153px" %) |(% colspan="1" rowspan="1" style="width:152px" %) |(% colspan="1" rowspan="1" style="width:148px" %) |(% colspan="1" rowspan="1" style="width:164px" %) |(% colspan="1" rowspan="1" style="width:152px" %) |(% colspan="1" rowspan="1" style="width:66px" %) |(% colspan="1" rowspan="1" style="width:66px" %)
237 +|(% colspan="1" rowspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod1|(% colspan="1" rowspan="1" style="width:91px" %)mod|(% colspan="1" rowspan="1" style="width:102px" %)Battery|(% colspan="1" rowspan="1" style="width:159px" %)RSSI|(% colspan="1" rowspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" rowspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" rowspan="1" style="width:148px" %)adc0|(% colspan="1" rowspan="1" style="width:164px" %)Temperature |(% colspan="1" rowspan="1" style="width:152px" %)Humidity|(% colspan="1" rowspan="1" style="width:66px" %) |(% colspan="1" rowspan="1" style="width:66px" %)
238 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod2|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc0|(% colspan="1" style="width:164px" %)distance|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
239 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod3|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)adc0|(% colspan="1" style="width:152px" %)exit_state/input PA4|(% colspan="1" style="width:148px" %)adc1|(% colspan="1" style="width:164px" %)Temperature|(% colspan="1" style="width:152px" %)Humidity|(% colspan="1" style="width:66px" %)adc4|(% colspan="1" style="width:66px" %)
240 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod4|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)DS18B20 Temp2|(% colspan="1" style="width:152px" %)DS18B20 Temp3|(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
241 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod5|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)DS18B20 Temp|(% colspan="1" style="width:152px" %)adc0|(% colspan="1" style="width:148px" %)exit_state/input PA4|(% colspan="1" style="width:164px" %)Weight|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
242 +|(% colspan="1" style="background-color:#4f81bd; color:white; width:124px" %)mod6|(% colspan="1" style="width:91px" %)mod|(% colspan="1" style="width:102px" %)Battery|(% colspan="1" style="width:159px" %)RSSI|(% colspan="1" style="width:153px" %)count|(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:148px" %) |(% colspan="1" style="width:164px" %) |(% colspan="1" style="width:152px" %) |(% colspan="1" style="width:66px" %) |(% colspan="1" style="width:66px" %)
236 236  
244 +
245 +
237 237  == 3.4 Datacake ==
238 238  
248 +=== 3.4.1 Define Product ===
239 239  
240 240  
251 +Firstly, we need to set the MQTT mode to datacake, and we need to run(% style="color:blue" %)** AT+PRO=3,2**(%%). This command is set to datacake. After running the command, the device automatically sets the server address, port.
241 241  
253 +By chosing to add the device under a (% style="color:blue" %)**"New Product"**(%%) you are required to give a name for this product. You can name it something like (% style="color:blue" %)**"My First MQTT Product"**.
254 +
255 +[[image:image-20230802112413-14.png||height="1095" width="1302"]]
256 +
257 +
258 +=== 3.4.2 Create Device ===
259 +
260 +
261 +In the second step you have to define the device which should be added to the product.
262 +
263 +[[image:image-20230802112413-15.png||height="859" width="1290"]]
264 +
265 +Enter a name here (such as "My First MQTT Device") and complete the creation of the device by clicking on the (% style="color:blue" %)**"Next"**(%%) button.
266 +
267 +
268 +=== 3.4.3 Create Database Fields ===
269 +
270 +
271 +After creating the device, it is listed in the table of the fleet view. Now open the device by clicking on the entry in the list.
272 +
273 +You will then see a device view with an empty dashboard. Now, the first thing we want to do is navigate to the Device configuration. To do this, use the tab bar and click on (% style="color:blue" %)**"Configuration"**.
274 +
275 +[[image:image-20230802112413-16.png||height="495" width="1310"]]
276 +
277 +[[image:image-20230802112413-17.png||height="741" width="1303"]]
278 +
279 +To create a first database field, please click on the (% style="color:blue" %)**"Add Field"**(%%) button as marked in the screenshot above.
280 +
281 +This will open another modal asking for some required input for your first field.
282 +
283 +[[image:image-20230802112413-18.png||height="878" width="1305"]]
284 +
285 +[[image:image-20230802112413-19.png]]
286 +
287 +
288 +=== 3.4.4 Set up Broker ===
289 +
290 +
291 +The broker is running on mqtt.datacake.co on ports (% style="color:blue" %)**1883 and 8883**(%%). Port 1883 is unsecured and should not be used in production environments. Port 8883 uses a CA signed server certificate.
292 +
293 +You will need an access token to log into the Datacake MQTT Broker. You can use your own personal token or create a token explicitly for individual devices or groups of devices.
294 +
295 +View your Personal Access Token
296 +
297 +You can view your own token via the User-Settings-Menu. You can reach this menu by clicking on (% style="color:blue" %)**"Edit Profile"**(%%) at the end of the list using the Workspace Selector:
298 +
299 +[[image:image-20230802112413-20.png]]
300 +
301 +
302 +(% style="color:blue" %)**MQTT Client-ID**
303 +
304 +The Datacake Broker manages the client IDs internally. You do not need to worry about a client ID. If your client optionally supports the specification of a client ID, please leave this 
305 +specification blank. Your client then creates a randomly generated ID.
306 +
307 +* (% style="color:blue" %)**AT+CLIENT=“Any value”**
308 +
309 +* (% style="color:blue" %)**AT+UNAME=Token**
310 +
311 +* (% style="color:blue" %)**AT+PWD=Token**
312 +
313 +[[image:image-20230802112413-21.png]]
314 +
315 +
316 +=== 3.4.5 Create your first Subscription ===
317 +
318 +
319 +(% style="color:blue" %)**Subscribe**
320 +
321 +Data is published according to the following structure: (% style="color:blue" %)**dtck~/~//**(%%)** **
322 +
323 +Subscribe to topics using this structure to receive messages via MQTT when readings (via API or MQTT) arrive in the Datacake Cloud. Messages are published whenever there is a change to a corresponding database field.
324 +
325 +
326 +[[image:image-20230802112413-22.png]]
327 +
328 +
329 +[[image:image-20230802112413-23.png]]
330 +
331 +
332 +[[image:image-20230802112413-24.png]]
333 +
334 +
335 +(% style="color:blue" %)**example:**
336 +
337 +AT+PUBTOPIC=dtck-pub/nbmattest/936c0db6-e9a5-4353-9fdb-3f63c8bfce7e/Temperature
338 +
339 +[[image:image-20230802112413-25.png]]
340 +
341 +
342 +=== 3.4.6 Define Publish Topic ===
343 +
344 +
345 +(% style="color:blue" %)**Publish**
346 +
347 +To upload data into the Datacake Cloud and into a specific device, you publish the data to the respective topic structure.
348 +
349 +Due to the nature of MQTT, the topic prefix differs as follows: (% style="color:blue" %)**dtck-pub~/~//**
350 +
351 +(% style="color:blue" %)**example:**
352 +
353 +AT+SUBTOPIC=dtck/nbmattest/936c0db6-e9a5-4353-9fdb-3f63c8bfce7e/Temperature
354 +
355 +
356 +=== 3.4.7 upload data ===
357 +
358 +
359 +[[image:image-20230802112413-26.png]]
360 +
361 +[[image:image-20230802112413-27.png]]
362 +
363 +[[image:image-20230802112413-28.png]]
364 +
365 +
242 242  == 3.5 Node-Red (via MQTT) ==
243 243  
244 244  === 3.5.1 Configure [[Node-Red>>http://wiki.dragino.com/xwiki/bin/view/Main/Node-RED/]] ===
... ... @@ -271,6 +271,8 @@
271 271  
272 272  * (% style="color:blue" %)**AT+SUBTOPIC=any value**
273 273  
398 +
399 +
274 274  == 3.6 ThingsBoard.Cloud (via MQTT) ==
275 275  
276 276  === 3.6.1 Configure ThingsBoard ===
... ... @@ -402,6 +402,7 @@
402 402  
403 403  * (% style="color:blue" %)**SUBTOPIC: “Any value”**
404 404  
531 +
405 405  === 3.7.2 Simulate with MQTT.fx ===
406 406  
407 407  
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0