Changes for page MQTT Forward Instruction
Last modified by Kilight Cao on 2024/08/31 16:26
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -12,7 +12,7 @@ 12 12 This MQTT forward instruction is for below devices: 13 13 14 14 * Firmware Version > LG02_LG08-5.3.1580178039 [[Firmware Download>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]] 15 -* LG01N, OLG01N ( (% class="mark" %)**Warning**(%%): LG01-P LG01-S use another instruction: [[MQTT for LG01-P/LG01S>>url:https://wiki.dragino.com/index.php/Through_MQTT_to_upload_data]])15 +* LG01N, OLG01N (Warning: LG01-P LG01-S use another instruction: [[MQTT for LG01-P/LG01S>>url:https://wiki.dragino.com/index.php/Through_MQTT_to_upload_data]]) 16 16 * LG02, OLG02 17 17 * LG308, DLOS8 18 18 * LPS8 ... ... @@ -22,9 +22,7 @@ 22 22 23 23 = 2. Firmware Change Log for MQTT feature = 24 24 25 -((( 26 26 This instruction is wrote start from LG02_LG08-5.3.1580178039. Below is related change log since this version of firmware. 27 -))) 28 28 29 29 * LG02_LG08-5.3.1580178039 30 30 ** Initiate version ... ... @@ -39,47 +39,33 @@ 39 39 * 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. 40 40 * 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, 41 41 42 -[[image:https://wiki.dragino.com/images/thumb/4/45/MQTT_Forward_1.png/600px-MQTT_Forward_1.png||height="348" width="600"]] 40 +[[~[~[image:https://wiki.dragino.com/images/thumb/4/45/MQTT_Forward_1.png/600px-MQTT_Forward_1.png~|~|height="348" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:MQTT_Forward_1.png]] 43 43 44 44 General MQTT structure 45 45 46 - 47 47 == 3.2 How sensor data is forwarded == 48 48 49 49 In this MQTT forward feature, the key point is how the gateway process the sensor data. 50 50 51 - 52 52 === 3.2.1 Upstream === 53 53 54 54 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. 55 55 56 -((( 57 57 The data flow works as below diagram. 58 -))) 59 59 60 60 [[~[~[image:https://wiki.dragino.com/images/thumb/2/2a/MQTT_Forward_2.png/600px-MQTT_Forward_2.png~|~|height="355" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:MQTT_Forward_2.png]] 61 61 62 -((( 63 63 Upstream path 64 -))) 65 65 66 -((( 67 67 Note: The sensor data can base or LoRa or other method, as long as there are data on the file /var/iot/channels. /span> 68 -))) 69 69 70 -((( 71 - 72 -))) 73 - 74 74 === 3.2.2 Downstream === 75 75 76 76 The gateway subscribes to a topic of the remote MQTT broker topic. When there is some one publish a value on this topic. The gateway will get it and broadcast to local LoRa Network. 77 77 78 -((( 79 79 Below are the data flow for downstream. 80 -))) 81 81 82 -[[image:https://wiki.dragino.com/images/thumb/3/3a/MQTT_Forward_3.png/600px-MQTT_Forward_3.png||height="368" width="600"]] 66 +[[~[~[image:https://wiki.dragino.com/images/thumb/3/3a/MQTT_Forward_3.png/600px-MQTT_Forward_3.png~|~|height="368" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:MQTT_Forward_3.png]] 83 83 84 84 Downstream path 85 85 ... ... @@ -88,9 +88,7 @@ 88 88 89 89 The MQTT publish command use Macro settings to generate flexible upstream payload for MQTT publish. 90 90 91 -((( 92 -Currently the (% class="mark" %)**-t (topic)**(%%) and (% class="mark" %)**-m (message)**(%%) support Macros. 93 -))) 75 +Currently the -t (topic) and -m (message) support Macros. 94 94 95 95 === 3.3.1 -t topic macro === 96 96 ... ... @@ -110,7 +110,7 @@ 110 110 111 111 === 3.3.3 Example for Macro === 112 112 113 -[[image:https://wiki.dragino.com/images/thumb/c/c7/MQTT_Command_9.png/600px-MQTT_Command_9.png||height="385" width="600"]] 95 +[[~[~[image:https://wiki.dragino.com/images/thumb/c/c7/MQTT_Command_9.png/600px-MQTT_Command_9.png~|~|height="385" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:MQTT_Command_9.png]] 114 114 115 115 MQTT Publish configure 116 116 ... ... @@ -121,13 +121,11 @@ 121 121 122 122 When there is a LoRa sensor arrive. it will be store at the /var/iot/channels as below: 123 123 124 -[[image:https://wiki.dragino.com/images/thumb/c/c4/MQTT_Command_20.png/600px-MQTT_Command_20.png||height="325" width="600"]] 106 +[[~[~[image:https://wiki.dragino.com/images/thumb/c/c4/MQTT_Command_20.png/600px-MQTT_Command_20.png~|~|height="325" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:MQTT_Command_20.png]] 125 125 126 126 Sensor Data 127 127 128 -((( 129 -According to above macro. Gateway will publish (% class="mark" %)**field1=22.0&field2=49.0**(%%) to topic: (% class="mark" %)**dragino-1b7060/78901/data**(%%), where 78901 is the remote channel for this node ID. 130 -))) 110 +According to above macro. Gateway will publish field1=22.0&field2=49.0 to topic: dragino-1b7060/78901/data, where 78901 is the remote channel for this node ID. 131 131 132 132 133 133 == 3.4 Modify the MQTT to support more options == ... ... @@ -391,6 +391,7 @@ 391 391 downstream simulation 392 392 393 393 374 +\\ 394 394 395 395 == 4.5 Add LoRa support to communicate with remote sensor == 396 396 ... ... @@ -433,8 +433,7 @@ 433 433 When use test this feature, please use the version higher then : LG02_LG08~-~-build-v5.4.1593400722-20200629-1120, in this version, the upload format is changed and readable, which is easier for integration. 434 434 435 435 436 - 437 -Video Instruction:[[https:~~/~~/youtu.be/qJTY441-t90>>url:https://youtu.be/qJTY441-t90]] 417 +\\Video Instruction:[[https:~~/~~/youtu.be/qJTY441-t90>>url:https://youtu.be/qJTY441-t90]] 438 438 439 439 440 440 Step 1: Refer [[Communicate with ABP End Node>>url:https://wiki.dragino.com/index.php/Communication_with_ABP_End_Node]] to know how to set up LG308 to work with LoRaWAN End node. ... ... @@ -515,6 +515,7 @@ 515 515 [[AWS Examples>>url:https://wiki.dragino.com/index.php/MQTT_Forward_to_Amazon_AWS-IOT]] 516 516 ))) 517 517 498 + 518 518 = 6. How to Debug = 519 519 520 520 User can login the gateway's console and run **logread -f**. It will shows the output when there is packet arrive.User can see if it is correct.