Changes for page Communicate with ABP End Node on the LPS8-V2 Gateway
Last modified by Xiaoling on 2024/08/19 15:29
From version 8.1
edited by Xiaoye
on 2022/08/02 14:29
on 2022/08/02 14:29
Change comment:
Uploaded new attachment "image-20220802142946-5.png", version {1}
To version 37.1
edited by Kilight Cao
on 2022/08/06 15:00
on 2022/08/06 15:00
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 18 added, 0 removed)
- image-20220802143031-6.png
- image-20220802143129-7.png
- image-20220802143214-8.png
- image-20220802144754-9.png
- image-20220802145408-10.png
- image-20220802145450-11.png
- image-20220802150715-1.png
- image-20220802164302-1.png
- image-20220802164437-2.png
- image-20220802164844-3.png
- image-20220802170358-4.png
- image-20220802171735-5.png
- image-20220802172021-6.png
- image-20220806144336-1.jpeg
- image-20220806144426-2.jpeg
- image-20220806144606-3.jpeg
- mqtt-test.json
- test_data_storage.json
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoye1 +XWiki.Kilight - Content
-
... ... @@ -1,14 +1,17 @@ 1 1 (% class="wikigeneratedid" %) 2 - 2 +**Table of Contents:** 3 3 4 4 {{toc/}} 5 5 6 -= 1. Introduction = 7 7 8 8 8 + 9 += 1. Introduction = 10 + 11 + 9 9 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. 10 10 11 -It can be used in some cases such as: 14 +**It can be used in some cases such as:** 12 12 13 13 * No internet connection. 14 14 * Users want to get data forward in the gateway and forward it to their server based on MQTT/HTTP. ... ... @@ -15,41 +15,202 @@ 15 15 * Forward the data to the built-in Application server Node-Red. 16 16 * Just storing the data on the gateway or external storage 17 17 18 -The basic of this feature is the decoding of **LoRaWAN ABP End Node**. Requirements: 21 +**The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:** 19 19 20 20 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 21 21 1. LoRaWAN Gateway model: LPS8-V2 22 22 1. System version: Since V.12 23 23 24 -= 2. Quick Start = 25 25 28 += 2. Quick Start = 26 26 27 -== 2.1. Login to the build-in server TTN-Stack == 28 28 31 +The default factory version of LPS8-V2 is installed with the Built-in LoRaWAN Server: (% style="color:blue" %)**The Things Network - Stack (Open Source 3.19 Version).** 29 29 30 - ==2.2. Addthe gateway&the sensor==33 +Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack. 31 31 32 32 33 -== 2.3. Add the decoder == 34 34 37 +== 2.1. Configure the gateway mode == 35 35 36 -== 2.4. Check the date == 37 37 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 38 38 39 -= 3. Forward the data or store the data = 40 40 41 41 42 -== 3.1. Forwarddata toanexternalserverbasedon MQTT/HTTP.==44 +=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) === 43 43 44 44 45 - == 3.2 Forward data to thebuilt-inapplication server Node-Red.==47 +[[image:image-20220802142103-1.png]] 46 46 47 47 48 -== 3.3 Just storing the data on the gateway or external storage. == 49 49 51 +=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) === 50 50 51 -= 4. Sent the downlink to the sensor = 52 52 54 +[[image:image-20220802142147-3.png]] 53 53 54 -= 5. Trouble Shootings = 55 55 57 + 58 +== 2.2. Login to the built-in server TTN-Stack == 59 + 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. 62 + 63 +Such as __**//http:~/~/dragino-54ff12:8080 or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__ 64 + 65 + 66 +Login account: 67 + 68 + (% style="background-color:yellow" %)**User ID: ** ** admin** 69 + 70 + (% style="background-color:yellow" %)**Password: ** ** dragino** 71 + 72 + 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 + 75 + 76 + 77 +== 2.3. Add the gateway & the sensor == 78 + 79 + 80 +Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki: 81 + 82 + 83 + 84 +=== (% style="color:#037691" %)**Add the gateway**(%%) === 85 + 86 + 87 +[[image:image-20220802142946-5.png]] 88 + 89 + 90 + 91 +=== (% style="color:#037691" %)**Add the Sensor**(%%) === 92 + 93 + 94 +[[image:image-20220802143031-6.png||height="794" width="1375"]] 95 + 96 + 97 + 98 +== 2.4. Add the decoder == 99 + 100 + 101 +If you use dragino sensors then you can find the recorder on this URL: 102 + 103 + 104 +[[image:image-20220802143129-7.png]] 105 + 106 + 107 + 108 +== 2.5. Visual Data == 109 + 110 + 111 +In this section, you can be seen that the payload of the sensor has been interpreted as visual data. 112 + 113 +And the next part will discuss where to let the data flow。 114 + 115 + 116 +[[image:image-20220802143214-8.png]] 117 + 118 + 119 + 120 += 3. Forward the data or store the data = 121 + 122 + 123 +You are done most of the work, now you just need to plan the flow of data to where. 124 + 125 + 126 + 127 +== 3.1 Forward data to an external server based on MQTT/HTTP. == 128 + 129 + 130 + 131 +=== (% style="color:#037691" %)**MQTT**(%%) === 132 + 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 + 136 + 137 +[[image:image-20220802144754-9.png]] 138 + 139 + 140 +**subscribe to the topic and get the data** 141 + 142 +[[image:image-20220802145408-10.png]] 143 + 144 + 145 + 146 + 147 +=== (% style="color:#037691" %)**HTTP**(%%) === 148 + 149 + 150 +[[image:image-20220802145450-11.png||height="676" width="1164"]] 151 + 152 + 153 + 154 +== 3.2 Forward data to the built-in application server Node-Red. == 155 + 156 + 157 +[[image:image-20220802150715-1.png||height="739" width="1171"]] 158 + 159 + 160 + 161 +== 3.3 Just storing the data on the gateway or external storage. == 162 + 163 + 164 +Data can be stored or read by subscribing to topics: (% style="color:#037691" %)**v3/<application_name>/devices/<devices_name>/up**. 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"]] 167 + 168 +After the configuration is complete, users can find the node logs in the root/ directory 169 + 170 +[[image:image-20220806144426-2.jpeg||height="540" width="1099"]] 171 + 172 +[[image:image-20220806144606-3.jpeg||height="676" width="1102"]] 173 + 174 +[[image:image-20220806144336-1.jpeg]] 175 + 176 += 4. Sent the downlink to the sensor = 177 + 178 + 179 +Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**. 180 + 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 + 183 +[[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]] 184 + 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: 187 + 188 +(% class="box" %) 189 +((( 190 +{ 191 + "downlinks": [{ 192 + "f_port": 2, 193 + "frm_payload": "AwAA", 194 + "priority": "HIGH", 195 + "confirmed": true 196 + }] 197 +} 198 +))) 199 + 200 +[[image:image-20220802170358-4.png||height="656" width="898"]] 201 + 202 + 203 +[[image:image-20220802164844-3.png||height="345" width="1131"]] 204 + 205 + 206 + 207 +**Node-red** 208 + 209 +Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]] 210 + 211 + 212 +[[image:image-20220802172021-6.png||height="455" width="1240"]] 213 + 214 + 215 + 216 += 5. Trouble Shootings = 217 + 218 + 219 +
- image-20220802143031-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +109.4 KB - Content
- image-20220802143129-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +97.7 KB - Content
- image-20220802143214-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +126.6 KB - Content
- image-20220802144754-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +72.1 KB - Content
- image-20220802145408-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +79.0 KB - Content
- image-20220802145450-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoye - Size
-
... ... @@ -1,0 +1,1 @@ 1 +64.0 KB - Content
- image-20220802150715-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +120.6 KB - Content
- image-20220802164302-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +47.8 KB - Content
- image-20220802164437-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +47.5 KB - Content
- image-20220802164844-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +69.5 KB - Content
- image-20220802170358-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +66.6 KB - Content
- image-20220802171735-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +33.6 KB - Content
- image-20220802172021-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +124.8 KB - Content
- 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
- mqtt-test.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.4 KB - Content
-
... ... @@ -1,0 +1,139 @@ 1 +[ 2 + { 3 + "id": "f98b9b23144085b5", 4 + "type": "tab", 5 + "label": "MQTT subscribe to topic and publishe topic", 6 + "disabled": false, 7 + "info": "subscribe to the topic and get the data\npublishe to the topic and donwlink", 8 + "env": [] 9 + }, 10 + { 11 + "id": "d60e334e17faa4bf", 12 + "type": "mqtt in", 13 + "z": "f98b9b23144085b5", 14 + "name": "", 15 + "topic": "v3/#", 16 + "qos": "0", 17 + "datatype": "json", 18 + "broker": "8a5006295bbbe3a5", 19 + "nl": false, 20 + "rap": true, 21 + "rh": 0, 22 + "inputs": 0, 23 + "x": 210, 24 + "y": 540, 25 + "wires": [ 26 + [ 27 + "9b2373a7853b7140" 28 + ] 29 + ] 30 + }, 31 + { 32 + "id": "9b2373a7853b7140", 33 + "type": "debug", 34 + "z": "f98b9b23144085b5", 35 + "name": "", 36 + "active": true, 37 + "tosidebar": true, 38 + "console": false, 39 + "tostatus": false, 40 + "complete": "false", 41 + "statusVal": "", 42 + "statusType": "auto", 43 + "x": 470, 44 + "y": 540, 45 + "wires": [] 46 + }, 47 + { 48 + "id": "90106832d11c1e01", 49 + "type": "mqtt out", 50 + "z": "f98b9b23144085b5", 51 + "name": "Downlink", 52 + "topic": "v3/opwwc/devices/eui-70b3d57ed00538acsss/down/push", 53 + "qos": "0", 54 + "retain": "", 55 + "respTopic": "", 56 + "contentType": "", 57 + "userProps": "", 58 + "correl": "", 59 + "expiry": "", 60 + "broker": "8a5006295bbbe3a5", 61 + "x": 580, 62 + "y": 680, 63 + "wires": [] 64 + }, 65 + { 66 + "id": "39f27fd319d2476e", 67 + "type": "inject", 68 + "z": "f98b9b23144085b5", 69 + "name": "Activate", 70 + "props": [ 71 + { 72 + "p": "payload" 73 + }, 74 + { 75 + "p": "topic", 76 + "vt": "str" 77 + } 78 + ], 79 + "repeat": "", 80 + "crontab": "", 81 + "once": true, 82 + "onceDelay": 0.1, 83 + "topic": "", 84 + "payload": "", 85 + "payloadType": "date", 86 + "x": 200, 87 + "y": 680, 88 + "wires": [ 89 + [ 90 + "ad20a4e36d612089" 91 + ] 92 + ] 93 + }, 94 + { 95 + "id": "ad20a4e36d612089", 96 + "type": "template", 97 + "z": "f98b9b23144085b5", 98 + "name": "Publish", 99 + "field": "payload", 100 + "fieldType": "msg", 101 + "format": "handlebars", 102 + "syntax": "mustache", 103 + "template": "{\n \"downlinks\": [{\n \"f_port\": 2,\n \"frm_payload\": \"AwAA\",\n \"priority\": \"HIGH\",\n \"confirmed\": true\n }]\n}", 104 + "output": "str", 105 + "x": 400, 106 + "y": 680, 107 + "wires": [ 108 + [ 109 + "90106832d11c1e01" 110 + ] 111 + ] 112 + }, 113 + { 114 + "id": "8a5006295bbbe3a5", 115 + "type": "mqtt-broker", 116 + "name": "", 117 + "broker": "127.0.0.1", 118 + "port": "1883", 119 + "clientid": "", 120 + "autoConnect": true, 121 + "usetls": false, 122 + "protocolVersion": "4", 123 + "keepalive": "60", 124 + "cleansession": true, 125 + "birthTopic": "", 126 + "birthQos": "0", 127 + "birthPayload": "", 128 + "birthMsg": {}, 129 + "closeTopic": "", 130 + "closeQos": "0", 131 + "closePayload": "", 132 + "closeMsg": {}, 133 + "willTopic": "", 134 + "willQos": "0", 135 + "willPayload": "", 136 + "willMsg": {}, 137 + "sessionExpiry": "" 138 + } 139 +]
- test_data_storage.json
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.7 KB - Content
-
... ... @@ -1,0 +1,157 @@ 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": 540, 25 + "wires": [ 26 + [ 27 + "ec5899a782cb2933" 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": "ec5899a782cb2933", 99 + "type": "file", 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, 109 + "wires": [ 110 + [ 111 + "e284a7a78e8eba14" 112 + ] 113 + ] 114 + }, 115 + { 116 + "id": "e284a7a78e8eba14", 117 + "type": "debug", 118 + "z": "f98b9b23144085b5", 119 + "name": "", 120 + "active": true, 121 + "tosidebar": true, 122 + "console": false, 123 + "tostatus": false, 124 + "complete": "false", 125 + "statusVal": "", 126 + "statusType": "auto", 127 + "x": 630, 128 + "y": 540, 129 + "wires": [] 130 + }, 131 + { 132 + "id": "8a5006295bbbe3a5", 133 + "type": "mqtt-broker", 134 + "name": "", 135 + "broker": "127.0.0.1", 136 + "port": "1883", 137 + "clientid": "", 138 + "autoConnect": true, 139 + "usetls": false, 140 + "protocolVersion": "4", 141 + "keepalive": "60", 142 + "cleansession": true, 143 + "birthTopic": "", 144 + "birthQos": "0", 145 + "birthPayload": "", 146 + "birthMsg": {}, 147 + "closeTopic": "", 148 + "closeQos": "0", 149 + "closePayload": "", 150 + "closeMsg": {}, 151 + "willTopic": "", 152 + "willQos": "0", 153 + "willPayload": "", 154 + "willMsg": {}, 155 + "sessionExpiry": "" 156 + } 157 +]