Changes for page Communicate with ABP End Node on the LPS8-V2 Gateway
Last modified by Xiaoling on 2024/08/19 15:29
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 12 added, 0 removed)
- image-20220806144336-1.jpeg
- image-20220806144426-2.jpeg
- image-20220806144606-3.jpeg
- image-20220806152748-4.png
- image-20220806152825-5.png
- image-20220806152923-6.png
- image-20220806153009-7.png
- image-20220806153048-8.png
- image-20220806153112-9.png
- image-20220806153150-10.png
- image-20220806153310-11.png
- test_data_storage.json
Details
- Page properties
-
- 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,24 +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 152 +Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**. 164 164 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"]] 165 165 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 + 166 166 = 4. Sent the downlink to the sensor = 167 167 168 168 169 169 Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**. 170 170 176 + 171 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 172 179 + 173 173 [[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]] 174 174 175 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:183 +Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. 177 177 185 +Example: 186 + 178 178 (% class="box" %) 179 179 ((( 180 180 { ... ... @@ -193,9 +193,8 @@ 193 193 [[image:image-20220802164844-3.png||height="345" width="1131"]] 194 194 195 195 205 +(% style="color:blue" %)**Node-red** 196 196 197 -**Node-red** 198 - 199 199 Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]] 200 200 201 201 ... ... @@ -202,7 +202,6 @@ 202 202 [[image:image-20220802172021-6.png||height="455" width="1240"]] 203 203 204 204 205 - 206 206 = 5. Trouble Shootings = 207 207 208 208
- image-20220806144336-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +112.1 KB - Content
- 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 +]