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

From version 42.1
edited by Kilight Cao
on 2022/08/06 15:30
Change comment: Uploaded new attachment "image-20220806153048-8.png", version {1}
To version 13.1
edited by Xiaoye
on 2022/08/02 14:47
Change comment: Uploaded new attachment "image-20220802144754-9.png", version {1}

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Kilight
1 +XWiki.Xiaoye
Content
... ... @@ -1,17 +1,14 @@
1 1  (% class="wikigeneratedid" %)
2 -**Table of Contents:**
2 +
3 3  
4 4  {{toc/}}
5 5  
6 += 1. Introduction =
6 6  
7 7  
8 -
9 -= 1.  Introduction =
10 -
11 -
12 12  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.
13 13  
14 -**It can be used in some cases such as:**
11 +It can be used in some cases such as:
15 15  
16 16  * No internet connection.
17 17  * Users want to get data forward in the gateway and forward it to their server based on MQTT/HTTP.
... ... @@ -18,39 +18,31 @@
18 18  * Forward the data to the built-in Application server Node-Red.
19 19  * Just storing the data on the gateway or external storage
20 20  
21 -**The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:**
18 +The basic of this feature is the decoding of **LoRaWAN ABP End Node**. Requirements:
22 22  
23 23  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
24 24  1. LoRaWAN Gateway model: LPS8-V2
25 25  1. System version: Since V.12
26 26  
24 += 2. Quick Start =
27 27  
28 -= 2 Quick Start =
26 +The default factory version of LPS8-V2 is installed with the Built-in LoRaWAN Server: **The Things Network - Stack (Open Source 3.19 Version).**
29 29  
30 -
31 -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).**
32 -
33 33  Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack.
34 34  
35 35  
31 += 2.1. Configure the gateway mode =
36 36  
37 -== 2.1.  Configure the gateway mode ==
33 +You can access  the gateway's Manage Web UI, via the URL ( __**//http:~/~/<hostname> or http:~/~/<local-IPV4-address> //**__) in your browser
38 38  
39 39  
40 -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
36 +=== Selecting the right frequency band ===
41 41  
42 -
43 -
44 -=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
45 -
46 -
47 47  [[image:image-20220802142103-1.png]]
48 48  
49 49  
41 +=== Configure the Semtech UDP forwarder ===
50 50  
51 -=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
52 -
53 -
54 54  [[image:image-20220802142147-3.png]]
55 55  
56 56  
... ... @@ -57,7 +57,6 @@
57 57  
58 58  == 2.2.  Login to the built-in server TTN-Stack ==
59 59  
60 -
61 61  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.
62 62  
63 63  Such as  __**//http:~/~/dragino-54ff12:8080  or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__
... ... @@ -65,155 +65,53 @@
65 65  
66 66  Login account:
67 67  
68 - (% style="background-color:yellow" %)**User ID: ** ** admin**
56 +**User ID: ** ** admin**
69 69  
70 - (% style="background-color:yellow" %)**Password: ** ** dragino**
58 +**Password: ** ** dragino**
71 71  
72 72  
73 73  [[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"]]
74 74  
75 75  
64 +== 2.3. Add the gateway & the sensor ==
76 76  
77 -== 2.3.  Add the gateway & the sensor ==
78 78  
67 +=== Add the gateway ===
79 79  
80 -Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki:
81 -
82 -
83 -
84 -=== (% style="color:#037691" %)**Add the gateway**(%%) ===
85 -
86 -
87 87  [[image:image-20220802142946-5.png]]
88 88  
89 89  
72 +=== Add the Sensor ===
90 90  
91 -=== (% style="color:#037691" %)**Add the Sensor**(%%) ===
92 -
93 -
94 94  [[image:image-20220802143031-6.png||height="794" width="1375"]]
95 95  
96 96  
97 97  
98 -== 2.4.  Add the decoder ==
78 +== 2.4. Add the decoder ==
99 99  
100 -
101 -If you use dragino sensors then you can find the recorder on this URL:
102 -
103 -
104 104  [[image:image-20220802143129-7.png]]
105 105  
106 106  
107 107  
108 -== 2.5.  Visual Data ==
84 +== 2.5. Check the date ==
109 109  
110 110  
111 -In this section, you can be seen that the payload of the sensor has been interpreted as visual data.
112 -
113 -And the next part will discuss where to let the data flow。
114 -
115 -
116 116  [[image:image-20220802143214-8.png]]
117 117  
118 118  
90 += 3. Forward the data or store the data =
119 119  
120 -= 3.  Forward the data or store the data =
121 121  
93 +== 3.1. Forward data to an external server based on MQTT/HTTP. ==
122 122  
123 -You are done most of the work, now you just need to plan the flow of data to where.
124 124  
96 +== 3.2 Forward data to the built-in application server Node-Red. ==
125 125  
126 126  
127 -== 3. Forward data to an external server based on MQTT/HTTP. ==
99 +== 3.3 Just storing the data on the gateway or external storage. ==
128 128  
129 129  
102 += 4. Sent the downlink to the sensor =
130 130  
131 -=== (% style="color:#037691" %)**MQTT**(%%) ===
132 132  
133 -
134 -You need to connect to this public address on your external server and subscribe to the topic **(v3/<application_name>/devices/<devices_name>/up)**.
135 -
136 -
137 -[[image:image-20220802144754-9.png]]
138 -
139 -
140 -**subscribe to the topic and get the data**
141 -
142 -[[image:image-20220802145408-10.png]]
143 -
144 -
145 -
146 -
147 -=== (% style="color:#037691" %)**HTTP**(%%) ===
148 -
149 -
150 -[[image:image-20220802145450-11.png||height="676" width="1164"]]
151 -
152 -
153 -
154 -== 3.2  Forward data to the built-in application server Node-Red. ==
155 -
156 -
157 -[[image:image-20220802150715-1.png||height="739" width="1171"]]
158 -
159 -
160 -
161 -== 3.3  Just storing the data on the gateway or external storage. ==
162 -
163 -
164 -Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**.
165 -
166 -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"]]
167 -
168 -After the configuration is complete, users can find the node logs in the root/ directory
169 -
170 -[[image:image-20220806144426-2.jpeg||height="540" width="1099"]]
171 -
172 -[[image:image-20220806144606-3.jpeg||height="676" width="1102"]]
173 -
174 -[[image:image-20220806144336-1.jpeg]]
175 -
176 -= 4.  Sent the downlink to the sensor =
177 -
178 -
179 -Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**.
180 -
181 -(% 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).**
182 -
183 -[[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]]
184 -
185 -
186 -Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
187 -
188 -(% class="box" %)
189 -(((
190 -{
191 - "downlinks": [{
192 - "f_port": 2,
193 - "frm_payload": "AwAA",  
194 - "priority": "HIGH",
195 - "confirmed": true
196 - }]
197 -}
198 -)))
199 -
200 -[[image:image-20220802170358-4.png||height="656" width="898"]]
201 -
202 -
203 -[[image:image-20220802164844-3.png||height="345" width="1131"]]
204 -
205 -
206 -
207 -**Node-red**
208 -
209 -Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
210 -
211 -
212 -[[image:image-20220802172021-6.png||height="455" width="1240"]]
213 -
214 -
215 -
216 -= 5.  Trouble Shootings =
217 -
218 -
219 -
105 += 5. Trouble Shootings =
image-20220802145408-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -79.0 KB
Content
image-20220802145450-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoye
Size
... ... @@ -1,1 +1,0 @@
1 -64.0 KB
Content
image-20220802150715-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -120.6 KB
Content
image-20220802164302-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -47.8 KB
Content
image-20220802164437-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -47.5 KB
Content
image-20220802164844-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -69.5 KB
Content
image-20220802170358-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -66.6 KB
Content
image-20220802171735-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -33.6 KB
Content
image-20220802172021-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -124.8 KB
Content
image-20220806144336-1.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -112.1 KB
Content
image-20220806144426-2.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -133.3 KB
Content
image-20220806144606-3.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -113.4 KB
Content
image-20220806152748-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -185.5 KB
Content
image-20220806152825-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -188.9 KB
Content
image-20220806152923-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -120.8 KB
Content
image-20220806153009-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -99.4 KB
Content
image-20220806153048-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -104.5 KB
Content
mqtt-test.json
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -3.4 KB
Content
... ... @@ -1,139 +1,0 @@
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,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -3.7 KB
Content
... ... @@ -1,157 +1,0 @@
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 -]