Last modified by Xiaoling on 2024/08/19 15:29

From version 10.1
edited by Xiaoye
on 2022/08/02 14:31
Change comment: Uploaded new attachment "image-20220802143129-7.png", version {1}
To version 36.1
edited by Kilight Cao
on 2022/08/06 15:00
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoye
1 +XWiki.Kilight
Content
... ... @@ -1,14 +1,17 @@
1 1  (% class="wikigeneratedid" %)
2 -
2 +**Table of Contents:**
3 3  
4 4  {{toc/}}
5 5  
6 -= 1. Introduction =
7 7  
8 8  
8 +
9 += 1.  Introduction =
10 +
11 +
9 9  The LPS8-V2 of Dragino LoRaWAN gateway can communicate with LoRaWAN ABP End Node, the working is based on the built-in server TTN-Stack.
10 10  
11 -It can be used in some cases such as:
14 +**It can be used in some cases such as:**
12 12  
13 13  * No internet connection.
14 14  * Users want to get data forward in the gateway and forward it to their server based on MQTT/HTTP.
... ... @@ -15,41 +15,203 @@
15 15  * Forward the data to the built-in Application server Node-Red.
16 16  * Just storing the data on the gateway or external storage
17 17  
18 -The basic of this feature is the decoding of **LoRaWAN ABP End Node**. Requirements:
21 +**The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:**
19 19  
20 20  1. LoRaWAN End Node in ABP mode. Make sure your end node works in this mode. End node most are default set to OTAA mode
21 21  1. LoRaWAN Gateway model: LPS8-V2
22 22  1. System version: Since V.12
23 23  
24 -= 2. Quick Start =
25 25  
26 26  
27 -== 2.1.  Login to the build-in server TTN-Stack ==
29 += 2.  Quick Start =
28 28  
29 29  
30 -== 2.2. Add the gateway & the sensor ==
32 +The default factory version of LPS8-V2 is installed with the Built-in LoRaWAN Server: (% style="color:blue" %)**The Things Network - Stack (Open Source 3.19 Version).**
31 31  
34 +Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack.
32 32  
33 -== 2.3. Add the decoder ==
34 34  
35 35  
36 -== 2.4. Check the date ==
38 +== 2.1.  Configure the gateway mode ==
37 37  
38 38  
39 -= 3. Forward the data or store the data =
41 +You can access  the gateway's Manage Web UI, via the URL ( (% style="color:blue" %)__**//http:~/~/<hostname> or http:~/~/<local-IPV4-address> //**__(%%)) in your browser
40 40  
41 41  
42 -== 3.1. Forward data to an external server based on MQTT/HTTP. ==
43 43  
45 +=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
44 44  
45 -== 3.2 Forward data to the built-in application server Node-Red. ==
46 46  
48 +[[image:image-20220802142103-1.png]]
47 47  
48 -== 3.3 Just storing the data on the gateway or external storage. ==
49 49  
50 50  
51 -= 4. Sent the downlink to the sensor =
52 +=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
52 52  
53 53  
54 -= 5. Trouble Shootings =
55 +[[image:image-20220802142147-3.png]]
55 55  
57 +
58 +
59 +== 2.2.  Login to the built-in server TTN-Stack ==
60 +
61 +
62 +You can access the gateway's built-in server of **The Things Network - Stack **via the URL( __**//http:~/~/<hostname>:8080 or http:~/~/<local-IPV4-address:8080> //**__) in your browser.
63 +
64 +Such as  __**//http:~/~/dragino-54ff12:8080  or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__
65 +
66 +
67 +Login account:
68 +
69 + (% style="background-color:yellow" %)**User ID: ** ** admin**
70 +
71 + (% style="background-color:yellow" %)**Password: ** ** dragino**
72 +
73 +
74 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220725171719-1.png?width=769&height=570&rev=1.1||alt="image-20220725171719-1.png"]]
75 +
76 +
77 +
78 +== 2.3.  Add the gateway & the sensor ==
79 +
80 +
81 +Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki:
82 +
83 +
84 +
85 +=== (% style="color:#037691" %)**Add the gateway**(%%) ===
86 +
87 +
88 +[[image:image-20220802142946-5.png]]
89 +
90 +
91 +
92 +=== (% style="color:#037691" %)**Add the Sensor**(%%) ===
93 +
94 +
95 +[[image:image-20220802143031-6.png||height="794" width="1375"]]
96 +
97 +
98 +
99 +== 2.4.  Add the decoder ==
100 +
101 +
102 +If you use dragino sensors then you can find the recorder on this URL:
103 +
104 +
105 +[[image:image-20220802143129-7.png]]
106 +
107 +
108 +
109 +== 2.5.  Visual Data ==
110 +
111 +
112 +In this section, you can be seen that the payload of the sensor has been interpreted as visual data.
113 +
114 +And the next part will discuss where to let the data flow。
115 +
116 +
117 +[[image:image-20220802143214-8.png]]
118 +
119 +
120 +
121 += 3.  Forward the data or store the data =
122 +
123 +
124 +You are done most of the work, now you just need to plan the flow of data to where.
125 +
126 +
127 +
128 +== 3.1  Forward data to an external server based on MQTT/HTTP. ==
129 +
130 +
131 +
132 +=== (% style="color:#037691" %)**MQTT**(%%) ===
133 +
134 +
135 +You need to connect to this public address on your external server and subscribe to the topic **(v3/<application_name>/devices/<devices_name>/up)**.
136 +
137 +
138 +[[image:image-20220802144754-9.png]]
139 +
140 +
141 +**subscribe to the topic and get the data**
142 +
143 +[[image:image-20220802145408-10.png]]
144 +
145 +
146 +
147 +
148 +=== (% style="color:#037691" %)**HTTP**(%%) ===
149 +
150 +
151 +[[image:image-20220802145450-11.png||height="676" width="1164"]]
152 +
153 +
154 +
155 +== 3.2  Forward data to the built-in application server Node-Red. ==
156 +
157 +
158 +[[image:image-20220802150715-1.png||height="739" width="1171"]]
159 +
160 +
161 +
162 +== 3.3  Just storing the data on the gateway or external storage. ==
163 +
164 +
165 +Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**.
166 +
167 +Then add the storage node **(write file)**, Users can download the Node-Red flowchart from this link to test data storage:[[attach:test_data_storage.json||target="_blank"]]
168 +
169 +After the configuration is complete, users can find the node logs in the root/ directory
170 +
171 +[[image:image-20220806144426-2.jpeg||height="540" width="1099"]]
172 +
173 +[[image:image-20220806144606-3.jpeg||height="676" width="1102"]]
174 +
175 +[[image:image-20220806144336-1.jpeg]]
176 +
177 += 4.  Sent the downlink to the sensor =
178 +
179 +
180 +Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**.
181 +
182 +(% style="color:red" %)**Note**: **Remember that the format of this topic for The Things Stack Open Source deployment would be (v3/<application_name>/devices/<devices_name>/down/push).**
183 +
184 +[[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]]
185 +
186 +
187 +Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
188 +
189 +(% class="box" %)
190 +(((
191 +{
192 + "downlinks": [{
193 + "f_port": 2,
194 + "frm_payload": "AwAA",  
195 + "priority": "HIGH",
196 + "confirmed": true
197 + }]
198 +}
199 +)))
200 +
201 +[[image:image-20220802170358-4.png||height="656" width="898"]]
202 +
203 +
204 +[[image:image-20220802164844-3.png||height="345" width="1131"]]
205 +
206 +
207 +
208 +**Node-red**
209 +
210 +Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
211 +
212 +
213 +[[image:image-20220802172021-6.png||height="455" width="1240"]]
214 +
215 +
216 +
217 += 5.  Trouble Shootings =
218 +
219 +
220 +
image-20220802143214-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +126.6 KB
Content
image-20220802144754-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +72.1 KB
Content
image-20220802145408-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +79.0 KB
Content
image-20220802145450-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoye
Size
... ... @@ -1,0 +1,1 @@
1 +64.0 KB
Content
image-20220802150715-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +120.6 KB
Content
image-20220802164302-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +47.8 KB
Content
image-20220802164437-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +47.5 KB
Content
image-20220802164844-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +69.5 KB
Content
image-20220802170358-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +66.6 KB
Content
image-20220802171735-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +33.6 KB
Content
image-20220802172021-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +124.8 KB
Content
image-20220806144336-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +112.1 KB
Content
image-20220806144426-2.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +133.3 KB
Content
image-20220806144606-3.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +113.4 KB
Content
mqtt-test.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +3.4 KB
Content
... ... @@ -1,0 +1,139 @@
1 +[
2 + {
3 + "id": "f98b9b23144085b5",
4 + "type": "tab",
5 + "label": "MQTT subscribe to topic and publishe topic",
6 + "disabled": false,
7 + "info": "subscribe to the topic and get the data\npublishe to the topic and donwlink",
8 + "env": []
9 + },
10 + {
11 + "id": "d60e334e17faa4bf",
12 + "type": "mqtt in",
13 + "z": "f98b9b23144085b5",
14 + "name": "",
15 + "topic": "v3/#",
16 + "qos": "0",
17 + "datatype": "json",
18 + "broker": "8a5006295bbbe3a5",
19 + "nl": false,
20 + "rap": true,
21 + "rh": 0,
22 + "inputs": 0,
23 + "x": 210,
24 + "y": 540,
25 + "wires": [
26 + [
27 + "9b2373a7853b7140"
28 + ]
29 + ]
30 + },
31 + {
32 + "id": "9b2373a7853b7140",
33 + "type": "debug",
34 + "z": "f98b9b23144085b5",
35 + "name": "",
36 + "active": true,
37 + "tosidebar": true,
38 + "console": false,
39 + "tostatus": false,
40 + "complete": "false",
41 + "statusVal": "",
42 + "statusType": "auto",
43 + "x": 470,
44 + "y": 540,
45 + "wires": []
46 + },
47 + {
48 + "id": "90106832d11c1e01",
49 + "type": "mqtt out",
50 + "z": "f98b9b23144085b5",
51 + "name": "Downlink",
52 + "topic": "v3/opwwc/devices/eui-70b3d57ed00538acsss/down/push",
53 + "qos": "0",
54 + "retain": "",
55 + "respTopic": "",
56 + "contentType": "",
57 + "userProps": "",
58 + "correl": "",
59 + "expiry": "",
60 + "broker": "8a5006295bbbe3a5",
61 + "x": 580,
62 + "y": 680,
63 + "wires": []
64 + },
65 + {
66 + "id": "39f27fd319d2476e",
67 + "type": "inject",
68 + "z": "f98b9b23144085b5",
69 + "name": "Activate",
70 + "props": [
71 + {
72 + "p": "payload"
73 + },
74 + {
75 + "p": "topic",
76 + "vt": "str"
77 + }
78 + ],
79 + "repeat": "",
80 + "crontab": "",
81 + "once": true,
82 + "onceDelay": 0.1,
83 + "topic": "",
84 + "payload": "",
85 + "payloadType": "date",
86 + "x": 200,
87 + "y": 680,
88 + "wires": [
89 + [
90 + "ad20a4e36d612089"
91 + ]
92 + ]
93 + },
94 + {
95 + "id": "ad20a4e36d612089",
96 + "type": "template",
97 + "z": "f98b9b23144085b5",
98 + "name": "Publish",
99 + "field": "payload",
100 + "fieldType": "msg",
101 + "format": "handlebars",
102 + "syntax": "mustache",
103 + "template": "{\n \"downlinks\": [{\n \"f_port\": 2,\n \"frm_payload\": \"AwAA\",\n \"priority\": \"HIGH\",\n \"confirmed\": true\n }]\n}",
104 + "output": "str",
105 + "x": 400,
106 + "y": 680,
107 + "wires": [
108 + [
109 + "90106832d11c1e01"
110 + ]
111 + ]
112 + },
113 + {
114 + "id": "8a5006295bbbe3a5",
115 + "type": "mqtt-broker",
116 + "name": "",
117 + "broker": "127.0.0.1",
118 + "port": "1883",
119 + "clientid": "",
120 + "autoConnect": true,
121 + "usetls": false,
122 + "protocolVersion": "4",
123 + "keepalive": "60",
124 + "cleansession": true,
125 + "birthTopic": "",
126 + "birthQos": "0",
127 + "birthPayload": "",
128 + "birthMsg": {},
129 + "closeTopic": "",
130 + "closeQos": "0",
131 + "closePayload": "",
132 + "closeMsg": {},
133 + "willTopic": "",
134 + "willQos": "0",
135 + "willPayload": "",
136 + "willMsg": {},
137 + "sessionExpiry": ""
138 + }
139 +]
test_data_storage.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +3.7 KB
Content
... ... @@ -1,0 +1,157 @@
1 +[
2 + {
3 + "id": "f98b9b23144085b5",
4 + "type": "tab",
5 + "label": "流程 1",
6 + "disabled": false,
7 + "info": "",
8 + "env": []
9 + },
10 + {
11 + "id": "d60e334e17faa4bf",
12 + "type": "mqtt in",
13 + "z": "f98b9b23144085b5",
14 + "name": "lt22222",
15 + "topic": "v3/opwwc/devices/lt21453sa4d65sa4/#",
16 + "qos": "0",
17 + "datatype": "json",
18 + "broker": "8a5006295bbbe3a5",
19 + "nl": false,
20 + "rap": true,
21 + "rh": 0,
22 + "inputs": 0,
23 + "x": 190,
24 + "y": 540,
25 + "wires": [
26 + [
27 + "ec5899a782cb2933"
28 + ]
29 + ]
30 + },
31 + {
32 + "id": "90106832d11c1e01",
33 + "type": "mqtt out",
34 + "z": "f98b9b23144085b5",
35 + "name": "Downlink",
36 + "topic": "v3/opwwc/devices/eui-70b3d57ed00538acsss/down/push",
37 + "qos": "0",
38 + "retain": "",
39 + "respTopic": "",
40 + "contentType": "",
41 + "userProps": "",
42 + "correl": "",
43 + "expiry": "",
44 + "broker": "8a5006295bbbe3a5",
45 + "x": 580,
46 + "y": 680,
47 + "wires": []
48 + },
49 + {
50 + "id": "39f27fd319d2476e",
51 + "type": "inject",
52 + "z": "f98b9b23144085b5",
53 + "name": "Activate",
54 + "props": [
55 + {
56 + "p": "payload"
57 + },
58 + {
59 + "p": "topic",
60 + "vt": "str"
61 + }
62 + ],
63 + "repeat": "",
64 + "crontab": "",
65 + "once": true,
66 + "onceDelay": 0.1,
67 + "topic": "",
68 + "payload": "",
69 + "payloadType": "date",
70 + "x": 220,
71 + "y": 680,
72 + "wires": [
73 + [
74 + "ad20a4e36d612089"
75 + ]
76 + ]
77 + },
78 + {
79 + "id": "ad20a4e36d612089",
80 + "type": "template",
81 + "z": "f98b9b23144085b5",
82 + "name": "Publish",
83 + "field": "payload",
84 + "fieldType": "msg",
85 + "format": "handlebars",
86 + "syntax": "mustache",
87 + "template": "{\n \"downlinks\": [{\n \"f_port\": 2,\n \"frm_payload\": \"AwAA\",\n \"priority\": \"HIGH\",\n \"confirmed\": true\n }]\n}",
88 + "output": "str",
89 + "x": 400,
90 + "y": 680,
91 + "wires": [
92 + [
93 + "90106832d11c1e01"
94 + ]
95 + ]
96 + },
97 + {
98 + "id": "ec5899a782cb2933",
99 + "type": "file",
100 + "z": "f98b9b23144085b5",
101 + "name": "ttn_lt22222.log",
102 + "filename": "/root/ttn_lt22222.log",
103 + "appendNewline": true,
104 + "createDir": true,
105 + "overwriteFile": "false",
106 + "encoding": "none",
107 + "x": 400,
108 + "y": 540,
109 + "wires": [
110 + [
111 + "e284a7a78e8eba14"
112 + ]
113 + ]
114 + },
115 + {
116 + "id": "e284a7a78e8eba14",
117 + "type": "debug",
118 + "z": "f98b9b23144085b5",
119 + "name": "",
120 + "active": true,
121 + "tosidebar": true,
122 + "console": false,
123 + "tostatus": false,
124 + "complete": "false",
125 + "statusVal": "",
126 + "statusType": "auto",
127 + "x": 630,
128 + "y": 540,
129 + "wires": []
130 + },
131 + {
132 + "id": "8a5006295bbbe3a5",
133 + "type": "mqtt-broker",
134 + "name": "",
135 + "broker": "127.0.0.1",
136 + "port": "1883",
137 + "clientid": "",
138 + "autoConnect": true,
139 + "usetls": false,
140 + "protocolVersion": "4",
141 + "keepalive": "60",
142 + "cleansession": true,
143 + "birthTopic": "",
144 + "birthQos": "0",
145 + "birthPayload": "",
146 + "birthMsg": {},
147 + "closeTopic": "",
148 + "closeQos": "0",
149 + "closePayload": "",
150 + "closeMsg": {},
151 + "willTopic": "",
152 + "willQos": "0",
153 + "willPayload": "",
154 + "willMsg": {},
155 + "sessionExpiry": ""
156 + }
157 +]