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

From version 13.1
edited by Xiaoye
on 2022/08/02 14:47
Change comment: Uploaded new attachment "image-20220802144754-9.png", version {1}
To version 30.3
edited by Xiaoling
on 2022/08/05 15:16
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Xiaoye
1 +XWiki.Xiaoling
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,31 +15,39 @@
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 -The default factory version of LPS8-V2 is installed with the Built-in LoRaWAN Server: **The Things Network - Stack (Open Source 3.19 Version).**
28 += 2 Quick Start =
27 27  
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 +
28 28  Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack.
29 29  
30 30  
31 -= 2.1. Configure the gateway mode =
32 32  
33 -You can access  the gateway's Manage Web UI, via the URL ( __**//http:~/~/<hostname> or http:~/~/<local-IPV4-address> //**__) in your browser
37 +== 2.1.  Configure the gateway mode ==
34 34  
35 35  
36 -=== Selecting the right frequency band ===
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
37 37  
42 +
43 +
44 +=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
45 +
46 +
38 38  [[image:image-20220802142103-1.png]]
39 39  
40 40  
41 -=== Configure the Semtech UDP forwarder ===
42 42  
51 +=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
52 +
53 +
43 43  [[image:image-20220802142147-3.png]]
44 44  
45 45  
... ... @@ -46,6 +46,7 @@
46 46  
47 47  == 2.2.  Login to the built-in server TTN-Stack ==
48 48  
60 +
49 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.
50 50  
51 51  Such as  __**//http:~/~/dragino-54ff12:8080  or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__
... ... @@ -53,53 +53,145 @@
53 53  
54 54  Login account:
55 55  
56 -**User ID: ** ** admin**
68 + (% style="background-color:yellow" %)**User ID: ** ** admin**
57 57  
58 -**Password: ** ** dragino**
70 + (% style="background-color:yellow" %)**Password: ** ** dragino**
59 59  
60 60  
61 61  [[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"]]
62 62  
63 63  
64 -== 2.3. Add the gateway & the sensor ==
65 65  
77 +== 2.3.  Add the gateway & the sensor ==
66 66  
67 -=== Add the gateway ===
68 68  
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 +
69 69  [[image:image-20220802142946-5.png]]
70 70  
71 71  
72 -=== Add the Sensor ===
73 73  
91 +=== (% style="color:#037691" %)**Add the Sensor**(%%) ===
92 +
93 +
74 74  [[image:image-20220802143031-6.png||height="794" width="1375"]]
75 75  
76 76  
77 77  
78 -== 2.4. Add the decoder ==
98 +== 2.4.  Add the decoder ==
79 79  
100 +
101 +If you use dragino sensors then you can find the recorder on this URL:
102 +
103 +
80 80  [[image:image-20220802143129-7.png]]
81 81  
82 82  
83 83  
84 -== 2.5. Check the date ==
108 +== 2.5.  Visual Data ==
85 85  
86 86  
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 +
87 87  [[image:image-20220802143214-8.png]]
88 88  
89 89  
90 -= 3. Forward the data or store the data =
91 91  
120 += 3.  Forward the data or store the data =
92 92  
93 -== 3.1. Forward data to an external server based on MQTT/HTTP. ==
94 94  
123 +You are done most of the work, now you just need to plan the flow of data to where.
95 95  
96 -== 3.2 Forward data to the built-in application server Node-Red. ==
97 97  
98 98  
99 -== 3.3 Just storing the data on the gateway or external storage. ==
127 +== 3. Forward data to an external server based on MQTT/HTTP. ==
100 100  
101 101  
102 -= 4. Sent the downlink to the sensor =
103 103  
131 +=== (% style="color:#037691" %)**MQTT**(%%) ===
104 104  
105 -= 5. Trouble Shootings =
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 +
165 +
166 += 4.  Sent the downlink to the sensor =
167 +
168 +
169 +Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**.
170 +
171 +(% 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).**
172 +
173 +[[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]]
174 +
175 +
176 +Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example:
177 +
178 +(% class="box" %)
179 +(((
180 +{
181 + "downlinks": [{
182 + "f_port": 2,
183 + "frm_payload": "AwAA",  
184 + "priority": "HIGH",
185 + "confirmed": true
186 + }]
187 +}
188 +)))
189 +
190 +[[image:image-20220802170358-4.png||height="656" width="898"]]
191 +
192 +
193 +[[image:image-20220802164844-3.png||height="345" width="1131"]]
194 +
195 +
196 +
197 +**Node-red**
198 +
199 +Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
200 +
201 +
202 +[[image:image-20220802172021-6.png||height="455" width="1240"]]
203 +
204 +
205 +
206 += 5.  Trouble Shootings =
207 +
208 +
209 +
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
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 +]