<
From version < 147.1 >
edited by Kilight Cao
on 2023/10/14 09:30
To version < 55.1 >
edited by Kilight Cao
on 2022/11/03 14:36
>
Change comment: Uploaded new attachment "image-20221103143618-5.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -11,33 +11,26 @@
11 11  
12 12  {{toc/}}
13 13  
14 += **1. Introduction** =
14 14  
15 15  
17 +== **1.1 What is LG01v2** ==
16 16  
17 17  
18 -
19 -= 1. Introduction =
20 -
21 -== 1.1 What is LG01v2 ==
22 -
23 -
24 24  (((
25 25  (((
26 -The LG01v2 is an (% style="color:blue" %)**open-source single channel LoRa Gateway**(%%). It lets you bridge LoRa wireless network to an IP network via (% style="color:blue" %)**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.
27 -
28 -LG01v2 is specially design for (% style="color:blue" %)**peer to peer LoRa**(%%) protocol instead of LoRaWAN protocol. The LG01v2 use single channel LoRa module to minimize the deployment cost for a private p2p LoRa wireless network.
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.
29 29  )))
30 30  
31 31  (((
32 -LG01v2 uses Open Source Linux system. User can modify the Linux part and develop customize software base on it. It has (% style="color:blue" %)**1.2Ghz Quad-Core CPU**(%%) , (% style="color:blue" %)**4GB eMMC storage**(%%) and (% style="color:blue" %)**512MB RAM**(%%) for most application.
33 -
34 -LG01v2 supports (% style="color:blue" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it.
26 +LG01v2 supports (% style="color:green" %)**remote management**(%%). System Integrator can easy to remote monitor the gateway and maintain it.
35 35  )))
36 36  
37 37  
38 -== 1.2 Specifications ==
39 39  
31 +== **1.2 Specifications** ==
40 40  
33 +
41 41  (% style="color:#037691" %)**Hardware System:**
42 42  
43 43  * CPU: Quad-core Cortex-A7 1.2Ghz
... ... @@ -55,7 +55,7 @@
55 55  * Storage Temperature: -20 ~~ 65°C
56 56  * Power Input: 5V, 2A, DC
57 57  
58 -== 1.3 Features ==
51 +== **1.3 Features** ==
59 59  
60 60  
61 61  * Open Source Debian system
... ... @@ -63,255 +63,175 @@
63 63  * Remote Management
64 64  * Auto-provisioning for batch deployment and management
65 65  * LoRa Gateway
59 +* Built-in (% style="color:#037691" %)//**The Things Network**//(%%) local LoRaWAN server
66 66  * Built-in  (% style="color:#037691" %)//**Node-Red**// (%%)local Application server
67 67  
68 -== 1.4 Block Diagram ==
62 +== **1.4 Block Diagram** ==
69 69  
70 70  
71 71  
72 -== 1.5 LED Indicators ==
66 +== **1.5 LED Indicators** ==
73 73  
74 74  
75 75  LG01-V2 has totally four LEDs, They are:
76 76  
77 77  
78 -(% style="color:blue" %)**➢ Power LED**[[image:image-20231014092959-4.png]](%%): This RED LED will be solid if the device is properly powered
72 +(% style="color:blue" %)//**➢ Power LED**//(%%)//: This RED LED will be solid if the device is properly powered//
79 79  
80 -(% style="color:blue" %)**➢ ETH LED**[[image:image-20231014092934-2.png]](%%):  This RGB LED will blink GREEN when the ETH port is connecting
74 +(% style="color:blue" %)//**➢ ETH LED**//(%%)//:  This RGB LED will blink GREEN when the ETH port is connecting//
81 81  
82 -(% style="color:blue" %)**➢ SYS LED**[[image:image-20231014092954-3.png]](%%):  Undefined yet
76 +(% style="color:blue" %)//**➢ SYS LED**//(%%)//This RGB LED will show different colors in different states~://
83 83  
84 -(% style="color:blue" %)**➢ WIFI LED**[[image:image-20231014092843-1.png]](%%): This LED shows the WIFI interface connection status.
78 +// **SOLID GREEN:** The device is alive with a LoRaWAN server connection.//
85 85  
80 +// ✓ **BLINKING GREEN:** a) Device has internet connection but no LoRaWAN Connection. or b) Device is in booting stage, in this stage, it will BLINKING GREEN for several seconds and then with BLINKING GREEN together//
86 86  
87 -== 1.6 Button Intruction ==
82 +// ✓** SOLID RED:** Device doesn't have an Internet connection.//
88 88  
84 +(% style="color:blue" %)//**➢ WIFI LED**//(%%)//: This LED shows the WIFI interface connection status.//
89 89  
90 -LG01-V2 has a black toggle button, which is:
91 91  
92 92  
93 -(% style="color:blue" %)**➢ Long press 4-5s  : **(%%)the gateway will reload the Network anInitialize wifi configuration
88 +== **1.6 Button Intruction** ==
94 94  
95 - **LED status: ** ETH LED will BLINKIND BULE Until the reload is finished.
96 96  
91 +LG01v2 has a black toggle button, which is:
97 97  
98 -(% style="color:blue" %)**➢ Long press more than 10s:**(%%)**    **the gateway will restore the factory settings.
99 99  
100 - **LED status: ** ETH LED will SOLID BULE Until the restore is finished.
94 +(% style="color:blue" %)**//➢ //Long press 4-5s  : **(%%)the gateway will reload the Network and Initialize wifi configuration
101 101  
96 + // **LED status: ** ETH LED will BLINKIND BULE Until the reload is finished.//
102 102  
103 -= 2. Quick Start =
104 104  
99 +(% style="color:blue" %)//**➢ **//**Long press more than 10s:**(%%)**    **//the gateway will restore the factory settings.//
105 105  
106 -The LG01-V2 supports network access via Ethernet or Wi-Fi connection and runs without a network.
101 + //**LED status: ** ETH LED will SOLID BULE Until the restore is finished.//
107 107  
108 -In most cases, the first thing you need to do is make the LG01-v2 accessible to the network.
109 109  
110 110  
111 -== 2.1 Access and Configure LG01-v2 ==
105 += **2. Quick Start** =
112 112  
113 -=== 2.1.1 Find IP address of LG01-v2 ===
114 114  
108 +The LG01-V2 supports network access via Ethernet or Wi-Fi connection and runs without a network.
115 115  
116 -==== (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ====
110 +In most cases, the first thing you need to do is make the LG01-v2 accessible to the network.
117 117  
118 118  
119 -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.
113 +== **2.1 Connects to the network and accesses the gateway Web UI** ==
120 120  
121 -You can also use this IP to connect.
122 122  
116 +== **2.1.1 connect the network.** ==
123 123  
124 -[[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"]]
125 125  
126 -==== (% style="color:blue" %)**Method 2**(%%):  Connect via LG01v2 Fallback IP ====
119 +=== (% style="color:blue" %)**Method 1**(%%):  Connect via Ethernet with DHCP IP from the router ===
127 127  
128 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230107084650-2.png?width=839&height=310&rev=1.1||alt="image-20230107084650-2.png" height="284" width="769"]]
129 129  
122 +Connect the LG01v2 Ethernet port to your router and LG01v2 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 LG01v2.
130 130  
131 -**Steps to connect via fallback IP:**
124 +You can also use this IP to connect.
132 132  
133 -~1. Connect the PC's Ethernet port to LG01v2's WAN port
134 134  
135 -2. Configure PC's Ethernet port has IP: 172.31.255.253 and Netmask: 255.255.255.252
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"]]
136 136  
137 -**Settings ~-~-> Network & Internet ~-~-> Ethernet ~-~-> Change advanced sharing options ~-~-> Double-click"Ethernet" ~-~-> Internet Protocol Version 4 (TCP/IPv4)**
138 138  
130 +=== (% style="color:blue" %)**Method 2**(%%):  Connect via WiFi with DHCP IP from the router ===
139 139  
140 -As in the below photo:
141 141  
142 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413172038-1.png?width=1243&height=732&rev=1.1||alt="image-20230413172038-1.png" height="624" width="1059"]]
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"]]
143 143  
135 +The LG01v2 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.
144 144  
145 -Configure computer Ethernet port steps video: **[[fallback ip.mp4>>url:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/fallback%20ip.mp4?rev=1.1]]**
146 146  
147 -If you still can't access the LG01v2 fallback ip, follow this connection to debug : **[[Trouble Shooting>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20All%20Gateway%20models/LG01v2/#H10.1A0FallbackIPdoesnotwork2Chowcanuserscheck]]**
138 +(% style="color:#037691" %)**Steps to connect via fallback IP:**
148 148  
149 -3. In the PC, use IP address 172.31.255.254 to access the LG01v2 via Web or Console.
140 +~1. Connect PC's Ethernet port to LG01-V2's WAN port
150 150  
151 -[[image:image-20230506115438-13.png||height="554" width="1047"]]
142 +2. Configure PC's Ethernet port has  IP: 172.31.255.253 and Netmask: 255.255.255.252
152 152  
153 153  
145 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622101433-4.png?rev=1.1||alt="image-20220622101433-4.png"]]
154 154  
155 -==== (% style="color:blue" %)**Method 3**(%%):  Connect via WiFi with DHCP IP from the router ====
156 156  
148 +and then On the PC, use the IP address **http:~/~/172.31.255.254** to access the LG01-V2 via Web or Console.
157 157  
158 -[[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"]]
159 159  
151 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102210-5.png?width=919&height=504&rev=1.1||alt="image-20220622102210-5.png"]]
160 160  
153 +
161 161  Fill in the WiFi information by checking the box and clicking (% style="color:red" %)**Save&Apply**
162 162  
163 163  
164 -[[image:image-20230506113332-2.png]]
157 +[[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"]]
165 165  
166 166  
167 167  **Wi-Fi configuration successful**
168 168  
169 169  
170 -[[image:image-20230506113432-3.png||height="397" width="855"]]
163 +[[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"]]
171 171  
165 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102901-8.png?width=938&height=476&rev=1.1||alt="image-20220622102901-8.png"]]
172 172  
173 -=== 2.1.2 Access Configure Web UI ===
174 174  
168 += **3. Web Configure Pages** =
175 175  
176 -**Web Interface**
170 +== **3.1 Home** ==
177 177  
178 -Open a browser on the PC and type the LG01v2 ip address (depends on your connect method)
172 +//Shows the system running status~://
179 179  
174 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220622102901-8.png?rev=1.1||alt="image-20220622102901-8.png" height="476" width="939"]]
180 180  
181 -[[(% style="background-color:yellow" %)**//http:~~/~~/IP_ADDRESS //**>>http://IP_ADDRESS]](%%) or (% style="background-color:yellow" %)//**[[http:~~/~~/172.31.255.254>>http://172.31.255.254(]]**//(Fallback IP)
182 182  
183 -You will see the login interface of LG01v2 as shown below.
177 +== **3.2 Network Settings** ==
184 184  
185 -The account details for Web Login are:
186 186  
187 -(% style="color:#4f81bd" %)**User Name: root**
180 +=== **3.2.1 Network ~-~-> WiFi** ===
188 188  
189 -(% style="color:#4f81bd" %)**Password:   dragino**
190 190  
191 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230106153501-1.png?width=894&height=367&rev=1.1||alt="image-20230106153501-1.png"]]
183 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220616114756-4.png?width=669&height=251&rev=1.1||alt="image-20220616114756-4.png"]]
192 192  
193 193  
194 -= 3. Web Configure Pages =
195 195  
196 -== 3.1 Home ==
187 +=== **3.4.2 Network ~-~-> System Status** ===
197 197  
198 198  
199 -Shows the system running status:
190 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220820134112-2.png?width=668&height=539&rev=1.1||alt="image-20220820134112-2.png"]]
200 200  
201 -[[image:image-20230506113531-4.png||height="430" width="818"]]
202 202  
203 203  
204 -== 3.2 Network Settings ==
194 +=== **3.4.3 Network ~-~-> Firewall** ===
205 205  
206 -=== 3.2.1 Network ~-~-> WiFi ===
207 207  
197 +[[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"]]
208 208  
209 -[[image:image-20230506113602-5.png]]
210 210  
211 211  
212 -=== 3.4.2 Network ~-~-> System Status ===
201 +== **3.5 System** ==
213 213  
214 214  
215 -[[image:image-20230506113623-6.png||height="511" width="672"]]
204 +=== **3.5.1  System ~-~-> System Overview** ===
216 216  
217 217  
218 -== 3.5 System ==
219 -
220 -=== 3.5.1  System ~-~-> System Overview ===
221 -
222 -
223 223  Shows the system info:
224 224  
225 -[[image:image-20230506113705-7.png]]
209 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220917144512-5.png?width=853&height=618&rev=1.1||alt="image-20220917144512-5.png"]]
226 226  
227 227  
228 -=== 3.5.2 System ~-~-> Backup/Restore ===
229 229  
213 +=== **3.5.2 System ~-~-> Backup/Restore** ===
230 230  
231 -[[image:image-20230506113722-8.png||height="254" width="797"]]
232 232  
216 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220917144725-6.png?width=869&height=208&rev=1.1||alt="image-20220917144725-6.png"]]
233 233  
234 -=== 3.5.3 System ~-~-> System General ===
235 235  
236 236  
237 -In the **System-> System General** interface, Users can customize the configuration System Password and set Timezone.
220 += **4. How to configure the Lora Gateway** =
238 238  
239 -In addition, Users can customize the FallBack IP address.
240 240  
241 -[[image:image-20230506113813-10.png||height="659" width="749"]]
223 +== **4.1 Access the Lora configuration page** ==
242 242  
243 243  
244 -=== 3.5.4 System ~-~-> Remoteit ===
226 +Users can access the LA66 module by running the following command, then select the option **''serial port setup"**:
245 245  
246 -
247 -In the **System-> Remoteit** interface, users can configure the gateway to be accessed remotely via Remote.it.
248 -
249 -the users can refer to this link to configure them: **[[Monitor & Remote Access Gateway>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Monitor%20%26%20Remote%20Access%20Gateway/?Remote%20Access#H2.1A0RemoteAccessviaRemote.it.]]**
250 -
251 -[[image:image-20230506113831-11.png||height="567" width="748"]]
252 -
253 -
254 -=== 3.5.5 System ~-~-> Package Management ===
255 -
256 -
257 -In the **System ~-~-> Package Management** interface, Users can check the current version of Core Packages.
258 -
259 -[[image:image-20230506114127-12.png||height="803" width="762"]]
260 -
261 -
262 -= (% id="cke_bm_1978S" style="display:none" %) (%%)4. Build in Server =
263 -
264 -
265 -The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red**
266 -
267 -
268 -[[image:image-20230506113737-9.png]]
269 -
270 -
271 -(% style="color:red" %)**Note:**
272 -
273 - **Path**: System ~-~-> Built-in Server
274 -
275 -
276 -(% style="color:blue" %)**Troubleshooting:**
277 -
278 -**~ 1. URL does not jump properly**
279 -
280 - For the Node-Red, you can use the local IP address and the port is 1880 to access it.
281 -
282 -
283 -== 4.1 Application Server ~-~- Node-Red ==
284 -
285 -
286 -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.
287 -
288 -
289 -Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880  or http:~/~/<Local-IPV4-Address>//**__
290 -
291 -
292 -[[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"]]
293 -
294 -
295 -= 5. How to configure the Lora Gateway =
296 -
297 -== 5.1 Configure and Debug LoRa wireless of LG01v2 ==
298 -
299 -
300 -First, the user needs to access the Linux console of LG01v2 via ssh
301 -
302 -**IP address:  (% style="color:blue" %)IP address of LG01v2(%%)**
303 -
304 -**Port:  (% style="color:blue" %)22(%%)**
305 -
306 -**User Name:   (% style="color:blue" %)root(%%)**
307 -
308 -**Password:  (% style="color:blue" %)dragino(default)(%%)**
309 -
310 -[[image:image-20230504100722-3.png||height="228" width="908"]]
311 -
312 -
313 -Users can access the Lora configuration page by running the following command, then select the option **''serial port setup"**:
314 -
315 315  (% class="box infomessage" %)
316 316  (((
317 317  **root@dragino-2406ef:~~# minicom -s**
... ... @@ -330,9 +330,7 @@
330 330  )))
331 331  
332 332  
333 -(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**
334 -
335 -
246 +(% style="color:red" %)**Note: Enter the corresponding letter to change the configuration, like A,B,C**(%%)
336 336  (% style="color:red" %)[[image:image-20221029174703-3.png]]
337 337  
338 338  
... ... @@ -341,193 +341,119 @@
341 341  
342 342  (% class="box infomessage" %)
343 343  (((
344 -**AT+FRE=868.100,868.100  ~-~--> TX and RX frequency
345 -AT+GROUPMOD=0,0  ~-~-->  TX and RX group
346 -AT+BW=0,0  ~-~-->  TX and RX Bandwidth
347 -AT+SF=12,12  ~-~-->  TX and RX Spreading Factor
348 -AT+POWER=14  ~-~-->  TX Power Range
349 -AT+CRC=1,1  ~-~-->  TX and RX CRC Type
350 -AT+HEADER=0,0  ~-~-->  TX and RX Header Type
351 -AT+CR=1,1  ~-~-->  TX and RX Coding Rate
352 -AT+IQ=0,0  ~-~-->  TX and RX InvertIQ
353 -AT+PREAMBLE=8,8  ~-~-->  TX and RX Preamble Length
354 -AT+SYNCWORD=0  ~-~-->  Syncword(0: private,1: public)
355 -AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode
356 -AT+RXDAFORM=1**                              
357 -)))
358 -
359 -
360 -== 5.2 Example: LG01v2 ==
361 -
362 -=== 5.2.1 Introduce for the example: ===
363 -
364 -
365 -[[image:image-20221104102736-3.png||height="282" width="723"]]
366 -
367 -
368 -In this example, there are two devices:
369 -
370 -* **LA66 Shield + UNO + DHT11**: The UNO will get the temperature and humidity and broadcast the value via LoRa protocol.
371 -* **LG01v2** : LG01v2 is set to listening the LoRa Channel which LA66 is broadcasting. When LG01v2 get the data from LA66, LG01v2 will plot the data in built-in IoT server.
372 -
373 -=== 5.2.2 Set Up LA66 Shield + UNO ===
374 -
375 -
376 -==== **Set up LA66 Module** ====
377 -
378 -
379 -LA66 Module is loaded with the firmware **[[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/]] **and user can use AT Command to set up LA66 with below parameters:
380 -
381 -(((
382 -(% style="color:red" %)**LA66 Shield as Sender: **
383 -
384 -(% class="box infomessage" %)
385 -(((
386 -**LA66 Shield configuration:**
387 -
388 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
389 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
390 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
391 -AT+POWER=14  ~-~--> TX Power Range set: 14dBm
255 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency
256 +AT+GROUPMOD=0,0  ~-~--> TX and RX group
257 +AT+BW=0,0  ~-~--> TX and RX Bandwidth
258 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor
259 +AT+POWER=14  ~-~--> TX Power Range
392 392  AT+CRC=1,1  ~-~--> TX and RX CRC Type
393 393  AT+HEADER=0,0  ~-~--> TX and RX Header Type
394 394  AT+CR=1,1  ~-~--> TX and RX Coding Rate
395 395  AT+IQ=0,0  ~-~--> TX and RX InvertIQ
396 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
264 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length
397 397  AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
398 -AT+RXMOD=6,0  ~-~-->  Rx Timeout and Reply mode
266 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode
267 +AT+RXDAFORM=1                              
399 399  )))
400 -)))
401 401  
402 402  
271 +== **4.2 Example: LG01v2 Peer-to-Peer** ==
403 403  
404 -==== **Set up Arduino UNO** ====
405 405  
406 -(% id="cke_bm_1033249S" style="display:none" %)** **
274 +[[image:image-20221103140645-1.png]]
407 407  
408 -**Hardware Connection**
276 +The user can run the AT command to set the LG01v2 RX window always open as a Receiver, the Sender uses **AT+SEND=1,hello world,2,3** to simulate sending data,
409 409  
410 -(% class="box infomessage" %)
411 -(((
412 -**The DHT11 sensor connects to the LA66 Shield:**
278 +**Prerequisites: **The configuration of LG01v2 and Sender must match, users can use **AT+CFG** to check all configurations.
413 413  
414 -**VCC  <~-~--> 3.3V (Red line)**
415 -**DATA <~-~--> PIN8 (Purple line)**
416 -**GND  <~-~--> GND (White line)**
417 -)))
418 418  
419 -[[image:image-20221108170731-5.png||height="588" width="441"]]
281 +(% style="color:red" %)**LG01v2 as Receiver: (configured as AT+RXMOD=65535,2)**
420 420  
283 +[[image:image-20221102140053-4.png]]
421 421  
422 422  
423 -===== **1. Open Arduino IDE** =====
286 +(% style="color:red" %)**Sender: (AT+SEND=1,hello world,2,3)**
424 424  
288 +[[image:image-20221031092053-4.png]]
425 425  
426 -[[image:image-20221108172149-6.png||height="650" width="542"]]
427 427  
291 +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/]]
292 +)))
428 428  
429 429  
430 -===== **2. Open project** =====
295 += **5. Build in Server** =
431 431  
432 432  
433 -Users can download Arduino files from this link: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.ino||target="_blank"]]
298 +The default factory version of LG01-V2 is installed with the built-in Applicant server: (% style="color:blue" %)**Node-Red**
434 434  
435 -Then click Compile and Upload to LA66 Shield,
436 436  
437 -[[image:image-20221108172432-7.png]]
301 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20220820115644-1.png?width=778&height=217&rev=1.1||alt="image-20220820115644-1.png"]]
438 438  
439 439  
304 +(% style="color:red" %)**Note:**
440 440  
441 -===== **3. Open the Serial Monitor to check the LA66 Shield data** =====
306 + **Path**: System ~-~-> Built-in Server
442 442  
443 443  
444 -The UNO will now reads the temperature and humidity data from the sensor and broadcast it via LoRa wireless,
309 +**Troubleshooting:**
445 445  
446 -[[image:image-20221108174840-8.png||height="731" width="671"]]
447 447  
312 +**~ 1. URL does not jump properly**
448 448  
314 + For the Node-Red, you can use the local IP address and the port is 1880 to access it.
449 449  
450 -Sending out data as below.
451 451  
452 -[[image:image-20221108175113-9.png||height="556" width="998"]]
453 453  
318 +== **5.1 Application Server ~-~- Node-Red** ==
454 454  
455 -=== 5.2.3 Set Up LG01v2 ===
456 456  
321 +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.
457 457  
458 -Configure LG01v2 LoRa channel parameters so it can get data from LA66 Shield
459 459  
460 -(% style="color:red; font-weight:bold" %)**LG01v**(% style="color:red" %)**2 as Receiver(configured as AT+RXMOD=65535,2)**
324 +Such as (% style="background-color:yellow" %)__**//http:~/~/dragino-54ff12:1880  or http:~/~/<Local-IPV4-Address>//**__
461 461  
462 -(% class="box infomessage" %)
463 -(((
464 -**LG01-V2 configuration:**
465 465  
466 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
467 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
468 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
469 -AT+POWER=14  ~-~--> TX Power Range set: 14dBm
470 -AT+CRC=1,1  ~-~--> TX and RX CRC Type
471 -AT+HEADER=0,0  ~-~--> TX and RX Header Type
472 -AT+CR=1,1  ~-~--> TX and RX Coding Rate
473 -AT+IQ=0,0  ~-~--> TX and RX InvertIQ
474 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
475 -AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
476 -AT+RXMOD=65535,2  ~-~-->  Rx Timeout and Reply mode, RX window always open**(0:No ACK, 1:Reply mode, 2:Send an ACK once got a message from another device. ACK Content is 0x00 FF )**
477 -)))
327 +[[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"]]
478 478  
479 479  
480 -=== 5.2.4 Test result ===
330 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**6. How users can access LG01v2 using serial USB**(%%) =
481 481  
482 482  
483 -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).**
484 -)))
333 +(% style="color:blue" %)**USB TTL to LG01v2  Connection:**
485 485  
486 -When LG01v2 replies with ACK when it receives a packet sent by LA66 sheild.
487 487  
488 -[[image:image-20221108164413-2.png]]
336 +Port 1 of the UART on the LG01v2 is GND
489 489  
338 +(% class="box infomessage" %)
339 +(((
340 +**TXD  <~-~--> UART RXD (Gray line)**
490 490  
342 +**RXD  <~-~--> UART TXD (White line)**
491 491  
492 -In the real-time log of LG01v2:
344 +**GND <~-~--> GND (Black line)**
345 +)))
493 493  
494 -[[image:image-20221108170314-3.png]]
495 495  
348 +**LG01v2 UART connection photo**
496 496  
497 -=== 5.2.5 Plot data chart in LG01v2 ===
350 +[[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"]]
498 498  
499 499  
500 -User can plot the temperature and humidity chat via LG01v2 built-in IoT server.
501 501  
502 -User can import this example in Node-Red: [[attach:Log-Temperature-Sensor-and-send-data-to-Node-red.json||target="_blank"]]
354 +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:
503 503  
504 -[[image:image-20221108180334-10.png||height="651" width="1141"]]
505 505  
357 +[[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"]]
506 506  
507 -The temperature and humidity chart is displayed in the built-in node-red UI
359 +[[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"]]
508 508  
509 -**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)**
510 510  
511 -[[image:image-20221108180458-11.png||height="402" width="1137"]]
362 += **7. FAQ** =
512 512  
513 513  
365 +== **7.1 How does LG01v2 communicate with Lora shield (LoRa.h)** ==
514 514  
515 -= 6. OTA System Update =
516 516  
517 -
518 -LG01v2 supports system auto update via OTA, please see **[[this URL>>url:http://wiki.dragino.com/xwiki/bin/view/OTA%20Update/]]** for the detail of this feature.
519 -
520 -
521 -= 7. FAQ =
522 -
523 -== 7.1 How does LG01v2 communicate with Lora shield (LoRa.h) ==
524 -
525 -
526 -This example describes how to use LG01v2, LoRa Shield to set up a LoRa network,
527 -
528 -[[image:image-20221103152238-8.png||height="251" width="654"]]
529 -
530 -
531 531  (% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match**
532 532  
533 533  **LG01v2 configuration:**
... ... @@ -534,22 +534,20 @@
534 534  
535 535  (% class="box infomessage" %)
536 536  (((
537 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
538 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
539 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
374 +AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set :868100000
375 +AT+BW=0,0  ~-~--> TX and RX Bandwidth set : 125kHz
376 +AT+SF=12,12  ~-~--> TX and RX Spreading Factor
540 540  AT+POWER=14  ~-~--> TX Power Range
541 541  AT+CRC=1,1  ~-~--> TX and RX CRC Type
542 542  AT+HEADER=0,0  ~-~--> TX and RX Header Type
543 543  AT+CR=1,1  ~-~--> TX and RX Coding Rate
544 544  AT+IQ=0,0  ~-~--> TX and RX InvertIQ
545 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
546 -AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
547 -AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode,RX window always open
382 +AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length
383 +AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public)**
384 +AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode
548 548  AT+RXDAFORM=1    
549 549  )))
550 550  
551 -
552 -
553 553  **Lora shield configuration:**
554 554  
555 555  Lora Shield example: [[attach:LoRa_Shield_Sketch_For_MQTT.ino||target="_blank"]] , [[attach:arduino-LoRa-master.zip||target="_blank"]]
... ... @@ -557,195 +557,65 @@
557 557  [[image:image-20221101161318-2.png]]
558 558  
559 559  
560 -
561 561  **Test LG01v2 to receive Lora Shield data:**
562 562  
563 563  [[image:image-20221101161951-3.png]]
564 564  
565 565  
566 -
567 567  **Test the LG01v2 to send data:**
568 568  
569 569  [[image:image-20221101162527-4.png]]
570 570  
571 571  
572 -== 7.2 How does LG01v2 communicate with Heltec LoRa Node ==
405 += (% style="color:inherit; font-family:inherit; font-size:29px" %)**8. Supports**(%%) =
573 573  
574 574  
575 -This example describes how to use LG01v2 and Heltec LoRa Node to set up a LoRa network,
576 -
577 -[[image:image-20221112161111-2.png||height="258" width="692"]]
578 -
579 -(% style="color:red" %)**Prerequisites: The configurations of LG01v2 and Lora shield must match**
580 -
581 -
582 -**LG01v2 configuration:**
583 -
584 -(% class="box infomessage" %)
585 585  (((
586 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
587 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
588 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
589 -AT+POWER=14  ~-~--> TX Power Range
590 -AT+CRC=1,1  ~-~--> TX and RX CRC Type
591 -AT+HEADER=0,0  ~-~--> TX and RX Header Type
592 -AT+CR=1,1  ~-~--> TX and RX Coding Rate
593 -AT+IQ=0,0  ~-~--> TX and RX InvertIQ
594 -AT+PREAMBLE=8,8  ~-~--> TX and RX Preamble Length set: 8
595 -AT+SYNCWORD=0  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
596 -AT+RXMOD=65535,0  ~-~-->  Rx Timeout and Reply mode,RX window always open
597 -AT+RXDAFORM=1  ~-~--> RX data format**(0: Hex ,1: String)**
409 +**//If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].//**
598 598  )))
599 599  
600 -
601 -After we upload the sketch to Heltec LoRa Node, we can see below output from Arduino.
602 -
603 -Lora Shield example: [[attach:LoRa_send_trial.ino||target="_blank"]]
604 -
605 -[[image:image-20221112162733-3.png||height="524" width="927"]]
606 -
607 -
608 -And we can see the logread of gateway as below, means the packet arrive gateway:
609 -
610 -[[image:image-20221112163119-4.png||height="808" width="560"]]
611 -
612 -
613 -== 7.3 How does LG01v2 communicate with LoRaWAN node ==
614 -
615 -
616 -This example describes how to use LG01v2 and LSN50 to set up a  network,
617 -
618 -In this case, users need to set LSN50 to work in ABP mode and transmit in only one frequency.
619 -
620 -Assume we have a LG01v2 working in the frequency 868100000 now, below is the steps.
621 -
622 -
623 -**Step1: **Configure the LG01v2
624 -
625 -(% class="box infomessage" %)
626 626  (((
627 -AT+FRE=868.100,868.100  ~-~--> TX and RX frequency set: 868100000
628 -AT+BW=0,0  ~-~--> TX and RX Bandwidth set: 125kHz
629 -AT+SF=12,12  ~-~--> TX and RX Spreading Factor set: SF12
630 -AT+SYNCWORD=1  ~-~-->  Syncword**(0: private,1: public), **the corresponding Lora shield syncword is 0x12
631 -)))
413 +**//With your question as detailed as possible. We will reply and help you in the shortest.//**
632 632  
633 -**Step2:  **Run AT commands to make the LSN50 work in Single frequency and ABP mode. Below are the AT commands:
634 634  
635 -(% class="box infomessage" %)
636 -(((
637 -AT+FDR  ~-~--> Reset Parameters to Factory Default, Keys Reserve
638 -AT+NJM=0  ~-~-->  Set to ABP mode
639 -AT+ADR=0  ~-~-->  Set the Adaptive Data Rate Off
640 -AT+DR=0  ~-~--> Set Data Rate (Set AT+DR=3 for 915 band)
641 -AT+TDC=300000  ~-~-->  Set transmit interval to 5 minutes
642 -AT+CHS=868100000  ~-~--> Set transmit frequency to 868.1Mhz
643 -AT+DADDR=FFFFF111  ~-~--> Set Device Address to 26 01 1A F1
644 -ATZ  ~-~--> Reset MCU
645 -)))
646 646  
647 -**Step3:  **Check result
417 += **9. Reference** =
648 648  
649 649  
420 +* Install Tago Core: Refer **Install Tago Core in LPS8v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].
421 +* [[Advance OS Reference Guide for LPS8v2>>doc:Main.Armbian OS instruction.WebHome]].
650 650  
651 -User can plot the temperature and humidity chat via LG01v2 built-in IoT server.
652 -
653 -User can import this example in Node-Red: [[attach:LG01v2_LSN50v2_S31.json||target="_blank"]]
654 -
655 -
656 -First the user needs to fill in the NwkSkey and AppSkey in the LoraWan Packet Decrypter node.
657 -
658 -[[image:image-20230620103535-2.png||height="591" width="1138"]]
659 -
660 -[[image:image-20230620103153-1.png||height="610" width="1141"]]
661 -
662 -
663 -The data will be displayed in the built-in node-red UI
664 -
665 -**Browser input: (% style="background-color:yellow" %)__//http:~/~/<local-IPV4-address>//__(%%)**
666 -
667 -[[image:image-20230620103923-3.png||height="476" width="1138"]]
668 -
669 -
670 -== 7.4 How can users factory reset LG01v2 ==
671 -
672 -
673 -Users can download the image of LG01v2 from this link:[[dragino-lg01v2-1.7-0210>>https://www.dropbox.com/scl/fi/g0si61lcrvdjyto4ma951/dragino-lg01v2-1.7-0210.zip?rlkey=t03oqo493r2p7ign488rs2jsv&dl=0]]
674 -
675 -
676 -Then follow the steps in the link below to restore factory Settings to LG01v2:
677 -
678 -[[How to flash a new image(OS) to the gateway>>url:https://wiki.dragino.com/xwiki/bin/view/Main/Armbian%20OS%20instruction/#H2.3A0Howtoflashanewimage28OS29tothegateway28LPS8V229]]
679 -
680 -
681 -= 8. Trouble Shooting =
682 -
683 -== 8.1  Fallback IP does not work, how can users check ==
684 -
685 -
686 -When the computer has completed the above fallback IP configuration,the LG01v2 Web UI is still not accessible via fallback IP.
687 -
688 -
689 -**1.Check whether the configuration is correct**
690 -
691 -Run the CMD command to ipconfig and ping 172.31.255.254.
692 -
693 -If this fails, the user needs to reconfigure.
694 -
695 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170224-3.png?width=707&height=433&rev=1.1||alt="image-20230413170224-3.png"]]
696 -
697 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20All%20Gateway%20models/HP0C/WebHome/image-20230413170246-4.png?rev=1.1||alt="image-20230413170246-4.png"]]
698 -
699 -
700 -**2. Check whether the firewall is disabled**
701 -
702 -If the firewall is not down, this will affect access to the gateway.
703 -
704 -
705 -= (% style="color:inherit; font-family:inherit; font-size:29px" %)9. Supports(%%) =
706 -
707 -
708 -(((
709 -If you are experiencing issues and can't solve them, you can send mail to [[support@dragino.com>>mailto:support@dragino.com]].
710 -)))
711 -
712 -(((
713 -With your question as detailed as possible. We will reply and help you in the shortest.
714 -
715 -
716 -= 10. Reference =
717 -
718 -
719 -* Install Tago Core: Refer **Install Tago Core in LG01v2** in[[ Instruction>>doc:Main.Tago\.IO.WebHome]].
720 -
721 -* [[Advance OS Reference Guide for L>>doc:Main.Armbian OS instruction.WebHome]]G01v2.
722 -
723 723  
724 724  )))
725 725  
726 -= 11. Order Info =
426 += **10. Order Info** =
727 727  
728 728  
729 -(% style="color:#0000ff" %)**LG01v2-XXX-YYY**
429 +(% style="color:#0000ff" %)**LPS8v2-XXX-YYY**
730 730  
731 731  (% style="color:#0000ff" %)**XXX**(% style="color:black" %): Frequency Band
732 732  
733 -* (% style="color:red" %)**868**(%%): For frequency : 863 ~~ 870Mhz
734 -* (% style="color:red" %)**915**(%%): For frequency : 902 ~~ 928Mhz
433 +* (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
434 +* (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
435 +* (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
436 +* (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
437 +* (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
438 +* (% style="color:red" %)**IN865**(%%):  LoRaWAN IN865 band
735 735  
736 736  (% style="color:#0000ff" %)**YYY**(% style="color:black" %): 4G Cellular Option
737 737  
738 -* (% style="color:red" %)**EC25-E**(% style="color:black" %):  EMEA, Korea, Thailand, India
739 -* (% style="color:red" %)**EC25-AFX**(% style="color:black" %): America: Verizon, AT&T(FirstNet), U.S.Cellular; Canada: Telus
740 -* (% style="color:red" %)**EC25-AUX**(% style="color:black" %): Latin America, New Zeland, Taiwan
741 -* (% style="color:red" %)**EC25-J**(% style="color:black" %):  Japan, DOCOMO, SoftBankKDDI
442 +* (% style="color:red" %)**E**(%%):  EMEA, Korea, Thailand, India.
443 +* (% style="color:red" %)**A**(%%):  North America/ Rogers/AT&T/T-Mobile.
444 +* (% style="color:red" %)**AU**(%%): Latin America, New Zeland, Taiwan
445 +* (% style="color:red" %)**J**(%%):  Japan, DOCOMO/SoftBank/ KDDI
742 742  
743 743  More info about valid bands, please see [[EC25-E product page>>url:https://www.quectel.com/product/ec25.htm]].
744 744  
745 745  
746 -= 12. Manufacturer Info =
747 747  
451 += **10. Manufacturer Info** =
748 748  
453 +
749 749  **Shenzhen Dragino Technology Development co. LTD**
750 750  
751 751  Room 202, Block B, BCT Incubation Bases (BaoChengTai),  No.8 CaiYunRoad
... ... @@ -753,9 +753,10 @@
753 753  LongCheng Street, LongGang District ; Shenzhen 518116,China
754 754  
755 755  
756 -= 13. FCC Warning =
757 757  
462 += **11. FCC Warning** =
758 758  
464 +
759 759  (((
760 760  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:
761 761  )))
... ... @@ -785,6 +785,7 @@
785 785  (((
786 786  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.
787 787  
788 -
789 789  
790 790  )))
496 +
497 +~)~)~)
LG01v2_LSN50v2_S31.json
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -16.5 KB
Content
... ... @@ -1,587 +1,0 @@
1 -[
2 - {
3 - "id": "5e07f5eeeb2a969b",
4 - "type": "tab",
5 - "label": "流程 1",
6 - "disabled": false,
7 - "info": "",
8 - "env": []
9 - },
10 - {
11 - "id": "9c26fa2f19e2b556",
12 - "type": "function",
13 - "z": "5e07f5eeeb2a969b",
14 - "name": "hex to base64",
15 - "func": "var input = msg.payload;\nvar base64 = Buffer.from(input, 'hex').toString('base64');\nmsg.payload = base64;\nreturn msg;",
16 - "outputs": 1,
17 - "noerr": 0,
18 - "initialize": "",
19 - "finalize": "",
20 - "libs": [],
21 - "x": 220,
22 - "y": 160,
23 - "wires": [
24 - [
25 - "075bc9172a4c6570",
26 - "3601a98894805fbe"
27 - ]
28 - ]
29 - },
30 - {
31 - "id": "ee0480c81e66d657",
32 - "type": "function",
33 - "z": "5e07f5eeeb2a969b",
34 - "name": "function 4",
35 - "func": "var bytes = msg.payload[\"uplink_message\"]\nvar data = msg.payload[\"out\"]\nvar mode = (parseInt(data.substring(12, 14), 16) & 0x7C) >> 2;\nif (mode != 2)\n{\nvar bat = (parseInt(data.substring(0,4),16)&0x3FFF)/1000;\nvar TempC1 = (parseFloat(parseInt(data.substring(4, 8),16)/10).toFixed(2));\nvar ADC_CH0V = (parseInt(data.substring(8, 12), 16) ) / 1000;\nvar Digital_IStatus = (parseInt((data.substring(8, 12),16) & 0x02))?\"H\":\"L\"; \n\nif (mode != 6) {\n\n var EXTI_Trigger = ((parseInt(data.substring(12, 14), 16) & 0x01))? \"TRUE\" : \"FALSE\";\n\n var Door_status = ((parseInt(data.substring(12, 14), 16) & 0x80))? \"CLOSE\" : \"OPEN\";\n\n}\n}\nif (mode == 0) {\n\n var Work_mode = \"IIC\";\n\n if ((parseInt(data.substring(18, 22), 16)) == 0){\n\n var Illum = (parseInt(data.substring(8, 12), 16));\n\n }\n\n else {\n\n var TempC_SHT = parseFloat(((parseInt(data.substring(14, 18), 16)) / 10).toFixed(2));\n\n var Hum_SHT = parseFloat((((parseInt(data.substring(18, 22), 16))) / 10).toFixed(1));\n\n }\n \n}\n\nelse if (mode == 1) {\n\n var Work_mode = \" Distance\";\n\n var Distance_cm = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(1));\n\n if (((parseInt(data.substring(18, 22), 16))) != 65535){\n\n var Distance_signal_strength = parseFloat(((parseInt(data.substring(18, 22), 16))).toFixed(0));\n\n }\n\n}\n\nelse if (mode == 2) {\n\n var Work_mode = \" 3ADC\";\n\n var BatV = (parseInt(data.substring(18, 22), 16)) / 10;\n\n var ADC_CH0V = ((parseInt(data.substring(0, 4), 16))) / 1000;\n\n var ADC_CH1V = ((parseInt(data.substring(4, 8), 16))) / 1000;\n\n var ADC_CH4V = ((parseInt(data.substring(8, 12), 16))) / 1000;\n\n var Digital_IStatus = ((parseInt(data.substring(12, 14), 16)) & 0x02) ? \"H\" : \"L\";\n\n var EXTI_Trigger = ((parseInt(data.substring(12, 14), 16)) & 0x01) ? \"TRUE\" : \"FALSE\";\n\n var Door_status = ((parseInt(data.substring(13, 14), 16)) & 0x80) ? \"CLOSE\" : \"OPEN\";\n\n if ((parseInt(data.substring(18, 22), 16) === 0)) {\n\n var Illum = ((parseInt(data.substring(14, 18), 16)));\n\n }\n\n else {\n\n var TempC_SHT = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(2));\n\n var Hum_SHT = parseFloat((((parseInt(data.substring(18, 24), 16))) / 10).toFixed(1));\n\n }\n\n}\n\nelse if (mode == 3) {\n\n var Work_mode = \"3DS18B20\";\n\n var TempC2 = parseFloat((((parseInt(data.substring(14, 18), 16))) / 10).toFixed(2));\n\n var TempC3 = parseFloat((((parseInt(data.substring(18, 24), 16))) / 10).toFixed(1));\n\n\n\n}\n\nelse if (mode == 4) {\n\n var Work_mode = \"Weight\";\n\n var Weight = ((parseInt(data.substring(14, 18), 16)));\n\n}\n\nelse if (mode == 5) {\n\n var Work_mode = \"Count\";\n\n var Count = ((parseInt(data.substring(14, 22), 16)));\n\n}\n\n\n\nvar b = { payload: bat }, c = { payload: TempC1 }, d = { payload: ADC_CH0V }, e = { payload: Digital_IStatus }, f = { payload: EXTI_Trigger }, g = { payload: Door_status }, j = { payload: TempC_SHT }, s = { payload: Hum_SHT }, k = { payload: Work_mode };\nreturn [b,c,d,e,f,g,j,k,s];",
36 - "outputs": 9,
37 - "noerr": 0,
38 - "initialize": "",
39 - "finalize": "",
40 - "libs": [],
41 - "x": 660,
42 - "y": 300,
43 - "wires": [
44 - [
45 - "fd22b92d2b8de0fb"
46 - ],
47 - [
48 - "3307256a4e1ea53a"
49 - ],
50 - [
51 - "a3fd8302ec399e31"
52 - ],
53 - [
54 - "c7d1f63ff5f0026a"
55 - ],
56 - [
57 - "159967056da52706"
58 - ],
59 - [
60 - "a21581a41adc1714"
61 - ],
62 - [
63 - "7bb78b78445ac9e3"
64 - ],
65 - [
66 - "0364752170ed6228"
67 - ],
68 - [
69 - "65293155d71d54b9"
70 - ]
71 - ]
72 - },
73 - {
74 - "id": "e763b293d42dbdd5",
75 - "type": "change",
76 - "z": "5e07f5eeeb2a969b",
77 - "name": "",
78 - "rules": [
79 - {
80 - "t": "change",
81 - "p": "payload",
82 - "pt": "msg",
83 - "from": "Data: (HEX:)",
84 - "fromt": "str",
85 - "to": "",
86 - "tot": "str"
87 - },
88 - {
89 - "t": "change",
90 - "p": "payload",
91 - "pt": "msg",
92 - "from": " ",
93 - "fromt": "str",
94 - "to": "",
95 - "tot": "str"
96 - }
97 - ],
98 - "action": "",
99 - "property": "",
100 - "from": "",
101 - "to": "",
102 - "reg": false,
103 - "x": 420,
104 - "y": 60,
105 - "wires": [
106 - [
107 - "9c26fa2f19e2b556",
108 - "416a930e89291528"
109 - ]
110 - ]
111 - },
112 - {
113 - "id": "075bc9172a4c6570",
114 - "type": "lorawan-packet-decrypt-nwkey-appkey",
115 - "z": "5e07f5eeeb2a969b",
116 - "name": "FFFFF111",
117 - "nsw": "CCFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA",
118 - "asw": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC",
119 - "x": 510,
120 - "y": 160,
121 - "wires": [
122 - [
123 - "ee0480c81e66d657"
124 - ]
125 - ]
126 - },
127 - {
128 - "id": "13dc77a4e2bb4f72",
129 - "type": "serial in",
130 - "z": "5e07f5eeeb2a969b",
131 - "name": "",
132 - "serial": "bb1c0e81fd51fa9e",
133 - "x": 190,
134 - "y": 60,
135 - "wires": [
136 - [
137 - "e763b293d42dbdd5"
138 - ]
139 - ]
140 - },
141 - {
142 - "id": "3307256a4e1ea53a",
143 - "type": "ui_chart",
144 - "z": "5e07f5eeeb2a969b",
145 - "name": "",
146 - "group": "c1fddd37879528e5",
147 - "order": 1,
148 - "width": 0,
149 - "height": 0,
150 - "label": "TempC1",
151 - "chartType": "line",
152 - "legend": "false",
153 - "xformat": "HH:mm:ss",
154 - "interpolate": "linear",
155 - "nodata": "",
156 - "dot": false,
157 - "ymin": "",
158 - "ymax": "",
159 - "removeOlder": 1,
160 - "removeOlderPoints": "",
161 - "removeOlderUnit": "3600",
162 - "cutout": 0,
163 - "useOneColor": false,
164 - "useUTC": false,
165 - "colors": [
166 - "#1f77b4",
167 - "#aec7e8",
168 - "#ff7f0e",
169 - "#2ca02c",
170 - "#98df8a",
171 - "#d62728",
172 - "#ff9896",
173 - "#9467bd",
174 - "#c5b0d5"
175 - ],
176 - "outputs": 1,
177 - "useDifferentColor": false,
178 - "className": "",
179 - "x": 940,
180 - "y": 160,
181 - "wires": [
182 - []
183 - ]
184 - },
185 - {
186 - "id": "a3fd8302ec399e31",
187 - "type": "ui_chart",
188 - "z": "5e07f5eeeb2a969b",
189 - "name": "",
190 - "group": "6d46fdae9f413f7b",
191 - "order": 1,
192 - "width": 0,
193 - "height": 0,
194 - "label": "ADC_CH0V",
195 - "chartType": "line",
196 - "legend": "false",
197 - "xformat": "HH:mm:ss",
198 - "interpolate": "linear",
199 - "nodata": "",
200 - "dot": false,
201 - "ymin": "",
202 - "ymax": "",
203 - "removeOlder": 1,
204 - "removeOlderPoints": "",
205 - "removeOlderUnit": "3600",
206 - "cutout": 0,
207 - "useOneColor": false,
208 - "useUTC": false,
209 - "colors": [
210 - "#1f77b4",
211 - "#aec7e8",
212 - "#ff7f0e",
213 - "#2ca02c",
214 - "#98df8a",
215 - "#d62728",
216 - "#ff9896",
217 - "#9467bd",
218 - "#c5b0d5"
219 - ],
220 - "outputs": 1,
221 - "useDifferentColor": false,
222 - "className": "",
223 - "x": 950,
224 - "y": 200,
225 - "wires": [
226 - []
227 - ]
228 - },
229 - {
230 - "id": "fd22b92d2b8de0fb",
231 - "type": "ui_chart",
232 - "z": "5e07f5eeeb2a969b",
233 - "name": "",
234 - "group": "bb5657c2a8c290a3",
235 - "order": 1,
236 - "width": 0,
237 - "height": 0,
238 - "label": "BatV",
239 - "chartType": "line",
240 - "legend": "false",
241 - "xformat": "HH:mm:ss",
242 - "interpolate": "linear",
243 - "nodata": "",
244 - "dot": false,
245 - "ymin": "",
246 - "ymax": "",
247 - "removeOlder": 1,
248 - "removeOlderPoints": "",
249 - "removeOlderUnit": "3600",
250 - "cutout": 0,
251 - "useOneColor": false,
252 - "useUTC": false,
253 - "colors": [
254 - "#1f77b4",
255 - "#aec7e8",
256 - "#ff7f0e",
257 - "#2ca02c",
258 - "#98df8a",
259 - "#d62728",
260 - "#ff9896",
261 - "#9467bd",
262 - "#c5b0d5"
263 - ],
264 - "outputs": 1,
265 - "useDifferentColor": false,
266 - "className": "",
267 - "x": 930,
268 - "y": 120,
269 - "wires": [
270 - []
271 - ]
272 - },
273 - {
274 - "id": "c7d1f63ff5f0026a",
275 - "type": "ui_text",
276 - "z": "5e07f5eeeb2a969b",
277 - "group": "528e965cef294158",
278 - "order": 0,
279 - "width": "6",
280 - "height": "4",
281 - "name": "",
282 - "label": "Digital_IStatus",
283 - "format": "{{msg.payload}}",
284 - "layout": "col-center",
285 - "className": "",
286 - "x": 960,
287 - "y": 240,
288 - "wires": []
289 - },
290 - {
291 - "id": "159967056da52706",
292 - "type": "ui_text",
293 - "z": "5e07f5eeeb2a969b",
294 - "group": "5e615e3edb5999a0",
295 - "order": 0,
296 - "width": "6",
297 - "height": "4",
298 - "name": "",
299 - "label": "EXTI_Trigger",
300 - "format": "{{msg.payload}}",
301 - "layout": "col-center",
302 - "className": "",
303 - "x": 950,
304 - "y": 280,
305 - "wires": []
306 - },
307 - {
308 - "id": "7bb78b78445ac9e3",
309 - "type": "ui_chart",
310 - "z": "5e07f5eeeb2a969b",
311 - "name": "",
312 - "group": "5f7fec85295a7f7c",
313 - "order": 0,
314 - "width": 0,
315 - "height": 0,
316 - "label": "TempC_SHT",
317 - "chartType": "line",
318 - "legend": "false",
319 - "xformat": "HH:mm:ss",
320 - "interpolate": "linear",
321 - "nodata": "",
322 - "dot": false,
323 - "ymin": "",
324 - "ymax": "",
325 - "removeOlder": 1,
326 - "removeOlderPoints": "",
327 - "removeOlderUnit": "3600",
328 - "cutout": 0,
329 - "useOneColor": false,
330 - "useUTC": false,
331 - "colors": [
332 - "#1f77b4",
333 - "#aec7e8",
334 - "#ff7f0e",
335 - "#2ca02c",
336 - "#98df8a",
337 - "#d62728",
338 - "#ff9896",
339 - "#9467bd",
340 - "#c5b0d5"
341 - ],
342 - "outputs": 1,
343 - "useDifferentColor": false,
344 - "className": "",
345 - "x": 950,
346 - "y": 360,
347 - "wires": [
348 - []
349 - ]
350 - },
351 - {
352 - "id": "0364752170ed6228",
353 - "type": "ui_text",
354 - "z": "5e07f5eeeb2a969b",
355 - "group": "3cb616f18674c42a",
356 - "order": 0,
357 - "width": "6",
358 - "height": "4",
359 - "name": "",
360 - "label": "Work_mode",
361 - "format": "{{msg.payload}}",
362 - "layout": "col-center",
363 - "className": "",
364 - "x": 950,
365 - "y": 400,
366 - "wires": []
367 - },
368 - {
369 - "id": "65293155d71d54b9",
370 - "type": "ui_chart",
371 - "z": "5e07f5eeeb2a969b",
372 - "name": "",
373 - "group": "bb2e35e7a931c198",
374 - "order": 0,
375 - "width": 0,
376 - "height": 0,
377 - "label": "Hum_SHT",
378 - "chartType": "line",
379 - "legend": "false",
380 - "xformat": "HH:mm:ss",
381 - "interpolate": "linear",
382 - "nodata": "",
383 - "dot": false,
384 - "ymin": "",
385 - "ymax": "",
386 - "removeOlder": 1,
387 - "removeOlderPoints": "",
388 - "removeOlderUnit": "3600",
389 - "cutout": 0,
390 - "useOneColor": false,
391 - "useUTC": false,
392 - "colors": [
393 - "#1f77b4",
394 - "#aec7e8",
395 - "#ff7f0e",
396 - "#2ca02c",
397 - "#98df8a",
398 - "#d62728",
399 - "#ff9896",
400 - "#9467bd",
401 - "#c5b0d5"
402 - ],
403 - "outputs": 1,
404 - "useDifferentColor": false,
405 - "className": "",
406 - "x": 950,
407 - "y": 440,
408 - "wires": [
409 - []
410 - ]
411 - },
412 - {
413 - "id": "a21581a41adc1714",
414 - "type": "ui_text",
415 - "z": "5e07f5eeeb2a969b",
416 - "group": "9109ae41eee353df",
417 - "order": 0,
418 - "width": "6",
419 - "height": "4",
420 - "name": "",
421 - "label": "Door_status",
422 - "format": "{{msg.payload}}",
423 - "layout": "col-center",
424 - "className": "",
425 - "x": 950,
426 - "y": 320,
427 - "wires": []
428 - },
429 - {
430 - "id": "416a930e89291528",
431 - "type": "debug",
432 - "z": "5e07f5eeeb2a969b",
433 - "name": "debug 2",
434 - "active": true,
435 - "tosidebar": true,
436 - "console": false,
437 - "tostatus": false,
438 - "complete": "false",
439 - "statusVal": "",
440 - "statusType": "auto",
441 - "x": 660,
442 - "y": 60,
443 - "wires": []
444 - },
445 - {
446 - "id": "3601a98894805fbe",
447 - "type": "debug",
448 - "z": "5e07f5eeeb2a969b",
449 - "name": "debug 3",
450 - "active": true,
451 - "tosidebar": true,
452 - "console": false,
453 - "tostatus": false,
454 - "complete": "false",
455 - "statusVal": "",
456 - "statusType": "auto",
457 - "x": 380,
458 - "y": 240,
459 - "wires": []
460 - },
461 - {
462 - "id": "bb1c0e81fd51fa9e",
463 - "type": "serial-port",
464 - "serialport": "/dev/ttyUSB0",
465 - "serialbaud": "9600",
466 - "databits": "8",
467 - "parity": "none",
468 - "stopbits": "1",
469 - "waitfor": "",
470 - "dtr": "none",
471 - "rts": "none",
472 - "cts": "none",
473 - "dsr": "none",
474 - "newline": "\\n",
475 - "bin": "false",
476 - "out": "char",
477 - "addchar": "\\r\\n",
478 - "responsetimeout": "10000"
479 - },
480 - {
481 - "id": "c1fddd37879528e5",
482 - "type": "ui_group",
483 - "name": "BatV",
484 - "tab": "abb98f80600a5448",
485 - "order": 1,
486 - "disp": true,
487 - "width": "6",
488 - "collapse": false,
489 - "className": ""
490 - },
491 - {
492 - "id": "6d46fdae9f413f7b",
493 - "type": "ui_group",
494 - "name": "ADC_CH0V",
495 - "tab": "abb98f80600a5448",
496 - "order": 1,
497 - "disp": true,
498 - "width": "6",
499 - "collapse": false,
500 - "className": ""
501 - },
502 - {
503 - "id": "bb5657c2a8c290a3",
504 - "type": "ui_group",
505 - "name": "BatV",
506 - "tab": "abb98f80600a5448",
507 - "order": 3,
508 - "disp": true,
509 - "width": "6",
510 - "collapse": false,
511 - "className": ""
512 - },
513 - {
514 - "id": "528e965cef294158",
515 - "type": "ui_group",
516 - "name": "Digital_IStatus",
517 - "tab": "abb98f80600a5448",
518 - "order": 4,
519 - "disp": true,
520 - "width": "6",
521 - "collapse": false,
522 - "className": ""
523 - },
524 - {
525 - "id": "5e615e3edb5999a0",
526 - "type": "ui_group",
527 - "name": "EXTI_Trigger",
528 - "tab": "abb98f80600a5448",
529 - "order": 5,
530 - "disp": true,
531 - "width": "6",
532 - "collapse": false,
533 - "className": ""
534 - },
535 - {
536 - "id": "5f7fec85295a7f7c",
537 - "type": "ui_group",
538 - "name": "TempC_SHT",
539 - "tab": "abb98f80600a5448",
540 - "order": 6,
541 - "disp": true,
542 - "width": "6",
543 - "collapse": false,
544 - "className": ""
545 - },
546 - {
547 - "id": "3cb616f18674c42a",
548 - "type": "ui_group",
549 - "name": "Work_mode",
550 - "tab": "abb98f80600a5448",
551 - "order": 7,
552 - "disp": true,
553 - "width": "6",
554 - "collapse": false,
555 - "className": ""
556 - },
557 - {
558 - "id": "bb2e35e7a931c198",
559 - "type": "ui_group",
560 - "name": "Hum_SHT",
561 - "tab": "abb98f80600a5448",
562 - "order": 8,
563 - "disp": true,
564 - "width": "6",
565 - "collapse": false,
566 - "className": ""
567 - },
568 - {
569 - "id": "9109ae41eee353df",
570 - "type": "ui_group",
571 - "name": "Door_status",
572 - "tab": "abb98f80600a5448",
573 - "order": 9,
574 - "disp": true,
575 - "width": "6",
576 - "collapse": false,
577 - "className": ""
578 - },
579 - {
580 - "id": "abb98f80600a5448",
581 - "type": "ui_tab",
582 - "name": "LSN50v2 S31",
583 - "icon": "LSN50v2 S31",
584 - "disabled": false,
585 - "hidden": false
586 - }
587 -]
LoRa_send_trial.ino
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -3.4 KB
Content
... ... @@ -1,124 +1,0 @@
1 -#include "LoRaWan_APP.h"
2 -#include "Arduino.h"
3 -
4 -
5 -#define RF_FREQUENCY 868100000 // Hz
6 -
7 -#define TX_OUTPUT_POWER 5 // dBm
8 -
9 -#define LORA_BANDWIDTH 0 // [0: 125 kHz,
10 - // 1: 250 kHz,
11 - // 2: 500 kHz,
12 - // 3: Reserved]
13 -#define LORA_SPREADING_FACTOR 12 // [SF7..SF12]
14 -#define LORA_CODINGRATE 1 // [1: 4/5,
15 - // 2: 4/6,
16 - // 3: 4/7,
17 - // 4: 4/8]
18 -#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx
19 -#define LORA_SYMBOL_TIMEOUT 0 // Symbols
20 -#define LORA_FIX_LENGTH_PAYLOAD_ON false
21 -#define LORA_IQ_INVERSION_ON false
22 -
23 -
24 -#define RX_TIMEOUT_VALUE 1000
25 -#define BUFFER_SIZE 30 // Define the payload size here
26 -
27 -float tem,hum;
28 -char tem_1[8]={"\0"},hum_1[8]={"\0"};
29 -char *node_id = "<GW01>"; //From LG01 via web Local Channel settings on MQTT.Please refer <> dataformat in here.
30 -
31 -char txpacket[BUFFER_SIZE];
32 -char rxpacket[BUFFER_SIZE];
33 -
34 -double txNumber;
35 -
36 -bool lora_idle=true;
37 -
38 -static RadioEvents_t RadioEvents;
39 -void OnTxDone( void );
40 -void OnTxTimeout( void );
41 -
42 -void dhtTem()
43 -{
44 - tem = random(15,40);
45 - hum = random(40,80);
46 - Serial.println(F("The temperature and humidity:"));
47 - Serial.print("[");
48 - Serial.print(tem);
49 - Serial.print("℃");
50 - Serial.print(",");
51 - Serial.print(hum);
52 - Serial.print("%");
53 - Serial.print("]");
54 - Serial.println("");
55 -}
56 -
57 -void dhtWrite()
58 -{
59 - char data[50] = "\0";
60 - for(int i = 0; i < 50; i++)
61 - {
62 - data[i] = node_id[i];
63 - }
64 -
65 - dtostrf(tem,0,1,tem_1);
66 - dtostrf(hum,0,1,hum_1);
67 -
68 - strcat(data,"tem_a=");
69 - strcat(data,tem_1);
70 - strcat(data,"&hum_a=");
71 - strcat(data,hum_1);
72 - strcpy((char *)txpacket,data);
73 -
74 - Serial.println((char *)txpacket);
75 -}
76 -
77 -void setup() {
78 - Serial.begin(115200);
79 - Mcu.begin();
80 -
81 - txNumber=0;
82 -
83 - RadioEvents.TxDone = OnTxDone;
84 - RadioEvents.TxTimeout = OnTxTimeout;
85 -
86 - Radio.Init( &RadioEvents );
87 - Radio.SetChannel( RF_FREQUENCY );
88 - Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
89 - LORA_SPREADING_FACTOR, LORA_CODINGRATE,
90 - LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
91 - true, 0, 0, LORA_IQ_INVERSION_ON, 3000 );
92 - }
93 -
94 -
95 -
96 -void loop()
97 -{
98 - if(lora_idle == true)
99 - {
100 - delay(5000);
101 - txNumber += 0.01;
102 - Serial.println(txNumber);
103 -
104 - dhtTem();
105 - dhtWrite();
106 - Radio.Send( (uint8_t *)txpacket, strlen(txpacket) ); //send the package out
107 - lora_idle = false;
108 - }
109 - Radio.IrqProcess( );
110 -}
111 -
112 -void OnTxDone( void )
113 -{
114 - Serial.println("TX done......");
115 - lora_idle = true;
116 -}
117 -
118 -void OnTxTimeout( void )
119 -{
120 - Radio.Sleep( );
121 - Serial.println("TX Timeout......");
122 - lora_idle = true;
123 -}
124 -
Log-Temperature-Sensor-and-send-data-to-Node-red.ino
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -3.6 KB
Content
... ... @@ -1,150 +1,0 @@
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,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -10.3 KB
Content
... ... @@ -1,443 +1,0 @@
1 -[
2 - {
3 - "id": "0a211e08511c4bdd",
4 - "type": "tab",
5 - "label": "serial USB",
6 - "disabled": false,
7 - "info": "",
8 - "env": []
9 - },
10 - {
11 - "id": "4a97eeb54bf57a6d",
12 - "type": "serial in",
13 - "z": "0a211e08511c4bdd",
14 - "name": "",
15 - "serial": "bb1c0e81fd51fa9e",
16 - "x": 210,
17 - "y": 60,
18 - "wires": [
19 - [
20 - "d2493fb9752dbcab",
21 - "d183c255973c979e"
22 - ]
23 - ]
24 - },
25 - {
26 - "id": "12f1eeb8049675c1",
27 - "type": "inject",
28 - "z": "0a211e08511c4bdd",
29 - "name": "AT+SEND=1,hello world,0,3",
30 - "props": [
31 - {
32 - "p": "payload"
33 - }
34 - ],
35 - "repeat": "",
36 - "crontab": "",
37 - "once": false,
38 - "onceDelay": 0.1,
39 - "topic": "",
40 - "payload": "AT+SEND=1,hello world,0,3",
41 - "payloadType": "str",
42 - "x": 220,
43 - "y": 260,
44 - "wires": [
45 - [
46 - "a5d2f5df63a2148e"
47 - ]
48 - ]
49 - },
50 - {
51 - "id": "a5d2f5df63a2148e",
52 - "type": "serial out",
53 - "z": "0a211e08511c4bdd",
54 - "name": "",
55 - "serial": "bb1c0e81fd51fa9e",
56 - "x": 540,
57 - "y": 260,
58 - "wires": []
59 - },
60 - {
61 - "id": "dc04c04a0bc0e5db",
62 - "type": "inject",
63 - "z": "0a211e08511c4bdd",
64 - "name": "",
65 - "props": [
66 - {
67 - "p": "payload"
68 - }
69 - ],
70 - "repeat": "",
71 - "crontab": "",
72 - "once": false,
73 - "onceDelay": 0.1,
74 - "topic": "",
75 - "payload": "ATZ",
76 - "payloadType": "str",
77 - "x": 290,
78 - "y": 320,
79 - "wires": [
80 - [
81 - "a5d2f5df63a2148e"
82 - ]
83 - ]
84 - },
85 - {
86 - "id": "3de96a220e28e8f0",
87 - "type": "inject",
88 - "z": "0a211e08511c4bdd",
89 - "name": "AT+FRE",
90 - "props": [
91 - {
92 - "p": "payload"
93 - }
94 - ],
95 - "repeat": "",
96 - "crontab": "",
97 - "once": false,
98 - "onceDelay": 0.1,
99 - "topic": "",
100 - "payload": "AT+FRE=868.100,868.100",
101 - "payloadType": "str",
102 - "x": 280,
103 - "y": 380,
104 - "wires": [
105 - [
106 - "a5d2f5df63a2148e"
107 - ]
108 - ]
109 - },
110 - {
111 - "id": "638725a47a1e4365",
112 - "type": "inject",
113 - "z": "0a211e08511c4bdd",
114 - "name": "AT+BW",
115 - "props": [
116 - {
117 - "p": "payload"
118 - }
119 - ],
120 - "repeat": "",
121 - "crontab": "",
122 - "once": false,
123 - "onceDelay": 0.1,
124 - "topic": "",
125 - "payload": "AT+BW=0,0",
126 - "payloadType": "str",
127 - "x": 290,
128 - "y": 440,
129 - "wires": [
130 - [
131 - "a5d2f5df63a2148e"
132 - ]
133 - ]
134 - },
135 - {
136 - "id": "85ba9868d1f3e82c",
137 - "type": "inject",
138 - "z": "0a211e08511c4bdd",
139 - "name": "AT+SF",
140 - "props": [
141 - {
142 - "p": "payload"
143 - }
144 - ],
145 - "repeat": "",
146 - "crontab": "",
147 - "once": false,
148 - "onceDelay": 0.1,
149 - "topic": "",
150 - "payload": "AT+SF=12,12",
151 - "payloadType": "str",
152 - "x": 290,
153 - "y": 500,
154 - "wires": [
155 - [
156 - "a5d2f5df63a2148e"
157 - ]
158 - ]
159 - },
160 - {
161 - "id": "144b2749013ffe57",
162 - "type": "inject",
163 - "z": "0a211e08511c4bdd",
164 - "name": "AT+RXMOD",
165 - "props": [
166 - {
167 - "p": "payload"
168 - }
169 - ],
170 - "repeat": "",
171 - "crontab": "",
172 - "once": false,
173 - "onceDelay": 0.1,
174 - "topic": "",
175 - "payload": "AT+RXMOD=65535,2",
176 - "payloadType": "str",
177 - "x": 270,
178 - "y": 560,
179 - "wires": [
180 - [
181 - "a5d2f5df63a2148e"
182 - ]
183 - ]
184 - },
185 - {
186 - "id": "bfb2e9df89dc5e2f",
187 - "type": "inject",
188 - "z": "0a211e08511c4bdd",
189 - "name": "AT+SYNCWORD",
190 - "props": [
191 - {
192 - "p": "payload"
193 - }
194 - ],
195 - "repeat": "",
196 - "crontab": "",
197 - "once": false,
198 - "onceDelay": 0.1,
199 - "topic": "",
200 - "payload": "AT+SYNCWORD=0",
201 - "payloadType": "str",
202 - "x": 260,
203 - "y": 620,
204 - "wires": [
205 - [
206 - "a5d2f5df63a2148e"
207 - ]
208 - ]
209 - },
210 - {
211 - "id": "d2493fb9752dbcab",
212 - "type": "function",
213 - "z": "0a211e08511c4bdd",
214 - "name": "function 1",
215 - "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\") {\n if (data.substring(6, 12) == \"(HEX:)\") {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16) / 100\n var hum1 = parseInt(hum, 16) / 10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n if (data.substring(6, 15) == \"(String:)\") {\n var temp = data.substring(20, 24)\n var hum = data.substring(29, 34)\n a1 = { payload: temp }, a2 = { payload: hum }\n }\n}\nif (data.substring(0, 4) == \"Rssi\") {\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1, a2, a3];",
216 - "outputs": 3,
217 - "noerr": 0,
218 - "initialize": "",
219 - "finalize": "",
220 - "libs": [],
221 - "x": 420,
222 - "y": 60,
223 - "wires": [
224 - [
225 - "c17d94be4317ae6c"
226 - ],
227 - [
228 - "20c5b1c7f42fa6bb"
229 - ],
230 - [
231 - "39a8462f3d748eef"
232 - ]
233 - ]
234 - },
235 - {
236 - "id": "39a8462f3d748eef",
237 - "type": "ui_chart",
238 - "z": "0a211e08511c4bdd",
239 - "name": "",
240 - "group": "ef41b39771110fa5",
241 - "order": 1,
242 - "width": 0,
243 - "height": 0,
244 - "label": "RSSI",
245 - "chartType": "line",
246 - "legend": "false",
247 - "xformat": "dd HH:mm",
248 - "interpolate": "linear",
249 - "nodata": "",
250 - "dot": true,
251 - "ymin": "",
252 - "ymax": "",
253 - "removeOlder": 1,
254 - "removeOlderPoints": "",
255 - "removeOlderUnit": "3600",
256 - "cutout": 0,
257 - "useOneColor": false,
258 - "useUTC": false,
259 - "colors": [
260 - "#1f77b4",
261 - "#aec7e8",
262 - "#ff7f0e",
263 - "#2ca02c",
264 - "#98df8a",
265 - "#d62728",
266 - "#ff9896",
267 - "#9467bd",
268 - "#c5b0d5"
269 - ],
270 - "outputs": 1,
271 - "useDifferentColor": false,
272 - "className": "",
273 - "x": 670,
274 - "y": 180,
275 - "wires": [
276 - []
277 - ]
278 - },
279 - {
280 - "id": "c17d94be4317ae6c",
281 - "type": "ui_chart",
282 - "z": "0a211e08511c4bdd",
283 - "name": "",
284 - "group": "7e1d1c102cf74e6b",
285 - "order": 1,
286 - "width": 0,
287 - "height": 0,
288 - "label": "Temperature",
289 - "chartType": "line",
290 - "legend": "false",
291 - "xformat": "HH:mm:ss",
292 - "interpolate": "linear",
293 - "nodata": "",
294 - "dot": true,
295 - "ymin": "",
296 - "ymax": "",
297 - "removeOlder": 1,
298 - "removeOlderPoints": "",
299 - "removeOlderUnit": "3600",
300 - "cutout": 0,
301 - "useOneColor": false,
302 - "useUTC": false,
303 - "colors": [
304 - "#1f77b4",
305 - "#aec7e8",
306 - "#ff7f0e",
307 - "#2ca02c",
308 - "#98df8a",
309 - "#d62728",
310 - "#ff9896",
311 - "#9467bd",
312 - "#c5b0d5"
313 - ],
314 - "outputs": 1,
315 - "useDifferentColor": false,
316 - "className": "",
317 - "x": 690,
318 - "y": 100,
319 - "wires": [
320 - []
321 - ]
322 - },
323 - {
324 - "id": "20c5b1c7f42fa6bb",
325 - "type": "ui_chart",
326 - "z": "0a211e08511c4bdd",
327 - "name": "",
328 - "group": "3f5d139f158d7c1c",
329 - "order": 2,
330 - "width": 0,
331 - "height": 0,
332 - "label": "Humidity",
333 - "chartType": "line",
334 - "legend": "false",
335 - "xformat": "HH:mm:ss",
336 - "interpolate": "linear",
337 - "nodata": "",
338 - "dot": true,
339 - "ymin": "",
340 - "ymax": "",
341 - "removeOlder": 1,
342 - "removeOlderPoints": "",
343 - "removeOlderUnit": "3600",
344 - "cutout": 0,
345 - "useOneColor": false,
346 - "useUTC": false,
347 - "colors": [
348 - "#1f77b4",
349 - "#aec7e8",
350 - "#ff7f0e",
351 - "#2ca02c",
352 - "#98df8a",
353 - "#d62728",
354 - "#ff9896",
355 - "#9467bd",
356 - "#c5b0d5"
357 - ],
358 - "outputs": 1,
359 - "useDifferentColor": false,
360 - "className": "",
361 - "x": 680,
362 - "y": 140,
363 - "wires": [
364 - []
365 - ]
366 - },
367 - {
368 - "id": "d183c255973c979e",
369 - "type": "debug",
370 - "z": "0a211e08511c4bdd",
371 - "name": "debug 1",
372 - "active": true,
373 - "tosidebar": true,
374 - "console": false,
375 - "tostatus": false,
376 - "complete": "false",
377 - "statusVal": "",
378 - "statusType": "auto",
379 - "x": 420,
380 - "y": 180,
381 - "wires": []
382 - },
383 - {
384 - "id": "bb1c0e81fd51fa9e",
385 - "type": "serial-port",
386 - "serialport": "/dev/ttyUSB0",
387 - "serialbaud": "9600",
388 - "databits": "8",
389 - "parity": "none",
390 - "stopbits": "1",
391 - "waitfor": "",
392 - "dtr": "none",
393 - "rts": "none",
394 - "cts": "none",
395 - "dsr": "none",
396 - "newline": "\\n",
397 - "bin": "false",
398 - "out": "char",
399 - "addchar": "\\r\\n",
400 - "responsetimeout": "10000"
401 - },
402 - {
403 - "id": "ef41b39771110fa5",
404 - "type": "ui_group",
405 - "name": "rssi",
406 - "tab": "abb98f80600a5448",
407 - "order": 3,
408 - "disp": true,
409 - "width": "6",
410 - "collapse": false,
411 - "className": ""
412 - },
413 - {
414 - "id": "7e1d1c102cf74e6b",
415 - "type": "ui_group",
416 - "name": "TEM",
417 - "tab": "abb98f80600a5448",
418 - "order": 4,
419 - "disp": true,
420 - "width": "6",
421 - "collapse": false,
422 - "className": ""
423 - },
424 - {
425 - "id": "3f5d139f158d7c1c",
426 - "type": "ui_group",
427 - "name": "HUM",
428 - "tab": "abb98f80600a5448",
429 - "order": 2,
430 - "disp": true,
431 - "width": "6",
432 - "collapse": false,
433 - "className": ""
434 - },
435 - {
436 - "id": "abb98f80600a5448",
437 - "type": "ui_tab",
438 - "name": "LG01v2",
439 - "icon": "LG01v2",
440 - "disabled": false,
441 - "hidden": false
442 - }
443 -]
Log-Temperature-Sensor-and-send-data-to-node-red.json
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -10.1 KB
Content
... ... @@ -1,443 +1,0 @@
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": 210,
17 - "y": 60,
18 - "wires": [
19 - [
20 - "40eac96a52733f7a",
21 - "79722a224bb22c96"
22 - ]
23 - ]
24 - },
25 - {
26 - "id": "fe5a93a52b6adcf1",
27 - "type": "inject",
28 - "z": "5f10779accc05655",
29 - "name": "AT+SEND=1,hello world,0,3",
30 - "props": [
31 - {
32 - "p": "payload"
33 - }
34 - ],
35 - "repeat": "",
36 - "crontab": "",
37 - "once": false,
38 - "onceDelay": 0.1,
39 - "topic": "",
40 - "payload": "AT+SEND=1,hello world,0,3",
41 - "payloadType": "str",
42 - "x": 220,
43 - "y": 260,
44 - "wires": [
45 - [
46 - "3f8add7e2e1d1d17"
47 - ]
48 - ]
49 - },
50 - {
51 - "id": "3f8add7e2e1d1d17",
52 - "type": "serial out",
53 - "z": "5f10779accc05655",
54 - "name": "",
55 - "serial": "bb1c0e81fd51fa9e",
56 - "x": 540,
57 - "y": 260,
58 - "wires": []
59 - },
60 - {
61 - "id": "16e7d3d83d9e9415",
62 - "type": "inject",
63 - "z": "5f10779accc05655",
64 - "name": "",
65 - "props": [
66 - {
67 - "p": "payload"
68 - }
69 - ],
70 - "repeat": "",
71 - "crontab": "",
72 - "once": false,
73 - "onceDelay": 0.1,
74 - "topic": "",
75 - "payload": "ATZ",
76 - "payloadType": "str",
77 - "x": 290,
78 - "y": 320,
79 - "wires": [
80 - [
81 - "3f8add7e2e1d1d17"
82 - ]
83 - ]
84 - },
85 - {
86 - "id": "09ea381519629dae",
87 - "type": "inject",
88 - "z": "5f10779accc05655",
89 - "name": "AT+FRE",
90 - "props": [
91 - {
92 - "p": "payload"
93 - }
94 - ],
95 - "repeat": "",
96 - "crontab": "",
97 - "once": false,
98 - "onceDelay": 0.1,
99 - "topic": "",
100 - "payload": "AT+FRE=868.100,868.100",
101 - "payloadType": "str",
102 - "x": 280,
103 - "y": 380,
104 - "wires": [
105 - [
106 - "3f8add7e2e1d1d17"
107 - ]
108 - ]
109 - },
110 - {
111 - "id": "5167a7f904013ffd",
112 - "type": "inject",
113 - "z": "5f10779accc05655",
114 - "name": "AT+BW",
115 - "props": [
116 - {
117 - "p": "payload"
118 - }
119 - ],
120 - "repeat": "",
121 - "crontab": "",
122 - "once": false,
123 - "onceDelay": 0.1,
124 - "topic": "",
125 - "payload": "AT+BW=0,0",
126 - "payloadType": "str",
127 - "x": 290,
128 - "y": 440,
129 - "wires": [
130 - [
131 - "3f8add7e2e1d1d17"
132 - ]
133 - ]
134 - },
135 - {
136 - "id": "dbe4abbc730c76e6",
137 - "type": "inject",
138 - "z": "5f10779accc05655",
139 - "name": "AT+SF",
140 - "props": [
141 - {
142 - "p": "payload"
143 - }
144 - ],
145 - "repeat": "",
146 - "crontab": "",
147 - "once": false,
148 - "onceDelay": 0.1,
149 - "topic": "",
150 - "payload": "AT+SF=12,12",
151 - "payloadType": "str",
152 - "x": 290,
153 - "y": 500,
154 - "wires": [
155 - [
156 - "3f8add7e2e1d1d17"
157 - ]
158 - ]
159 - },
160 - {
161 - "id": "3be3ab296a75d512",
162 - "type": "inject",
163 - "z": "5f10779accc05655",
164 - "name": "AT+RXMOD",
165 - "props": [
166 - {
167 - "p": "payload"
168 - }
169 - ],
170 - "repeat": "",
171 - "crontab": "",
172 - "once": false,
173 - "onceDelay": 0.1,
174 - "topic": "",
175 - "payload": "AT+RXMOD=65535,2",
176 - "payloadType": "str",
177 - "x": 270,
178 - "y": 560,
179 - "wires": [
180 - [
181 - "3f8add7e2e1d1d17"
182 - ]
183 - ]
184 - },
185 - {
186 - "id": "7a03d1413c60ea1c",
187 - "type": "inject",
188 - "z": "5f10779accc05655",
189 - "name": "AT+SYNCWORD",
190 - "props": [
191 - {
192 - "p": "payload"
193 - }
194 - ],
195 - "repeat": "",
196 - "crontab": "",
197 - "once": false,
198 - "onceDelay": 0.1,
199 - "topic": "",
200 - "payload": "AT+SYNCWORD=0",
201 - "payloadType": "str",
202 - "x": 260,
203 - "y": 620,
204 - "wires": [
205 - [
206 - "3f8add7e2e1d1d17"
207 - ]
208 - ]
209 - },
210 - {
211 - "id": "40eac96a52733f7a",
212 - "type": "function",
213 - "z": "5f10779accc05655",
214 - "name": "function 1",
215 - "func": "var data = msg.payload\nif (data.substring(0, 4) == \"Data\")\n{\n if (data.substring(6, 12) == \"(HEX:)\")\n {\n var temp = data.substring(13, 15) + data.substring(16, 18)\n var hum = data.substring(19, 21) + data.substring(22, 24)\n var temp1 = parseInt(temp, 16)/100\n var hum1 = parseInt(hum, 16)/10\n var a1 = { payload: temp1 }, a2 = { payload: hum1 }\n }\n}\nif (data.substring(0, 4) == \"Rssi\")\n{\n var rssi = data.substring(6)\n var a3 = { payload: rssi }\n}\nreturn [a1,a2,a3];\n \n\n",
216 - "outputs": 3,
217 - "noerr": 0,
218 - "initialize": "",
219 - "finalize": "",
220 - "libs": [],
221 - "x": 420,
222 - "y": 60,
223 - "wires": [
224 - [
225 - "81edb003937f1a92"
226 - ],
227 - [
228 - "c63593404a60d9dc"
229 - ],
230 - [
231 - "61ca71032888887b"
232 - ]
233 - ]
234 - },
235 - {
236 - "id": "61ca71032888887b",
237 - "type": "ui_chart",
238 - "z": "5f10779accc05655",
239 - "name": "",
240 - "group": "ef41b39771110fa5",
241 - "order": 1,
242 - "width": 0,
243 - "height": 0,
244 - "label": "RSSI",
245 - "chartType": "line",
246 - "legend": "false",
247 - "xformat": "dd HH:mm",
248 - "interpolate": "linear",
249 - "nodata": "",
250 - "dot": true,
251 - "ymin": "",
252 - "ymax": "",
253 - "removeOlder": 1,
254 - "removeOlderPoints": "",
255 - "removeOlderUnit": "3600",
256 - "cutout": 0,
257 - "useOneColor": false,
258 - "useUTC": false,
259 - "colors": [
260 - "#1f77b4",
261 - "#aec7e8",
262 - "#ff7f0e",
263 - "#2ca02c",
264 - "#98df8a",
265 - "#d62728",
266 - "#ff9896",
267 - "#9467bd",
268 - "#c5b0d5"
269 - ],
270 - "outputs": 1,
271 - "useDifferentColor": false,
272 - "className": "",
273 - "x": 670,
274 - "y": 180,
275 - "wires": [
276 - []
277 - ]
278 - },
279 - {
280 - "id": "81edb003937f1a92",
281 - "type": "ui_chart",
282 - "z": "5f10779accc05655",
283 - "name": "",
284 - "group": "7e1d1c102cf74e6b",
285 - "order": 1,
286 - "width": 0,
287 - "height": 0,
288 - "label": "Temperature",
289 - "chartType": "line",
290 - "legend": "false",
291 - "xformat": "HH:mm:ss",
292 - "interpolate": "linear",
293 - "nodata": "",
294 - "dot": true,
295 - "ymin": "",
296 - "ymax": "",
297 - "removeOlder": 1,
298 - "removeOlderPoints": "",
299 - "removeOlderUnit": "3600",
300 - "cutout": 0,
301 - "useOneColor": false,
302 - "useUTC": false,
303 - "colors": [
304 - "#1f77b4",
305 - "#aec7e8",
306 - "#ff7f0e",
307 - "#2ca02c",
308 - "#98df8a",
309 - "#d62728",
310 - "#ff9896",
311 - "#9467bd",
312 - "#c5b0d5"
313 - ],
314 - "outputs": 1,
315 - "useDifferentColor": false,
316 - "className": "",
317 - "x": 690,
318 - "y": 100,
319 - "wires": [
320 - []
321 - ]
322 - },
323 - {
324 - "id": "c63593404a60d9dc",
325 - "type": "ui_chart",
326 - "z": "5f10779accc05655",
327 - "name": "",
328 - "group": "3f5d139f158d7c1c",
329 - "order": 2,
330 - "width": 0,
331 - "height": 0,
332 - "label": "Humidity",
333 - "chartType": "line",
334 - "legend": "false",
335 - "xformat": "HH:mm:ss",
336 - "interpolate": "linear",
337 - "nodata": "",
338 - "dot": true,
339 - "ymin": "",
340 - "ymax": "",
341 - "removeOlder": 1,
342 - "removeOlderPoints": "",
343 - "removeOlderUnit": "3600",
344 - "cutout": 0,
345 - "useOneColor": false,
346 - "useUTC": false,
347 - "colors": [
348 - "#1f77b4",
349 - "#aec7e8",
350 - "#ff7f0e",
351 - "#2ca02c",
352 - "#98df8a",
353 - "#d62728",
354 - "#ff9896",
355 - "#9467bd",
356 - "#c5b0d5"
357 - ],
358 - "outputs": 1,
359 - "useDifferentColor": false,
360 - "className": "",
361 - "x": 680,
362 - "y": 140,
363 - "wires": [
364 - []
365 - ]
366 - },
367 - {
368 - "id": "79722a224bb22c96",
369 - "type": "debug",
370 - "z": "5f10779accc05655",
371 - "name": "debug 1",
372 - "active": true,
373 - "tosidebar": true,
374 - "console": false,
375 - "tostatus": false,
376 - "complete": "false",
377 - "statusVal": "",
378 - "statusType": "auto",
379 - "x": 420,
380 - "y": 180,
381 - "wires": []
382 - },
383 - {
384 - "id": "bb1c0e81fd51fa9e",
385 - "type": "serial-port",
386 - "serialport": "/dev/ttyUSB0",
387 - "serialbaud": "9600",
388 - "databits": "8",
389 - "parity": "none",
390 - "stopbits": "1",
391 - "waitfor": "",
392 - "dtr": "none",
393 - "rts": "none",
394 - "cts": "none",
395 - "dsr": "none",
396 - "newline": "\\n",
397 - "bin": "false",
398 - "out": "char",
399 - "addchar": "\\r\\n",
400 - "responsetimeout": "10000"
401 - },
402 - {
403 - "id": "ef41b39771110fa5",
404 - "type": "ui_group",
405 - "name": "rssi",
406 - "tab": "abb98f80600a5448",
407 - "order": 3,
408 - "disp": true,
409 - "width": "6",
410 - "collapse": false,
411 - "className": ""
412 - },
413 - {
414 - "id": "7e1d1c102cf74e6b",
415 - "type": "ui_group",
416 - "name": "TEM",
417 - "tab": "abb98f80600a5448",
418 - "order": 4,
419 - "disp": true,
420 - "width": "6",
421 - "collapse": false,
422 - "className": ""
423 - },
424 - {
425 - "id": "3f5d139f158d7c1c",
426 - "type": "ui_group",
427 - "name": "HUM",
428 - "tab": "abb98f80600a5448",
429 - "order": 2,
430 - "disp": true,
431 - "width": "6",
432 - "collapse": false,
433 - "className": ""
434 - },
435 - {
436 - "id": "abb98f80600a5448",
437 - "type": "ui_tab",
438 - "name": "LG01v2",
439 - "icon": "LG01v2",
440 - "disabled": false,
441 - "hidden": false
442 - }
443 -]
image-20221103144405-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -32.8 KB
Content
image-20221103152033-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -25.3 KB
Content
image-20221103152238-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -32.8 KB
Content
image-20221104100344-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -137.0 KB
Content
image-20221104100520-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -140.7 KB
Content
image-20221104102736-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -325.9 KB
Content
image-20221104155612-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -384.2 KB
Content
image-20221104155654-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -35.5 KB
Content
image-20221104155724-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -42.4 KB
Content
image-20221104155907-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -66.7 KB
Content
image-20221104155928-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -49.5 KB
Content
image-20221104155949-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -46.0 KB
Content
image-20221108164337-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -17.5 KB
Content
image-20221108164413-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -27.1 KB
Content
image-20221108170314-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -34.6 KB
Content
image-20221108170621-4.jpeg
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -544.6 KB
Content
image-20221108170731-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -2.5 MB
Content
image-20221108172149-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -17.5 KB
Content
image-20221108172432-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -45.9 KB
Content
image-20221108174840-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -52.1 KB
Content
image-20221108175113-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -72.6 KB
Content
image-20221108180334-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -159.3 KB
Content
image-20221108180458-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -52.4 KB
Content
image-20221112161031-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -35.1 KB
Content
image-20221112161111-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -34.8 KB
Content
image-20221112162733-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -78.7 KB
Content
image-20221112163119-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -32.6 KB
Content
image-20230504095457-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -412.6 KB
Content
image-20230504095502-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -412.6 KB
Content
image-20230504100722-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -21.5 KB
Content
image-20230506110646-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -383.1 KB
Content
image-20230506113332-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -28.6 KB
Content
image-20230506113432-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -36.5 KB
Content
image-20230506113531-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -403.2 KB
Content
image-20230506113602-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -26.7 KB
Content
image-20230506113623-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -35.4 KB
Content
image-20230506113705-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -40.9 KB
Content
image-20230506113722-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -33.2 KB
Content
image-20230506113737-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -25.2 KB
Content
image-20230506113813-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -39.5 KB
Content
image-20230506113831-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -32.2 KB
Content
image-20230506114127-12.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -56.1 KB
Content
image-20230506115438-13.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -413.6 KB
Content
image-20230620103153-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -127.6 KB
Content
image-20230620103535-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -156.3 KB
Content
image-20230620103923-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -72.7 KB
Content
image-20231014092843-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -596 bytes
Content
image-20231014092934-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -620 bytes
Content
image-20231014092954-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -618 bytes
Content
image-20231014092959-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -563 bytes
Content
serial USB.json
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Kilight
Size
... ... @@ -1,1 +1,0 @@
1 -5.1 KB
Content
... ... @@ -1,244 +1,0 @@
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