<
From version < 22.1 >
edited by Kilight Cao
on 2022/10/31 09:18
To version < 82.1 >
edited by Kilight Cao
on 2022/11/08 17:24
>
Change comment: Uploaded new attachment "image-20221108172432-7.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  
... ... @@ -102,12 +102,12 @@
102 102  
103 103  
104 104  
105 -= ** 2. Quick Start** =
105 += **2. Quick Start** =
106 106  
107 107  
108 -The LPS8-V2 supports network access via Ethernet or Wi-Fi connection and runs without a network.
108 +The LG01-V2 supports network access via Ethernet or Wi-Fi connection and runs without a network.
109 109  
110 -In most cases, the first thing you need to do is make the lps8-v2 accessible to the network.
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 113  == **2.1 Connects to the network and accesses the gateway Web UI** ==
... ... @@ -119,51 +119,127 @@
119 119  === (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ===
120 120  
121 121  
122 -Connect the LPS8-V2 Ethernet port to your router and LPS8 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 LPS8-V2.
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 123  
124 124  You can also use this IP to connect.
125 125  
126 +
126 126  [[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"]]
127 127  
128 -=== **Method 2**:  Connect via WiFi with DHCP IP from the router ===
129 129  
130 -[[image:image-20220622100542-2.png||height="369" width="1256"]]
130 +=== (% style="color:blue" %)**Method 2**(%%):  Connect via WiFi with DHCP IP from the router ===
131 131  
132 -The LPS8-V2 has a fall-back IP address on its WAN port. you have to access the gateway Web-UI to configure the WiFi connection via the fallback IP address.
133 133  
134 -**Steps to connect via fallback IP:**
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"]]
135 135  
136 -~1. Connect PC's Ethernet port to LPS8-V2's WAN port
137 137  
138 -2. Configure PC's Ethernet port has  IP: 172.31.255.253 and Netmask: 255.255.255.252
136 +Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply**
139 139  
140 -[[image:image-20220622101433-4.png]]
141 141  
142 -and then On the PC, use the IP address **http:~/~/172.31.255.254** to access the LPS8-V2 via Web or Console.
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"]]
143 143  
144 -[[image:image-20220622102210-5.png||height="504" width="919"]]
145 145  
146 -Fill in the WiFi information by checking the box and clicking **Save&Apply**
142 +**Wi-Fi configuration successful**
147 147  
148 -[[image:image-20220622102702-6.png]]
149 149  
150 -**Wi-Fi configuration successful**
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"]]
151 151  
152 -[[image:image-20220622102847-7.png]]
153 153  
154 -[[image:image-20220622102901-8.png||height="476" width="938"]]
155 155  
149 += **3. Web Configure Pages** =
156 156  
151 +== **3.1 Home** ==
157 157  
153 +//Shows the system running status~://
158 158  
159 -= **3. How to configure the LA66 module** =
155 +[[image:image-20221104155612-1.png||height="497" width="942"]]
160 160  
161 161  
162 -== **3.1 Access the LA66 module** ==
158 +== **3.2 Network Settings** ==
163 163  
164 164  
165 -Users can access the LA66 module by running the following command, then select the option **''serial port setup"**:
161 +=== **3.2.1 Network ~-~-> WiFi** ===
166 166  
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 +
167 167  (% class="box infomessage" %)
168 168  (((
169 169  **root@dragino-2406ef:~~# minicom -s**
... ... @@ -188,38 +188,154 @@
188 188  
189 189  Enter **AT+CFG **in the interface to get the configuration,
190 190  
191 -[[image:image-20221029172156-1.png||height="315" width="358"]]
192 192  
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 +)))
193 193  
194 -LG01v2 Peer to Peer example:
195 195  
196 -(% style="color:red" %)**LG01v2 as Receiver: (configured as AT+RXMOD=65535,2)**
286 +== **5.2 Example: LG01**-**V2 Peer-to-Peer** ==
197 197  
198 198  
199 -
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 LA66 Shield uses **AT+SEND=1,hello world,2,3** to simulate sending data,
293 +
294 +**Prerequisites: **The configuration of LG01-V2 and  LA66 Shield must match, users can use **AT+CFG** to check all configurations.
295 +
296 +
297 +(% style="color:red; font-weight:bold" %)**LG01-V**(% style="color:red" %)**2 as Receiver: (configured as AT+RXMOD=65535,2)**
298 +
299 +
300 +**LG01-V2 configuration:**
301 +
302 +(% class="box infomessage" %)
303 +(((
304 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
305 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
306 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
307 +AT+POWER=14  ~-~--> TX Power Range set: 14dBm
308 +AT+CRC=1,1  ~-~--> TX and RX CRC Type
309 +AT+HEADER=0,0  ~-~--> TX and RX Header Type
310 +AT+CR=1,1  ~-~--> TX and RX Coding Rate
311 +AT+IQ=0,0  ~-~--> TX and RX InvertIQ
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 0x12
314 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode, RX window always open
315 +AT+RXDAFORM=1    
200 200  )))
201 201  
202 -= **7. Trouble Shooting** =
318 +[[image:image-20221102140053-4.png]]
203 203  
204 204  
205 -== 7.1  I can't log in to the built-in Server TTN Stack which shows '**Login failed**'. ==
321 +(% style="color:red" %)**LA66 Shield as Sender: (AT+SEND=1,hello world,2,3)**
206 206  
323 +[[image:1667456058832-484.png||height="291" width="353"]]
207 207  
208 208  
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/]]
327 +)))
209 209  
210 -This is caused by the inconsistency between the built-in TTN-Stack domain configuration and your login URL.
211 211  
212 -By default, ttn-stack uses the gateway's domain name for URL resolution, but in some networks, they prefer to resolve IP-v4 addresses.
330 +Users can import this example in node-red: **[[attach:serial USB.json||target="_blank"]]**
213 213  
332 +[[image:image-20221104100520-2.png||height="605" width="1150"]]
214 214  
215 -So you can change the domain name of the TTN-Stack configuration to the IPv4 address.
216 216  
217 -**Click the update URL button to configure the URL with the current eth port address.**
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(%%)** =
218 218  
219 219  
338 +(% style="color:blue" %)**USB TTL to LG01-V2  Connection:**
220 220  
221 221  
341 +Port 1 of the UART on the LG01-V2 is GND
222 222  
343 +(% class="box infomessage" %)
344 +(((
345 +**TXD  <~-~--> UART RXD (Gray line)**
346 +
347 +**RXD  <~-~--> UART TXD (White line)**
348 +
349 +**GND <~-~--> GND (Black line)**
350 +)))
351 +
352 +
353 +**LG01-V2 UART connection photo**
354 +
355 +[[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"]]
356 +
357 +
358 +
359 +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:
360 +
361 +
362 +[[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"]]
363 +
364 +[[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"]]
365 +
366 +
367 += **7. FAQ** =
368 +
369 +
370 +== **7.1 How does LG01-V2 communicate with Lora shield (LoRa.h)** ==
371 +
372 +
373 +This example describes how to use LG01-V2, LoRa Shield to set up a LoRa network
374 +
375 +[[image:image-20221103152238-8.png||height="251" width="654"]]
376 +
377 +
378 +(% style="color:red" %)**Prerequisites: The configurations of LG01-V2 and Lora shield must match**
379 +
380 +**LG01-V2 configuration:**
381 +
382 +(% class="box infomessage" %)
383 +(((
384 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
385 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
386 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
387 +AT+POWER=14  ~-~--> TX Power Range
388 +AT+CRC=1,1  ~-~--> TX and RX CRC Type
389 +AT+HEADER=0,0  ~-~--> TX and RX Header Type
390 +AT+CR=1,1  ~-~--> TX and RX Coding Rate
391 +AT+IQ=0,0  ~-~--> TX and RX InvertIQ
392 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
393 +AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
394 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode,RX window always open
395 +AT+RXDAFORM=1    
396 +)))
397 +
398 +**Lora shield configuration:**
399 +
400 +Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]]
401 +
402 +[[image:image-20221101161318-2.png]]
403 +
404 +
405 +**Test LG01-V2 to receive Lora Shield data:**
406 +
407 +[[image:image-20221101161951-3.png]]
408 +
409 +
410 +**Test the LG01-V​​​​​​​2 to send data:**
411 +
412 +[[image:image-20221101162527-4.png]]
413 +
414 +
223 223  = (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) =
224 224  
225 225  
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 +
arduino-LoRa-master.zip
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Kilight
Size
... ... @@ -1,0 +1,1 @@
1 +28.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
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