Wiki source code of LCC01-LB -- LoRaWAN Load Cell Converter User Manual
Last modified by Bei Jinggeng on 2024/01/29 11:12
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | (% style="display:none" %) | ||
2 | |||
3 | (% style="text-align:center" %) | ||
4 | [[image:image-20240124140905-2.png||height="586" width="591"]] | ||
5 | |||
6 | |||
7 | |||
8 | |||
9 | |||
10 | |||
11 | **Table of Contents:** | ||
12 | |||
13 | {{toc/}} | ||
14 | |||
15 | |||
16 | |||
17 | |||
18 | |||
19 | |||
20 | = 1. Introduction = | ||
21 | |||
22 | == 1.1 What is LoRaWAN Load Cell Converter == | ||
23 | |||
24 | |||
25 | Dragino LCC01-LB is a (% style="color:blue" %)**LoRaWAN Load Cell Converter**(%%) for IoT solutions. It is used to accurately (% style="color:blue" %)**measure the weight of objects**(%%) and then upload it to the IoT server through the LoRaWAN wireless protocol. | ||
26 | |||
27 | The LCC01-LB has a (% style="color:blue" %)**standard 4-wire interface**(%%) which can connect to different type of load cell. It supports (% style="color:blue" %)**different scaling from gram to ton**. | ||
28 | |||
29 | With LCC01-LB and a suitable load cell, user can build up a weight measurement loT solution. Applications are suitable for such as: truck scales, railway scales, supermarketscales, bench scales, heavy duty scales or any type of standard scale. | ||
30 | |||
31 | The LoRa wireless technology used in the LCC01-LB allows the device to send data at low data rates and reach extremely long distances. It provides ultra-long-distance spread spectrum communications and high interference immunity while minimizing current consumption. | ||
32 | |||
33 | LCC01-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. | ||
34 | |||
35 | LCC01-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%) , which can last up to 5 years of long-term use. | ||
36 | |||
37 | Each LCC01-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to LoRaWAN server and it will auto connect after power on. | ||
38 | |||
39 | |||
40 | == 1.2 Features == | ||
41 | |||
42 | |||
43 | * LoRaWAN 1.0.3 Class A | ||
44 | * Ultra-low power consumption | ||
45 | * Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 | ||
46 | * Standard 4-wire interface to 3rd party load cell | ||
47 | * Weigh Measurement, scale from 100g to 10T | ||
48 | * Support Bluetooth v5.1 and LoRaWAN remote configure | ||
49 | * Support wireless OTA update firmware | ||
50 | * Uplink on periodically | ||
51 | * Downlink to change configure | ||
52 | * 8500mAh Li/SOCl2 Battery | ||
53 | |||
54 | == 1.3 Specification == | ||
55 | |||
56 | |||
57 | (% style="color:#037691" %)**Common DC Characteristics:** | ||
58 | |||
59 | * Supply Voltage: Built-in Battery , 2.5v ~~ 3.6v | ||
60 | * Operating Temperature: -40 ~~ 85°C | ||
61 | |||
62 | (% style="color:#037691" %)**LoRa Spec:** | ||
63 | |||
64 | * Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz | ||
65 | * Max +22 dBm constant RF output vs. | ||
66 | * RX sensitivity: down to -139 dBm. | ||
67 | * Excellent blocking immunity | ||
68 | |||
69 | (% style="color:#037691" %)**Battery:** | ||
70 | |||
71 | * Li/SOCI2 un-chargeable battery | ||
72 | * Capacity: 8500mAh | ||
73 | * Self-Discharge: <1% / Year @ 25°C | ||
74 | * Max continuously current: 130mA | ||
75 | * Max boost current: 2A, 1 second | ||
76 | |||
77 | (% style="color:#037691" %)**Power Consumption** | ||
78 | |||
79 | * Sleep Mode: 5uA @ 3.3v | ||
80 | * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm | ||
81 | |||
82 | == 1.4 Applicationes == | ||
83 | |||
84 | Weight Measurments | ||
85 | |||
86 | [[image:image-20240127190247-1.png]] | ||
87 | |||
88 | |||
89 | == 1.5 Sleep mode and working mode == | ||
90 | |||
91 | |||
92 | (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life. | ||
93 | |||
94 | (% style="color:blue" %)**Working Mode:** (%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode. | ||
95 | |||
96 | |||
97 | == 1.6 Button & LEDs == | ||
98 | |||
99 | |||
100 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual/WebHome/1675071855856-879.png?rev=1.1||alt="1675071855856-879.png"]] | ||
101 | |||
102 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
103 | |=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action** | ||
104 | |(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( | ||
105 | If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. | ||
106 | Meanwhile, BLE module will be active and user can connect via BLE to configure device. | ||
107 | ))) | ||
108 | |(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( | ||
109 | (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. | ||
110 | (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. | ||
111 | Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network. | ||
112 | ))) | ||
113 | |(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. | ||
114 | |||
115 | == 1.7 BLE connection == | ||
116 | |||
117 | |||
118 | LCC01-LB supports BLE remote configure. | ||
119 | |||
120 | BLE can be used to configure the parameter of LCC01 or see the console output from LCC01. BLE will be only activate on below case: | ||
121 | |||
122 | * Press button to send an uplink | ||
123 | * Press button to active device. | ||
124 | * Device Power on or reset. | ||
125 | |||
126 | If there is no activity connection on BLE in 60 seconds, LCC01 will shut down BLE module to enter low power mode. | ||
127 | |||
128 | |||
129 | == 1.8 Mechanical == | ||
130 | |||
131 | |||
132 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/DDS75-LB_LoRaWAN_Distance_Detection_Sensor_User_Manual/WebHome/image-20240105152536-3.png?rev=1.1||alt="image-20240105152536-3.png"]] | ||
133 | |||
134 | |||
135 | == 1.9 Installation == | ||
136 | |||
137 | |||
138 | (% style="color:red" %)**LCC01 doesn't include load cell, user need to find the suitable load cell for their application and connect to LCC01.** | ||
139 | |||
140 | |||
141 | === 1.9.1 Connect Load Cell to LCC01 === | ||
142 | |||
143 | |||
144 | Load Cell normally has four wires: S+,S-, E+,E-, Below are the pin mapping to LCC01. The other four wires (EXT,GND,3.3v,5v) are for extra features , which is not used in most of case. | ||
145 | |||
146 | [[image:image-20240119112612-1.png||height="368" width="598"]] | ||
147 | |||
148 | ((( | ||
149 | (% style="color:blue" %)**Wire color Sensor pin Function** | ||
150 | ))) | ||
151 | |||
152 | ((( | ||
153 | ((( | ||
154 | purple(1) <~-~-> EXT_ Input <~-~-> Interrupt trigger pin (Input) | ||
155 | black(2) <~-~-> GND <~-~-> External power supply GND | ||
156 | white(3) <~-~-> VCC-3.3V <~-~-> Used for interrupt triggering or External Power Supply | ||
157 | red(4) <~-~-> +5V Out <~-~-> +5v Power Output | ||
158 | yellow(5) <~-~-> Load Cell (S+) <~-~-> Load Cell Signal + | ||
159 | gray(6) <~-~-> Load Cell (E-) <~-~-> Load Cell Excitation - | ||
160 | blue(7) <~-~-> Load Cell (E+) <~-~-> Load Cell Excitation + | ||
161 | green(8) <~-~-> Load Cell (S-) <~-~-> Load Cell Signal - | ||
162 | ))) | ||
163 | ))) | ||
164 | |||
165 | |||
166 | The package box of LCC01 has four Solder Seal Sleeves which for the easy connect the Load Cell to LCC01, Below shows how to connect wires: | ||
167 | |||
168 | [[image:image-20240110231958-1.png||height="472" width="445"]] | ||
169 | |||
170 | |||
171 | == 1.10 Calibrate LCC01 to different scale Load Cells == | ||
172 | |||
173 | === 1.10.1 Configure Utility & Download === | ||
174 | |||
175 | |||
176 | Calibrate is necessary when connecting LCC01 and a Load Cell. The Load Cell Configure Tool is used to calibrate the LCC01 to match different scales of Load Cells and provide the proper output. | ||
177 | |||
178 | **[[Download Link>>https://www.dropbox.com/scl/fo/qy2ghw6ytl8yoyp2n1xdc/h?rlkey=6sr4kdn5y7y6yn5xe9n7q8a4f&dl=0]]. (% style="color:red" %)(Support Windows OS only)(%%)** | ||
179 | |||
180 | |||
181 | === 1.10.2 Hardware Wiring and User Interface === | ||
182 | |||
183 | |||
184 | **Connect LCC01 to PC using USB to TTL Adapter.** | ||
185 | |||
186 | [[image:image-20240123165317-1.jpeg||height="514" width="505"]] | ||
187 | |||
188 | |||
189 | (% style="color:blue" %)**Utility Interface** | ||
190 | |||
191 | [[image:image-20240115181015-1.png||height="514" width="507"]] | ||
192 | |||
193 | |||
194 | (% style="color:blue" %)**Detailed instructions for use** | ||
195 | |||
196 | [[image:image-20240115181015-3.png]] | ||
197 | |||
198 | 1. Choose the correct COM port for USB TTL | ||
199 | 1. USB TTL Baud Rate: 9600 | ||
200 | 1. & 4. Connect / Disconnect COM port | ||
201 | |||
202 | [[image:image-20240115181015-4.png||height="322" width="459"]] | ||
203 | |||
204 | 1. AT Password for accessing LCC01 UART | ||
205 | 1. AT Command Input Box | ||
206 | 1. Send an AT Command | ||
207 | 1. Output for LCC01 UART interface | ||
208 | 1. Clear Output | ||
209 | |||
210 | [[image:image-20240115181015-5.png||height="269" width="537"]] | ||
211 | |||
212 | 1. Shows the value obtained by (% style="color:blue" %)**Read the weight once**(%%)** button or (% style="color:blue" %)Continuous reading weight(%%) button** | ||
213 | 1. Read the weight once | ||
214 | 1. Continuous reading weight button | ||
215 | 1. Stop continuous reading button | ||
216 | 1. Time interval for continuous weight reading drop-down box | ||
217 | 1. Drop-down box for median filtering (recommended to use default values) | ||
218 | 1. Drop-down box for average filtering(Please do not input manually for less than 3 seconds) | ||
219 | 1. Weight input box (Use for Weight Calibrate) | ||
220 | 1. Scale Factor ~-~-> Set different Scale. | ||
221 | 1. Write median filtering and average filtering parameters button | ||
222 | 1. Button for writing weight parameters and Scale Factor | ||
223 | 1. ZEROCAL: Zero Calibration | ||
224 | 1. TARE: zero-setting and tare button | ||
225 | 1. More use see below example. | ||
226 | |||
227 | (% style="color:blue" %)**Use of programs** | ||
228 | |||
229 | [[image:image-20240115181015-6.png]] | ||
230 | |||
231 | |||
232 | Then select the corresponding COM port and baud rate. If only one USB-TTL serial port is inserted into the computer, the default program settings can be used directly. | ||
233 | The following screen is the default configuration: | ||
234 | |||
235 | [[image:image-20240115181015-7.png||height="597" width="589"]] | ||
236 | |||
237 | Finally, select the values according to the desired settings or click the button. | ||
238 | |||
239 | (% style="color:red" %)**Please note that only after entering the password and connecting to the serial port will other buttons be available.** | ||
240 | |||
241 | |||
242 | === 1.10.3 Calibrate Steps === | ||
243 | |||
244 | |||
245 | (% class="lead" %) | ||
246 | (% style="color:blue" %)**Step1:**(%%) Zero Calibration | ||
247 | |||
248 | Set the required weight to 0 (normally no objects are placed on the weighing scale) and click the ZEROCAL button | ||
249 | |||
250 | [[image:image-20240116162422-1.png||height="527" width="508"]] | ||
251 | |||
252 | |||
253 | (% class="lead" %) | ||
254 | (% style="color:blue" %)**Step2:**(%%) Determine Scale Factor | ||
255 | |||
256 | Enter Scale Factor according to requirements. The weight reading range is 0~~65535(g). If user want to Calibate to a high scale for example 1T, he should set the scale factory. | ||
257 | |||
258 | For example, | ||
259 | |||
260 | * If the load cell range is 0~~50kg, Use 1 as scale factor | ||
261 | * If the load cell range is 0~~500kg, use 10 as scale factor. the reading range = Weight Reading x Scale Factor = 0 ~~ 655350g (655.35kg) | ||
262 | |||
263 | [[image:image-20240116162714-2.png||height="532" width="516"]] | ||
264 | |||
265 | |||
266 | (% class="lead" %) | ||
267 | (% style="color:blue" %)**Step3:**(%%) Weight Calibration | ||
268 | |||
269 | Place an object of known weight on the weighing scale, enter the weight value of the object, and then click the "WEIGHTCAL" button | ||
270 | |||
271 | When the calibration is completed, Calibrate the Weight Reading to XXXXg OK will be output on the serial port. | ||
272 | |||
273 | (% style="color:red" %)Notice: The best is use a weight close the max range of Load Cell to calibrate | ||
274 | |||
275 | [[image:image-20240116163324-3.png||height="544" width="525"]] | ||
276 | |||
277 | |||
278 | (% class="lead" %) | ||
279 | (% style="color:blue" %)**Step4:**(%%) Verify Weight | ||
280 | |||
281 | Replace other items with known weights and click the "Read the weight once "button to check whether the calibration is completed. | ||
282 | |||
283 | [[image:image-20240116163729-4.png||height="541" width="529"]] | ||
284 | |||
285 | |||
286 | = 2. Configure LCC01-LB to connect to LoRaWAN network = | ||
287 | |||
288 | == 2.1 How it works == | ||
289 | |||
290 | |||
291 | The LCC01-LB is configured as (% style="color:#037691" %)**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 LCC01-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. | ||
292 | |||
293 | |||
294 | == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == | ||
295 | |||
296 | |||
297 | Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. | ||
298 | |||
299 | The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. | ||
300 | |||
301 | [[image:image-20240124150739-3.png||height="390" width="749"]] | ||
302 | |||
303 | (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from LCC01-LB. | ||
304 | |||
305 | Each LCC01-LB is shipped with a sticker with the default device EUI as below: | ||
306 | |||
307 | [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]](% style="display:none" %) | ||
308 | |||
309 | |||
310 | You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: | ||
311 | |||
312 | |||
313 | (% style="color:blue" %)**Register the device** | ||
314 | |||
315 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]] | ||
316 | |||
317 | |||
318 | (% style="color:blue" %)**Add APP EUI and DEV EUI** | ||
319 | |||
320 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]] | ||
321 | |||
322 | |||
323 | (% style="color:blue" %)**Add APP EUI in the application** | ||
324 | |||
325 | |||
326 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]] | ||
327 | |||
328 | |||
329 | (% style="color:blue" %)**Add APP KEY** | ||
330 | |||
331 | [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]] | ||
332 | |||
333 | (% style="color:blue" %)**Step 2:**(%%) Activate on LCC01-LB | ||
334 | |||
335 | Press the button for 5 seconds to activate the LCC01-LB. | ||
336 | |||
337 | (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. | ||
338 | |||
339 | After join success, it will start to upload messages to TTN and you can see the messages in the panel. | ||
340 | |||
341 | |||
342 | == 2.3 Uplink Payload == | ||
343 | |||
344 | === 2.3.1 Device Status, FPORT~=5 === | ||
345 | |||
346 | |||
347 | Users can use the downlink command(**0x26 01**) to ask Load Cell Converter(LCC) to send device configure detail, include device configure status. LCC will uplink a payload via FPort=5 to server. | ||
348 | |||
349 | The Payload format is as below. | ||
350 | |||
351 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
352 | |(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)** | ||
353 | |(% style="width:103px" %)**Size (bytes)**|(% style="width:72px" %)**1**|**2**|(% style="width:91px" %)**1**|(% style="width:86px" %)**1**|(% style="width:44px" %)**2** | ||
354 | |(% style="width:103px" %)Value|(% style="width:72px" %)Sensor Model|Firmware Version|(% style="width:91px" %)Frequency Band|(% style="width:86px" %)Sub-band|(% style="width:44px" %)BAT | ||
355 | |||
356 | Example parse in TTNv3 | ||
357 | |||
358 | [[image:1704766955231-196.png]] | ||
359 | |||
360 | |||
361 | (% style="color:#037691" %)**Sensor Model**(%%): For LCC01-LB, this value is 0x32 | ||
362 | |||
363 | (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version | ||
364 | |||
365 | (% style="color:#037691" %)**Frequency Band**: | ||
366 | |||
367 | 0x01: EU868 | ||
368 | |||
369 | 0x02: US915 | ||
370 | |||
371 | 0x03: IN865 | ||
372 | |||
373 | 0x04: AU915 | ||
374 | |||
375 | 0x05: KZ865 | ||
376 | |||
377 | 0x06: RU864 | ||
378 | |||
379 | 0x07: AS923 | ||
380 | |||
381 | 0x08: AS923-1 | ||
382 | |||
383 | 0x09: AS923-2 | ||
384 | |||
385 | 0x0a: AS923-3 | ||
386 | |||
387 | 0x0b: CN470 | ||
388 | |||
389 | 0x0c: EU433 | ||
390 | |||
391 | 0x0d: KR920 | ||
392 | |||
393 | 0x0e: MA869 | ||
394 | |||
395 | |||
396 | (% style="color:#037691" %)**Sub-Band**: | ||
397 | |||
398 | AU915 and US915:value 0x00 ~~ 0x08 | ||
399 | |||
400 | CN470: value 0x0B ~~ 0x0C | ||
401 | |||
402 | Other Bands: Always 0x00 | ||
403 | |||
404 | |||
405 | (% style="color:#037691" %)**Battery Info**: | ||
406 | |||
407 | Check the battery voltage. | ||
408 | |||
409 | Ex1: 0x0B45 = 2885mV | ||
410 | |||
411 | Ex2: 0x0B49 = 2889mV | ||
412 | |||
413 | |||
414 | === 2.3.2 Sensor Data. FPORT~=2 === | ||
415 | |||
416 | |||
417 | (% style="color:red" %)**MOD=1(Collect current object weight regularly.)** | ||
418 | |||
419 | Uplink Payload totals 9 bytes. | ||
420 | |||
421 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:423px" %) | ||
422 | |=(% style="width: 62px;background-color:#4F81BD;color:white" %)((( | ||
423 | **Size(bytes)** | ||
424 | )))|=(% style="width: 45px; background-color: #4F81BD;color:white" %)2|=(% style="width: 52px; background-color:#4F81BD;color:white" %)1|=(% style="width: 94px; background-color:#4F81BD;color:white" %)3|=(% style="width: 95px; background-color:#4F81BD;color:white" %)**1**|=(% style="width: 75px; background-color:#4F81BD;color:white" %)2 | ||
425 | |(% style="width:99px" %)Value|(% style="width:45px" %)((( | ||
426 | BAT | ||
427 | )))|(% style="width:52px" %)MOD|(% style="width:94px" %)Weight Reading|(% style="width:95px" %)Sensor State|(% style="width:75px" %)Scale Factor | ||
428 | |||
429 | [[image:1704780311677-598.png]] | ||
430 | |||
431 | |||
432 | ==== (% style="color:blue" %)**Battery Info**(%%) ==== | ||
433 | |||
434 | Check the battery voltage for LCC01-LB. | ||
435 | |||
436 | Ex1: 0x0E10 = 3600mV | ||
437 | |||
438 | |||
439 | ==== (% style="color:blue" %)**Weight Reading**(%%) ==== | ||
440 | |||
441 | **Example**: | ||
442 | |||
443 | If payload is: 0x00002322H: weight Reading = 2322H = 8994 & Actually weight is | ||
444 | |||
445 | 8994 x Scale Factor (g) | ||
446 | |||
447 | |||
448 | ==== (% style="color:blue" %)**Sensor State**(%%) ==== | ||
449 | |||
450 | Ex1: 0x00=8994g | ||
451 | |||
452 | Ex2: 0x01=-8994g | ||
453 | |||
454 | |||
455 | ==== (% style="color:blue" %)**Scale Factor**(%%) ==== | ||
456 | |||
457 | The (% style="color:red" %)**Weight Reading**(%%) x (% style="color:red" %)**Scale Factor**(%%) determine the actual weight. Default Scale Factor is 1g(gram) | ||
458 | |||
459 | **Example**: | ||
460 | |||
461 | (% border="1" cellspacing="3" style="width:490px" %) | ||
462 | |(% style="background-color:#4f81bd; color:white; width:102px" %)**Weight Info**|(% style="background-color:#4f81bd; color:white; width:103px" %)**Scale Factor**|(% style="background-color:#4f81bd; color:white; width:285px" %)**Actual Weight** | ||
463 | |(% style="width:102px" %)**8994**|(% style="width:103px" %)1|(% style="width:280px" %)8994 x 1g = 8994g = 8.994Kg | ||
464 | |(% style="width:102px" %)**8994**|(% style="width:103px" %)10|(% style="width:280px" %)8994 x 10g = 89940g = 89.94Kg | ||
465 | |(% style="width:102px" %)**8994**|(% style="width:103px" %)255|(% style="width:280px" %)8994 x 255 = 2293470g = 2293.47kg = 2.29347T | ||
466 | |||
467 | (% style="color:red" %)**MOD=2(Collect the weight of objects all the time, and send the current weight if it exceeds the set threshold.)** | ||
468 | |||
469 | Uplink Payload totals 10 bytes. | ||
470 | |||
471 | **This mode is combined with (% style="color:#037691" %)AT+THRESHOLD=weight,Scale Factor.(%%)** | ||
472 | |||
473 | (% border="1" cellspacing="3" style="width:475px" %) | ||
474 | |(% style="background-color:#4f81bd; color:white; width:65px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:40px" %)**1**|(% style="background-color:#4f81bd; color:white; width:90px" %)**3**|(% style="background-color:#4f81bd; color:white; width:80px" %)**1**|(% style="background-color:#4f81bd; color:white; width:80px" %)**2**|(% style="background-color:#4f81bd; color:white; width:80px" %)**1** | ||
475 | |(% style="width:93px" %)Value|(% style="width:42px" %)BAT|(% style="width:53px" %)MOD|(% style="width:73px" %)Weight Reading|(% style="width:63px" %)Sensor State|(% style="width:57px" %)Scale Factor|(% style="width:99px" %)Weight Flag | ||
476 | |||
477 | [[image:1704770093136-213.png]] | ||
478 | |||
479 | |||
480 | ==== (% style="color:blue" %)**Weight Flag**(%%) ==== | ||
481 | |||
482 | This flag indicates whether the object is always weighed. | ||
483 | |||
484 | (% style="color:red" %)**0:**(%%) It means that the object is not weighed repeatedly, | ||
485 | |||
486 | (% style="color:red" %)**1:**(%%) It means that the object has been weighed | ||
487 | |||
488 | |||
489 | == 2.4 Payload Decoder file == | ||
490 | |||
491 | |||
492 | In TTN, use can add a custom payload so it shows friendly reading | ||
493 | |||
494 | In the page (% style="color:#037691" %)**Applications ~-~-> Payload Formats ~-~-> Custom ~-~-> decoder**(%%) to add the decoder from: | ||
495 | [[dragino-end-node-decoder/LCC01-LB at main · dragino/dragino-end-node-decoder (github.com)>>url:https://github.com/dragino/dragino-end-node-decoder/tree/main/LCC01-LB]] | ||
496 | |||
497 | |||
498 | |||
499 | (% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的(% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" data-widget="image" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220, 220, 220, 0.5); display:none" tabindex="-1" %)[[image:data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==||alt="数据 URI 图片" draggable="true" height="15" role="presentation" title="单击并拖动以移动" width="15"]](% aria-label="数据 URI 图像图像小部件" contenteditable="false" role="region" style="background-image:url(http://wiki1.dragino.com/xwiki/webjars/wiki%3Axwiki/application-ckeditor-webjar/1.61/plugins/widget/images/handle.png); background:rgba(220,220,220,0.5); display:none" tabindex="-1" title="单击并拖动以调整大小" %)的 | ||
500 | |||
501 | == 2.5 Frequency Plans == | ||
502 | |||
503 | |||
504 | The LCC01-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. | ||
505 | |||
506 | [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] | ||
507 | |||
508 | |||
509 | = 3. Configure LCC01-LB = | ||
510 | |||
511 | == 3.1 Configure Methods == | ||
512 | |||
513 | |||
514 | LCC01-LB supports below configure method: | ||
515 | |||
516 | * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. | ||
517 | * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.3UARTConnectionforSN50v3basemotherboard]]. | ||
518 | * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. | ||
519 | |||
520 | == 3.2 General Commands == | ||
521 | |||
522 | |||
523 | These commands are to configure: | ||
524 | |||
525 | * General system settings like: uplink interval. | ||
526 | * LoRaWAN protocol & radio related command. | ||
527 | |||
528 | They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: | ||
529 | |||
530 | [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]] | ||
531 | |||
532 | |||
533 | == 3.3 Commands special design for LCC01-LB == | ||
534 | |||
535 | |||
536 | These commands only valid for LCC01-LB, as below: | ||
537 | |||
538 | |||
539 | === 3.3.1 Set Transmit Interval Time === | ||
540 | |||
541 | |||
542 | Feature: Change LoRaWAN End Node Transmit Interval. | ||
543 | |||
544 | (% style="color:blue" %)**AT Command: AT+TDC** | ||
545 | |||
546 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
547 | |=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** | ||
548 | |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( | ||
549 | 30000 | ||
550 | OK | ||
551 | the interval is 30000ms = 30s | ||
552 | ))) | ||
553 | |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|((( | ||
554 | OK | ||
555 | Set transmit interval to 60000ms = 60 seconds | ||
556 | ))) | ||
557 | |||
558 | (% style="color:blue" %)**Downlink Command: 0x01** | ||
559 | |||
560 | Format: Command Code (0x01) followed by 3 bytes time value. | ||
561 | |||
562 | If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. | ||
563 | |||
564 | * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds | ||
565 | * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds | ||
566 | |||
567 | === 3.3.2 Get Device Status === | ||
568 | |||
569 | |||
570 | Send a LoRaWAN downlink to ask device send Alarm settings. | ||
571 | |||
572 | (% style="color:blue" %)**Downlink Payload: **(%%)0x26 01 | ||
573 | |||
574 | Sensor will upload Device Status via FPORT=5. See payload section for detail. | ||
575 | |||
576 | |||
577 | === 3.3.3 Set Interrupt Mode === | ||
578 | |||
579 | |||
580 | Feature, Set Interrupt mode for PA8 of pin. | ||
581 | |||
582 | When AT+INTMOD=0 is set, PA8 is used as a digital input port. | ||
583 | |||
584 | (% style="color:blue" %)**AT Command: AT+INTMOD** | ||
585 | |||
586 | (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) | ||
587 | |=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** | ||
588 | |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( | ||
589 | 0 | ||
590 | OK | ||
591 | the mode is 0 =Disable Interrupt | ||
592 | ))) | ||
593 | |(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( | ||
594 | Set Transmit Interval | ||
595 | 0. (Disable Interrupt), | ||
596 | ~1. (Trigger by rising and falling edge) | ||
597 | 2. (Trigger by falling edge) | ||
598 | 3. (Trigger by rising edge) | ||
599 | )))|(% style="width:157px" %)OK | ||
600 | |||
601 | (% style="color:blue" %)**Downlink Command: 0x06** | ||
602 | |||
603 | Format: Command Code (0x06) followed by 3 bytes. | ||
604 | |||
605 | This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. | ||
606 | |||
607 | * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode | ||
608 | * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger | ||
609 | |||
610 | === 3.3.4 Get Current Object Weight === | ||
611 | |||
612 | |||
613 | **AT Command: (% style="color:blue" %)AT+GETVALUE(%%)** | ||
614 | |||
615 | **Command format: (% style="color:blue" %)AT+GETVALUE=A300A2A4A5(%%)** | ||
616 | |||
617 | **Return data format:** | ||
618 | |||
619 | (% border="1" cellspacing="3" style="width:510px" %) | ||
620 | |(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte1**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte2**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte3**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte4**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte5**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte6**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte7**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte8**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte9**|(% style="background-color:#4f81bd; color:white; width:51px" %)**Byte10** | ||
621 | |(% style="width:57px" %)0xAA|(% style="width:59px" %)0xA3|(% style="width:57px" %)0x00|(% style="width:58px" %)0x00|(% style="width:58px" %)0x00|(% style="width:58px" %)0x23|(% style="width:59px" %)0x22|(% style="width:58px" %)0x00|(% style="width:57px" %)0xE8|(% style="width:64px" %)0xFF | ||
622 | |||
623 | **Example**: | ||
624 | |||
625 | **Ex1:** | ||
626 | |||
627 | Accepted: AA A3 00 00 23 22 00 E8 FF | ||
628 | |||
629 | Weight=00*65535+23*256+22=8994, Byte4 is 0, which means positive, and the weight is 8994 | ||
630 | |||
631 | |||
632 | **Ex2:** | ||
633 | |||
634 | Accepted: AA A3 00 01 23 22 00 E8 FF | ||
635 | |||
636 | Weight t=00*65535+23*256+22=8994, Byte4 is 1, which means negative, and the weight t is -8994 | ||
637 | |||
638 | |||
639 | If a negative number appears, it may be that the 0 point has not been calibrated properly. Just follow the calibration process again. | ||
640 | |||
641 | If after recalibration, after placing the object, it was originally 100, but the result shows -100, this situation is caused by the sensor signal line being connected incorrectly, or the pressure sensor being installed incorrectly. | ||
642 | |||
643 | |||
644 | (% style="color:blue" %)**Final weight obtained: Weight x Scale Factor** | ||
645 | |||
646 | **Output:** | ||
647 | |||
648 | Weight Reading= 8994; Scale Factor= 1 | ||
649 | |||
650 | Actual Weight= 8994(g) | ||
651 | |||
652 | |||
653 | === 3.3.5 Set Zero Calibration === | ||
654 | |||
655 | |||
656 | **AT Command: (% style="color:blue" %)AT+ZEROCAL(%%)** | ||
657 | |||
658 | **Command format: (% style="color:blue" %)AT+ZEROCAL=AA00A9ABA8(%%)** | ||
659 | |||
660 | Return success and output Zero Calibration OK. If unsuccessful, return the result and Fail. | ||
661 | |||
662 | |||
663 | === 3.3.6 Set Weight Calibration === | ||
664 | |||
665 | |||
666 | **AT Command: (% style="color:blue" %)AT+WEIGHCAL(%%)** | ||
667 | |||
668 | AT+WEIGHCAL=1000,1 | ||
669 | |||
670 | Calibrate the Weight Reading to 1000 (0x03E8). | ||
671 | |||
672 | Scale Factor to 1(0x01) | ||
673 | |||
674 | |||
675 | **Return:** | ||
676 | |||
677 | Calibrate the weight Reading to 1000g, OK? | ||
678 | |||
679 | |||
680 | === 3.3.7 Set Filter === | ||
681 | |||
682 | |||
683 | **AT Command: (% style="color:blue" %)AT+FILTER(%%)** | ||
684 | |||
685 | **Command format: (% style="color:blue" %)AT+FILTER=03,03(%%)** | ||
686 | |||
687 | Send command format description: | ||
688 | |||
689 | **Data1:** Median filter range: 1, 3, 5, 7, 9 | ||
690 | |||
691 | **Data2:** Average filter range: 1~~50 | ||
692 | |||
693 | |||
694 | Return success and output Median filter, average filter settings OK. If unsuccessful, return the result and Fail. | ||
695 | |||
696 | |||
697 | === 3.3.8 Set Tare === | ||
698 | |||
699 | |||
700 | **AT Command: (% style="color:blue" %)AT+TARE(%%)** | ||
701 | |||
702 | **Command format: (% style="color:blue" %)AT+TARE=AB00AAACAD(%%)** | ||
703 | |||
704 | Return success and output Tare (set to zero, temporarily cleared) OK. | ||
705 | |||
706 | |||
707 | === 3.3.9 Set Threshold === | ||
708 | |||
709 | |||
710 | Feature, when the weighing exceeds the set value, the current weight will be sent immediately | ||
711 | |||
712 | **AT Command: (% style="color:blue" %)AT+THRESHOLD(%%)** | ||
713 | |||
714 | **Command format: (% style="color:blue" %)AT+THRESHOLD=1000,1(%%)** | ||
715 | |||
716 | Send command format description: | ||
717 | |||
718 | **Data1:** weight | ||
719 | |||
720 | **Data2:** Scale Factor | ||
721 | |||
722 | |||
723 | = 4. Battery & Power Consumption = | ||
724 | |||
725 | |||
726 | LCC01-LB use ER26500 + SPC1520 battery pack . See below link for detail information about the battery info and how to replace. | ||
727 | |||
728 | [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . | ||
729 | |||
730 | |||
731 | = 5. OTA Firmware update = | ||
732 | |||
733 | |||
734 | User can change firmware LCC01-LB to: | ||
735 | |||
736 | * Change Frequency band/ region. | ||
737 | * Update with new features. | ||
738 | * Fix bugs. | ||
739 | |||
740 | Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/scl/fo/3p5c6x13o0z23q3bupf88/h?rlkey=gvrvpf4x51lwng0ih13kn6wfl&dl=0]]** | ||
741 | |||
742 | |||
743 | Methods to Update Firmware: | ||
744 | |||
745 | * (Recommanded way) OTA firmware update via wireless : **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]** | ||
746 | * Update through UART TTL interface : **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. | ||
747 | |||
748 | = 6. FAQ = | ||
749 | |||
750 | |||
751 | |||
752 | = 7. Order Info = | ||
753 | |||
754 | |||
755 | Part Number: (% style="color:blue" %)**LCC01-LB-XX** | ||
756 | |||
757 | (% style="color:red" %)**XX**(%%): The default frequency band | ||
758 | |||
759 | * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band | ||
760 | |||
761 | * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band | ||
762 | |||
763 | * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band | ||
764 | |||
765 | * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band | ||
766 | |||
767 | * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band | ||
768 | |||
769 | * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band | ||
770 | |||
771 | * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band | ||
772 | |||
773 | * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band | ||
774 | |||
775 | = 8. Packing Info = | ||
776 | |||
777 | |||
778 | (% style="color:#037691" %)**Package Includes**: | ||
779 | |||
780 | * LCC01-LB LoRaWAN Load Cell Converter x 1 | ||
781 | |||
782 | (% style="color:#037691" %)**Dimension and weight**: | ||
783 | |||
784 | * Device Size: cm | ||
785 | |||
786 | * Device Weight: g | ||
787 | |||
788 | * Package Size / pcs : cm | ||
789 | |||
790 | * Weight / pcs : g | ||
791 | |||
792 | = 9. Support = | ||
793 | |||
794 | |||
795 | * 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. | ||
796 | |||
797 | * 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.cc>>mailto:Support@dragino.cc]]. |