Wiki source code of SAC01L - LoRaWAN Crowd Recognition Sensor User Manual
Version 244.1 by Karry Zhuang on 2024/11/27 18:29
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | [[image:image-20241127145539-2.png||height="284" width="370"]] | ||
2 | |||
3 | |||
4 | |||
5 | (% _mstvisible="1" %) | ||
6 | (% _msthash="315238" _msttexthash="18964465" _mstvisible="3" %)**Table of Contents:** | ||
7 | |||
8 | {{toc/}} | ||
9 | |||
10 | |||
11 | |||
12 | |||
13 | |||
14 | |||
15 | |||
16 | |||
17 | = 1. Introduction = | ||
18 | |||
19 | == 1.1 What is SAC01L Temperature & Humidity Sensor == | ||
20 | |||
21 | |||
22 | ((( | ||
23 | The Dragino SAC01L pedestrian recognition sensor is a long-range LoRaWAN sensor. It includes a built-in AI camera sensor and has a USB Type-C | ||
24 | ))) | ||
25 | |||
26 | ((( | ||
27 | SAC01L (% style="color:blue" %)**senses the movement of people and makes identification judgments.**(%%) and send these values via long-range wireless LoRaWAN protocol. It targets professional wireless sensor network applications such as smart metering, smart cities, building automation, and so on. | ||
28 | ))) | ||
29 | |||
30 | ((( | ||
31 | SAC01L uses an external power supply and can work for a long time. | ||
32 | ))) | ||
33 | |||
34 | ((( | ||
35 | SAC01L is fully compatible with LoRaWAN v1.0.3 protocol, it can work with standard LoRaWAN gateway. | ||
36 | ))) | ||
37 | |||
38 | ((( | ||
39 | SAC01L supports(% style="color:blue" %)** Datalog feature** (%%)to make sure users won't miss sensor data. It records sensor value for every uplink. These values can be retrieved by LoRaWAN server via downlink command. | ||
40 | ))) | ||
41 | |||
42 | ((( | ||
43 | |||
44 | ))) | ||
45 | |||
46 | [[image:1655774519494-861.png]] | ||
47 | |||
48 | |||
49 | == 1.2 Features == | ||
50 | |||
51 | |||
52 | * Wall Attachable. | ||
53 | * LoRaWAN v1.0.3 Class A protocol. | ||
54 | * Frequency Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915 | ||
55 | * AT Commands to change parameters | ||
56 | * Remote configure parameters via LoRaWAN Downlink | ||
57 | * Firmware upgradable via program port | ||
58 | * Datalog feature | ||
59 | * IP Rating: IP52 | ||
60 | |||
61 | == 1.3 Specification == | ||
62 | |||
63 | |||
64 | **Built-in Temperature Sensor:** | ||
65 | |||
66 | * Resolution: 0.01 °C | ||
67 | * Accuracy Tolerance: Typ ±0.3 °C | ||
68 | * Long Term Drift: < 0.02 °C/yr | ||
69 | * Operating Range: -10 ~~ 50 °C or -40 ~~ 60 °C (depends on battery type, see [[FAQ>>||anchor="H6.5Whyiseedifferentworkingtemperatureforthedevice3F"]]) | ||
70 | |||
71 | **Built-in Humidity Sensor:** | ||
72 | |||
73 | * Resolution: 0.1 %RH | ||
74 | * Accuracy Tolerance: Typ ±3 %RH | ||
75 | * Long Term Drift: < 0.25 RH/yr | ||
76 | * Operating Range: 0 ~~ 99.0 %RH(no Dew) | ||
77 | |||
78 | == == | ||
79 | |||
80 | |||
81 | == 1.5 Storage & Operation Temperature == | ||
82 | |||
83 | |||
84 | -10 ~~ 50 °C or -40 ~~ 60 °C | ||
85 | |||
86 | |||
87 | == 1.6 Applications == | ||
88 | |||
89 | |||
90 | * Smart Buildings & Home Automation | ||
91 | * Logistics and Supply Chain Management | ||
92 | * Smart Metering | ||
93 | * Smart Agriculture | ||
94 | * Smart Cities | ||
95 | * Smart Factory | ||
96 | |||
97 | = = | ||
98 | |||
99 | = 2. Configure SAC01L to connect to LoRaWAN network = | ||
100 | |||
101 | == 2.1 How it works == | ||
102 | |||
103 | The SAC01L is configured as **LoRaWAN OTAA Class A** mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and press the button to activate the AIS01-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. | ||
104 | |||
105 | |||
106 | == 2.2 Example to join LoRaWAN network == | ||
107 | |||
108 | |||
109 | This section shows an example for how to join the [[TheThingsNetwork>>url:https://www.thethingsnetwork.org/]] LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are of similar procedure. | ||
110 | |||
111 | |||
112 | (% _mstvisible="1" class="wikigeneratedid" %) | ||
113 | [[image:1655775912928-657.png]] | ||
114 | |||
115 | Assume the DLOS8 is already set to connect to [[TTN V3 network >>url:https://eu1.cloud.thethings.network/]]. We need to add the SAC01L device in TTN V3 portal. | ||
116 | |||
117 | |||
118 | (% style="color:blue" %)**Step 1**(%%): Create a device in TTN V3 with the OTAA keys from SAC01L. | ||
119 | |||
120 | Each SAC01L is shipped with a sticker with the default DEV EUI as below: | ||
121 | |||
122 | [[image:image-20230426083617-1.png||height="294" width="633"]] | ||
123 | |||
124 | |||
125 | Enter these keys in the LoRaWAN Server portal. Below is TTN V3 screen shot: | ||
126 | |||
127 | Add APP EUI in the application. | ||
128 | |||
129 | choose to create the device manually. | ||
130 | |||
131 | Add APP KEY and DEV EUI(% style="display:none" %) | ||
132 | |||
133 | [[image:image-20220522232916-3.png||_mstalt="430495" _mstvisible="3"]](% style="display:none" %) | ||
134 | |||
135 | [[image:1655776122894-257.png]] | ||
136 | |||
137 | |||
138 | **Default mode OTAA** | ||
139 | |||
140 | |||
141 | [[image:1655776241177-240.png]] | ||
142 | |||
143 | |||
144 | (% style="color:blue" %)**Step 2**(%%): Use ACT button to activate SAC01L and it will auto join to the TTN V3 network. After join success, it will start to upload sensor data to TTN V3 and user can see in the panel. | ||
145 | |||
146 | |||
147 | [[image:image-20220621095134-4.png]] | ||
148 | |||
149 | |||
150 | == 2.4 Uplink Payload == | ||
151 | |||
152 | |||
153 | Uplink payloads include two types: Valid Sensor Value and other status / control command. | ||
154 | |||
155 | * Valid Sensor Value: Use FPORT=2 | ||
156 | * Other control command: Use FPORT other than 2. | ||
157 | |||
158 | === 2.4.1 Uplink FPORT~=5, Device Status === | ||
159 | |||
160 | |||
161 | Uplink the device configures with FPORT=5. Once SAC01L Joined the network, it will uplink this message to the server. After first uplink, SAC01L will uplink Device Status every 12 hours. | ||
162 | |||
163 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:370px" %) | ||
164 | |=(% style="width: 60px;background-color:#4F81BD;color:white" %)**Size(bytes)(% style="display:none" %) (%%)**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2** | ||
165 | |(% style="width:99px" %)Value|(% style="width:62px" %)Sensor Model|(% style="width:80px" %)Firmware Version|(% style="width:82px" %)Frequency Band|(% style="width:85px" %)Sub-band|(% style="width:46px" %)BAT | ||
166 | |||
167 | [[image:image-20241127165422-5.png]](% style="display:none" %) | ||
168 | |||
169 | |||
170 | Example Payload (FPort=5): 38 0A 00 01 FF 0C D2 | ||
171 | |||
172 | |||
173 | (% style="color:#4472c4" %)**Sensor Model**(%%): For SAC01L, this value is 0x38. | ||
174 | |||
175 | (% style="color:#4472c4" %)**Firmware Version**(%%): 0x0A00, Means: v1.0.0 version. | ||
176 | |||
177 | (% style="color:#4472c4" %)**Frequency Band**: | ||
178 | |||
179 | *0x01: EU868 | ||
180 | |||
181 | *0x02: US915 | ||
182 | |||
183 | *0x03: IN865 | ||
184 | |||
185 | *0x04: AU915 | ||
186 | |||
187 | *0x05: KZ865 | ||
188 | |||
189 | *0x06: RU864 | ||
190 | |||
191 | *0x07: AS923 | ||
192 | |||
193 | *0x08: AS923-1 | ||
194 | |||
195 | *0x09: AS923-2 | ||
196 | |||
197 | *0x0a: AS923-3 | ||
198 | |||
199 | |||
200 | (% style="color:#4472c4" %)**Sub-Band**(%%): value 0x00 ~~ 0x08(only for CN470, AU915,US915. Others are0x00) | ||
201 | |||
202 | (% style="color:#4472c4" %)**BAT**(%%): shows the battery voltage for SAC01L. | ||
203 | |||
204 | (% style="color:#4472c4" %)**Ex1**(%%): 0x0CD2 = 3282mV | ||
205 | |||
206 | |||
207 | Use can also get the Device Status uplink through the downlink command: | ||
208 | |||
209 | (% style="color:#4472c4" %)**Downlink: **(%%)0x2601 | ||
210 | |||
211 | |||
212 | |||
213 | === 2.4.2 Uplink FPORT~=2, Real time sensor value === | ||
214 | |||
215 | |||
216 | SAC01L will send this uplink after Device Status uplink once join LoRaWAN network successfully. And it will periodically send this uplink. Default interval is 20 minutes and [[can be changed>>||anchor="H3.1A0DownlinkCommandSet"]]. | ||
217 | |||
218 | Uplink uses FPORT=2 and every 20 minutes send one uplink by default. | ||
219 | |||
220 | (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:390px" %) | ||
221 | |=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( | ||
222 | **Size(bytes)** | ||
223 | )))|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( | ||
224 | **2** | ||
225 | )))|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( | ||
226 | **1** | ||
227 | )))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)((( | ||
228 | 4 | ||
229 | )))|=(% style="width: 46px; background-color: rgb(79, 129, 189); color: white;" %)((( | ||
230 | 4 | ||
231 | )))|=(% style="width: 34px; background-color: rgb(79, 129, 189); color: white;" %)((( | ||
232 | **4** | ||
233 | ))) | ||
234 | |(% style="width:97px" %)((( | ||
235 | Value | ||
236 | )))|(% style="width:39px" %)((( | ||
237 | BAT | ||
238 | )))|(% style="width:100px" %)((( | ||
239 | ((( | ||
240 | MOD | ||
241 | ))) | ||
242 | )))|(% style="width:77px" %)sysTimeCurrent|(% style="width:46px" %)OUT|(% style="width:34px" %)((( | ||
243 | INT | ||
244 | ))) | ||
245 | |||
246 | [[image:image-20241127162828-3.png||height="432" width="1144"]] | ||
247 | |||
248 | Example Payload (FPort=2): (% style="background-color:yellow" %)**0C D2 01 00 00 00 04 00 00 00 02** | ||
249 | |||
250 | |||
251 | ==== (% style="color:blue" %)**BAT:**(%%) ==== | ||
252 | |||
253 | * Example1: 0x0CD2/100=3.282 | ||
254 | * Example2: 0xCD8/100=3.288 | ||
255 | |||
256 | ==== (% style="color:blue" %)**MOD:**(%%) ==== | ||
257 | |||
258 | * MOD: 0x01=1 | ||
259 | |||
260 | ==== (% style="color:blue" %)**sysTimeCurrent:**(%%) ==== | ||
261 | |||
262 | SAC01L use Unix TimeStamp format based on: | ||
263 | |||
264 | [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/AIS01-LB--LoRaWAN_AI_Image_End_Node_User_Manual/WebHome/1715151333259-453.png?rev=1.1||alt="1715151333259-453.png"]] | ||
265 | |||
266 | Users can get this time from the link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : | ||
267 | |||
268 | Below is the converter example. | ||
269 | |||
270 | **Ex**:66B5C1B0=2024-08-09 07:13:52 | ||
271 | |||
272 | [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/AIS01-LB--LoRaWAN_AI_Image_End_Node_User_Manual/WebHome/image-20240809152956-5.png?width=788&height=402&rev=1.1||alt="image-20240809152956-5.png" height="402" width="788"]] | ||
273 | |||
274 | So, we can use AT+TIMESTAMP=1723187632 or downlink 66B5C1B0 to set the current time 2024 – August ~-~- 9 Friday 07:13:52 | ||
275 | |||
276 | |||
277 | ==== (% style="color:blue" %)**OUT**(%%) ==== | ||
278 | |||
279 | * Example1: 0x00000004=4 | ||
280 | |||
281 | ==== (% style="color:blue" %)**INT**(%%) ==== | ||
282 | |||
283 | * Example1: 0x00000002=2 | ||
284 | |||
285 | INT and OUT can be customized according to the situation, just swap the positions of INT and OUT in the decoder. | ||
286 | |||
287 | |||
288 | |||
289 | === 2.4.5 Decoder in TTN V3 === | ||
290 | |||
291 | |||
292 | In LoRaWAN protocol, the uplink payload is HEX format, user need to add a payload formatter/decoder in LoRaWAN Server to get human friendly string. | ||
293 | |||
294 | In TTN , add formatter as below: | ||
295 | |||
296 | [[image:image-20220621102026-10.png]] | ||
297 | |||
298 | |||
299 | ((( | ||
300 | Please check the decoder from this link: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] | ||
301 | ))) | ||
302 | |||
303 | |||
304 | == 2.6 Datalog Feature == | ||
305 | |||
306 | |||
307 | (% _msthash="315262" _msttexthash="32283004" _mstvisible="1" %) | ||
308 | When user want to retrieve sensor value, he can send a poll command from the IoT platform to ask sensor to send value in the required time slot. | ||
309 | |||
310 | |||
311 | === 2.6.1 Unix TimeStamp === | ||
312 | |||
313 | |||
314 | Unix TimeStamp shows the sampling time of uplink payload. format base on | ||
315 | |||
316 | [[image:image-20220523001219-11.png||_mstalt="450450" _mstvisible="3" height="97" width="627"]] | ||
317 | |||
318 | User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/||_mstvisible="3"]] : | ||
319 | |||
320 | For example: if the Unix Timestamp we got is hex 0x60137afd, we can convert it to Decimal: 1611889405. and then convert to the time: 2021 – Jan ~-~- 29 Friday 03:03:25 (GMT) | ||
321 | |||
322 | |||
323 | [[image:1655782409139-256.png]] | ||
324 | |||
325 | |||
326 | === 2.6.2 Poll sensor value === | ||
327 | |||
328 | |||
329 | ((( | ||
330 | User can poll sensor value based on timestamps from the server. Below is the downlink command. | ||
331 | ))) | ||
332 | |||
333 | ((( | ||
334 | Timestamp start and Timestamp end use Unix TimeStamp format as mentioned above. Devices will reply with all data log during this time period, use the uplink interval. | ||
335 | ))) | ||
336 | |||
337 | ((( | ||
338 | For example, downlink command [[image:image-20220621113526-13.png]] (% _mstvisible="3" style="display:none" %) | ||
339 | ))) | ||
340 | |||
341 | ((( | ||
342 | Is to check 2020/12/1 07:40:00 to 2020/12/1 08:40:00's data | ||
343 | ))) | ||
344 | |||
345 | ((( | ||
346 | Uplink Internal =5s,means SAC01Lwill send one packet every 5s. range 5~~255s. | ||
347 | ))) | ||
348 | |||
349 | |||
350 | === === | ||
351 | |||
352 | == 2.8 LED Indicator == | ||
353 | |||
354 | |||
355 | ((( | ||
356 | The SAC01L has a triple color LED which for easy showing different stage. | ||
357 | ))) | ||
358 | |||
359 | |||
360 | ((( | ||
361 | (% style="color:#037691" %)**In a normal working state**: | ||
362 | ))) | ||
363 | |||
364 | * When the node is restarted, (% style="color:blue" %)**BLUE**(%%)** **are sequentially lit. | ||
365 | |||
366 | * During OTAA Join: | ||
367 | ** **For each Join Request uplink:** the (% style="color:green" %)**GREEN LED** (%%)will blink once. | ||
368 | ** **Once Join Successful:** the (% style="color:green" %)**GREEN LED**(%%) will be solid on for 5 seconds. | ||
369 | |||
370 | * After joined, for each uplink, the (% style="color:blue" %)**BLUE LED**(%%) or (% style="color:green" %)**GREEN LED** (%%)will blink once. | ||
371 | ** (% style="color:blue" %)**BLUE LED**(%%) when external sensor is connected | ||
372 | ** (% style="color:green" %)**GREEN LED**(%%) when external sensor is not connected | ||
373 | |||
374 | (% style="display:none" %) (%%) | ||
375 | |||
376 | == 2.9 Button == | ||
377 | |||
378 | |||
379 | Press the button SAC01L will reset and join network again. | ||
380 | |||
381 | |||
382 | = 3. Configure SAC01L via AT command or LoRaWAN downlink = | ||
383 | |||
384 | |||
385 | Use can configure SAC01L via AT Command or LoRaWAN Downlink. | ||
386 | |||
387 | * AT Command Connection: See [[FAQ>>||anchor="H6.FAQ"]]. | ||
388 | |||
389 | * LoRaWAN Downlink instruction for different platforms: [[IoT LoRaWAN Server>>doc:Main.WebHome]] | ||
390 | |||
391 | There are two kinds of commands to configure SAC01L, they are: | ||
392 | |||
393 | * (% style="color:#4f81bd" %)**General Commands:** | ||
394 | |||
395 | These commands are to configure: | ||
396 | |||
397 | * General system settings like: uplink interval. | ||
398 | |||
399 | * LoRaWAN protocol & radio-related commands. | ||
400 | |||
401 | They are the same for all Dragino Devices which supports DLWS-005 LoRaWAN Stack(Note~*~*). These commands can be found on the wiki: [[End Device Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]] | ||
402 | |||
403 | |||
404 | * (% style="color:#4f81bd" %)**Commands special design for **(%%)SAC01L | ||
405 | |||
406 | These commands are only valid for SAC01L, as below: | ||
407 | |||
408 | |||
409 | == 3.1 Downlink Command Set == | ||
410 | |||
411 | |||
412 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %) | ||
413 | |=(% style="width: 100px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 150px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 100px;background-color:#4F81BD;color:white" %)**Response**|=(% style="width: 150px;background-color:#4F81BD;color:white" %)**Downlink** | ||
414 | |(% style="width:161px" %)AT+TDC=?|(% style="width:138px" %)View current TDC time|(% style="width:243px" %)((( | ||
415 | 1200000 | ||
416 | OK | ||
417 | )))|(% style="width:1001px" %)Default 1200000(ms) | ||
418 | |(% style="width:161px" %)AT+TDC=300000|(% style="width:138px" %)Set TDC time|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
419 | 0X0100012C: | ||
420 | 01: fixed command | ||
421 | 00012C: 0X00012C=300(seconds) | ||
422 | ))) | ||
423 | |(% style="width:161px" %)ATZ|(% style="width:138px" %)Reset node|(% style="width:243px" %) |(% style="width:1001px" %)0x04FF | ||
424 | |(% style="width:161px" %)AT+FDR|(% style="width:138px" %)Restore factory settings|(% style="width:243px" %) |(% style="width:1001px" %)0X04FE | ||
425 | |(% style="width:161px" %)AT+CFM=?|(% style="width:138px" %)View the current confirmation mode status|(% style="width:243px" %)((( | ||
426 | 0 | ||
427 | OK | ||
428 | )))|(% style="width:1001px" %)Default 0 | ||
429 | |(% style="width:161px" %)AT+CFM=1|(% style="width:138px" %)Turn on confirmation mode|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
430 | 0x0500: close | ||
431 | 0x0501: open | ||
432 | 05: fixed command | ||
433 | ))) | ||
434 | |(% style="width:161px" %)AT+CHE=?|(% style="width:138px" %)View the current sub-band select 0-7, the default is 0|(% style="width:243px" %)((( | ||
435 | 0 | ||
436 | OK | ||
437 | )))|(% style="width:1001px" %)Default 0 | ||
438 | |(% style="width:161px" %)AT+CHE=2|(% style="width:138px" %)((( | ||
439 | Set subband to 2 | ||
440 | (CN470,US915,AU915) | ||
441 | )))|(% style="width:243px" %)((( | ||
442 | Attention:Take effect after ATZ | ||
443 | OK | ||
444 | )))|(% style="width:1001px" %)((( | ||
445 | 0X0702: | ||
446 | 07: fixed command | ||
447 | 02: Select subband 2 | ||
448 | ))) | ||
449 | |(% style="width:161px" %)AT+WMOD=?|(% style="width:138px" %)View the current alarm mode status|(% style="width:243px" %)((( | ||
450 | 0 | ||
451 | OK | ||
452 | )))|(% style="width:1001px" %)Default 0 | ||
453 | |(% style="width:161px" %)AT+WMOD=1|(% style="width:138px" %)Turn on alarm mode|(% style="width:243px" %)((( | ||
454 | Attention:Take effect after ATZ | ||
455 | OK | ||
456 | )))|(% style="width:1001px" %)((( | ||
457 | 0xA501: open | ||
458 | 0XA500: close | ||
459 | A5: fixed command | ||
460 | ))) | ||
461 | |(% style="width:161px" %)AT+CITEMP=?|(% style="width:138px" %)View the current temperature detection time interval|(% style="width:243px" %)((( | ||
462 | 1 | ||
463 | OK | ||
464 | )))|(% style="width:1001px" %)Default 1(min) | ||
465 | |(% style="width:161px" %)AT+CITEMP=2|(% style="width:138px" %)Set the temperature detection time interval to 2min|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
466 | 0XA70002 | ||
467 | A7: fixed command | ||
468 | 0002: 0X0002=2(min) | ||
469 | ))) | ||
470 | |(% style="width:161px" %)AT+NJM=?|(% style="width:138px" %)Check the current network connection method|(% style="width:243px" %)((( | ||
471 | 1 | ||
472 | OK | ||
473 | )))|(% style="width:1001px" %)Default 1 | ||
474 | |(% style="width:161px" %)AT+NJM=0|(% style="width:138px" %)Change the network connection method to ABP|(% style="width:243px" %)((( | ||
475 | Attention:Take effect after ATZ | ||
476 | OK | ||
477 | )))|(% style="width:1001px" %)((( | ||
478 | 0X2000: ABP | ||
479 | 0x2001: OTAA | ||
480 | 20: fixed command | ||
481 | ))) | ||
482 | |(% style="width:161px" %)AT+RPL=?|(% style="width:138px" %)View current RPL settings|(% style="width:243px" %)((( | ||
483 | 0 | ||
484 | OK | ||
485 | )))|(% style="width:1001px" %)Default 0 | ||
486 | |(% style="width:161px" %)AT+RPL=1|(% style="width:138px" %)set RPL=1|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
487 | 0x2101: | ||
488 | 21: fixed command | ||
489 | 01: for details, check wiki | ||
490 | ))) | ||
491 | |(% style="width:161px" %)AT+ADR=?|(% style="width:138px" %)View current ADR status|(% style="width:243px" %)((( | ||
492 | 1 | ||
493 | OK | ||
494 | )))|(% style="width:1001px" %)Default 0 | ||
495 | |(% style="width:161px" %)AT+ADR=0|(% style="width:138px" %)Set the ADR state to off|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
496 | 0x2200: close | ||
497 | 0x2201: open | ||
498 | 22: fixed command | ||
499 | ))) | ||
500 | |(% style="width:161px" %)AT+DR=?|(% style="width:138px" %)View the current DR settings|(% style="width:243px" %)OK|(% style="width:1001px" %) | ||
501 | |(% style="width:161px" %)AT+DR=1|(% style="width:138px" %)((( | ||
502 | set DR to 1 | ||
503 | It takes effect only when ADR=0 | ||
504 | )))|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
505 | 0X22000100: | ||
506 | 00: ADR=0 | ||
507 | 01: DR=1 | ||
508 | 00: TXP=0 | ||
509 | 22: fixed command | ||
510 | ))) | ||
511 | |(% style="width:161px" %)AT+TXP=?|(% style="width:138px" %)View the current TXP|(% style="width:243px" %)OK|(% style="width:1001px" %) | ||
512 | |(% style="width:161px" %)AT+TXP=0|(% style="width:138px" %)((( | ||
513 | set TXP to 0 | ||
514 | It takes effect only when ADR=0 | ||
515 | )))|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
516 | 0X22000100: | ||
517 | 00: ADR=0 | ||
518 | 01: DR=1 | ||
519 | 00: TXP=0 | ||
520 | 22: fixed command | ||
521 | ))) | ||
522 | |(% style="width:161px" %) |(% style="width:138px" %)Upload node configuration or DS18B20 ID|(% style="width:243px" %) |(% style="width:1001px" %)((( | ||
523 | 0X2301:Upload node configuration | ||
524 | 0x2302: Upload DS18B20 ID | ||
525 | 23: fixed command | ||
526 | ))) | ||
527 | |(% style="width:161px" %)AT+DWELL=?|(% style="width:138px" %)Check the high-rate upload settings|(% style="width:243px" %)((( | ||
528 | 1 | ||
529 | OK | ||
530 | )))|(% style="width:1001px" %)Default 1 | ||
531 | |(% style="width:161px" %)AT+DWELL=1|(% style="width:138px" %)((( | ||
532 | Set high rate upload | ||
533 | (AS923,AU915) | ||
534 | )))|(% style="width:243px" %)((( | ||
535 | Attention:Take effect after ATZ | ||
536 | OK | ||
537 | )))|(% style="width:1001px" %)((( | ||
538 | 0x2501: close | ||
539 | 0x2500: open | ||
540 | 25: fixed command | ||
541 | for details, check wiki | ||
542 | ))) | ||
543 | |(% style="width:161px" %)AT+RJTDC=?|(% style="width:138px" %)View current RJTDC set time|(% style="width:243px" %)((( | ||
544 | 20 | ||
545 | OK | ||
546 | )))|(% style="width:1001px" %)Default 20(min) | ||
547 | |(% style="width:161px" %)AT+RJTDC=10|(% style="width:138px" %)Set RJTDC time interval|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
548 | 0X26000A: | ||
549 | 26: fixed command | ||
550 | 000A: 0X000A=10(min) | ||
551 | for details, check wiki | ||
552 | ))) | ||
553 | |(% style="width:161px" %) |(% style="width:138px" %)Retrieve stored data for a specified period of time|(% style="width:243px" %) |(% style="width:1001px" %)((( | ||
554 | 0X3161DE7C7061DE8A800A: | ||
555 | 31: fixed command | ||
556 | 61DE7C70:0X61DE7C70=2022/1/12 15:00:00 | ||
557 | 61DE8A80:0X61DE8A80=2022/1/12 16:00:00 | ||
558 | 0A: 0X0A=10(second) | ||
559 | View details 2.6.2 | ||
560 | ))) | ||
561 | |(% style="width:161px" %)AT+DDETECT=?|(% style="width:138px" %)View the current DDETECT setting status and time|(% style="width:243px" %)((( | ||
562 | 0,1440 | ||
563 | OK | ||
564 | )))|(% style="width:1001px" %)Default 0,1440(min) | ||
565 | |(% style="width:161px" %)AT+DDETECT=1,1440,2880|(% style="width:138px" %)((( | ||
566 | Set DDETECT setting status and time | ||
567 | ((% style="color:red" %)When the node does not receive the downlink packet within the set time, it will re-enter the network(%%)) | ||
568 | )))|(% style="width:243px" %)OK|(% style="width:1001px" %)((( | ||
569 | 0X320005A0: close | ||
570 | 0X320105A0: open | ||
571 | 32: fixed command | ||
572 | 05A0: 0X05A0=1440(min) | ||
573 | ))) | ||
574 | |(% style="width:161px" %) |(% style="width:138px" %)((( | ||
575 | Downlink Modification Alarm Mode | ||
576 | (AT+WMOD,AT+CITEMP,AT+ARTEMP) | ||
577 | )))|(% style="width:243px" %) |(% style="width:1001px" %)((( | ||
578 | 0XAA010002000F00032: | ||
579 | AA: fixed command | ||
580 | 01: 0X01=1(AT+MOD) | ||
581 | 0002: 0X0002=2(AT+CITEMP) | ||
582 | 000F: 0X000F=15(AT+ARTEMP) | ||
583 | 0032: 0X0032=50(AT+ARTEMP) | ||
584 | ))) | ||
585 | |||
586 | == 3.2 Set Password == | ||
587 | |||
588 | |||
589 | Feature: Set device password, max 9 digits. | ||
590 | |||
591 | (% style="color:#4f81bd" %)**AT Command: AT+PWORD** | ||
592 | |||
593 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:372px" %) | ||
594 | |(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response** | ||
595 | |(% style="width:155px" %)AT+PWORD=?|(% style="width:124px" %)Show password|(% style="width:86px" %)((( | ||
596 | 123456 | ||
597 | OK | ||
598 | ))) | ||
599 | |(% style="width:155px" %)AT+PWORD=999999|(% style="width:124px" %)Set password|(% style="width:86px" %)OK | ||
600 | |||
601 | (% style="color:#4f81bd" %)**Downlink Command:** | ||
602 | |||
603 | No downlink command for this feature. | ||
604 | |||
605 | |||
606 | = 4. Battery & How to replace = | ||
607 | |||
608 | == 4.1 Battery Type and replace == | ||
609 | |||
610 | |||
611 | |||
612 | |||
613 | (% style="color:red" %)**Note: ** | ||
614 | |||
615 | 1. The SAC01L doesn't have any screw, use can use nail to open it by the middle. | ||
616 | |||
617 | [[image:image-20220621143535-5.png]] | ||
618 | |||
619 | |||
620 | |||
621 | == 4.2 Power Consumption Analyze == | ||
622 | |||
623 | |||
624 | Dragino battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval. | ||
625 | |||
626 | Instruction to use as below: | ||
627 | |||
628 | (% style="color:blue" %)**Step 1**(%%): Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: | ||
629 | |||
630 | [[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]] | ||
631 | |||
632 | |||
633 | (% style="color:blue" %)**Step 2**(%%): (% style="display:none" %) (%%)Open it and choose | ||
634 | |||
635 | * Product Model | ||
636 | * Uplink Interval | ||
637 | * Working Mode | ||
638 | |||
639 | And the Life expectation in difference case will be shown on the right. | ||
640 | |||
641 | |||
642 | |||
643 | |||
644 | = 6. FAQ = | ||
645 | |||
646 | |||
647 | == 6.2 AT Command and Downlink == | ||
648 | |||
649 | |||
650 | ((( | ||
651 | Sending ATZ will reboot the node | ||
652 | ))) | ||
653 | |||
654 | ((( | ||
655 | Sending AT+FDR will restore the node to factory settings | ||
656 | ))) | ||
657 | |||
658 | ((( | ||
659 | Get the node's AT command setting by sending AT+CFG | ||
660 | ))) | ||
661 | |||
662 | ((( | ||
663 | |||
664 | ))) | ||
665 | |||
666 | ((( | ||
667 | **Example:** | ||
668 | ))) | ||
669 | |||
670 | ((( | ||
671 | AT+VER=EU868 v1.0 | ||
672 | ))) | ||
673 | |||
674 | ((( | ||
675 | AT+NJM=1 | ||
676 | ))) | ||
677 | |||
678 | ((( | ||
679 | AT+DEUI=25 32 12 45 65 26 12 35 | ||
680 | ))) | ||
681 | |||
682 | ((( | ||
683 | AT+APPEUI=25 32 12 45 65 26 32 16 | ||
684 | ))) | ||
685 | |||
686 | ((( | ||
687 | AT+APPKEY=25 32 12 45 65 26 32 16 89 48 85 65 45 87 89 55 | ||
688 | ))) | ||
689 | |||
690 | ((( | ||
691 | AT+DADDR=00 00 00 00 | ||
692 | ))) | ||
693 | |||
694 | ((( | ||
695 | AT+APPSKEY=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ||
696 | ))) | ||
697 | |||
698 | ((( | ||
699 | AT+NWKSKEY=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ||
700 | ))) | ||
701 | |||
702 | ((( | ||
703 | AT+NWKID=00 00 00 13 | ||
704 | ))) | ||
705 | |||
706 | ((( | ||
707 | AT+ADR=1 | ||
708 | ))) | ||
709 | |||
710 | ((( | ||
711 | AT+DR=5 | ||
712 | ))) | ||
713 | |||
714 | ((( | ||
715 | AT+TXP=0 | ||
716 | ))) | ||
717 | |||
718 | ((( | ||
719 | AT+CHS=0 | ||
720 | ))) | ||
721 | |||
722 | ((( | ||
723 | AT+CLASS=A | ||
724 | ))) | ||
725 | |||
726 | ((( | ||
727 | AT+CFM=0 | ||
728 | ))) | ||
729 | |||
730 | ((( | ||
731 | AT+JN1DL=5000 | ||
732 | ))) | ||
733 | |||
734 | ((( | ||
735 | AT+JN2DL=6000 | ||
736 | ))) | ||
737 | |||
738 | ((( | ||
739 | AT+RX1DL=5000 | ||
740 | ))) | ||
741 | |||
742 | ((( | ||
743 | AT+RX2DL=6000 | ||
744 | ))) | ||
745 | |||
746 | ((( | ||
747 | AT+RX1WTO=24 | ||
748 | ))) | ||
749 | |||
750 | ((( | ||
751 | AT+RX2WTO=6 | ||
752 | ))) | ||
753 | |||
754 | ((( | ||
755 | AT+RX2FQ=869525000 | ||
756 | ))) | ||
757 | |||
758 | ((( | ||
759 | AT+RX2DR=0 | ||
760 | ))) | ||
761 | |||
762 | ((( | ||
763 | AT+RPL=0 | ||
764 | ))) | ||
765 | |||
766 | ((( | ||
767 | AT+FCU=6 | ||
768 | ))) | ||
769 | |||
770 | ((( | ||
771 | AT+FCD=0 | ||
772 | ))) | ||
773 | |||
774 | ((( | ||
775 | AT+CFS=0 | ||
776 | ))) | ||
777 | |||
778 | ((( | ||
779 | AT+NJS=1 | ||
780 | ))) | ||
781 | |||
782 | ((( | ||
783 | AT+DCS=0 | ||
784 | ))) | ||
785 | |||
786 | ((( | ||
787 | AT+PNM=1 | ||
788 | ))) | ||
789 | |||
790 | ((( | ||
791 | AT+PWORD=123456 | ||
792 | ))) | ||
793 | |||
794 | ((( | ||
795 | AT+EXT=1 | ||
796 | ))) | ||
797 | |||
798 | ((( | ||
799 | AT+TDC=120000 | ||
800 | ))) | ||
801 | |||
802 | ((( | ||
803 | AT+TIMESTAMP=1640851037 2021 12 30 7 57 17 | ||
804 | ))) | ||
805 | |||
806 | ((( | ||
807 | AT+RJTDC=20 | ||
808 | ))) | ||
809 | |||
810 | ((( | ||
811 | AT+DDETECT=0,1440 | ||
812 | ))) | ||
813 | |||
814 | ((( | ||
815 | AT+WMOD=0 | ||
816 | ))) | ||
817 | |||
818 | ((( | ||
819 | AT+CITEMP=1 | ||
820 | ))) | ||
821 | |||
822 | ((( | ||
823 | AT+ARTEMP=-40,125 | ||
824 | ))) | ||
825 | |||
826 | ((( | ||
827 | Send AT+PDTA=? to get the stored 174 data | ||
828 | ))) | ||
829 | |||
830 | |||
831 | ((( | ||
832 | **Example:** | ||
833 | ))) | ||
834 | |||
835 | [[image:image-20220621144804-11.png]] | ||
836 | |||
837 | |||
838 | == 6.3 How to upgrade the firmware? == | ||
839 | |||
840 | |||
841 | SAC01L requires a program converter to upload images to SAC01L, which is used to upload image to SAC01L for: | ||
842 | |||
843 | * Support new features | ||
844 | * For bug fix | ||
845 | * Change LoRaWAN bands. | ||
846 | |||
847 | ((( | ||
848 | User can check this link for the detail of operation of firmware upgrade: [[Firmware Upgrade Instruction>>doc:Main.Firmware Upgrade Instruction.WebHome||anchor="H2.3LHT52"]] | ||
849 | ))) | ||
850 | |||
851 | |||
852 | == 6.4 How to change the LoRa Frequency Bands/Region? == | ||
853 | |||
854 | |||
855 | User can follow the introduction for [[how to upgrade image>>||anchor="H6.3A0Howtoupgradethefirmware3F"]]. When download the images, choose the required image file for download. | ||
856 | |||
857 | |||
858 | == 6.5 Why i see different working temperature for the device? == | ||
859 | |||
860 | |||
861 | The working temperature range of device depends on the battery user choose. | ||
862 | |||
863 | * Normal AAA Battery can support -10 ~~ 50°C working range. | ||
864 | * Special AAA battery can support -40 ~~ 60 °C working range. For example: [[Energizer L92>>https://data.energizer.com/pdfs/l92.pdf]] | ||
865 | |||
866 | = 7. Order Info = | ||
867 | |||
868 | == 7.1 Main Device == | ||
869 | |||
870 | |||
871 | ((( | ||
872 | Part Number: (% style="color:#4472c4" %)**LHT65N-XX** | ||
873 | ))) | ||
874 | |||
875 | ((( | ||
876 | (% style="color:#4472c4" %)**XX **(%%): The default frequency band | ||
877 | ))) | ||
878 | |||
879 | * (% style="color:red" %)**AS923**(%%)**: **LoRaWAN AS923 band | ||
880 | * (% style="color:red" %)**AU915**(%%)**: **LoRaWAN AU915 band | ||
881 | * (% style="color:red" %)**EU433**(%%)**: **LoRaWAN EU433 band | ||
882 | * (% style="color:red" %)**EU868**(%%)**:** LoRaWAN EU868 band | ||
883 | * (% style="color:red" %)**KR920**(%%)**: **LoRaWAN KR920 band | ||
884 | * (% style="color:red" %)**US915**(%%)**: **LoRaWAN US915 band | ||
885 | * (% style="color:red" %)**IN865**(%%)**: **LoRaWAN IN865 band | ||
886 | * (% style="color:red" %)**CN470**(%%)**: **LoRaWAN CN470 band | ||
887 | |||
888 | == 7.2 Accessories == | ||
889 | |||
890 | |||
891 | (% style="color:red" %)**Note: below accessories are not include in the main device package, need to order separately.** | ||
892 | |||
893 | **Temperature Probe: (% style="color:red" %)AS-01(%%)** | ||
894 | |||
895 | **Program Converter: (% style="color:red" %)AS-02(%%)** | ||
896 | |||
897 | |||
898 | = 8. Packing Info = | ||
899 | |||
900 | |||
901 | **Package Includes**: | ||
902 | |||
903 | * SAC01L Temperature & Humidity Sensor x 1 | ||
904 | |||
905 | = 9. Support = | ||
906 | |||
907 | |||
908 | * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. | ||
909 | * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[support@dragino.com>>url:file:///D:/市场资料/说明书/LoRa/LT系列/support@dragino.com]]. | ||
910 | |||
911 | = 10. Reference material = | ||
912 | |||
913 | |||
914 | * [[Datasheet, photos, decoder, firmware>>https://www.dropbox.com/sh/ucgxio6zltajlxg/AACxr_XyH4Cy7gevG293k4zqa?dl=0]] | ||
915 | |||
916 | = 11. FCC Warning = | ||
917 | |||
918 | |||
919 | This device complies with part 15 of the FCC Rules.Operation is subject to the following two conditions: | ||
920 | |||
921 | (1) This device may not cause harmful interference; | ||
922 | |||
923 | (2) this device must accept any interference received,including interference that may cause undesired operation. | ||
924 |