Last modified by Mengting Qiu on 2025/03/08 11:33
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -33,6 +33,7 @@ 33 33 |(% style="width:117px" %)China Mobile|(% style="width:151px" %)No need configure|(% 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 + 36 36 = 3. Configure to connect to different servers = 37 37 38 38 == 3.1 General UDP Connection == ... ... @@ -132,6 +132,7 @@ 132 132 133 133 * (% style="color:#037691" %)**Password:**(%%) <Your ThingSpeak MQTT Password> 134 134 136 + 135 135 ==== 3.3.2.2 Publish Data to ThingSpeak Channel ==== 136 136 137 137 ... ... @@ -173,6 +173,7 @@ 173 173 174 174 * (% style="color:blue" %)**AT+SUBTOPIC=<YOUR_CHANNEL_ID>** 175 175 178 + 176 176 ==== 3.3.3.2 Uplink Examples ==== 177 177 178 178 ... ... @@ -227,18 +227,135 @@ 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" %) 233 +|(% 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" %) 234 +|(% 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" %) 235 +|(% 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" %) 236 +|(% 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" %) 237 +|(% 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" %) 238 +|(% 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" %) 239 +|(% 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 241 + 237 237 == 3.4 Datacake == 238 238 244 +=== 3.4.1 Define Product === 239 239 240 240 247 +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 249 +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"**. 250 + 251 +[[image:image-20230802112413-14.png||height="1095" width="1302"]] 252 + 253 + 254 +=== 3.4.2 Create Device === 255 + 256 + 257 +In the second step you have to define the device which should be added to the product. 258 + 259 +[[image:image-20230802112413-15.png||height="859" width="1290"]] 260 + 261 +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. 262 + 263 + 264 +=== 3.4.3 Create Database Fields === 265 + 266 + 267 +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. 268 + 269 +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"**. 270 + 271 +[[image:image-20230802112413-16.png||height="495" width="1310"]] 272 + 273 +[[image:image-20230802112413-17.png||height="741" width="1303"]] 274 + 275 +To create a first database field, please click on the (% style="color:blue" %)**"Add Field"**(%%) button as marked in the screenshot above. 276 + 277 +This will open another modal asking for some required input for your first field. 278 + 279 +[[image:image-20230802112413-18.png||height="878" width="1305"]] 280 + 281 +[[image:image-20230802112413-19.png]] 282 + 283 + 284 +=== 3.4.4 Set up Broker === 285 + 286 + 287 +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. 288 + 289 +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. 290 + 291 +View your Personal Access Token 292 + 293 +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: 294 + 295 +[[image:image-20230802112413-20.png]] 296 + 297 + 298 +(% style="color:blue" %)**MQTT Client-ID** 299 + 300 +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 301 +specification blank. Your client then creates a randomly generated ID. 302 + 303 +* (% style="color:blue" %)**AT+CLIENT=“Any value”** 304 + 305 +* (% style="color:blue" %)**AT+UNAME=Token** 306 + 307 +* (% style="color:blue" %)**AT+PWD=Token** 308 + 309 +[[image:image-20230802112413-21.png]] 310 + 311 + 312 +=== 3.4.5 Create your first Subscription === 313 + 314 + 315 +(% style="color:blue" %)**Subscribe** 316 + 317 +Data is published according to the following structure: (% style="color:blue" %)**dtck~/~//**(%%)** ** 318 + 319 +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. 320 + 321 + 322 +[[image:image-20230802112413-22.png]] 323 + 324 + 325 +[[image:image-20230802112413-23.png]] 326 + 327 + 328 +[[image:image-20230802112413-24.png]] 329 + 330 + 331 +(% style="color:blue" %)**example:** 332 + 333 +AT+PUBTOPIC=dtck-pub/nbmattest/936c0db6-e9a5-4353-9fdb-3f63c8bfce7e/Temperature 334 + 335 +[[image:image-20230802112413-25.png]] 336 + 337 + 338 +=== 3.4.6 Define Publish Topic === 339 + 340 + 341 +(% style="color:blue" %)**Publish** 342 + 343 +To upload data into the Datacake Cloud and into a specific device, you publish the data to the respective topic structure. 344 + 345 +Due to the nature of MQTT, the topic prefix differs as follows: (% style="color:blue" %)**dtck-pub~/~//** 346 + 347 +(% style="color:blue" %)**example:** 348 + 349 +AT+SUBTOPIC=dtck/nbmattest/936c0db6-e9a5-4353-9fdb-3f63c8bfce7e/Temperature 350 + 351 + 352 +=== 3.4.7 upload data === 353 + 354 + 355 +[[image:image-20230802112413-26.png]] 356 + 357 +[[image:image-20230802112413-27.png]] 358 + 359 +[[image:image-20230802112413-28.png]] 360 + 361 + 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,7 @@ 271 271 272 272 * (% style="color:blue" %)**AT+SUBTOPIC=any value** 273 273 394 + 274 274 == 3.6 ThingsBoard.Cloud (via MQTT) == 275 275 276 276 === 3.6.1 Configure ThingsBoard ===