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

From version 48.1
edited by Xiaoling
on 2024/08/19 15:29
Change comment: There is no comment for this version
To version 24.1
edited by Kilight Cao
on 2022/08/02 17:03
Change comment: Uploaded new attachment "image-20220802170358-4.png", version {1}

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoling
1 +XWiki.Kilight
Content
... ... @@ -1,216 +1,153 @@
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  
11 +It can be used in some cases such as:
14 14  
15 -**It can be used in some cases such as:**
16 -
17 17  * No internet connection.
18 18  * Users want to get data forward in the gateway and forward it to their server based on MQTT/HTTP.
19 19  * Forward the data to the built-in Application server Node-Red.
20 20  * Just storing the data on the gateway or external storage
21 21  
18 +The basic of this feature is the decoding of **LoRaWAN ABP End Node**. Requirements:
22 22  
23 -**The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:**
24 -
25 25  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
26 26  1. LoRaWAN Gateway model: LPS8-V2
27 27  1. System version: Since V.12
28 28  
24 += 2. Quick Start =
29 29  
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).**
30 30  
31 -= 2.  Quick Start =
32 -
33 -
34 -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).**
35 -
36 36  Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack.
37 37  
38 38  
39 -== 2.1.  Configure the gateway mode ==
31 += 2.1. Configure the gateway mode =
40 40  
33 +You can access  the gateway's Manage Web UI, via the URL ( __**//http:~/~/<hostname> or http:~/~/<local-IPV4-address> //**__) in your browser
41 41  
42 -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
43 43  
36 +=== Selecting the right frequency band ===
44 44  
45 -=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
46 -
47 -
48 48  [[image:image-20220802142103-1.png]]
49 49  
50 50  
51 -=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
41 +=== Configure the Semtech UDP forwarder ===
52 52  
53 -
54 54  [[image:image-20220802142147-3.png]]
55 55  
56 56  
46 +
57 57  == 2.2.  Login to the built-in server TTN-Stack ==
58 58  
49 +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.
59 59  
60 -You can access the gateway's built-in server of (% style="color:blue" %)**The Things Network - Stack **(%%)via the URL( __**//http:~/~/<hostname>:8080 or http:~/~/<local-IPV4-address:8080> //**__) in your browser.
61 -
62 62  Such as  __**//http:~/~/dragino-54ff12:8080  or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__
63 63  
64 64  
65 -**Login account:**
54 +Login account:
66 66  
67 - (% style="background-color:yellow" %)**User ID: ** ** admin**
56 +**User ID: ** ** admin**
68 68  
69 - (% style="background-color:yellow" %)**Password: ** ** dragino**
58 +**Password: ** ** dragino**
70 70  
71 71  
72 72  [[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"]]
73 73  
74 74  
75 -== 2.3.  Add the gateway & the sensor ==
64 +== 2.3. Add the gateway & the sensor ==
76 76  
77 -
78 78  Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki:
79 79  
80 80  
81 -=== (% style="color:#037691" %)**Add the gateway**(%%) ===
69 +=== Add the gateway ===
82 82  
83 -
84 84  [[image:image-20220802142946-5.png]]
85 85  
86 86  
87 -=== (% style="color:#037691" %)**Add the Sensor**(%%) ===
74 +=== Add the Sensor ===
88 88  
89 -
90 90  [[image:image-20220802143031-6.png||height="794" width="1375"]]
91 91  
92 92  
93 -== 2.4.  Add the decoder ==
94 94  
80 +== 2.4. Add the decoder ==
95 95  
96 96  If you use dragino sensors then you can find the recorder on this URL:
97 97  
98 -
99 99  [[image:image-20220802143129-7.png]]
100 100  
101 101  
102 -== 2.5.  Visual Data ==
103 103  
88 +== 2.5. Visual Data ==
104 104  
105 105  In this section, you can be seen that the payload of the sensor has been interpreted as visual data.
106 106  
107 107  And the next part will discuss where to let the data flow。
108 108  
109 -
110 110  [[image:image-20220802143214-8.png]]
111 111  
112 112  
113 -= 3.  Forward the data or store the data =
97 += 3. Forward the data or store the data =
114 114  
115 -
116 116  You are done most of the work, now you just need to plan the flow of data to where.
117 117  
101 +== 3.1. Forward data to an external server based on MQTT/HTTP. ==
118 118  
119 -== 3.1  Forward data to an external server based on MQTT/HTTP. ==
120 120  
104 +=== MQTT. ===
121 121  
122 -=== (% style="color:blue" %)**MQTT**(%%) ===
106 +You need to connect to this public address on your external server and subscribe to the topic **(v3/<application_name>/devices/<devices_name>/up)**.
123 123  
124 124  
125 -You need to connect to this public address on your external server and subscribe to the topic (% style="color:#037691" %)**(v3/<application_name>/devices/<devices_name>/up)**.
126 -
127 -
128 128  [[image:image-20220802144754-9.png]]
129 129  
130 130  
131 -(% style="color:#037691" %)**subscribe to the topic and get the data**
112 +**subscribe to the topic and get the data**
132 132  
133 133  [[image:image-20220802145408-10.png]]
134 134  
135 135  
136 136  
137 -=== (% style="color:blue" %)**HTTP**(%%) ===
138 138  
119 +=== HTTP ===
139 139  
140 140  [[image:image-20220802145450-11.png||height="676" width="1164"]]
141 141  
142 142  
143 -== 3.2  Forward data to the built-in application server Node-Red. ==
144 144  
125 +== 3.2 Forward data to the built-in application server Node-Red. ==
145 145  
127 +
146 146  [[image:image-20220802150715-1.png||height="739" width="1171"]]
147 147  
148 148  
149 -== 3.3  Just storing the data on the gateway or external storage. ==
131 +== 3.3 Just storing the data on the gateway or external storage. ==
150 150  
151 151  
152 -Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**.
153 153  
154 -Then add the storage node (% style="color:#037691" %)**(write file)**(%%), Users can download the Node-Red flowchart from this link to test data storage:[[attach:test_data_storage.json||target="_blank"]]
155 155  
156 -After the configuration is complete, users can find the node logs in the root/ directory
136 += 4. Sent the downlink to the sensor =
157 157  
158 158  
159 -[[image:image-20220806153310-11.png||height="588" width="1166"]]
139 +Downlinks can be scheduled by publishing the message to the topic v3/{application id}/devices/{device id}/down/push.
160 160  
141 +**Note**: **Remember that the format of this topic for The Things Stack Open Source deployment would be v3/{application id}/devices/{device id}/down/push.**
161 161  
162 -[[image:image-20220806153112-9.png||height="575" width="1167"]]
163 -
164 -
165 -[[image:image-20220806153048-8.png||height="608" width="1165"]]
166 -
167 -
168 -[[image:image-20220806153150-10.png]]
169 -
170 -
171 -= 4.  Sent the downlink to the sensor =
172 -
173 -
174 -Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**.
175 -
176 -
177 -(% 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).**
178 -
179 -
180 180  [[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]]
181 181  
182 182  
183 -Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue.
146 +Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
184 184  
185 -Example:
148 +[[image:image-20220802164437-2.png||height="493" width="840"]]
186 186  
187 -(% class="box" %)
188 -(((
189 -{
190 - "downlinks": [{
191 - "f_port": 2,
192 - "frm_payload": "AwAA",  
193 - "priority": "HIGH",
194 - "confirmed": true
195 - }]
196 -}
197 -)))
198 198  
199 -[[image:image-20220802170358-4.png||height="656" width="898"]]
200 -
201 -
202 202  [[image:image-20220802164844-3.png||height="345" width="1131"]]
203 203  
204 -
205 -(% style="color:blue" %)**Node-red**
206 -
207 -Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
208 -
209 -
210 -[[image:image-20220802172021-6.png||height="455" width="1240"]]
211 -
212 -
213 -= 5.  Trouble Shootings =
214 -
215 -
216 -
153 += 5. Trouble Shootings =
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
image-20220806153112-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -190.1 KB
Content
image-20220806153150-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -60.9 KB
Content
image-20220806153310-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -167.8 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 -4.1 KB
Content
... ... @@ -1,175 +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": 440,
25 - "wires": [
26 - [
27 - "d50df6c2befc67c2"
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": "d50df6c2befc67c2",
99 - "type": "function",
100 - "z": "f98b9b23144085b5",
101 - "name": "",
102 - "func": "var data=msg.payload\nmsg.payload=data[\"uplink_message\"][\"decoded_payload\"]\nreturn msg;",
103 - "outputs": 1,
104 - "noerr": 0,
105 - "initialize": "",
106 - "finalize": "",
107 - "libs": [],
108 - "x": 430,
109 - "y": 440,
110 - "wires": [
111 - [
112 - "3e2fc52d9030e146",
113 - "d74bd02ca7b40615"
114 - ]
115 - ]
116 - },
117 - {
118 - "id": "3e2fc52d9030e146",
119 - "type": "debug",
120 - "z": "f98b9b23144085b5",
121 - "name": "",
122 - "active": true,
123 - "tosidebar": true,
124 - "console": false,
125 - "tostatus": false,
126 - "complete": "false",
127 - "statusVal": "",
128 - "statusType": "auto",
129 - "x": 670,
130 - "y": 420,
131 - "wires": []
132 - },
133 - {
134 - "id": "d74bd02ca7b40615",
135 - "type": "file",
136 - "z": "f98b9b23144085b5",
137 - "name": "",
138 - "filename": "/root/ttn_lt22222.log",
139 - "appendNewline": true,
140 - "createDir": true,
141 - "overwriteFile": "false",
142 - "encoding": "none",
143 - "x": 660,
144 - "y": 300,
145 - "wires": [
146 - []
147 - ]
148 - },
149 - {
150 - "id": "8a5006295bbbe3a5",
151 - "type": "mqtt-broker",
152 - "name": "",
153 - "broker": "127.0.0.1",
154 - "port": "1883",
155 - "clientid": "",
156 - "autoConnect": true,
157 - "usetls": false,
158 - "protocolVersion": "4",
159 - "keepalive": "60",
160 - "cleansession": true,
161 - "birthTopic": "",
162 - "birthQos": "0",
163 - "birthPayload": "",
164 - "birthMsg": {},
165 - "closeTopic": "",
166 - "closeQos": "0",
167 - "closePayload": "",
168 - "closeMsg": {},
169 - "willTopic": "",
170 - "willQos": "0",
171 - "willPayload": "",
172 - "willMsg": {},
173 - "sessionExpiry": ""
174 - }
175 -]