Changes for page MQTT Forward Instruction
Last modified by Kilight Cao on 2024/08/31 16:26
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Kilight1 +XWiki.Xiaoling - Content
-
... ... @@ -1,15 +1,17 @@ 1 -**~ Contents:** 1 +**~ Table of Contents:** 2 2 3 3 {{toc/}} 4 4 5 5 6 -= 1. Introduction = 6 += 1. Introduction = 7 7 8 + 8 8 Dragino LoRa/LoRaWAN gateway support MQTT forwarding. It can forward the sensor data from LoRa network to MQTT server , and vice verse. 9 9 10 10 11 -== 1.1 Support Devices == 12 +== 1.1 Support Devices == 12 12 14 + 13 13 This MQTT forward instruction is for below devices: 14 14 15 15 * Firmware Version > LG02_LG08-5.3.1580178039 [[Firmware Download>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]] ... ... @@ -21,8 +21,10 @@ 21 21 * MS14 series if installed with the same firmware. (in this case, the MQTT forward will work , but no LoRa support) 22 22 23 23 24 -= 2. Firmware Change Log for MQTT feature = 25 25 27 += 2. Firmware Change Log for MQTT feature = 28 + 29 + 26 26 ((( 27 27 This instruction is wrote start from LG02_LG08-5.3.1580178039. Below is related change log since this version of firmware. 28 28 ))) ... ... @@ -31,14 +31,17 @@ 31 31 ** Initiate version 32 32 33 33 34 -= 3. MQTT forward operating principle = 35 35 36 -= =3.1NetworkStructure ==39 += 3. MQTT forward operating principle = 37 37 41 + 42 +== 3.1 Network Structure == 43 + 44 + 38 38 Below shows the network structure for MQTT forwarding. 39 39 40 -* 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. 41 -* 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, 47 +* **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. 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, 42 42 43 43 [[image:image-20220527133547-1.png]] 44 44 ... ... @@ -45,12 +45,13 @@ 45 45 General MQTT structure 46 46 47 47 48 -== 3.2 How sensor data is forwarded == 55 +== 3.2 How sensor data is forwarded == 49 49 57 + 50 50 In this MQTT forward feature, the key point is how the gateway process the sensor data. 51 51 52 52 53 -=== 3.2.1 Upstream === 61 +=== 3.2.1 Upstream === 54 54 55 55 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. 56 56 ... ... @@ -62,10 +62,12 @@ 62 62 63 63 ((( 64 64 Upstream path 73 + 74 + 65 65 ))) 66 66 67 67 ((( 68 -Note: The sensor data can base or LoRa or other method, as long as there are data on the file /var/iot/channels. /span> 78 +(% style="color:red" %)**Note: The sensor data can base or LoRa or other method, as long as there are data on the file /var/iot/channels. /span>** 69 69 ))) 70 70 71 71 ((( ... ... @@ -72,8 +72,9 @@ 72 72 73 73 ))) 74 74 75 -=== 3.2.2 Downstream === 85 +=== 3.2.2 Downstream === 76 76 87 + 77 77 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. 78 78 79 79 ((( ... ... @@ -85,8 +85,9 @@ 85 85 Downstream path 86 86 87 87 88 -== 3.3 Macro Definition == 99 +== 3.3 Macro Definition == 89 89 101 + 90 90 The MQTT publish command use Macro settings to generate flexible upstream payload for MQTT publish. 91 91 92 92 ((( ... ... @@ -95,8 +95,9 @@ 95 95 96 96 ))) 97 97 98 -=== 3.3.1 -t topic macro === 110 +=== 3.3.1 -t topic macro === 99 99 112 + 100 100 * CHANNEL: Remote Channel ID 101 101 * CLIENTID: Client ID , Same as -i 102 102 * WRITE_API: Remote Channel Write API ... ... @@ -104,8 +104,11 @@ 104 104 * HOSTNAME: Device Hostname 105 105 106 106 107 -=== 3.3.2 -m message macro === 108 108 121 + 122 +=== 3.3.2 -m message macro === 123 + 124 + 109 109 * HOSTNAME: Device Hostname 110 110 * CHANNEL: Remote Channel ID 111 111 * DATA: Sensor Data without time stamp and rssi ... ... @@ -113,14 +113,17 @@ 113 113 * JSON: Convert META to json format. 114 114 115 115 116 -=== 3.3.3 Example for Macro === 117 117 133 + 134 +=== 3.3.3 Example for Macro === 135 + 136 + 118 118 [[image:image-20220527134251-4.png]] 119 119 120 120 MQTT Publish configure 121 121 122 122 123 -Above screen shots shows below format: 142 +**Above screen shots shows below format:** 124 124 125 125 * -t: CLIENTID/CHANNEL/data 126 126 * -m: DATA ... ... @@ -137,8 +137,10 @@ 137 137 ))) 138 138 139 139 140 -== 3.4 Modify the MQTT to support more options == 141 141 160 +== 3.4 Modify the MQTT to support more options == 161 + 162 + 142 142 The MQTT Client Utility used in Dragino is **mosquitto_pub** and **mosquitto_sub**. User can add more options to the mqtt commands. User can check the valid options by command mosquitto_pub ~-~-help. as below: 143 143 144 144 (% class="box" %) ... ... @@ -156,9 +156,9 @@ 156 156 [-u username [-P password]] 157 157 [~-~-will-topic [~-~-will-payload payload] [~-~-will-qos qos] [~-~-will-retain]] 158 158 [{~-~-cafile file | ~-~-capath dir} [~-~-cert file] [~-~-key file] 159 - 160 - 161 - 180 + [~-~-ciphers ciphers] [~-~-insecure] 181 + [~-~-tls-alpn protocol] 182 + [~-~-tls-engine engine] [~-~-keyform keyform] [~-~-tls-engine-kpass-sha1]] 162 162 [~-~-psk hex-key ~-~-psk-identity identity [~-~-ciphers ciphers]] 163 163 [~-~-proxy socks-url] 164 164 [~-~-property command identifier value]