Last modified by Xiaoling on 2023/04/20 18:14
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -11,6 +11,7 @@ 11 11 * User wants to get data forward in gateway and forward to their server base on MQTT/HTTP, etc. (Combine ABP communication method and [[MQTT forward together>>url:https://wiki.dragino.com/index.php/MQTT_Forward_Instruction]]). 12 12 13 13 ((( 14 + 14 14 The basic of this feature is the decoding of **LoRaWAN ABP End Node**. Requirements: 15 15 ))) 16 16 ... ... @@ -18,6 +18,7 @@ 18 18 1. LoRaWAN Gateway model: [[LPS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/148-lps8.html]], [[LG308>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/140-lg308.html]], [[DLOS8>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/160-dlos8.html]] ,[[LIG16>>url:http://www.dragino.com/products/lora-lorawan-gateway/item/171-lig16.html]] 19 19 1. Firmware version for below instruction:[[Since LG02_LG08~~-~~-build-v5.4.1593400722-20200629-1120>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/Release/]] 20 20 22 + 21 21 = 2. How it works = 22 22 23 23 ... ... @@ -149,11 +149,12 @@ 149 149 150 150 The file should use below format: 151 151 152 -(% class="mark" %)**dev_addr,imme/time,txt/hex,payload** 153 153 155 +dev_addr,imme/time,txt/hex,payload 156 + 154 154 Since fimware > Dragino-v2 lgw-5.4.1608518541 . Support more option 155 155 156 - (% class="mark" %)**dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow**159 +dev_addr,imme/time,txt/hex,payload,txpw,txbw,SF,frequency,rxwindow 157 157 158 158 * dev_addr: Inptu the device address 159 159 * imme/time: ... ... @@ -173,13 +173,15 @@ 173 173 * Frequency: Transmit Frequency: example: 923300000 174 174 * rxwindow: transmit on Rx1Window or Rx2Window. 175 175 179 + 176 176 Completely exmaple: 177 177 178 178 * Old version: echo 018193F4,imme,hex,0101 > /var/iot/push/test 179 179 * New version: echo 018193F4,imme,hex,0101,20,1,SF12,923300000,2 > /var/iot/push/test 180 180 181 -(% class="mark" %)**Downstream Frequency** 182 182 186 +Downstream Frequency 187 + 183 183 The LG308 will use the RX2 window info to send the downstream payload, use the default LoRaWAN settings, as below: 184 184 185 185 * EU868: 869.525Mhz, DR0(SF12BW125) ... ... @@ -191,33 +191,23 @@ 191 191 * IN865: 866.55Mhz, SF10 BW125 192 192 * RU864: 869.1Mhz, SF12 BW125 193 193 194 -(% class="mark" %)**Examples:** 195 195 196 -(% class="box" %) 197 -((( 198 -we can use echo command to create files in LG308 for downstream. 199 -root@dragino-1d25dc:~~# echo 2602111D,time,hex,12345678 > /var/iot/push/test 200 -))) 200 +Examples: 201 201 202 -(% class="box" %) 203 -((( 204 -1) From logread -f of gateway, we can see it has been added as pedning. 205 -lora_pkt_fwd[4286]: INFO~~ [DNLK]Looking file : test 206 -lora_pkt_fwd[4286]: INFO~~ [DNLK]devaddr:2602111D, txmode:time, pdfm:hex, size:4, payload1:4Vx,payload_hex:77C1BB90 207 -lora_pkt_fwd[4286]: INFO~~ [DNLK] DNLINK PENDING!(1 elems). 208 -))) 202 +{{{we can use echo command to create files in LG308 for downstream. 203 +root@dragino-1d25dc:~# echo 2602111D,time,hex,12345678 > /var/iot/push/test 209 209 210 -(% class="box" %) 211 -((( 212 -2) When there is an upstrea from end node, this downstream will be sent and shows: 205 +1) From logread -f of gateway, we can see it has been added as pedning. 206 +lora_pkt_fwd[4286]: INFO~ [DNLK]Looking file : test 207 +lora_pkt_fwd[4286]: INFO~ [DNLK]devaddr:2602111D, txmode:time, pdfm:hex, size:4, payload1:4Vx,payload_hex:77C1BB90 208 +lora_pkt_fwd[4286]: INFO~ [DNLK] DNLINK PENDING!(1 elems). 209 + 210 +2) When there is an upstrea from end node, this downstream will be sent and shows: 213 213 lora_pkt_fwd[4286]: INFO: tx_start_delay=1497 (1497.000000) - (1497, bw_delay=0.000000, notch_delay=0.000000) 214 214 lora_pkt_fwd[4286]: [LGWSEND]lgw_send done: count_us=3537314420, freq=923300000, size=17 215 -))) 216 216 217 -(% class="box" %) 218 -((( 219 -3) and the end node will got: 220 -[5764825]~*~*~*~** UpLinkCounter= 98 ~*~*~*~** 214 +3) and the end node will got: 215 +[5764825]***** UpLinkCounter= 98 ***** 221 221 [5764827]TX on freq 905300000 Hz at DR 0 222 222 Update Interval: 60000 ms 223 223 [5765202]txDone ... ... @@ -227,13 +227,11 @@ 227 227 [5767501]rxDone 228 228 Rssi= -41 229 229 Receive data 230 -2:12345678 ~-~-> Hex231 - )))225 +2:12345678 --> Hex 226 +}}} 232 232 233 -(% class="box" %) 234 -((( 235 -4) If we use the command "echo 2602111D,time,txt,12345678 > /var/iot/push/test" for downstream, the end node will got: 236 -[5955877]~*~*~*~** UpLinkCounter= 102 ~*~*~*~** 228 +{{{4) If we use the command "echo 2602111D,time,txt,12345678 > /var/iot/push/test" for downstream, the end node will got: 229 +[5955877]***** UpLinkCounter= 102 ***** 237 237 [5955879]TX on freq 904100000 Hz at DR 0 238 238 Update Interval: 60000 ms 239 239 [5956254]txDone ... ... @@ -243,50 +243,47 @@ 243 243 [5958595]rxDone 244 244 Rssi= -37 245 245 Receive data 246 -2:3132333435363738 ~-~-> ASCII string "12345678"247 - )))239 +2:3132333435363738 --> ASCII string "12345678" 240 +}}} 248 248 249 249 = 3. Example 1: Communicate with LT-22222-L = 250 250 251 251 Script can be download from: [[Example Script 1>>url:http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LPS8/Firmware/customized_script/&file=talk_to_lt-22222-l_v0.1.sh]] 252 252 253 -(% class="box" %) 254 -((( 255 -#!/bin/sh 246 +{{{#!/bin/sh 256 256 # This scripts shows how to use LPS8/LG308/DLOS8 to communicate with two LoRaWAN End Nodes, without the use of internet or LoRaWAN server 257 257 # 258 -# Hardware Prepare: 259 -# 1. LT-22222-L x 2, both are configured to work in 260 -# 261 -# b) ABP Mode ; 249 +# Hardware Prepare: 250 +# 1. LT-22222-L x 2, both are configured to work in 251 +# a) Class C ; 252 +# b) ABP Mode ; 262 262 # c) AT+Mod=1 263 -# 2. LPS8, 264 -# a) Firmware version > 265 -# b) Input the LT-22222-L keys in LPS so LPS8 can talk with them. 266 -# c) Lorawan server choose built-in 267 -# d) in Custom page, select custom script to point to this script. (put this script in /etc/iot/scripts directory) 254 +# 2. LPS8, 255 +# a) Firmware version > 256 +# b) Input the LT-22222-L keys in LPS so LPS8 can talk with them. 257 +# c) Lorawan server choose built-in 258 +# d) in Custom page, select custom script to point to this script. (put this script in /etc/iot/scripts directory) 259 +# 260 +# How it works? 261 +# a) Devices 1 sends a uplink payload to LPS8. LPS8 will get the DI1 and DI2 info from the payload 262 +# b) LPS8 will send a message to Device 2 to set the Device2 DO1 = Device1 DI1, and Device DO2 = Device DI2. 263 +# c) Device2 will change DO1 and DO2 to according to the message from LPS8, and send back a message to LPS8 with the its DO1 264 +# and DO2 value. LPS8 will ask Device1 to change its DO1 to same as Device 2, and change the DO2 to the same as Device 2. 265 +# ( The purpose of this step is to show that the Device2 has already do the change there). 266 +# 267 +# For example: If current status of Device1 and Device2 leds shows: 268 +# Device1: DI1: ON, DI2: ON , DO1: OFF, DO2: OFF 269 +# Device2: DI1: OFF, DI2: OFF , DO1: OFF, DO2: OFF 268 268 # 269 -# How it works? 270 -# a) Devices 1 sends a uplink payload to LPS8. LPS8 will get the DI1 and DI2 info from the payload 271 -# b) LPS8 will send a message to Device 2 to set the Device2 DO1 = Device1 DI1, and Device DO2 = Device DI2. 272 -# c) Device2 will change DO1 and DO2 to according to the message from LPS8, and send back a message to LPS8 with the its DO1 273 -# and DO2 value. LPS8 will ask Device1 to change its DO1 to same as Device 2, and change the DO2 to the same as Device 2. 274 -# ( The purpose of this step is to show that the Device2 has already do the change there). 275 -# 276 -# For example: If current status of Device1 and Device2 leds shows: 277 -# Device1: DI1: ON, DI2: ON , DO1: OFF, DO2: OFF 278 -# Device2: DI1: OFF, DI2: OFF , DO1: OFF, DO2: OFF 279 -# 280 -# Step2 will cause below change: 281 -# Device1: DI1: ON, DI2: ON , DO1: OFF, DO2: OFF 282 -# Device2: DI1: OFF, DI2: OFF , DO1: ON, DO2: ON 283 -# 284 -# Step3 will cause below change: 285 -# Device1: DI1: ON, DI2: ON , DO1: ON, DO2: ON 286 -# Device2: DI1: OFF, DI2: OFF , DO1: ON, DO2: ON 287 -# So if a person is in the Device 1 location, he can check if the DO LED match DI LEDs on Device 1 to confirm 288 -# whether the Device 2 has been changed. 289 -))) 271 +# Step2 will cause below change: 272 +# Device1: DI1: ON, DI2: ON , DO1: OFF, DO2: OFF 273 +# Device2: DI1: OFF, DI2: OFF , DO1: ON, DO2: ON 274 +# 275 +# Step3 will cause below change: 276 +# Device1: DI1: ON, DI2: ON , DO1: ON, DO2: ON 277 +# Device2: DI1: OFF, DI2: OFF , DO1: ON, DO2: ON 278 +# So if a person is in the Device 1 location, he can check if the DO LED match DI LEDs on Device 1 to confirm 279 +# whether the Device 2 has been changed.}}} 290 290 291 291 ~1. Input keys 292 292 ... ... @@ -325,10 +325,11 @@ 325 325 Full instruction video inlcude how to write scripts to fit server needed is here: 326 326 327 327 328 - (% class="mark" %)**Video Instruction**: [[https:~~/~~/youtu.be/-nevW6U2TsE>>url:https://youtu.be/-nevW6U2TsE]]318 +Video Instruction: [[https:~~/~~/youtu.be/-nevW6U2TsE>>url:https://youtu.be/-nevW6U2TsE]] 329 329 330 -(% class="mark" %)**Note: Firmware version must be higher than lgw-5.4.1607519907** 331 331 321 +Note: Firmware version must be higher than lgw-5.4.1607519907 322 + 332 332 Assume we already set up ABP keys in the gateway: 333 333 334 334 [[image:https://wiki.dragino.com/images/thumb/b/bf/LPS8_LT-22222_1.png/600px-LPS8_LT-22222_1.png||height="335" width="600"]]