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, 0 added, 12 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,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,7 @@ 20 20 * Just storing the data on the gateway or external storage 21 21 22 22 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,6 +28,8 @@ 28 28 29 29 30 30 31 + 32 + 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 41 + 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 48 + 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 55 + 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 62 + 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.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. 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:**71 +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 81 + 75 75 == 2.3. Add the gateway & the sensor == 76 76 77 77 ... ... @@ -78,6 +78,7 @@ 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 88 + 81 81 === (% style="color:#037691" %)**Add the gateway**(%%) === 82 82 83 83 ... ... @@ -84,6 +84,7 @@ 84 84 [[image:image-20220802142946-5.png]] 85 85 86 86 95 + 87 87 === (% style="color:#037691" %)**Add the Sensor**(%%) === 88 88 89 89 ... ... @@ -90,6 +90,7 @@ 90 90 [[image:image-20220802143031-6.png||height="794" width="1375"]] 91 91 92 92 102 + 93 93 == 2.4. Add the decoder == 94 94 95 95 ... ... @@ -99,6 +99,7 @@ 99 99 [[image:image-20220802143129-7.png]] 100 100 101 101 112 + 102 102 == 2.5. Visual Data == 103 103 104 104 ... ... @@ -110,6 +110,7 @@ 110 110 [[image:image-20220802143214-8.png]] 111 111 112 112 124 + 113 113 = 3. Forward the data or store the data = 114 114 115 115 ... ... @@ -116,30 +116,34 @@ 116 116 You are done most of the work, now you just need to plan the flow of data to where. 117 117 118 118 131 + 119 119 == 3.1 Forward data to an external server based on MQTT/HTTP. == 120 120 121 121 122 -=== (% style="color:blue" %)**MQTT**(%%) === 123 123 136 +=== (% style="color:#037691" %)**MQTT**(%%) === 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 126 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)**. 127 127 141 + 128 128 [[image:image-20220802144754-9.png]] 129 129 130 130 131 - (% style="color:#037691" %)**subscribe to the topic and get the data**145 +**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 152 +=== (% style="color:#037691" %)**HTTP**(%%) === 139 139 154 + 140 140 [[image:image-20220802145450-11.png||height="676" width="1164"]] 141 141 142 142 158 + 143 143 == 3.2 Forward data to the built-in application server Node-Red. == 144 144 145 145 ... ... @@ -146,44 +146,24 @@ 146 146 [[image:image-20220802150715-1.png||height="739" width="1171"]] 147 147 148 148 165 + 149 149 == 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 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 - 177 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 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. 181 +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,8 +202,9 @@ 202 202 [[image:image-20220802164844-3.png||height="345" width="1131"]] 203 203 204 204 205 -(% style="color:blue" %)**Node-red** 206 206 202 +**Node-red** 203 + 207 207 Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]] 208 208 209 209 ... ... @@ -210,6 +210,7 @@ 210 210 [[image:image-20220802172021-6.png||height="455" width="1240"]] 211 211 212 212 210 + 213 213 = 5. Trouble Shootings = 214 214 215 215
- 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 -]