<
From version < 16.1 >
edited by Kilight Cao
on 2022/10/29 17:57
To version < 88.1 >
edited by Kilight Cao
on 2022/11/08 18:04
>
Change comment: Uploaded new attachment "image-20221108180458-11.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -14,16 +14,16 @@
14 14  = **1. Introduction** =
15 15  
16 16  
17 -== **1.1 What is LG01v2** ==
17 +== **1.1 What is LG01-V2** ==
18 18  
19 19  
20 20  (((
21 21  (((
22 -The LG01v2 is an (% style="color:green" %)**open-source single channel LoRa Gateway**(%%). It lets you bridge LoRa wireless network to an IP network via (% style="color:green" %)**WiFi , Ethernet or Cellular Network**(%%) (via Optional 4G module). The LoRa wireless allows users to send data and reach extremely long ranges at low data rates.
22 +The LG01-V2 is an (% style="color:green" %)**open-source single channel LoRa Gateway**(%%). It lets you bridge LoRa wireless network to an IP network via (% style="color:green" %)**WiFi , Ethernet or Cellular Network**(%%) (via Optional 4G module). The LoRa wireless allows users to send data and reach extremely long ranges at low data rates.
23 23  )))
24 24  
25 25  (((
26 -LG01v2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it.
26 +LG01-V2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it.
27 27  )))
28 28  
29 29  
... ... @@ -110,15 +110,136 @@
110 110  In most cases, the first thing you need to do is make the LG01-v2 accessible to the network.
111 111  
112 112  
113 +== **2.1 Connects to the network and accesses the gateway Web UI** ==
113 113  
114 -= **3. How to configure the LA66 module** =
115 115  
116 +== **2.1.1 connect the network.** ==
116 116  
117 -== **3.1 Access the LA66 module** ==
118 118  
119 +=== (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ===
119 119  
120 -Users can access the LA66 module by running the following command, then select the option **''serial port setup"**:
121 121  
122 +Connect the LG01-V2 Ethernet port to your router and LG01-V2 can obtain an IP address from your router. In the router's management portal, you should be able to find what IP address the router has assigned to the LG01-V2.
123 +
124 +You can also use this IP to connect.
125 +
126 +
127 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100129-1.png?width=1263&height=332&rev=1.1||alt="image-20220622100129-1.png"]]
128 +
129 +
130 +=== (% style="color:blue" %)**Method 2**(%%):  Connect via WiFi with DHCP IP from the router ===
131 +
132 +
133 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622100542-2.png?width=1256&height=369&rev=1.1||alt="image-20220622100542-2.png"]]
134 +
135 +
136 +Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply**
137 +
138 +
139 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102702-6.png?rev=1.1||alt="image-20220622102702-6.png"]]
140 +
141 +
142 +**Wi-Fi configuration successful**
143 +
144 +
145 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102847-7.png?rev=1.1||alt="image-20220622102847-7.png"]]
146 +
147 +
148 +
149 += **3. Web Configure Pages** =
150 +
151 +== **3.1 Home** ==
152 +
153 +//Shows the system running status~://
154 +
155 +[[image:image-20221104155612-1.png||height="497" width="942"]]
156 +
157 +
158 +== **3.2 Network Settings** ==
159 +
160 +
161 +=== **3.2.1 Network ~-~-> WiFi** ===
162 +
163 +
164 +[[image:image-20221104155654-2.png||height="319" width="813"]]
165 +
166 +
167 +
168 +=== **3.4.2 Network ~-~-> System Status** ===
169 +
170 +
171 +[[image:image-20221104155724-3.png||height="679" width="861"]]
172 +
173 +
174 +
175 +=== **3.4.3 Network ~-~-> Firewall** ===
176 +
177 +
178 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220616115351-6.png?width=661&height=244&rev=1.1||alt="image-20220616115351-6.png"]]
179 +
180 +
181 +
182 +== **3.5 System** ==
183 +
184 +
185 +=== **3.5.1  System ~-~-> System Overview** ===
186 +
187 +
188 +Shows the system info:
189 +
190 +[[image:image-20221104155907-4.png]]
191 +
192 +
193 +
194 +=== **3.5.2 System ~-~-> Backup/Restore** ===
195 +
196 +
197 +[[image:image-20221104155928-5.png||height="334" width="880"]]
198 +
199 +
200 += (% id="cke_bm_1978S" style="display:none" %)** **(%%)**4. Build in Server** =
201 +
202 +
203 +The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red**
204 +
205 +
206 +[[image:image-20221104155949-6.png||height="315" width="1023"]]
207 +
208 +
209 +(% style="color:red" %)**Note:**
210 +
211 + **Path**: System ~-~-> Built-in Server
212 +
213 +
214 +**Troubleshooting:**
215 +
216 +
217 +**~ 1. URL does not jump properly**
218 +
219 + For the Node-Red, you can use the local IP address and the port is 1880 to access it.
220 +
221 +
222 +
223 +== **4.1 Application Server ~-~- Node-Red** ==
224 +
225 +
226 +You can access the gateway's built-in AS server of (% style="color:blue" %)**Node-Red **(%%)via the URL((% style="background-color:yellow" %)__**//http:~/~/<hostname>:1880 or http:~/~/<local-IPV4-address>//**__(%%)) in your browser.
227 +
228 +
229 +Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880  or http:~/~/<Local-IPV4-Address>//**__
230 +
231 +
232 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220725172124-3.png?width=843&height=610&rev=1.1||alt="image-20220725172124-3.png"]]
233 +
234 +
235 += **5. How to configure the Lora Gateway** =
236 +
237 +
238 +== **5.1 Access the Lora configuration page** ==
239 +
240 +
241 +Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**:
242 +
122 122  (% class="box infomessage" %)
123 123  (((
124 124  **root@dragino-2406ef:~~# minicom -s**
... ... @@ -143,9 +143,298 @@
143 143  
144 144  Enter **AT+CFG **in the interface to get the configuration,
145 145  
146 -[[image:image-20221029172156-1.png||height="315" width="358"]]
147 147  
268 +(% class="box infomessage" %)
269 +(((
270 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency
271 +AT+GROUPMOD=0,0  ~-~--> TX and RX group
272 +AT+BW=0,0  ~-~--> TX and RX Bandwidth
273 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor
274 +AT+POWER=14  ~-~--> TX Power Range
275 +AT+CRC=1,1  ~-~--> TX and RX CRC Type
276 +AT+HEADER=0,0  ~-~--> TX and RX Header Type
277 +AT+CR=1,1  ~-~--> TX and RX Coding Rate
278 +AT+IQ=0,0  ~-~--> TX and RX InvertIQ
279 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length
280 +AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
281 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode
282 +AT+RXDAFORM=1                              
283 +)))
148 148  
149 149  
150 -(% style="color:red" %)**LG01v2 as Receiver: (configured as AT+RXMOD=65535,2)**
286 +== **5.2 Example: LG01**-**V2 Peer-to-Peer** ==
287 +
288 +
289 +[[image:image-20221104102736-3.png||height="282" width="723"]]
290 +
291 +
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 +
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 +
296 +
297 +=== **Log Temperature Sensor(DHT11) and send data to LG01v2, show it in Node-RED.** ===
298 +
299 +
300 +(% style="color:red; font-weight:bold" %)**LG01-V**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)**
301 +
302 +(% class="box infomessage" %)
303 +(((
304 +**LG01-V2 configuration:**
305 +
306 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
307 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
308 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
309 +AT+POWER=14  ~-~--> TX Power Range set: 14dBm
310 +AT+CRC=1,1  ~-~--> TX and RX CRC Type
311 +AT+HEADER=0,0  ~-~--> TX and RX Header Type
312 +AT+CR=1,1  ~-~--> TX and RX Coding Rate
313 +AT+IQ=0,0  ~-~--> TX and RX InvertIQ
314 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
315 +AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
316 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode, RX window always open
151 151  )))
318 +
319 +
320 +(% style="color:red" %)**LA66 Shield as Sender: **
321 +
322 +(% class="box infomessage" %)
323 +(((
324 +**LA66 Shield configuration:**
325 +
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 +)))
339 +
340 +
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)**
362 +)))
363 +
364 +[[image:image-20221108170731-5.png||height="588" width="441"]]
365 +
366 +
367 +**1.  open Arduino IDE**
368 +
369 +[[image:image-20221108172149-6.png||height="650" width="542"]]
370 +
371 +
372 +**2.  Open project**
373 +
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 +
392 +(% style="color:blue" %)**USB TTL to LG01-V2  Connection:**
393 +
394 +
395 +Port 1 of the UART on the LG01-V2 is GND
396 +
397 +(% class="box infomessage" %)
398 +(((
399 +**TXD  <~-~--> UART RXD (Gray line)**
400 +
401 +**RXD  <~-~--> UART TXD (White line)**
402 +
403 +**GND <~-~--> GND (Black line)**
404 +)))
405 +
406 +
407 +**LG01-V2 UART connection photo**
408 +
409 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804163015-1.png?width=466&height=621&rev=1.1||alt="image-20220804163015-1.png"]]
410 +
411 +
412 +
413 +In the PC, you can use the serial port tool(such as [[putty>>url:http://www.chiark.greenend.org.uk/~~sgtatham/putty/download.html]] in Windows), you need to set the serial baud rate to (% style="color:blue" %)**115200**(%%) to access the serial console for LG01v2. LG01v2 will output system info once power on as below:
414 +
415 +
416 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804164928-3.png?width=332&height=320&rev=1.1||alt="image-20220804164928-3.png"]]
417 +
418 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220804164747-2.png?width=594&height=622&rev=1.1||alt="image-20220804164747-2.png"]]
419 +
420 +
421 += **7. FAQ** =
422 +
423 +
424 +== **7.1 How does LG01-V2 communicate with Lora shield (LoRa.h)** ==
425 +
426 +
427 +This example describes how to use LG01-V2, LoRa Shield to set up a LoRa network
428 +
429 +[[image:image-20221103152238-8.png||height="251" width="654"]]
430 +
431 +
432 +(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match**
433 +
434 +**LG01-V2 configuration:**
435 +
436 +(% class="box infomessage" %)
437 +(((
438 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
439 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
440 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
441 +AT+POWER=14  ~-~--> TX Power Range
442 +AT+CRC=1,1  ~-~--> TX and RX CRC Type
443 +AT+HEADER=0,0  ~-~--> TX and RX Header Type
444 +AT+CR=1,1  ~-~--> TX and RX Coding Rate
445 +AT+IQ=0,0  ~-~--> TX and RX InvertIQ
446 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
447 +AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
448 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode,RX window always open
449 +AT+RXDAFORM=1    
450 +)))
451 +
452 +**Lora shield configuration:**
453 +
454 +Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]]
455 +
456 +[[image:image-20221101161318-2.png]]
457 +
458 +
459 +**Test LG01-V2 to receive Lora Shield data:**
460 +
461 +[[image:image-20221101161951-3.png]]
462 +
463 +
464 +**Test the LG01-V2 to send data:**
465 +
466 +[[image:image-20221101162527-4.png]]
467 +
468 +
469 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) =
470 +
471 +
472 +(((
473 +**//If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].//**
474 +)))
475 +
476 +(((
477 +**//With your question as detailed as possible. We will reply and help you in the shortest.//**
478 +
479 +
480 +
481 += **9. Reference** =
482 +
483 +
484 +* Install Tago Core: Refer **Install Tago Core in LPS8v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].
485 +* [[Advance OS Reference Guide for LPS8v2>>doc:Main.Armbian OS instruction.WebHome]].
486 +
487 +
488 +)))
489 +
490 += **10. Order Info** =
491 +
492 +
493 +(% style="color:#0000ff" %)**LPS8v2-XXX-YYY**
494 +
495 +(% style="color:#0000ff" %)**XXX**(% style="color:black" %): Frequency Band
496 +
497 +* (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
498 +* (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
499 +* (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
500 +* (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
501 +* (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
502 +* (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
503 +
504 +(% style="color:#0000ff" %)**YYY**(% style="color:black" %): 4G Cellular Option
505 +
506 +* (% style="color:red" %)**E**(%%):  EMEA, Korea, Thailand, India.
507 +* (% style="color:red" %)**A**(%%):  North America/ Rogers/AT&T/T-Mobile.
508 +* (% style="color:red" %)**AU**(%%): Latin America, New Zeland, Taiwan
509 +* (% style="color:red" %)**J**(%%):  Japan, DOCOMO/SoftBank/ KDDI
510 +
511 +More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]].
512 +
513 +
514 +
515 += **10. Manufacturer Info** =
516 +
517 +
518 +**Shenzhen Dragino Technology Development co. LTD**
519 +
520 +Room 202, Block B, BCT Incubation Bases (BaoChengTai),  No.8 CaiYunRoad
521 +
522 +LongCheng Street, LongGang District ; Shenzhen 518116,China
523 +
524 +
525 +
526 += **11. FCC Warning** =
527 +
528 +
529 +(((
530 +This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
531 +)))
532 +
533 +(((
534 +~-~- Reorient or relocate the receiving antenna.
535 +)))
536 +
537 +(((
538 +~-~- Increase the separation between the equipment and receiver.
539 +)))
540 +
541 +(((
542 +~-~- Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
543 +)))
544 +
545 +(((
546 +~-~- Consult the dealer or an experienced radio/TV technician for help.
547 +)))
548 +
549 +
550 +(((
551 +Changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate the equipment.
552 +)))
553 +
554 +
555 +(((
556 +The antenna(s) used for this transmitter must be installed to provide a separation distance of at least 20 cm from all persons and must not be co-located or operating in conjunction with any other antenna or transmitter.
557 +
558 +
559 +)))
560 +
561 +~)~)~)
1667456058832-484.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +21.0 KB
Content
LoRa_Shield_Sketch_For_MQTT.ino
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +2.9 KB
Content
... ... @@ -1,0 +1,118 @@
1 +#include <SPI.h>
2 +#include <LoRa.h>
3 +
4 +// This is the LoRa Node side sketch for the MQTT example: http://wiki.dragino.com/index.php?title=MQTT_Forward_Instruction#Example_to_communicate_to_a_simple_MQTT_server
5 +
6 +float tem,hum;
7 +char tem_1[8]={"\0"},hum_1[8]={"\0"};
8 +char *node_id = "<4567>"; //From LG01 via web Local Channel settings on MQTT.Please refer <> dataformat in here.
9 +uint8_t datasend[36];
10 +unsigned int count = 1;
11 +unsigned long new_time,old_time=0;
12 +
13 +void setup()
14 +{
15 + Serial.begin(9600);
16 + while (!Serial);
17 + Serial.println(F("Start MQTT Example"));
18 + if (!LoRa.begin(868100000)) //868000000 is frequency
19 + {
20 + Serial.println("Starting LoRa failed!");
21 + while (1);
22 + }
23 + // Setup Spreading Factor (6 ~ 12)
24 + LoRa.setSpreadingFactor(12);
25 +
26 + // Setup BandWidth, option: 7800,10400,15600,20800,31250,41700,62500,125000,250000,500000
27 + //Lower BandWidth for longer distance.
28 + LoRa.setSignalBandwidth(125000);
29 +
30 + // Setup Coding Rate:5(4/5),6(4/6),7(4/7),8(4/8)
31 + LoRa.setCodingRate4(5);
32 + LoRa.setSyncWord(0x12);
33 + void disableCrc();
34 + LoRa.disableInvertIQ();
35 + LoRa.explicitHeaderMode();
36 + Serial.println("LoRa init succeeded.");
37 + LoRa.onReceive(onReceive);
38 + LoRa.receive();
39 +}
40 +
41 +void dhtTem()
42 +{
43 + tem = random(15,40);
44 + hum = random(40,80);
45 + Serial.println(F("The temperature and humidity:"));
46 + Serial.print("[");
47 + Serial.print(tem);
48 + Serial.print("℃");
49 + Serial.print(",");
50 + Serial.print(hum);
51 + Serial.print("%");
52 + Serial.print("]");
53 + Serial.println("");
54 +}
55 +void dhtWrite()
56 +{
57 + char data[50] = "\0";
58 + //for(int i = 0; i < 50; i++)
59 + //{
60 + // data[i] = node_id[i];
61 + //}
62 +
63 + dtostrf(tem,0,1,tem_1);
64 + dtostrf(hum,0,1,hum_1);
65 +
66 + // Serial.println(tem_1);
67 + strcat(data,"tem=");
68 + strcat(data,tem_1);
69 + strcat(data,"&hum=");
70 + strcat(data,hum_1);
71 + strcpy((char *)datasend,data);
72 +
73 + //Serial.println((char *)datasend);
74 + //Serial.println(sizeof datasend);
75 +
76 +}
77 +
78 +
79 +void SendData()
80 +{
81 + LoRa.beginPacket();
82 + LoRa.print((char *)datasend);
83 + LoRa.endPacket();
84 + Serial.println("Packet Sent");
85 +}
86 +
87 +
88 +
89 +void loop()
90 +{
91 + new_time=millis();
92 + if (new_time - old_time >= 30000 || old_time == 0)
93 + {
94 + old_time = new_time;
95 + Serial.print("########### ");
96 + Serial.print("COUNT=");
97 + Serial.print(count);
98 + Serial.println(" ###########");
99 + count++;
100 + dhtTem();
101 + dhtWrite();
102 + SendData();
103 + LoRa.receive();
104 + }
105 +}
106 +
107 +void onReceive(int packetSize) {
108 +
109 + // received a packet
110 + Serial.print("Received packet : ");
111 +
112 + // read packet
113 + for (int i = 0; i < packetSize; i++) {
114 + Serial.print((char)LoRa.read());
115 + }
116 + Serial.print("\n\r");
117 +}
118 +
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 +
Log-Temperature-Sensor-and-send-data-to-node-red.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +806 bytes
Content
... ... @@ -1,0 +1,36 @@
1 +[
2 + {
3 + "id": "4ea60ce4df40717c",
4 + "type": "serial in",
5 + "z": "5f10779accc05655",
6 + "name": "",
7 + "serial": "bb1c0e81fd51fa9e",
8 + "x": 210,
9 + "y": 60,
10 + "wires": [
11 + [
12 + "40eac96a52733f7a",
13 + "79722a224bb22c96"
14 + ]
15 + ]
16 + },
17 + {
18 + "id": "bb1c0e81fd51fa9e",
19 + "type": "serial-port",
20 + "serialport": "/dev/ttyUSB0",
21 + "serialbaud": "9600",
22 + "databits": "8",
23 + "parity": "none",
24 + "stopbits": "1",
25 + "waitfor": "",
26 + "dtr": "none",
27 + "rts": "none",
28 + "cts": "none",
29 + "dsr": "none",
30 + "newline": "\\n",
31 + "bin": "false",
32 + "out": "char",
33 + "addchar": "\\r\\n",
34 + "responsetimeout": "10000"
35 + }
36 +]
arduino-LoRa-master.zip
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +28.6 KB
Content
image-20221031091550-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +20.1 KB
Content
image-20221031091652-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +21.1 KB
Content
image-20221031091807-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +12.6 KB
Content
image-20221031092053-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +8.6 KB
Content
image-20221101160705-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +6.1 KB
Content
image-20221101161318-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +46.3 KB
Content
image-20221101161951-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +131.0 KB
Content
image-20221101162527-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +290.1 KB
Content
image-20221102105419-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +37.3 KB
Content
image-20221102110604-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +35.9 KB
Content
image-20221102114002-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +50.1 KB
Content
image-20221102140053-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +45.6 KB
Content
image-20221103140645-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +39.1 KB
Content
image-20221103142228-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +37.7 KB
Content
image-20221103142416-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +325.9 KB
Content
image-20221103143528-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +25.2 KB
Content
image-20221103143618-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +25.1 KB
Content
image-20221103144405-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +32.8 KB
Content
image-20221103152033-7.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +25.3 KB
Content
image-20221103152238-8.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +32.8 KB
Content
image-20221104100344-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +137.0 KB
Content
image-20221104100520-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +140.7 KB
Content
image-20221104102736-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +325.9 KB
Content
image-20221104155612-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +384.2 KB
Content
image-20221104155654-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +35.5 KB
Content
image-20221104155724-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +42.4 KB
Content
image-20221104155907-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +66.7 KB
Content
image-20221104155928-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +49.5 KB
Content
image-20221104155949-6.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +46.0 KB
Content
image-20221108164337-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +17.5 KB
Content
image-20221108164413-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +27.1 KB
Content
image-20221108170314-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +34.6 KB
Content
image-20221108170621-4.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +544.6 KB
Content
image-20221108170731-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +2.5 MB
Content
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
image-20221108180334-10.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +159.3 KB
Content
image-20221108180458-11.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +52.4 KB
Content
serial USB.json
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +5.1 KB
Content
... ... @@ -1,0 +1,244 @@
1 +[
2 + {
3 + "id": "5f10779accc05655",
4 + "type": "tab",
5 + "label": "serial USB",
6 + "disabled": false,
7 + "info": "",
8 + "env": []
9 + },
10 + {
11 + "id": "4ea60ce4df40717c",
12 + "type": "serial in",
13 + "z": "5f10779accc05655",
14 + "name": "",
15 + "serial": "bb1c0e81fd51fa9e",
16 + "x": 230,
17 + "y": 60,
18 + "wires": [
19 + [
20 + "a8a0db18429e7d84"
21 + ]
22 + ]
23 + },
24 + {
25 + "id": "a8a0db18429e7d84",
26 + "type": "debug",
27 + "z": "5f10779accc05655",
28 + "name": "debug 1",
29 + "active": true,
30 + "tosidebar": true,
31 + "console": false,
32 + "tostatus": false,
33 + "complete": "false",
34 + "statusVal": "",
35 + "statusType": "auto",
36 + "x": 440,
37 + "y": 60,
38 + "wires": []
39 + },
40 + {
41 + "id": "fe5a93a52b6adcf1",
42 + "type": "inject",
43 + "z": "5f10779accc05655",
44 + "name": "AT+SEND=1,hello world,0,3",
45 + "props": [
46 + {
47 + "p": "payload"
48 + }
49 + ],
50 + "repeat": "",
51 + "crontab": "",
52 + "once": false,
53 + "onceDelay": 0.1,
54 + "topic": "",
55 + "payload": "AT+SEND=1,hello world,0,3",
56 + "payloadType": "str",
57 + "x": 200,
58 + "y": 140,
59 + "wires": [
60 + [
61 + "3f8add7e2e1d1d17"
62 + ]
63 + ]
64 + },
65 + {
66 + "id": "3f8add7e2e1d1d17",
67 + "type": "serial out",
68 + "z": "5f10779accc05655",
69 + "name": "",
70 + "serial": "bb1c0e81fd51fa9e",
71 + "x": 530,
72 + "y": 140,
73 + "wires": []
74 + },
75 + {
76 + "id": "16e7d3d83d9e9415",
77 + "type": "inject",
78 + "z": "5f10779accc05655",
79 + "name": "",
80 + "props": [
81 + {
82 + "p": "payload"
83 + }
84 + ],
85 + "repeat": "",
86 + "crontab": "",
87 + "once": false,
88 + "onceDelay": 0.1,
89 + "topic": "",
90 + "payload": "ATZ",
91 + "payloadType": "str",
92 + "x": 270,
93 + "y": 200,
94 + "wires": [
95 + [
96 + "3f8add7e2e1d1d17"
97 + ]
98 + ]
99 + },
100 + {
101 + "id": "09ea381519629dae",
102 + "type": "inject",
103 + "z": "5f10779accc05655",
104 + "name": "AT+FRE",
105 + "props": [
106 + {
107 + "p": "payload"
108 + }
109 + ],
110 + "repeat": "",
111 + "crontab": "",
112 + "once": false,
113 + "onceDelay": 0.1,
114 + "topic": "",
115 + "payload": "AT+FRE=868.100,868.100",
116 + "payloadType": "str",
117 + "x": 260,
118 + "y": 260,
119 + "wires": [
120 + [
121 + "3f8add7e2e1d1d17"
122 + ]
123 + ]
124 + },
125 + {
126 + "id": "5167a7f904013ffd",
127 + "type": "inject",
128 + "z": "5f10779accc05655",
129 + "name": "AT+BW",
130 + "props": [
131 + {
132 + "p": "payload"
133 + }
134 + ],
135 + "repeat": "",
136 + "crontab": "",
137 + "once": false,
138 + "onceDelay": 0.1,
139 + "topic": "",
140 + "payload": "AT+BW=0,0",
141 + "payloadType": "str",
142 + "x": 270,
143 + "y": 320,
144 + "wires": [
145 + [
146 + "3f8add7e2e1d1d17"
147 + ]
148 + ]
149 + },
150 + {
151 + "id": "dbe4abbc730c76e6",
152 + "type": "inject",
153 + "z": "5f10779accc05655",
154 + "name": "AT+SF",
155 + "props": [
156 + {
157 + "p": "payload"
158 + }
159 + ],
160 + "repeat": "",
161 + "crontab": "",
162 + "once": false,
163 + "onceDelay": 0.1,
164 + "topic": "",
165 + "payload": "AT+SF=12,12",
166 + "payloadType": "str",
167 + "x": 270,
168 + "y": 380,
169 + "wires": [
170 + [
171 + "3f8add7e2e1d1d17"
172 + ]
173 + ]
174 + },
175 + {
176 + "id": "3be3ab296a75d512",
177 + "type": "inject",
178 + "z": "5f10779accc05655",
179 + "name": "AT+RXMOD",
180 + "props": [
181 + {
182 + "p": "payload"
183 + }
184 + ],
185 + "repeat": "",
186 + "crontab": "",
187 + "once": false,
188 + "onceDelay": 0.1,
189 + "topic": "",
190 + "payload": "AT+RXMOD=65535,0",
191 + "payloadType": "str",
192 + "x": 250,
193 + "y": 440,
194 + "wires": [
195 + [
196 + "3f8add7e2e1d1d17"
197 + ]
198 + ]
199 + },
200 + {
201 + "id": "7a03d1413c60ea1c",
202 + "type": "inject",
203 + "z": "5f10779accc05655",
204 + "name": "AT+SYNCWORD",
205 + "props": [
206 + {
207 + "p": "payload"
208 + }
209 + ],
210 + "repeat": "",
211 + "crontab": "",
212 + "once": false,
213 + "onceDelay": 0.1,
214 + "topic": "",
215 + "payload": "AT+SYNCWORD=0",
216 + "payloadType": "str",
217 + "x": 240,
218 + "y": 500,
219 + "wires": [
220 + [
221 + "3f8add7e2e1d1d17"
222 + ]
223 + ]
224 + },
225 + {
226 + "id": "bb1c0e81fd51fa9e",
227 + "type": "serial-port",
228 + "serialport": "/dev/ttyUSB0",
229 + "serialbaud": "9600",
230 + "databits": "8",
231 + "parity": "none",
232 + "stopbits": "1",
233 + "waitfor": "",
234 + "dtr": "none",
235 + "rts": "none",
236 + "cts": "none",
237 + "dsr": "none",
238 + "newline": "\\n",
239 + "bin": "false",
240 + "out": "char",
241 + "addchar": "\\n",
242 + "responsetimeout": "10000"
243 + }
244 +]
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0