<
From version < 44.1 >
edited by Kilight Cao
on 2022/06/13 19:35
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
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Kilight
1 +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.1 Network Structure ==
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 - [~-~-ciphers ciphers] [~-~-insecure]
160 - [~-~-tls-alpn protocol]
161 - [~-~-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]]
162 162   [~-~-psk hex-key ~-~-psk-identity identity [~-~-ciphers ciphers]]
163 163   [~-~-proxy socks-url]
164 164   [~-~-property command identifier value]
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0