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
-
... ... @@ -24,6 +24,7 @@ 24 24 25 25 26 26 27 + 27 27 = 2. Firmware Change Log for MQTT feature = 28 28 29 29 ... ... @@ -36,6 +36,7 @@ 36 36 37 37 38 38 40 + 39 39 = 3. MQTT forward operating principle = 40 40 41 41 ... ... @@ -52,13 +52,12 @@ 52 52 General MQTT structure 53 53 54 54 55 -== 3.2 57 +== 3.2 How sensor data is forwarded == 56 56 57 - 58 58 In this MQTT forward feature, the key point is how the gateway process the sensor data. 59 59 60 60 61 -=== 3.2.1 62 +=== 3.2.1 Upstream === 62 62 63 63 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. 64 64 ... ... @@ -70,12 +70,10 @@ 70 70 71 71 ((( 72 72 Upstream path 73 - 74 - 75 75 ))) 76 76 77 77 ((( 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>**77 +Note: The sensor data can base or LoRa or other method, as long as there are data on the file /var/iot/channels. /span> 79 79 ))) 80 80 81 81 ((( ... ... @@ -82,9 +82,8 @@ 82 82 83 83 ))) 84 84 85 -=== 3.2.2 84 +=== 3.2.2 Downstream === 86 86 87 - 88 88 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. 89 89 90 90 ((( ... ... @@ -96,9 +96,8 @@ 96 96 Downstream path 97 97 98 98 99 -== 3.3 97 +== 3.3 Macro Definition == 100 100 101 - 102 102 The MQTT publish command use Macro settings to generate flexible upstream payload for MQTT publish. 103 103 104 104 ((( ... ... @@ -107,9 +107,8 @@ 107 107 108 108 ))) 109 109 110 -=== 3.3.1 107 +=== 3.3.1 -t topic macro === 111 111 112 - 113 113 * CHANNEL: Remote Channel ID 114 114 * CLIENTID: Client ID , Same as -i 115 115 * WRITE_API: Remote Channel Write API ... ... @@ -116,12 +116,8 @@ 116 116 * USERNAME: User ID (-u) 117 117 * HOSTNAME: Device Hostname 118 118 115 +=== 3.3.2 -m message macro === 119 119 120 - 121 - 122 -=== 3.3.2 -m message macro === 123 - 124 - 125 125 * HOSTNAME: Device Hostname 126 126 * CHANNEL: Remote Channel ID 127 127 * DATA: Sensor Data without time stamp and rssi ... ... @@ -128,18 +128,14 @@ 128 128 * META: Completely sensor data with time stamp and rssi 129 129 * JSON: Convert META to json format. 130 130 123 +=== 3.3.3 Example for Macro === 131 131 132 - 133 - 134 -=== 3.3.3 Example for Macro === 135 - 136 - 137 137 [[image:image-20220527134251-4.png]] 138 138 139 139 MQTT Publish configure 140 140 141 141 142 - **Above screen shots shows below format:**130 +Above screen shots shows below format: 143 143 144 144 * -t: CLIENTID/CHANNEL/data 145 145 * -m: DATA ... ... @@ -156,10 +156,8 @@ 156 156 ))) 157 157 158 158 147 +== 3.4 Modify the MQTT to support more options == 159 159 160 -== 3.4 Modify the MQTT to support more options == 161 - 162 - 163 163 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: 164 164 165 165 (% class="box" %) ... ... @@ -177,9 +177,9 @@ 177 177 [-u username [-P password]] 178 178 [~-~-will-topic [~-~-will-payload payload] [~-~-will-qos qos] [~-~-will-retain]] 179 179 [{~-~-cafile file | ~-~-capath dir} [~-~-cert file] [~-~-key file] 180 - [~-~-ciphers ciphers] [~-~-insecure] 181 - [~-~-tls-alpn protocol] 182 - [~-~-tls-engine engine] [~-~-keyform keyform] [~-~-tls-engine-kpass-sha1]] 166 + [~-~-ciphers ciphers] [~-~-insecure] 167 + [~-~-tls-alpn protocol] 168 + [~-~-tls-engine engine] [~-~-keyform keyform] [~-~-tls-engine-kpass-sha1]] 183 183 [~-~-psk hex-key ~-~-psk-identity identity [~-~-ciphers ciphers]] 184 184 [~-~-proxy socks-url] 185 185 [~-~-property command identifier value]