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

From version 33.1
edited by Kilight Cao
on 2022/08/06 14:46
Change comment: Uploaded new attachment "image-20220806144606-3.jpeg", 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,44 +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  
18 +The basic of this feature is the decoding of **LoRaWAN ABP End Node**. Requirements:
21 21  
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 -
32 -
33 -= 2.  Quick Start =
34 -
35 -
36 -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).**
37 -
38 38  Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack.
39 39  
40 40  
31 += 2.1. Configure the gateway mode =
41 41  
42 -== 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
43 43  
44 44  
45 -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 ===
46 46  
47 -
48 -
49 -=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
50 -
51 -
52 52  [[image:image-20220802142103-1.png]]
53 53  
54 54  
41 +=== Configure the Semtech UDP forwarder ===
55 55  
56 -=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
57 -
58 -
59 59  [[image:image-20220802142147-3.png]]
60 60  
61 61  
... ... @@ -62,7 +62,6 @@
62 62  
63 63  == 2.2.  Login to the built-in server TTN-Stack ==
64 64  
65 -
66 66  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.
67 67  
68 68  Such as  __**//http:~/~/dragino-54ff12:8080  or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__
... ... @@ -70,145 +70,53 @@
70 70  
71 71  Login account:
72 72  
73 - (% style="background-color:yellow" %)**User ID: ** ** admin**
56 +**User ID: ** ** admin**
74 74  
75 - (% style="background-color:yellow" %)**Password: ** ** dragino**
58 +**Password: ** ** dragino**
76 76  
77 77  
78 78  [[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"]]
79 79  
80 80  
64 +== 2.3. Add the gateway & the sensor ==
81 81  
82 -== 2.3.  Add the gateway & the sensor ==
83 83  
67 +=== Add the gateway ===
84 84  
85 -Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki:
86 -
87 -
88 -
89 -=== (% style="color:#037691" %)**Add the gateway**(%%) ===
90 -
91 -
92 92  [[image:image-20220802142946-5.png]]
93 93  
94 94  
72 +=== Add the Sensor ===
95 95  
96 -=== (% style="color:#037691" %)**Add the Sensor**(%%) ===
97 -
98 -
99 99  [[image:image-20220802143031-6.png||height="794" width="1375"]]
100 100  
101 101  
102 102  
103 -== 2.4.  Add the decoder ==
78 +== 2.4. Add the decoder ==
104 104  
105 -
106 -If you use dragino sensors then you can find the recorder on this URL:
107 -
108 -
109 109  [[image:image-20220802143129-7.png]]
110 110  
111 111  
112 112  
113 -== 2.5.  Visual Data ==
84 +== 2.5. Check the date ==
114 114  
115 115  
116 -In this section, you can be seen that the payload of the sensor has been interpreted as visual data.
117 -
118 -And the next part will discuss where to let the data flow。
119 -
120 -
121 121  [[image:image-20220802143214-8.png]]
122 122  
123 123  
90 += 3. Forward the data or store the data =
124 124  
125 -= 3.  Forward the data or store the data =
126 126  
93 +== 3.1. Forward data to an external server based on MQTT/HTTP. ==
127 127  
128 -You are done most of the work, now you just need to plan the flow of data to where.
129 129  
96 +== 3.2 Forward data to the built-in application server Node-Red. ==
130 130  
131 131  
132 -== 3. Forward data to an external server based on MQTT/HTTP. ==
99 +== 3.3 Just storing the data on the gateway or external storage. ==
133 133  
134 134  
102 += 4. Sent the downlink to the sensor =
135 135  
136 -=== (% style="color:#037691" %)**MQTT**(%%) ===
137 137  
138 -
139 -You need to connect to this public address on your external server and subscribe to the topic **(v3/<application_name>/devices/<devices_name>/up)**.
140 -
141 -
142 -[[image:image-20220802144754-9.png]]
143 -
144 -
145 -**subscribe to the topic and get the data**
146 -
147 -[[image:image-20220802145408-10.png]]
148 -
149 -
150 -
151 -
152 -=== (% style="color:#037691" %)**HTTP**(%%) ===
153 -
154 -
155 -[[image:image-20220802145450-11.png||height="676" width="1164"]]
156 -
157 -
158 -
159 -== 3.2  Forward data to the built-in application server Node-Red. ==
160 -
161 -
162 -[[image:image-20220802150715-1.png||height="739" width="1171"]]
163 -
164 -
165 -
166 -== 3.3  Just storing the data on the gateway or external storage. ==
167 -
168 -
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 -(% 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).**
177 -
178 -[[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]]
179 -
180 -
181 -Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
182 -
183 -(% class="box" %)
184 -(((
185 -{
186 - "downlinks": [{
187 - "f_port": 2,
188 - "frm_payload": "AwAA",  
189 - "priority": "HIGH",
190 - "confirmed": true
191 - }]
192 -}
193 -)))
194 -
195 -[[image:image-20220802170358-4.png||height="656" width="898"]]
196 -
197 -
198 -[[image:image-20220802164844-3.png||height="345" width="1131"]]
199 -
200 -
201 -
202 -**Node-red**
203 -
204 -Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
205 -
206 -
207 -[[image:image-20220802172021-6.png||height="455" width="1240"]]
208 -
209 -
210 -
211 -= 5.  Trouble Shootings =
212 -
213 -
214 -
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
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 -]