Changes for page LG01v2 -- LoRa Gateway User Manual
Last modified by Kilight Cao on 2024/10/12 08:58
Change comment:
Uploaded new attachment "image-20221108175113-9.png", version {1}
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 5 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -289,18 +289,20 @@ 289 289 [[image:image-20221104102736-3.png||height="282" width="723"]] 290 290 291 291 292 -The user can run the AT command to set the LG01-V2 RX window always open as a Receiver, the LA66Shielduses**AT+SEND=1,helloworld,2,3**tosimulate sendingdata,292 +The user can run the AT command to set the LG01-V2 RX window always open as a Receiver, The LG01-V2 can display the received data in the built-in server Node-Red, Here are the specific steps: 293 293 294 -**Prerequisites: **The configuration of LG01-V2 and LA66 Shield must match, users can use **AT+CFG** to check all configurations. 294 +(% style="color:red" %)**Prerequisites: **(%%)The configuration of LG01-V2 and LA66 Shield must match and the LA66 Shield firmware is **[[LA66 Peer-to-Peer firmware>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Shield%20User%20Manual/Instruction%20for%20LA66%20Peer%20to%20Peer%20firmware/]]**, users can use **AT+CFG** to check all configurations. 295 295 296 296 297 - (% style="color:red;font-weight:bold"%)**LG01-V**(%style="color:red"%)**2as Receiver: (configuredas AT+RXMOD=65535,2)**297 +=== **Log Temperature Sensor(DHT11) and send data to LG01v2, show it in Node-RED.** === 298 298 299 299 300 -**LG01-V2 configura tion:**300 +(% style="color:red; font-weight:bold" %)**LG01-V**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)** 301 301 302 302 (% class="box infomessage" %) 303 303 ((( 304 +**LG01-V2 configuration:** 305 + 304 304 AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 305 305 AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 306 306 AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 ... ... @@ -310,31 +310,83 @@ 310 310 AT+CR=1,1 ~-~--> TX and RX Coding Rate 311 311 AT+IQ=0,0 ~-~--> TX and RX InvertIQ 312 312 AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 313 -AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public) ,**the corresponding Lora shield syncword is 0x12315 +AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 314 314 AT+RXMOD=65535,0 ~-~--> Rx Timeout and Reply mode, RX window always open 315 -AT+RXDAFORM=1 316 316 ))) 317 317 318 -[[image:image-20221102140053-4.png]] 319 319 320 +(% style="color:red" %)**LA66 Shield as Sender: ** 320 320 321 -(% style="color:red" %)**LA66 Shield as Sender: (AT+SEND=1,hello world,2,3)** 322 +(% class="box infomessage" %) 323 +((( 324 +**LA66 Shield configuration:** 322 322 323 -[[image:1667456058832-484.png||height="291" width="353"]] 326 +AT+FRE=868.100,868.100 ~-~--> TX and RX frequency set: 868100000 327 +AT+BW=0,0 ~-~--> TX and RX Bandwidth set: 125kHz 328 +AT+SF=12,12 ~-~--> TX and RX Spreading Factor set: SF12 329 +AT+POWER=14 ~-~--> TX Power Range set: 14dBm 330 +AT+CRC=1,1 ~-~--> TX and RX CRC Type 331 +AT+HEADER=0,0 ~-~--> TX and RX Header Type 332 +AT+CR=1,1 ~-~--> TX and RX Coding Rate 333 +AT+IQ=0,0 ~-~--> TX and RX InvertIQ 334 +AT+PREAMBLE=8,8 ~-~--> TX and RX Preamble Length set: 8 335 +AT+SYNCWORD=0 ~-~--> Syncword**(0: private,1: public)** 336 +AT+RXMOD=6,0 ~-~--> Rx Timeout and Reply mode 337 +))) 338 +))) 324 324 325 325 326 -Instruction for Peer-to-Peer firmware:[[ **Instruction **>>url:http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LA66%20LoRaWAN%20Shield%20User%20Manual/Instruction%20for%20LA66%20Peer%20to%20Peer%20firmware/]] 341 +After the above configuration is complete, users can send test simulation data to check whether the configuration is correct, In LA66 sheild serial console send:(% style="color:red" %)**(AT+SEND=1,hello world,2,3).** 342 + 343 +When LG01-V2 replies with ACK when it receives a packet sent by LA66 sheild. 344 + 345 +[[image:image-20221108164413-2.png]]shield 346 + 347 + 348 +In the real-time log of LG01-V2: 349 + 350 +[[image:image-20221108170314-3.png]] 351 + 352 + 353 +**Hardware Connection** 354 + 355 +(% class="box infomessage" %) 356 +((( 357 +**The DHT11 sensor connects to the LA66 Shield:** 358 + 359 +**VCC <~-~--> 3.3V (Red line)** 360 +**DATA <~-~--> PIN8 (Purple line)** 361 +**GND <~-~--> GND (White line)** 327 327 ))) 328 328 364 +[[image:image-20221108170731-5.png||height="588" width="441"]] 329 329 330 -Users can import this example in node-red: **[[attach:serial USB.json||target="_blank"]]** 331 331 332 - [[image:image-20221104100520-2.png||height="605"width="1150"]]367 +**1. open Arduino IDE** 333 333 369 +[[image:image-20221108172149-6.png||height="650" width="542"]] 334 334 335 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)**6. How users can access LG01**(%%)**-V(% style="color:inherit; font-family:inherit; font-size:29px" %)2 using serial USB(%%)** = 336 336 372 +**2. Open project** 337 337 374 +Users can download Arduino files from this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]] 375 + 376 +Then click Compile and Upload to LA66 Shield, 377 + 378 +[[image:image-20221108172432-7.png]] 379 + 380 + 381 +3. 382 + 383 +The LA66 Shield reads the temperature and humidity data from the sensor and sends it to LG01V2, 384 + 385 +Users can import this example in node-red: 386 + 387 + 388 + 389 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**6. How users can access LG01**(%%)**-V(% style="color:inherit; font-family:inherit; font-size:29px" %)2 using serial USB(%%)** = 390 + 391 + 338 338 (% style="color:blue" %)**USB TTL to LG01-V2 Connection:** 339 339 340 340 ... ... @@ -407,7 +407,7 @@ 407 407 [[image:image-20221101161951-3.png]] 408 408 409 409 410 -**Test the LG01-V 2 to send data:**464 +**Test the LG01-V2 to send data:** 411 411 412 412 [[image:image-20221101162527-4.png]] 413 413
- Log-Temperature-Sensor-and-send-data-to-Node-red.ino
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.6 KB - Content
-
... ... @@ -1,0 +1,150 @@ 1 +#include <SoftwareSerial.h> 2 +#include <Adafruit_Sensor.h> 3 +#include <DHT.h> 4 +#include <DHT_U.h> 5 +/* 6 + 7 +*/ 8 +#define DHTPIN 8 // Digital pin connected to the DHT sensor 9 +#define DHTTYPE DHT11 // DHT 11 10 +DHT_Unified dht(DHTPIN, DHTTYPE); 11 + 12 +String inputString = ""; // a String to hold incoming data 13 +bool stringComplete = false; // whether the string is complete 14 + 15 +long old_time=millis(); 16 +long new_time; 17 + 18 +long uplink_interval=30000; //ms 19 + 20 +float DHT11_temp; 21 +float DHT11_hum; 22 + 23 +SoftwareSerial ss(10, 11); // Arduino RX, TX , 24 + 25 +char rxbuff[128]; 26 +uint8_t rxbuff_index=0; 27 + 28 +void setup() { 29 + // initialize serial 30 + Serial.begin(9600); 31 + 32 + ss.begin(9600); 33 + ss.listen(); 34 + 35 + // reserve 200 bytes for the inputString: 36 + inputString.reserve(200); 37 + 38 + dht.begin(); 39 + sensor_t sensor; 40 + dht.temperature().getSensor(&sensor); 41 + dht.humidity().getSensor(&sensor); 42 + 43 + ss.println("ATZ");//reset LA66 44 +} 45 + 46 +void loop() { 47 + 48 + while ( ss.available()) { 49 + // get the new byte: 50 + char inChar = (char) ss.read(); 51 + // add it to the inputString: 52 + inputString += inChar; 53 + 54 + rxbuff[rxbuff_index++]=inChar; 55 + 56 + if(rxbuff_index>128) 57 + { 58 + rxbuff[rxbuff_index]='\0'; 59 + rxbuff_index=0; 60 + break; 61 + } 62 + 63 + // if the incoming character is a newline, set a flag so the main loop can 64 + // do something about it: 65 + if (inChar == '\n' || inChar == '\r') { 66 + stringComplete = true; 67 + rxbuff[rxbuff_index]='\0'; 68 + rxbuff_index=0; 69 + } 70 + } 71 + 72 + while ( Serial.available()) { 73 + // get the new byte: 74 + char inChar = (char) Serial.read(); 75 + // add it to the inputString: 76 + inputString += inChar; 77 + // if the incoming character is a newline, set a flag so the main loop can 78 + // do something about it: 79 + if (inChar == '\n' || inChar == '\r') { 80 + ss.print(inputString); 81 + inputString = "\0"; 82 + } 83 + } 84 + 85 + // print the string when a newline arrives: 86 + if (stringComplete) { 87 + Serial.print(inputString); 88 + 89 + // clear the string: 90 + inputString = "\0"; 91 + stringComplete = false; 92 + } 93 + 94 + new_time = millis(); 95 + 96 + if(new_time-old_time>=uplink_interval){ 97 + old_time = new_time; 98 + 99 + Serial.print(F("\r\n")); 100 + // Get temperature event and print its value. 101 + sensors_event_t event; 102 + dht.temperature().getEvent(&event); 103 + if (isnan(event.temperature)) { 104 + Serial.println(F("Error reading temperature!")); 105 + DHT11_temp=327.67; 106 + } 107 + else { 108 + DHT11_temp=event.temperature; 109 + 110 + if(DHT11_temp>60){ 111 + DHT11_temp=60; 112 + } 113 + else if(DHT11_temp<-20){ 114 + DHT11_temp=-20; 115 + } 116 + } 117 + // Get humidity event and print its value. 118 + dht.humidity().getEvent(&event); 119 + if (isnan(event.relative_humidity)) { 120 + DHT11_hum=327.67; 121 + Serial.println(F("Error reading humidity!")); 122 + } 123 + else { 124 + DHT11_hum=event.relative_humidity; 125 + 126 + if(DHT11_hum>100){ 127 + DHT11_hum=100; 128 + } 129 + else if(DHT11_hum<0){ 130 + DHT11_hum=0; 131 + } 132 + } 133 + 134 + Serial.print(F("Temperature: ")); 135 + Serial.print(DHT11_temp); 136 + Serial.println(F("°C")); 137 + Serial.print(F("Humidity: ")); 138 + Serial.print(DHT11_hum); 139 + Serial.println(F("%")); 140 + Serial.print(F("\r\n")); 141 + 142 + char sensor_data_buff[128]="\0"; 143 + 144 + //confirm status,Fport,payload length,payload(HEX) 145 + snprintf(sensor_data_buff,128,"AT+SEND=0,%02X%02X%02X%02X,0,0",(short)(DHT11_temp*100)>>8 & 0xFF,(short)(DHT11_temp*100) & 0xFF,(short)(DHT11_hum*10)>>8 & 0xFF,(short)(DHT11_hum*10) & 0xFF); 146 + ss.print(sensor_data_buff); 147 + ss.print('\r'); 148 + } 149 +} 150 +
- image-20221108172149-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.5 KB - Content
- image-20221108172432-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.9 KB - Content
- image-20221108174840-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +52.1 KB - Content
- image-20221108175113-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Kilight - Size
-
... ... @@ -1,0 +1,1 @@ 1 +72.6 KB - Content