Last modified by Karry Zhuang on 2025/07/03 11:59

From version 146.2
edited by Karry Zhuang
on 2024/05/06 17:34
Change comment: There is no comment for this version
To version 152.1
edited by Karry Zhuang
on 2024/05/14 16:16
Change comment: Uploaded new attachment "image-20240514161559-1.jpeg", version {1}

Summary

Details

Page properties
Content
... ... @@ -307,165 +307,24 @@
307 307  
308 308  = (% title="Click and drag to resize" %)3. Get Sensor Data.(%%) =
309 309  
310 -== (% title="Click and drag to resize" %)3.1 Get Digital Reading After Calibration(%%) ==
311 311  
312 -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.
311 +== (% title="Click and drag to resize" %)3.1 Get Image and show in PC(%%) ==
313 313  
313 +To get the AIS current image on the PC, you can  connect AIS to your PC with TTL to send commands through the serial port to obtain relevant data packets.
314 314  
315 -Assume the DLOS8 is already set to connect to [[TTN V3 network >>url:https://eu1.cloud.thethings.network/]]. We need to add the AIS Sensor device in TTN V3 portal. 
315 +=== (% id="cke_bm_3839S" style="display:none" %) (%%)3.1.1 The image date are obtained by serial port ===
316 316  
317 -**Step 1**:  Create a device in TTN V3 with the OTAA keys from AIS Sensor.
317 +Select the corresponding baud rate and serial port number through the serial port tool, select HEX display and HEX send, and continuously receive data from the AIS Sensor
318 318  
319 -Each AIS Sensor is shipped with a sticker with the default DEV EUI as below:
319 +[[image:1714985699187-406.png||height="277" width="536"]]
320 320  
321 -[[image:image-20240430155056-2.png||height="207" width="450"]]
321 +In the serial port to send data C0 5A 00 00 00 00 04, and then send C0 5A 00 00 00 00 09, AIS Sensor will send a real-time image of the data packet, and then stop sending. Start with FFD8 and put it in TXT file
322 322  
323 -Enter these keys in the LoRaWAN Server portal. Below is TTN V3 screen shot:
323 +[[image:1714985711524-251.png||height="140" width="526"]]
324 324  
325 -Add APP EUI in the application.
326 326  
327 -choose to create the device manually.
326 +=== 3.1.2 Combined image ===
328 328  
329 -Add APP KEY and DEV EUI
330 -
331 -[[image:image-20240430155117-3.png||height="544" width="563"]]
332 -
333 -[[image:image-20240430154736-1.png||height="414" width="658"]]
334 -
335 -
336 -**Default mode OTAA**
337 -
338 -[[image:image-20240430155302-4.png||height="630" width="453"]]
339 -
340 -**Step 2**:  Use ACT button to activate LHT52 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.
341 -
342 -=== 3.1.1 Uplink Payload (Fport~=5) ===
343 -
344 -The uplink payload includes totally 14 bytes. Uplink packets use FPORT=5 and (% style="color:#4472c4" %)**every 20 minutes**(%%) send one uplink by default.
345 -
346 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:370px" %)
347 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**Size(bytes)(% style="display:none" %) (%%)**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)2|=(% style="width: 80px;background-color:#4F81BD;color:white" %)4|=(% style="width: 80px;background-color:#4F81BD;color:white" %)4|=(% style="width: 60px;background-color:#4F81BD;color:white" %)4
348 -|(% style="width:99px" %)Value|(% style="width:62px" %)BAT|sysTimeCurrent|Integer|Decimal
349 -
350 -[[image:1714374026505-898.png||height="200" width="736"]]
351 -
352 -Payload Example(FPort=5):(% style="background-color:yellow" %)**0D 32 66 29 AF E0 00 00 00 02 00 05 E3 B0**
353 -
354 -=== 3.1.2 BAT- Battery information ===
355 -
356 -These two bytes of BAT include the battery state and the actual voltage.
357 -
358 -**Ex**:0x0B32 = 3378mV
359 -
360 -=== 3.1.3 sysTimeCurrent ===
361 -
362 -These four bytes contain the year, month, day, hour, minute, and second of the time.
363 -
364 -AI Sensor use Unix TimeStamp format based on
365 -
366 -[[image:1714374373681-339.png||height="81" width="527"]]
367 -
368 -Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
369 -
370 -Below is the converter example
371 -
372 -**Ex**:6629AFE0=2024-04-25 01:20:32
373 -
374 -[[image:1714374389825-148.png||height="313" width="428"]][[image:1714374398047-940.png||height="214" width="508"]]
375 -
376 -So, we can use AT+TIMESTAMP=1714012723 or downlink 6629C233 to set the current time 2024 – April ~-~- 25 Thursday 02:38:41
377 -
378 -=== 3.1.4 Integer ===
379 -
380 -These four bytes display the integers in the digital wheel face
381 -
382 -[[image:1714374445395-196.png]]
383 -
384 -Read table integer:0x00000002=2
385 -
386 -=== 3.1.5 Decimal ===
387 -
388 -These four bytes display decimals on the digital wheel.
389 -
390 -[[image:1714374493101-914.png]]
391 -
392 -Read table decimals:0x005E3B0/1000000= 0.385968
393 -
394 -
395 -== (% title="Click and drag to resize" %)3.2 Get Image and show in PC(%%) ==
396 -
397 -To get the AIS current image on the PC, you can issue commands through TTN or connect AIS to your PC with TTL to send commands through the serial port to obtain relevant data packets.
398 -
399 -=== 3.2.1 The image date are obtained by TTN ===
400 -
401 -Make sure that node ACK is on: AT+PNACKMD=1 or 34 01
402 -
403 -Then send the graph instruction 0B 01.
404 -
405 -The next time the AIS Sensor device runs at the set time, it will start collecting image data.
406 -
407 -[[image:1714465192126-772.png||height="478" width="678"]]
408 -
409 -The uplink payload includes totally 208 bytes. Uplink packets use FPORT=3
410 -
411 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:370px" %)
412 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**Size(bytes)(% style="display:none" %) (%%)**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)4|=(% 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: 80px;background-color:#4F81BD;color:white" %)200
413 -|(% style="width:99px" %)Value|(% style="width:62px" %)sysTimeCurrent|BAT|total_packages|subcontracting_count|Image_date
414 -
415 -[[image:1714465532892-179.png||height="250" width="586"]]
416 -
417 -Example of the first payload(FPort=3):663095C00BBE1000FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607
418 -
419 -==== ====
420 -
421 -==== 3.2.1.1sysTimeCurrent ====
422 -
423 -These four bytes contain the year, month, day, hour, minute, and second of the time.
424 -
425 -AI Sensor use Unix TimeStamp format based on.
426 -
427 -[[image:1714465658414-905.png||height="85" width="553"]]
428 -
429 -Users can get this time from the link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
430 -
431 -Below is the converter example
432 -
433 -EX: 663095C0=2024-04-30 06:54:57.
434 -
435 -[[image:image-20240430162820-5.png||height="218" width="532"]]
436 -
437 -==== 3.2.1.2 BAT- Battery information ====
438 -
439 -These two bytes of BAT include the battery state and the actual voltage.
440 -
441 -[[image:image-20240430163600-8.png||height="50" width="1141"]]
442 -
443 -**Ex**:0X0BBE= 3006 mv
444 -
445 -==== 3.2.1.3 total_packages ====
446 -
447 -This byte represents the total number of packets for the image fetched this time.
448 -
449 -[[image:image-20240430163626-9.png||height="47" width="1116"]]
450 -
451 -==== 3.2.1.4 subcontracting_count ====
452 -
453 -This byte represents the data number of the image packet retrieved
454 -
455 -[[image:image-20240430163738-10.png||height="44" width="1117"]]
456 -
457 -
458 -==== 3.2.1.5 Image_date ====
459 -
460 -Apart from the eight bytes mentioned above, the next 200 bytes are all image data.
461 -
462 -Example the first packet:663095C00BBE1000FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607
463 -
464 -Image_date=FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607
465 -
466 -
467 -==== 3.2.1.6 Combined image ====
468 -
469 469  Once all the data has been uploaded to the TTN platform, the subsequent step involves concatenating each packet in sequential order and saving it into a new TXT file. It is important to note that the first 8 bytes of each packet should be removed before concatenation.
470 470  
471 471  When you combine all the packets, you need to convert the data inside to binary. Here the conversion is demonstrated using the [[WinHex>>http://www.x-ways.net/winhex/index-m.html]] software.
... ... @@ -494,144 +494,7 @@
494 494  
495 495  [[image:1714467134950-189.png]]
496 496  
497 -=== 3.2.2 The image date are obtained by serial port ===
356 +=== ===
498 498  
499 -Select the corresponding baud rate and serial port number through the serial port tool, select HEX display and HEX send, and continuously receive data from the AIS Sensor
500 500  
501 -[[image:1714985699187-406.png||height="277" width="536"]]
502 -
503 -In the serial port to send data C0 5A 00 00 00 00 04, and then send C0 5A 00 00 00 00 09, AIS Sensor will send a real-time image of the data packet, and then stop sending. Start with FFD8 and put it in TXT file
504 -
505 -[[image:1714985711524-251.png||height="140" width="526"]]
506 -
507 -Then follow the instructions in 3.2.1.6 to get the image from AIS Sensor.
508 -
509 -
510 -= 4. Configure AIS Sensor using AT commands =
511 -
512 -== 4.1 System Management Commands ==
513 -
514 -=== 4.1.1 Change Uplink Interval ===
515 -
516 -
517 -Feature: Change LoRaWAN End Node Transmit Interval.
518 -
519 -
520 -(% style="color:blue" %)**AT Command: AT+TDC**
521 -
522 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %)
523 -|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response**
524 -|(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
525 -OK
526 -
527 -the interval is 30000ms = 30s
528 -)))
529 -|(% style="width:165px" %)AT+TDC=60000|(% style="width:227px" %)Set Transmit Interval|(% style="width:329px" %)OK(((
530 -Set transmit interval to 60000ms = 60 seconds
531 -)))
532 -
533 -(((
534 -(% style="color:blue" %)**Downlink Command: 0x01**
535 -
536 -Format: Command Code (0x01) followed by 3 bytes time value.
537 -)))
538 -
539 -(((
540 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
541 -)))
542 -
543 -* **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
544 -
545 -* **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
546 -
547 -(% style="display:none" %) (%%)
548 -
549 -== 4.1.2 Request the server to send an ACK ==
550 -
551 -
552 -(% style="color:blue" %)**AT Command: AT+PNACKMD**
553 -
554 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
555 -|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:627px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response**
556 -|(% style="width:160px" %)AT+PNACKMD=1|(% style="width:627px" %)If the node uploads the ACK as confirm, it will request the server to send an ACK. If the server ack is not received, the node will upload the packets that have not received the ACK the next time it receives the ACK|(% style="width:100px" %)1(((
557 -OK
558 -)))
559 -|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:627px" %)off request the server to send an ACK|(% style="width:100px" %)(((
560 -0
561 -OK
562 -)))
563 -
564 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**
565 -
566 -0X34 01  ~/~/Same As AT+PNACKMD=1
567 -
568 -0x34 00  ~/~/Same As AT+PNACKMD=0
569 -
570 -
571 -=== 4.1.3 Set Interrupt Mode ===
572 -
573 -
574 -Feature, Set Interrupt mode for GPIO_EXIT.
575 -
576 -(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3**
577 -
578 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
579 -|=(% 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**
580 -|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
581 -0
582 -OK
583 -the mode is 0 =Disable Interrupt
584 -)))
585 -|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)(((
586 -Set Transmit Interval
587 -0. (Disable Interrupt),
588 -~1. (Trigger by rising and falling edge)
589 -2. (Trigger by falling edge)
590 -3. (Trigger by rising edge)
591 -)))|(% style="width:157px" %)OK
592 -|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)Set Transmit Interval
593 -0. (Disable Interrupt),
594 -~1. (Trigger by rising and falling edge)
595 -2. (Trigger by falling edge)
596 -3. (Trigger by rising edge)|(% style="width:157px" %)OK
597 -
598 -(% style="color:blue" %)**Downlink Command: 0x06**
599 -
600 -Format: Command Code (0x06) followed by 3 bytes.
601 -
602 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
603 -
604 -* Example 1: Downlink Payload: 06000000  **~-~-->**  AT+INTMOD1=0
605 -* Example 2: Downlink Payload: 06000003  **~-~-->**  AT+INTMOD1=3
606 -* Example 3: Downlink Payload: 06000102  **~-~-->**  AT+INTMOD2=2
607 -
608 -== 4.1.4 Clock logging (Since firmware version v1.2.1) ==
609 -
610 -
611 -Sometimes when we deploy lots of end nodes in field. We want all sensors sample data at the same time, and upload these data together for analyze. In such case, we can use clock loging feature.
612 -
613 -We can use this command to set the start time of data recording and the time interval to meet the requirements of the specific collection time of data.
614 -
615 -* (% style="color:blue" %)**AT Command:**(%%)** (% style="color:#037691" %)AT+CLOCKLOG=a,b,c,d(%%)**
616 -
617 -(% style="color:#037691" %)**a: **(%%)**0:** Disable Clock logging.  ** 1: **Enable Clock Logging
618 -
619 -(% style="color:#037691" %)**b: **(%%)Specify First sampling start second: range **(0 ~~ 3599, 65535)   ** ~/~/ (% style="color:red" %)**Note:**(%%)** **If parameter b is set to 65535, the log period starts after the node accesses the network and sends packets.
620 -
621 -(% style="color:#037691" %)**c: **(%%)Specify the sampling interval: range **(0 ~~ 255 minutes)**
622 -
623 -(% style="color:#037691" %)**d:**(%%)How many entries should be uplink on every TDC **(max 32)**
624 -
625 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SPH01-NB_NB-IoT_Soil_pH_Sensor_User_Manual/WebHome/image-20240315141254-1.png?rev=1.1||alt="image-20240315141254-1.png"]]
626 -
627 -**Example:**
628 -
629 -**AT+CLOCKLOG=1,65535,1,5**
630 -
631 -After the node sends the first packet, data is recorded to the memory at intervals of 1 minute. For each TDC uplink, the uplink load will include: battery information + the last 5 memory records (payload + timestamp).
632 -
633 -(% class="wikigeneratedid" %)
634 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/TS01-NB_NB-IoT_Tilting_Sensor_User_Manual/WebHome/image-20240316163501-1.png?width=1064&height=517&rev=1.1||alt="image-20240316163501-1.png"]]
635 -
636 -(% class="wikigeneratedid" %)
637 -(% style="color:red" %)**Note: Users need to synchronize the server time before configuring this command. If the server time is not synchronized before this command is configured, the command takes effect only after the node is reset.**
359 += =
image-20240514161559-1.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.karry
Size
... ... @@ -1,0 +1,1 @@
1 +436.9 KB
Content