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 17.1
edited by Xiaoye
on 2022/08/02 14:55
on 2022/08/02 14:55
Change comment:
There is no comment for this version
To version 32.1
edited by Kilight Cao
on 2022/08/06 14:44
on 2022/08/06 14:44
Change comment:
Uploaded new attachment "image-20220806144426-2.jpeg", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 10 added, 0 removed)
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,31 +15,44 @@ 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: 19 19 22 + 23 +**The basic of this feature is the decoding of** (% style="color:blue" %)**LoRaWAN ABP End Node**(%%). **Requirements:** 24 + 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 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).** 27 27 31 + 32 + 33 += 2. Quick Start = 34 + 35 + 36 +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).** 37 + 28 28 Once the gateway is DHCP an IPV4 address, and then you can access the build-in server TTN-Stack. 29 29 30 30 31 -= 2.1. Configure the gateway mode = 32 32 33 - Youcanaccessthe gateway'sManage Web UI, via the URL ( __**//http:~/~/<hostname>or http:~/~/<local-IPV4-address>//**__) in your browser42 +== 2.1. Configure the gateway mode == 34 34 35 35 36 - ===Selecting the rightfrequency band ===45 +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 37 37 47 + 48 + 49 +=== (% style="color:#037691" %)**Selecting the right frequency band**(%%) === 50 + 51 + 38 38 [[image:image-20220802142103-1.png]] 39 39 40 40 41 -=== Configure the Semtech UDP forwarder === 42 42 56 +=== (% style="color:#037691" %)**Configure the Semtech UDP forwarder**(%%) === 57 + 58 + 43 43 [[image:image-20220802142147-3.png]] 44 44 45 45 ... ... @@ -46,6 +46,7 @@ 46 46 47 47 == 2.2. Login to the built-in server TTN-Stack == 48 48 65 + 49 49 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. 50 50 51 51 Such as __**//http:~/~/dragino-54ff12:8080 or [[http:~~/~~/<Local-IPV4-Address~>>>http://<Local-IPV4-Address>]]//**__ ... ... @@ -53,56 +53,72 @@ 53 53 54 54 Login account: 55 55 56 -**User ID: ** ** admin** 73 + (% style="background-color:yellow" %)**User ID: ** ** admin** 57 57 58 -**Password: ** ** dragino** 75 + (% style="background-color:yellow" %)**Password: ** ** dragino** 59 59 60 60 61 61 [[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"]] 62 62 63 63 64 -== 2.3. Add the gateway & the sensor == 65 65 82 +== 2.3. Add the gateway & the sensor == 83 + 84 + 66 66 Here only show the image of the finish, more details about how to add the gateway & sensor refer to this wiki: 67 67 68 68 69 -=== Add the gateway === 70 70 89 +=== (% style="color:#037691" %)**Add the gateway**(%%) === 90 + 91 + 71 71 [[image:image-20220802142946-5.png]] 72 72 73 73 74 -=== Add the Sensor === 75 75 96 +=== (% style="color:#037691" %)**Add the Sensor**(%%) === 97 + 98 + 76 76 [[image:image-20220802143031-6.png||height="794" width="1375"]] 77 77 78 78 79 79 80 -== 2.4. Add the decoder == 103 +== 2.4. Add the decoder == 81 81 105 + 82 82 If you use dragino sensors then you can find the recorder on this URL: 83 83 108 + 84 84 [[image:image-20220802143129-7.png]] 85 85 86 86 87 87 88 -== 2.5. Visual Data == 113 +== 2.5. Visual Data == 89 89 115 + 90 90 In this section, you can be seen that the payload of the sensor has been interpreted as visual data. 91 91 92 92 And the next part will discuss where to let the data flow。 93 93 120 + 94 94 [[image:image-20220802143214-8.png]] 95 95 96 96 97 -= 3. Forward the data or store the data = 98 98 125 += 3. Forward the data or store the data = 126 + 127 + 99 99 You are done most of the work, now you just need to plan the flow of data to where. 100 100 101 -== 3.1. Forward data to an external server based on MQTT/HTTP. == 102 102 103 103 104 -== =MQTT. ===132 +== 3.1 Forward data to an external server based on MQTT/HTTP. == 105 105 134 + 135 + 136 +=== (% style="color:#037691" %)**MQTT**(%%) === 137 + 138 + 106 106 You need to connect to this public address on your external server and subscribe to the topic **(v3/<application_name>/devices/<devices_name>/up)**. 107 107 108 108 ... ... @@ -116,23 +116,66 @@ 116 116 117 117 118 118 119 -=== HTTP === 152 +=== (% style="color:#037691" %)**HTTP**(%%) === 120 120 154 + 121 121 [[image:image-20220802145450-11.png||height="676" width="1164"]] 122 122 123 123 124 124 125 -== 3.2 Forward data to the built-in application server Node-Red. == 159 +== 3.2 Forward data to the built-in application server Node-Red. == 126 126 127 127 162 +[[image:image-20220802150715-1.png||height="739" width="1171"]] 128 128 129 129 130 -== 3.3 Just storing the data on the gateway or external storage. == 131 131 166 +== 3.3 Just storing the data on the gateway or external storage. == 132 132 133 133 134 134 135 -= 4. Sent the downlink to the sensor = 136 136 171 += 4. Sent the downlink to the sensor = 137 137 138 -= 5. Trouble Shootings = 173 + 174 +Downlinks can be scheduled by publishing the message to the topic (% style="color:#037691" %)** v3/<application_name>/devices/<devices_name>/down/push**. 175 + 176 +(% 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).** 177 + 178 +[[MQTT Server ~| The Things Stack for LoRaWAN (thethingsindustries.com)>>url:https://www.thethingsindustries.com/docs/integrations/mqtt/]] 179 + 180 + 181 +Instead of /push, you can also use /replace to replace the downlink queue. Replacing with an empty array clears the downlink queue. Example: 182 + 183 +(% class="box" %) 184 +((( 185 +{ 186 + "downlinks": [{ 187 + "f_port": 2, 188 + "frm_payload": "AwAA", 189 + "priority": "HIGH", 190 + "confirmed": true 191 + }] 192 +} 193 +))) 194 + 195 +[[image:image-20220802170358-4.png||height="656" width="898"]] 196 + 197 + 198 +[[image:image-20220802164844-3.png||height="345" width="1131"]] 199 + 200 + 201 + 202 +**Node-red** 203 + 204 +Users can download the Node-Red flowchart for testing [[attach:mqtt-test.json||target="_blank"]] 205 + 206 + 207 +[[image:image-20220802172021-6.png||height="455" width="1240"]] 208 + 209 + 210 + 211 += 5. Trouble Shootings = 212 + 213 + 214 +
- 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
- 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 +]