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 30.2
edited by Xiaoling
on 2022/08/05 15:12
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -11,7 +11,6 @@
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 -
15 15  **It can be used in some cases such as:**
16 16  
17 17  * No internet connection.
... ... @@ -20,6 +20,8 @@
20 20  * Just storing the data on the gateway or external storage
21 21  
22 22  
22 +
23 +
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,6 +28,8 @@
28 28  
29 29  
30 30  
32 +
33 +
31 31  = 2.  Quick Start =
32 32  
33 33  
... ... @@ -36,6 +36,7 @@
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  
42 +
39 39  == 2.1.  Configure the gateway mode ==
40 40  
41 41  
... ... @@ -42,6 +42,7 @@
42 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  
44 44  
49 +
45 45  === (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
46 46  
47 47  
... ... @@ -48,6 +48,7 @@
48 48  [[image:image-20220802142103-1.png]]
49 49  
50 50  
56 +
51 51  === (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
52 52  
53 53  
... ... @@ -54,15 +54,16 @@
54 54  [[image:image-20220802142147-3.png]]
55 55  
56 56  
63 +
57 57  == 2.2.  Login to the built-in server TTN-Stack ==
58 58  
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.
67 +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.
61 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:**
72 +Login account:
66 66  
67 67   (% style="background-color:yellow" %)**User ID: ** ** admin**
68 68  
... ... @@ -72,6 +72,7 @@
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  
82 +
75 75  == 2.3.  Add the gateway & the sensor ==
76 76  
77 77  
... ... @@ -78,112 +78,85 @@
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**(%%) ===
89 +=== Add the gateway ===
82 82  
83 -
84 84  [[image:image-20220802142946-5.png]]
85 85  
86 86  
87 -=== (% style="color:#037691" %)**Add the Sensor**(%%) ===
94 +=== 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  
100 +== 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  
108 +== 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 =
117 += 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  
121 +== 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  
124 +=== MQTT. ===
121 121  
122 -=== (% style="color:blue" %)**MQTT**(%%) ===
126 +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**
132 +**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  
139 +=== 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  
145 +== 3.2 Forward data to the built-in application server Node-Red. ==
145 145  
147 +
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. ==
151 +== 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
156 += 4. Sent the downlink to the sensor =
157 157  
158 158  
159 -[[image:image-20220806153310-11.png||height="588" width="1166"]]
159 +Downlinks can be scheduled by publishing the message to the topic **v3/<application_name>/devices/<devices_name>/down/push**.
160 160  
161 +**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).**
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.
166 +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:
186 -
187 187  (% class="box" %)
188 188  (((
189 189  {
... ... @@ -202,7 +202,7 @@
202 202  [[image:image-20220802164844-3.png||height="345" width="1131"]]
203 203  
204 204  
205 -(% style="color:blue" %)**Node-red**
186 +Node-red
206 206  
207 207  Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
208 208  
... ... @@ -209,8 +209,4 @@
209 209  
210 210  [[image:image-20220802172021-6.png||height="455" width="1240"]]
211 211  
212 -
213 -= 5.  Trouble Shootings =
214 -
215 -
216 -
193 += 5. Trouble Shootings =
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
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 -]