<
From version < 50.1 >
edited by Xiaoling
on 2022/09/02 18:11
To version < 45.1 >
edited by Xiaoling
on 2022/07/14 15:59
>
Change comment: Uploaded new attachment "image-20220714155901-1.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -9,7 +9,6 @@
9 9  Dragino LoRa/LoRaWAN gateway support MQTT forwarding. It can forward the sensor data from LoRa network to MQTT server , and vice verse.
10 10  
11 11  
12 -
13 13  == 1.1  Support Devices ==
14 14  
15 15  
... ... @@ -16,7 +16,7 @@
16 16  This MQTT forward instruction is for below devices:
17 17  
18 18  * Firmware Version > LG02_LG08-5.3.1580178039 [[Firmware Download>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]]
19 -* LG01N, OLG01N ((% style="color:red" %)**Warning**(%%): LG01-P LG01-S use another instruction: [[MQTT for LG01-P/LG01S>>doc:Main.Through MQTT to upload data.WebHome]])
18 +* LG01N, OLG01N ((% style="color:red" %)**Warning**(%%): LG01-P LG01-S use another instruction: [[MQTT for LG01-P/LG01S>>doc:Through MQTT to upload data.WebHome]])
20 20  * LG02, OLG02
21 21  * LG308, DLOS8
22 22  * LPS8
... ... @@ -46,15 +46,13 @@
46 46  Below shows the network structure for MQTT forwarding.
47 47  
48 48  * **For Uplink:**  The sensor sends data to LoRa Gateway via LoRa wireless, The gateway will process these data and forward to remote MQTT Broker via Internet.
49 -* **For Downlink:** The gateway subscribe a topic in the MQTT broker, when there is update on the topic, the gateway will know and broadcast the data to Local LoRa network.
48 +* **For Downlink:** The gateway subscribe a topic in the MQTT broker, when there is update on the topic, the gateway will know and broadcast the data to Local LoRa network,
50 50  
51 -
52 52  [[image:image-20220527133547-1.png]]
53 53  
54 54  General MQTT structure
55 55  
56 56  
57 -
58 58  == 3.2  How sensor data is forwarded ==
59 59  
60 60  
... ... @@ -61,16 +61,12 @@
61 61  In this MQTT forward feature, the key point is how the gateway process the sensor data.
62 62  
63 63  
64 -
65 65  === 3.2.1  Upstream ===
66 66  
67 -
68 68  Assume there are two sensor nodes, their ID are Node1 ID: 6734 , Node2 ID: 7456. In the remote MQTT broker there are two topics: Topic1: /channel/765800, Topic2: /channel/367860. We can set up in the gateway to map Node1 to Topic1 and Node2 to Topic2. So when there is a sensor data from Node1, the gateway will forward the data to Topic1, when there is sensor data from Node2, the gateway will forward to Topic2.
69 69  
70 70  (((
71 71  The data flow works as below diagram.
72 -
73 -
74 74  )))
75 75  
76 76  [[image:image-20220527134000-2.png]]
... ... @@ -87,8 +87,6 @@
87 87  
88 88  (((
89 89  
90 -
91 -
92 92  )))
93 93  
94 94  === 3.2.2  Downstream ===
... ... @@ -98,8 +98,6 @@
98 98  
99 99  (((
100 100  Below are the data flow for downstream.
101 -
102 -
103 103  )))
104 104  
105 105  [[image:image-20220527134038-3.png]]
... ... @@ -107,7 +107,6 @@
107 107  Downstream path
108 108  
109 109  
110 -
111 111  == 3.3  Macro Definition ==
112 112  
113 113  
... ... @@ -116,7 +116,6 @@
116 116  (((
117 117  Currently the (% style="color:#4f81bd" %)**-t (topic)**(%%) and (% style="color:#4f81bd" %)**-m (message)**(%%) support Macros.
118 118  
119 -
120 120  
121 121  )))
122 122  
... ... @@ -131,6 +131,7 @@
131 131  
132 132  
133 133  
121 +
134 134  === 3.3.2  -m message macro ===
135 135  
136 136  
... ... @@ -142,6 +142,7 @@
142 142  
143 143  
144 144  
133 +
145 145  === 3.3.3  Example for Macro ===
146 146  
147 147  
... ... @@ -305,7 +305,6 @@
305 305  This section is an example to show how to set up LG01-N to communicate with a MQTT server. The MQTT server is a simple utility set up in a local PC. Note: User can set up same server via [[this instruction>>url:http://www.steves-internet-guide.com/install-mosquitto-broker/]].
306 306  
307 307  
308 -
309 309  == 4.2  Simulate via MQTT.fx utility ==
310 310  
311 311  
... ... @@ -337,7 +337,6 @@
337 337  
338 338  == 4.3  Simulate via Dragino Command Line ==
339 339  
340 -
341 341  For first try of MQTT connection, simulate via command line is recommend, there are many servers / connection type for MQTT. They are using different connection parameters. Simulating the connection via command line will help us rapidly connect to server and debug.
342 342  
343 343  In the Dragino Gateway, we use [[mosquitto client>>url:https://mosquitto.org/]] for MQTT connection.
... ... @@ -366,10 +366,8 @@
366 366  mosquitto_sub
367 367  
368 368  
356 +== 4.4 Configure Dragino UI for MQTT connection ==
369 369  
370 -== 4.4  Configure Dragino UI for MQTT connection ==
371 -
372 -
373 373  This chapter are step by step to show to configure the Dragino Menu for MQTT auto connection.
374 374  
375 375  (((
... ... @@ -376,7 +376,7 @@
376 376  Go to (% style="color:#4f81bd" %)**Dragino Menu ~-~-> MQTT Client**
377 377  )))
378 378  
379 -[[image:image-20220714155901-1.png]]
364 +[[image:https://wiki.dragino.com/images/thumb/b/bc/MQTT_Command_8.png/600px-MQTT_Command_8.png||height="249" width="600"]]
380 380  
381 381  go to mqtt configure menu
382 382  
... ... @@ -390,28 +390,24 @@
390 390  forward to MQTT
391 391  
392 392  
378 +=== 4.4.1 Configure the MQTT Client for Upstream ===
393 393  
394 -=== 4.4.1  Configure the MQTT Client for Upstream ===
380 +Below screenshot is same as the publish command:
395 395  
396 -
397 -**Below screenshot is same as the publish command:**
398 -
399 399  (% class="box" %)
400 400  (((
401 -**mosquitto_pub -h 192.168.199.148 -p 1883 -i dragino-1b7060 -t CLIENTID/CHANNEL/data -m DATA
384 +mosquitto_pub -h 192.168.199.148 -p 1883 -i dragino-1b7060 -t CLIENTID/CHANNEL/data -m DATA
402 402  ~/~/where the CLIENTID, CHANNEL & DATA are macro. represent for
403 403  ~/~/CLIENTID: dragino-1b7060
404 404  ~/~/CHANNEL: Remote ID in Channel settings; here is 78901 or 567456
405 -~/~/DATA: The data stores in /var/iot/channels/**
388 +~/~/DATA: The data stores in /var/iot/channels/
406 406  )))
407 407  
408 -
409 409  [[image:image-20220527135828-12.png]]
410 410  
411 411  MQTT Publish configure
412 412  
413 413  
414 -
415 415  [[image:image-20220527135929-13.png]]
416 416  
417 417  MQTT Channel settings
... ... @@ -440,10 +440,8 @@
440 440  MQTT Publish
441 441  
442 442  
424 +=== 4.4.2 Configure the MQTT Client for Downstream ===
443 443  
444 -=== 4.4.2  Configure the MQTT Client for Downstream ===
445 -
446 -
447 447  Below screen shot equal to this subscribe command:
448 448  
449 449  (% class="box" %)
... ... @@ -472,16 +472,13 @@
472 472  downstream simulation
473 473  
474 474  
475 -== 4.5  Add LoRa support to communicate with remote sensor ==
454 +== 4.5 Add LoRa support to communicate with remote sensor ==
476 476  
477 -
478 478  In above section, we have configured the UI to support MQTT upstream and downstream. We can simulate via Linux command. In this section, we will guide how to communicate with remote LoRa End Node for upstream and downstream.
479 479  
480 480  
459 +=== 4.5.1 Use LoRa Raw protocol for communication ~-~- For LG01/LG02 ===
481 481  
482 -=== 4.5.1  Use LoRa Raw protocol for communication ~-~- For LG01/LG02 ===
483 -
484 -
485 485  (((
486 486  We can use [[LoRa Shield>>url:http://www.dragino.com/products/lora/item/102-lora-shield.html]] to send LoRa Raw data to Gateway and receive data from gateway.
487 487  )))
... ... @@ -492,8 +492,6 @@
492 492  
493 493  (((
494 494  And this link is the required library: [[arduino-LoRa-master>>url:http://www.dragino.com/downloads/index.php?dir=LoraShield/]]. Unzip this library and put in Arduino library location.
495 -
496 -
497 497  )))
498 498  
499 499  (((
... ... @@ -504,7 +504,6 @@
504 504  * Downstream: Listening broadcast message from gateway, and print it in console.
505 505  * The LoRa parameter settings in Arduino should match the LoRa settings in gateway, as below:
506 506  
507 -
508 508  [[image:image-20220527140354-18.png]]
509 509  
510 510  LoRa Parameter should match
... ... @@ -524,10 +524,8 @@
524 524  Downstream Data Flow
525 525  
526 526  
500 +=== 4.5.2 Use LoRaWAN Protocol for communication ~-~- For LG308/LPS8/DLOS8 ===
527 527  
528 -=== 4.5.2  Use LoRaWAN Protocol for communication ~-~- For LG308/LPS8/DLOS8 ===
529 -
530 -
531 531  (((
532 532  Since firmware (% style="color:#4f81bd" %)**LG02_LG08~-~-build-v5.3.1585192026-20200326-1109,**(%%) Dragino LoRaWAN gateways support the communication to LoRaWAN (% style="color:#4f81bd" %)**ABP end node**(%%) locally without the need of LoRaWAN server. This feature allow us to integrate MQTT in the gateway to support LoRaWAN to MQTT forwarding or visa verse.
533 533  )))
... ... @@ -534,17 +534,15 @@
534 534  
535 535  (((
536 536  When use test this feature, please use the version higher then : (% style="color:#4f81bd" %)**LG02_LG08~-~-build-v5.4.1593400722-20200629-1120**(%%), in this version, the upload format is changed and readable, which is easier for integration.
537 -
538 -
539 -(% style="color:blue" %)**Video Instruction**(%%): (% style="color:blue" %)[[https:~~/~~/youtu.be/qJTY441-t90>>url:https://youtu.be/qJTY441-t90]]
508 +(% style="color:#4f81bd" %)**Video Instruction**(%%): (% style="color:blue" %)[[https:~~/~~/youtu.be/qJTY441-t90>>url:https://youtu.be/qJTY441-t90]]
540 540  )))
541 541  
542 542  (((
543 -(% style="color:blue" %)**Step 1**(%%): Refer [[Communicate with ABP End Node>>Communicate with ABP End Node without LoRaWAN Network Server --- LG308]] to know how to set up LG308 to work with LoRaWAN End node.
512 +(% style="color:#4f81bd" %)**Step 1**(%%): Refer [[Communicate with ABP End Node>>Communicate with ABP End Node without LoRaWAN Network Server --- LG308]] to know how to set up LG308 to work with LoRaWAN End node.
544 544  )))
545 545  
546 546  (((
547 -(% style="color:blue" %)**Step 2**(%%): Make sure your Radio settings match the End Node settings.
516 +(% style="color:#4f81bd" %)**Step 2**(%%): Make sure your Radio settings match the End Node settings.
548 548  )))
549 549  
550 550  [[image:image-20220527141235-21.png]]
... ... @@ -554,7 +554,7 @@
554 554  
555 555  (((
556 556  (((
557 -(% style="color:blue" %)**Step 3**(%%): Set up publish format and MQTT channel. The LG308 will store the Data from End node in (% style="color:#4f81bd" %)**HEX format**(%%) in the file.
526 +(% style="color:#4f81bd" %)**Step 3**(%%): Set up publish format and MQTT channel. The LG308 will store the Data from End node in (% style="color:#4f81bd" %)**HEX format**(%%) in the file.
558 558  )))
559 559  )))
560 560  
... ... @@ -562,13 +562,13 @@
562 562  
563 563  
564 564  
565 -(% style="color:blue" %)**Step 4**(%%): Map the Device Address to Remote ID in MQTT server.
534 +(% style="color:#4f81bd" %)**Step 4**(%%): Map the Device Address to Remote ID in MQTT server.
566 566  
567 567  [[image:image-20220613190635-2.png]]
568 568  
569 569  
570 570  
571 -(% style="color:blue" %)**Step 5: Upstream**(%%): Save the change, we can see the log info via "sytem log", End Node and MQTT Server
540 +(% style="color:#4f81bd" %)**Step 5: Upstream**(%%): Save the change, we can see the log info via "sytem log", End Node and MQTT Server
572 572  
573 573  [[image:image-20220527141843-24.png]]
574 574  
... ... @@ -587,19 +587,19 @@
587 587  
588 588  
589 589  
590 -(% style="color:blue" %)**Step 6: Set up subscribe**(%%)**:** Subscribe a topci for downstream.
559 +(% style="color:#4f81bd" %)**Step 6: Set up subscribe**(%%)**:** Subscribe a topci for downstream.
591 591  
592 592  [[image:image-20220613191426-5.png]]
593 593  
594 594  
595 595  
596 -(% style="color:blue" %)**Step 7: Downstream**(%%): Save the change, we can see the log info via "sytem log", End Node and MQTT Server.
565 +(% style="color:#4f81bd" %)**Step 7: Downstream**(%%): Save the change, we can see the log info via "sytem log", End Node and MQTT Server.
597 597  
598 598  [[image:image-20220527142239-28.png]]
599 599  
600 600  
601 601  
602 -=== 4.5.3 MQTT Downstream format ===
571 +=== MQTT Downstream format ===
603 603  
604 604  
605 605  mosquitto_pub -h $server_address -p $server_port -t $Client_ID -m "**dev_addr,imme/time,txt/hex,payload**"
... ... @@ -606,7 +606,7 @@
606 606  
607 607  (% class="box infomessage" %)
608 608  (((
609 -**mosquitto_pub -h 10.130.2.192 -p 1883 -t dragino-1d25dc/ -m "260211D,time,txt,hello"**
578 +mosquitto_pub -h 10.130.2.192 -p 1883 -t dragino-1d25dc/ -m "260211D,time,txt,hello"
610 610  )))
611 611  
612 612  mosquitto_pub -h $server_address -p $server_port -t $Client_ID -m "**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow**"
... ... @@ -613,7 +613,7 @@
613 613  
614 614  (% class="box infomessage" %)
615 615  (((
616 -**mosquitto_pub -h 10.130.2.192 -p 1883 -t dragino-1d25dc/ -m "260211D,time,txt,hello,20,1,SF12,923300000,2"**
585 +mosquitto_pub -h 10.130.2.192 -p 1883 -t dragino-1d25dc/ -m "260211D,time,txt,hello,20,1,SF12,923300000,2 > /var/iot/push/test"
617 617  )))
618 618  
619 619  Or use [[MQTT.fx>>https://mqttfx.jensd.de/index.php/download]]
... ... @@ -620,24 +620,17 @@
620 620  
621 621  [[image:image-20220613192816-6.png||height="440" width="1056"]]
622 622  
623 -
624 624  (% style="color:red" %)**Notice: The text use for Downstream must meet the requirement from [[LG308 Downstream Payload>>Communicate with ABP End Node without LoRaWAN Network Server --- LG308||anchor="H2.2Downstream"]]**
625 625  
626 -
627 627  Check out this link for more mosquito-related directives [[https:~~/~~/mosquitto.org/man/mosquitto_pub-1.html>>https://mosquitto.org/man/mosquitto_pub-1.html]]
628 628  
596 += 5. How to Debug =
629 629  
630 -
631 -= 5.  How to Debug =
632 -
633 -
634 634  User can login the gateway's console and run (% style="color:#4f81bd" %)**logread -f**(%%). It will shows the output when there is packet arrive.User can see if it is correct.
635 635  
636 636  
601 += 6. How to ask for Support =
637 637  
638 -= 6.  How to ask for Support =
639 -
640 -
641 641  If a user still not have trouble making it works. please send a mail to support@dragino.com with the below info:
642 642  
643 643  * Detail of your LoRaWAN end node.
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0