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 40.1
edited by Kilight Cao
on 2022/08/06 15:29
on 2022/08/06 15:29
Change comment:
Uploaded new attachment "image-20220806152923-6.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 17 removed)
- 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
- image-20220806152748-4.png
- image-20220806152825-5.png
- image-20220806152923-6.png
- mqtt-test.json
- test_data_storage.json
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Kilight1 +XWiki.Xiaoye - Content
-
... ... @@ -1,17 +1,14 @@ 1 1 (% class="wikigeneratedid" %) 2 - **Tableof Contents:**2 + 3 3 4 4 {{toc/}} 5 5 6 += 1. Introduction = 6 6 7 7 8 - 9 -= 1. Introduction = 10 - 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 - **It can be used in some cases such as:**11 +It can be used in some cases such as: 15 15 16 16 * No internet connection. 17 17 * Users want to get data forward in the gateway and forward it to their server based on MQTT/HTTP. ... ... @@ -18,39 +18,31 @@ 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 21 - **The basic of this feature is the decoding of**(% style="color:blue" %)**LoRaWAN ABP End Node**(%%).**Requirements:**18 +The basic of this feature is the decoding of **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 24 24 1. LoRaWAN Gateway model: LPS8-V2 25 25 1. System version: Since V.12 26 26 24 += 2. Quick Start = 27 27 28 - =2.Quick Start=26 +The default factory version of LPS8-V2 is installed with the Built-in LoRaWAN Server: **The Things Network - Stack (Open Source 3.19 Version).** 29 29 30 - 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).** 32 - 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 31 += 2.1. Configure the gateway mode = 36 36 37 - == 2.1. Configure the gateway mode==33 +You can access the gateway's Manage Web UI, via the URL ( __**//http:~/~/<hostname> or http:~/~/<local-IPV4-address> //**__) in your browser 38 38 39 39 40 - Youcan access thegateway's ManageWeb UI, viatheURL ( (% style="color:blue" %)__**//http:~/~/<hostname>orhttp:~/~/<local-IPV4-address> //**__(%%)) inourbrowser36 +=== Selecting the right frequency band === 41 41 42 - 43 - 44 -=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) === 45 - 46 - 47 47 [[image:image-20220802142103-1.png]] 48 48 49 49 41 +=== Configure the Semtech UDP forwarder === 50 50 51 -=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) === 52 - 53 - 54 54 [[image:image-20220802142147-3.png]] 55 55 56 56 ... ... @@ -57,7 +57,6 @@ 57 57 58 58 == 2.2. Login to the built-in server TTN-Stack == 59 59 60 - 61 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 62 63 63 Such as __**//http:~/~/dragino-54ff12:8080 or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__ ... ... @@ -65,155 +65,53 @@ 65 65 66 66 Login account: 67 67 68 - (% style="background-color:yellow" %)**User ID: ** ** admin**56 +**User ID: ** ** admin** 69 69 70 - (% style="background-color:yellow" %)**Password: ** ** dragino**58 +**Password: ** ** dragino** 71 71 72 72 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 64 +== 2.3. Add the gateway & the sensor == 76 76 77 -== 2.3. Add the gateway & the sensor == 78 78 67 +=== Add the gateway === 79 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 87 [[image:image-20220802142946-5.png]] 88 88 89 89 72 +=== Add the Sensor === 90 90 91 -=== (% style="color:#037691" %)**Add the Sensor**(%%) === 92 - 93 - 94 94 [[image:image-20220802143031-6.png||height="794" width="1375"]] 95 95 96 96 97 97 98 -== 2.4. 78 +== 2.4. Add the decoder == 99 99 100 - 101 -If you use dragino sensors then you can find the recorder on this URL: 102 - 103 - 104 104 [[image:image-20220802143129-7.png]] 105 105 106 106 107 107 108 -== 2.5. VisualData ==84 +== 2.5. Check the date == 109 109 110 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 116 [[image:image-20220802143214-8.png]] 117 117 118 118 90 += 3. Forward the data or store the data = 119 119 120 -= 3. Forward the data or store the data = 121 121 93 +== 3.1. Forward data to an external server based on MQTT/HTTP. == 122 122 123 -You are done most of the work, now you just need to plan the flow of data to where. 124 124 96 +== 3.2 Forward data to the built-in application server Node-Red. == 125 125 126 126 127 -== 3. 1Forwarddatato anexternal server based on MQTT/HTTP. ==99 +== 3.3 Just storing the data on the gateway or external storage. == 128 128 129 129 102 += 4. Sent the downlink to the sensor = 130 130 131 -=== (% style="color:#037691" %)**MQTT**(%%) === 132 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 - 105 += 5. Trouble Shootings =
- image-20220802145408-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -79.0 KB - Content
- image-20220802145450-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoye - Size
-
... ... @@ -1,1 +1,0 @@ 1 -64.0 KB - Content
- image-20220802150715-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -120.6 KB - Content
- image-20220802164302-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -47.8 KB - Content
- image-20220802164437-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -47.5 KB - Content
- image-20220802164844-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -69.5 KB - Content
- image-20220802170358-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -66.6 KB - Content
- image-20220802171735-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -33.6 KB - Content
- image-20220802172021-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -124.8 KB - Content
- 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
- mqtt-test.json
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -3.4 KB - Content
-
... ... @@ -1,139 +1,0 @@ 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,1 +1,0 @@ 1 -XWiki.Kilight - Size
-
... ... @@ -1,1 +1,0 @@ 1 -3.7 KB - Content
-
... ... @@ -1,157 +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": 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 -]