<
From version < 44.2 >
edited by Xiaoling
on 2022/07/14 15:42
To version < 44.5 >
edited by Xiaoling
on 2022/07/14 15:55
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -24,7 +24,6 @@
24 24  
25 25  
26 26  
27 -
28 28  = 2.  Firmware Change Log for MQTT feature =
29 29  
30 30  
... ... @@ -37,15 +37,16 @@
37 37  
38 38  
39 39  
39 += 3.  MQTT forward operating principle =
40 40  
41 -= 3. MQTT forward operating principle =
42 42  
43 -== 3.1 Network Structure ==
42 +== 3.1  Network Structure ==
44 44  
44 +
45 45  Below shows the network structure for MQTT forwarding.
46 46  
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,
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,
49 49  
50 50  [[image:image-20220527133547-1.png]]
51 51  
... ... @@ -52,12 +52,13 @@
52 52  General MQTT structure
53 53  
54 54  
55 -== 3.2 How sensor data is forwarded ==
55 +== 3.2  How sensor data is forwarded ==
56 56  
57 +
57 57  In this MQTT forward feature, the key point is how the gateway process the sensor data.
58 58  
59 59  
60 -=== 3.2.1 Upstream ===
61 +=== 3.2.1  Upstream ===
61 61  
62 62  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.
63 63  
... ... @@ -69,10 +69,12 @@
69 69  
70 70  (((
71 71  Upstream path
73 +
74 +
72 72  )))
73 73  
74 74  (((
75 -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>**
76 76  )))
77 77  
78 78  (((
... ... @@ -79,8 +79,9 @@
79 79  
80 80  )))
81 81  
82 -=== 3.2.2 Downstream ===
85 +=== 3.2.2  Downstream ===
83 83  
87 +
84 84  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.
85 85  
86 86  (((
... ... @@ -92,8 +92,9 @@
92 92  Downstream path
93 93  
94 94  
95 -== 3.3 Macro Definition ==
99 +== 3.3  Macro Definition ==
96 96  
101 +
97 97  The MQTT publish command use Macro settings to generate flexible upstream payload for MQTT publish.
98 98  
99 99  (((
... ... @@ -102,8 +102,9 @@
102 102  
103 103  )))
104 104  
105 -=== 3.3.1 -t topic macro ===
110 +=== 3.3.1  -t topic macro ===
106 106  
112 +
107 107  * CHANNEL: Remote Channel ID
108 108  * CLIENTID: Client ID , Same as -i
109 109  * WRITE_API: Remote Channel Write API
... ... @@ -110,8 +110,12 @@
110 110  * USERNAME: User ID (-u)
111 111  * HOSTNAME: Device Hostname
112 112  
113 -=== 3.3.2 -m message macro ===
114 114  
120 +
121 +
122 +=== 3.3.2  -m message macro ===
123 +
124 +
115 115  * HOSTNAME: Device Hostname
116 116  * CHANNEL: Remote Channel ID
117 117  * DATA: Sensor Data without time stamp and rssi
... ... @@ -118,14 +118,18 @@
118 118  * META: Completely sensor data with time stamp and rssi
119 119  * JSON: Convert META to json format.
120 120  
121 -=== 3.3.3 Example for Macro ===
122 122  
132 +
133 +
134 +=== 3.3.3  Example for Macro ===
135 +
136 +
123 123  [[image:image-20220527134251-4.png]]
124 124  
125 125  MQTT Publish configure
126 126  
127 127  
128 -Above screen shots shows below format:
142 +**Above screen shots shows below format:**
129 129  
130 130  * -t: CLIENTID/CHANNEL/data
131 131  * -m: DATA
... ... @@ -142,8 +142,10 @@
142 142  )))
143 143  
144 144  
145 -== 3.4 Modify the MQTT to support more options ==
146 146  
160 +== 3.4  Modify the MQTT to support more options ==
161 +
162 +
147 147  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:
148 148  
149 149  (% class="box" %)
... ... @@ -161,9 +161,9 @@
161 161   [-u username [-P password]]
162 162   [~-~-will-topic [~-~-will-payload payload] [~-~-will-qos qos] [~-~-will-retain]]
163 163   [{~-~-cafile file | ~-~-capath dir} [~-~-cert file] [~-~-key file]
164 - [~-~-ciphers ciphers] [~-~-insecure]
165 - [~-~-tls-alpn protocol]
166 - [~-~-tls-engine engine] [~-~-keyform keyform] [~-~-tls-engine-kpass-sha1]]
180 + [~-~-ciphers ciphers] [~-~-insecure]
181 + [~-~-tls-alpn protocol]
182 + [~-~-tls-engine engine] [~-~-keyform keyform] [~-~-tls-engine-kpass-sha1]]
167 167   [~-~-psk hex-key ~-~-psk-identity identity [~-~-ciphers ciphers]]
168 168   [~-~-proxy socks-url]
169 169   [~-~-property command identifier value]
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0