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

From version 31.1
edited by Kilight Cao
on 2022/08/06 14:43
Change comment: Uploaded new attachment "image-20220806144336-1.jpeg", version {1}
To version 48.1
edited by Xiaoling
on 2024/08/19 15:29
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Kilight
1 +XWiki.Xiaoling
Content
... ... @@ -11,6 +11,7 @@
11 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 +
14 14  **It can be used in some cases such as:**
15 15  
16 16  * No internet connection.
... ... @@ -19,7 +19,6 @@
19 19  * Just storing the data on the gateway or external storage
20 20  
21 21  
22 -
23 23  **The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:**
24 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
... ... @@ -28,8 +28,6 @@
28 28  
29 29  
30 30  
31 -
32 -
33 33  = 2.  Quick Start =
34 34  
35 35  
... ... @@ -38,7 +38,6 @@
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  
41 -
42 42  == 2.1.  Configure the gateway mode ==
43 43  
44 44  
... ... @@ -45,7 +45,6 @@
45 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
46 46  
47 47  
48 -
49 49  === (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
50 50  
51 51  
... ... @@ -52,7 +52,6 @@
52 52  [[image:image-20220802142103-1.png]]
53 53  
54 54  
55 -
56 56  === (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
57 57  
58 58  
... ... @@ -59,16 +59,15 @@
59 59  [[image:image-20220802142147-3.png]]
60 60  
61 61  
62 -
63 63  == 2.2.  Login to the built-in server TTN-Stack ==
64 64  
65 65  
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.
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.
67 67  
68 68  Such as  __**//http:~/~/dragino-54ff12:8080  or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__
69 69  
70 70  
71 -Login account:
65 +**Login account:**
72 72  
73 73   (% style="background-color:yellow" %)**User ID: ** ** admin**
74 74  
... ... @@ -78,7 +78,6 @@
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  
81 -
82 82  == 2.3.  Add the gateway & the sensor ==
83 83  
84 84  
... ... @@ -85,7 +85,6 @@
85 85  Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki:
86 86  
87 87  
88 -
89 89  === (% style="color:#037691" %)**Add the gateway**(%%) ===
90 90  
91 91  
... ... @@ -92,7 +92,6 @@
92 92  [[image:image-20220802142946-5.png]]
93 93  
94 94  
95 -
96 96  === (% style="color:#037691" %)**Add the Sensor**(%%) ===
97 97  
98 98  
... ... @@ -99,7 +99,6 @@
99 99  [[image:image-20220802143031-6.png||height="794" width="1375"]]
100 100  
101 101  
102 -
103 103  == 2.4.  Add the decoder ==
104 104  
105 105  
... ... @@ -109,7 +109,6 @@
109 109  [[image:image-20220802143129-7.png]]
110 110  
111 111  
112 -
113 113  == 2.5.  Visual Data ==
114 114  
115 115  
... ... @@ -121,7 +121,6 @@
121 121  [[image:image-20220802143214-8.png]]
122 122  
123 123  
124 -
125 125  = 3.  Forward the data or store the data =
126 126  
127 127  
... ... @@ -128,34 +128,30 @@
128 128  You are done most of the work, now you just need to plan the flow of data to where.
129 129  
130 130  
131 -
132 132  == 3.1  Forward data to an external server based on MQTT/HTTP. ==
133 133  
134 134  
122 +=== (% style="color:blue" %)**MQTT**(%%) ===
135 135  
136 -=== (% style="color:#037691" %)**MQTT**(%%) ===
137 137  
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)**.
138 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 140  
141 -
142 142  [[image:image-20220802144754-9.png]]
143 143  
144 144  
145 -**subscribe to the topic and get the data**
131 +(% style="color:#037691" %)**subscribe to the topic and get the data**
146 146  
147 147  [[image:image-20220802145408-10.png]]
148 148  
149 149  
150 150  
137 +=== (% style="color:blue" %)**HTTP**(%%) ===
151 151  
152 -=== (% style="color:#037691" %)**HTTP**(%%) ===
153 153  
154 -
155 155  [[image:image-20220802145450-11.png||height="676" width="1164"]]
156 156  
157 157  
158 -
159 159  == 3.2  Forward data to the built-in application server Node-Red. ==
160 160  
161 161  
... ... @@ -162,24 +162,44 @@
162 162  [[image:image-20220802150715-1.png||height="739" width="1171"]]
163 163  
164 164  
165 -
166 166  == 3.3  Just storing the data on the gateway or external storage. ==
167 167  
168 168  
152 +Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**.
169 169  
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"]]
170 170  
156 +After the configuration is complete, users can find the node logs in the root/ directory
157 +
158 +
159 +[[image:image-20220806153310-11.png||height="588" width="1166"]]
160 +
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 171  = 4.  Sent the downlink to the sensor =
172 172  
173 173  
174 174  Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**.
175 175  
176 +
176 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 177  
179 +
178 178  [[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]]
179 179  
180 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:
183 +Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue.
182 182  
185 +Example:
186 +
183 183  (% class="box" %)
184 184  (((
185 185  {
... ... @@ -198,9 +198,8 @@
198 198  [[image:image-20220802164844-3.png||height="345" width="1131"]]
199 199  
200 200  
205 +(% style="color:blue" %)**Node-red**
201 201  
202 -**Node-red**
203 -
204 204  Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
205 205  
206 206  
... ... @@ -207,7 +207,6 @@
207 207  [[image:image-20220802172021-6.png||height="455" width="1240"]]
208 208  
209 209  
210 -
211 211  = 5.  Trouble Shootings =
212 212  
213 213  
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
image-20220806152748-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +185.5 KB
Content
image-20220806152825-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +188.9 KB
Content
image-20220806152923-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +120.8 KB
Content
image-20220806153009-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +99.4 KB
Content
image-20220806153048-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +104.5 KB
Content
image-20220806153112-9.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +190.1 KB
Content
image-20220806153150-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +60.9 KB
Content
image-20220806153310-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +167.8 KB
Content
test_data_storage.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +4.1 KB
Content
... ... @@ -1,0 +1,175 @@
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 +]