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

From version 45.1
edited by Kilight Cao
on 2022/08/06 15:33
Change comment: Uploaded new attachment "image-20220806153310-11.png", 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.
... ... @@ -18,6 +18,7 @@
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  
22 +
21 21  **The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:**
22 22  
23 23  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
... ... @@ -25,6 +25,7 @@
25 25  1. System version: Since V.12
26 26  
27 27  
30 +
28 28  = 2.  Quick Start =
29 29  
30 30  
... ... @@ -33,7 +33,6 @@
33 33  Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack.
34 34  
35 35  
36 -
37 37  == 2.1.  Configure the gateway mode ==
38 38  
39 39  
... ... @@ -40,7 +40,6 @@
40 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
41 41  
42 42  
43 -
44 44  === (% style="color:#037691" %)**Selecting the right frequency band**(%%) ===
45 45  
46 46  
... ... @@ -47,7 +47,6 @@
47 47  [[image:image-20220802142103-1.png]]
48 48  
49 49  
50 -
51 51  === (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) ===
52 52  
53 53  
... ... @@ -54,16 +54,15 @@
54 54  [[image:image-20220802142147-3.png]]
55 55  
56 56  
57 -
58 58  == 2.2.  Login to the built-in server TTN-Stack ==
59 59  
60 60  
61 -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.
62 62  
63 63  Such as  __**//http:~/~/dragino-54ff12:8080  or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__
64 64  
65 65  
66 -Login account:
65 +**Login account:**
67 67  
68 68   (% style="background-color:yellow" %)**User ID: ** ** admin**
69 69  
... ... @@ -73,7 +73,6 @@
73 73  [[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"]]
74 74  
75 75  
76 -
77 77  == 2.3.  Add the gateway & the sensor ==
78 78  
79 79  
... ... @@ -80,7 +80,6 @@
80 80  Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki:
81 81  
82 82  
83 -
84 84  === (% style="color:#037691" %)**Add the gateway**(%%) ===
85 85  
86 86  
... ... @@ -87,7 +87,6 @@
87 87  [[image:image-20220802142946-5.png]]
88 88  
89 89  
90 -
91 91  === (% style="color:#037691" %)**Add the Sensor**(%%) ===
92 92  
93 93  
... ... @@ -94,7 +94,6 @@
94 94  [[image:image-20220802143031-6.png||height="794" width="1375"]]
95 95  
96 96  
97 -
98 98  == 2.4.  Add the decoder ==
99 99  
100 100  
... ... @@ -104,7 +104,6 @@
104 104  [[image:image-20220802143129-7.png]]
105 105  
106 106  
107 -
108 108  == 2.5.  Visual Data ==
109 109  
110 110  
... ... @@ -116,7 +116,6 @@
116 116  [[image:image-20220802143214-8.png]]
117 117  
118 118  
119 -
120 120  = 3.  Forward the data or store the data =
121 121  
122 122  
... ... @@ -123,34 +123,30 @@
123 123  You are done most of the work, now you just need to plan the flow of data to where.
124 124  
125 125  
126 -
127 127  == 3.1  Forward data to an external server based on MQTT/HTTP. ==
128 128  
129 129  
122 +=== (% style="color:blue" %)**MQTT**(%%) ===
130 130  
131 -=== (% style="color:#037691" %)**MQTT**(%%) ===
132 132  
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)**.
133 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 135  
136 -
137 137  [[image:image-20220802144754-9.png]]
138 138  
139 139  
140 -**subscribe to the topic and get the data**
131 +(% style="color:#037691" %)**subscribe to the topic and get the data**
141 141  
142 142  [[image:image-20220802145408-10.png]]
143 143  
144 144  
145 145  
137 +=== (% style="color:blue" %)**HTTP**(%%) ===
146 146  
147 -=== (% style="color:#037691" %)**HTTP**(%%) ===
148 148  
149 -
150 150  [[image:image-20220802145450-11.png||height="676" width="1164"]]
151 151  
152 152  
153 -
154 154  == 3.2  Forward data to the built-in application server Node-Red. ==
155 155  
156 156  
... ... @@ -157,34 +157,44 @@
157 157  [[image:image-20220802150715-1.png||height="739" width="1171"]]
158 158  
159 159  
160 -
161 161  == 3.3  Just storing the data on the gateway or external storage. ==
162 162  
163 163  
164 164  Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**.
165 165  
166 -Then add the storage node **(write file)**, Users can download the Node-Red flowchart from this link to test data storage:[[attach:test_data_storage.json||target="_blank"]]
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"]]
167 167  
168 168  After the configuration is complete, users can find the node logs in the root/ directory
169 169  
170 -[[image:image-20220806144426-2.jpeg||height="540" width="1099"]]
171 171  
172 -[[image:image-20220806144606-3.jpeg||height="676" width="1102"]]
159 +[[image:image-20220806153310-11.png||height="588" width="1166"]]
173 173  
174 -[[image:image-20220806144336-1.jpeg]]
175 175  
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 +
176 176  = 4.  Sent the downlink to the sensor =
177 177  
178 178  
179 179  Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**.
180 180  
176 +
181 181  (% 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).**
182 182  
179 +
183 183  [[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]]
184 184  
185 185  
186 -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.
187 187  
185 +Example:
186 +
188 188  (% class="box" %)
189 189  (((
190 190  {
... ... @@ -203,9 +203,8 @@
203 203  [[image:image-20220802164844-3.png||height="345" width="1131"]]
204 204  
205 205  
205 +(% style="color:blue" %)**Node-red**
206 206  
207 -**Node-red**
208 -
209 209  Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]]
210 210  
211 211  
... ... @@ -212,7 +212,6 @@
212 212  [[image:image-20220802172021-6.png||height="455" width="1240"]]
213 213  
214 214  
215 -
216 216  = 5.  Trouble Shootings =
217 217  
218 218  
test_data_storage.json
Size
... ... @@ -1,1 +1,1 @@
1 -3.7 KB
1 +4.1 KB
Content
... ... @@ -21,10 +21,10 @@
21 21   "rh": 0,
22 22   "inputs": 0,
23 23   "x": 190,
24 - "y": 540,
24 + "y": 440,
25 25   "wires": [
26 26   [
27 - "ec5899a782cb2933"
27 + "d50df6c2befc67c2"
28 28   ]
29 29   ]
30 30   },
... ... @@ -95,25 +95,27 @@
95 95   ]
96 96   },
97 97   {
98 - "id": "ec5899a782cb2933",
99 - "type": "file",
98 + "id": "d50df6c2befc67c2",
99 + "type": "function",
100 100   "z": "f98b9b23144085b5",
101 - "name": "ttn_lt22222.log",
102 - "filename": "/root/ttn_lt22222.log",
103 - "appendNewline": true,
104 - "createDir": true,
105 - "overwriteFile": "false",
106 - "encoding": "none",
107 - "x": 400,
108 - "y": 540,
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,
109 109   "wires": [
110 110   [
111 - "e284a7a78e8eba14"
112 + "3e2fc52d9030e146",
113 + "d74bd02ca7b40615"
112 112   ]
113 113   ]
114 114   },
115 115   {
116 - "id": "e284a7a78e8eba14",
118 + "id": "3e2fc52d9030e146",
117 117   "type": "debug",
118 118   "z": "f98b9b23144085b5",
119 119   "name": "",
... ... @@ -124,11 +124,27 @@
124 124   "complete": "false",
125 125   "statusVal": "",
126 126   "statusType": "auto",
127 - "x": 630,
128 - "y": 540,
129 + "x": 670,
130 + "y": 420,
129 129   "wires": []
130 130   },
131 131   {
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 + {
132 132   "id": "8a5006295bbbe3a5",
133 133   "type": "mqtt-broker",
134 134   "name": "",