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. ... ... @@ -21,6 +21,7 @@ 21 21 22 22 23 23 23 + 24 24 **The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:** 25 25 26 26 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 ... ... @@ -30,6 +30,7 @@ 30 30 31 31 32 32 33 + 33 33 = 2. Quick Start = 34 34 35 35 ... ... @@ -63,12 +63,12 @@ 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 (% 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. 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:**72 +Login account: 72 72 73 73 (% style="background-color:yellow" %)**User ID: ** ** admin** 74 74 ... ... @@ -85,122 +85,85 @@ 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 89 +=== Add the gateway === 88 88 89 -=== (% style="color:#037691" %)**Add the gateway**(%%) === 90 - 91 - 92 92 [[image:image-20220802142946-5.png]] 93 93 94 94 94 +=== Add the Sensor === 95 95 96 -=== (% style="color:#037691" %)**Add the Sensor**(%%) === 97 - 98 - 99 99 [[image:image-20220802143031-6.png||height="794" width="1375"]] 100 100 101 101 102 102 103 -== 2.4. 100 +== 2.4. Add the decoder == 104 104 105 - 106 106 If you use dragino sensors then you can find the recorder on this URL: 107 107 108 - 109 109 [[image:image-20220802143129-7.png]] 110 110 111 111 112 112 113 -== 2.5. 108 +== 2.5. Visual Data == 114 114 115 - 116 116 In this section, you can be seen that the payload of the sensor has been interpreted as visual data. 117 117 118 118 And the next part will discuss where to let the data flow。 119 119 120 - 121 121 [[image:image-20220802143214-8.png]] 122 122 123 123 117 += 3. Forward the data or store the data = 124 124 125 -= 3. Forward the data or store the data = 126 - 127 - 128 128 You are done most of the work, now you just need to plan the flow of data to where. 129 129 121 +== 3.1. Forward data to an external server based on MQTT/HTTP. == 130 130 131 131 132 -== 3.1 Forward data to an external server based onMQTT/HTTP. ==124 +=== MQTT. === 133 133 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)**. 134 134 135 135 136 -=== (% style="color:blue" %)**MQTT**(%%) === 137 - 138 - 139 -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)**. 140 - 141 - 142 142 [[image:image-20220802144754-9.png]] 143 143 144 144 145 - (% style="color:#037691" %)**subscribe to the topic and get the data**132 +**subscribe to the topic and get the data** 146 146 147 147 [[image:image-20220802145408-10.png]] 148 148 149 149 150 150 151 -=== (% style="color:blue" %)**HTTP**(%%) === 152 152 139 +=== HTTP === 153 153 154 154 [[image:image-20220802145450-11.png||height="676" width="1164"]] 155 155 156 156 157 157 158 -== 3.2 145 +== 3.2 Forward data to the built-in application server Node-Red. == 159 159 160 160 161 161 [[image:image-20220802150715-1.png||height="739" width="1171"]] 162 162 163 163 151 +== 3.3 Just storing the data on the gateway or external storage. == 164 164 165 -== 3.3 Just storing the data on the gateway or external storage. == 166 166 167 167 168 -Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**. 169 169 170 - Thenaddthestoragenode (% style="color:#037691"%)**(writefile)**(%%), Users candownload the Node-Red flowchart from this link to testdatastorage:[[attach:test_data_storage.json||target="_blank"]]156 += 4. Sent the downlink to the sensor = 171 171 172 -After the configuration is complete, users can find the node logs in the root/ directory 173 173 159 +Downlinks can be scheduled by publishing the message to the topic **v3/<application_name>/devices/<devices_name>/down/push**. 174 174 175 - [[image:image-20220806153310-11.png||height="588"width="1166"]]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).** 176 176 177 - 178 -[[image:image-20220806153112-9.png||height="575" width="1167"]] 179 - 180 - 181 -[[image:image-20220806153048-8.png||height="608" width="1165"]] 182 - 183 - 184 -[[image:image-20220806153150-10.png]] 185 - 186 - 187 - 188 -= 4. Sent the downlink to the sensor = 189 - 190 - 191 -Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**. 192 - 193 - 194 -(% 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).** 195 - 196 - 197 197 [[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]] 198 198 199 199 200 -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: 201 201 202 -Example: 203 - 204 204 (% class="box" %) 205 205 ((( 206 206 { ... ... @@ -219,17 +219,11 @@ 219 219 [[image:image-20220802164844-3.png||height="345" width="1131"]] 220 220 221 221 186 +Node-red 222 222 223 -(% style="color:blue" %)**Node-red** 224 - 225 225 Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]] 226 226 227 227 228 228 [[image:image-20220802172021-6.png||height="455" width="1240"]] 229 229 230 - 231 - 232 -= 5. Trouble Shootings = 233 - 234 - 235 - 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 -]