Changes for page AI Image Sensor Calibration
Last modified by Karry Zhuang on 2025/07/03 11:59
From version 149.1
edited by Karry Zhuang
on 2024/05/08 14:18
on 2024/05/08 14:18
Change comment:
There is no comment for this version
To version 151.1
edited by Karry Zhuang
on 2024/05/10 08:45
on 2024/05/10 08:45
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -394,78 +394,21 @@ 394 394 395 395 == (% title="Click and drag to resize" %)3.2 Get Image and show in PC(%%) == 396 396 397 -To get the AIS current image on the PC, you can issuecommands through TTN or connect AIS to your PC with TTL to send commands through the serial port to obtain relevant data packets.397 +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. 398 398 399 -=== 3.2.1 The image date are obtained by TTN===399 +=== (% id="cke_bm_3839S" style="display:none" %) (%%)3.2.1 The image date are obtained by serial port === 400 400 401 - Make sure thatnodeACKison:AT+PNACKMD=1or3401401 +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 402 402 403 - Thensend theraph instruction 0B 01.403 +[[image:1714985699187-406.png||height="277" width="536"]] 404 404 405 - Thenext time the AIS Sensordeviceruns at theset time,itwillstartcollectingimagedata.405 +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 406 406 407 -[[image:1714 465192126-772.png||height="478" width="678"]]407 +[[image:1714985711524-251.png||height="140" width="526"]] 408 408 409 -The uplink payload includes totally 208 bytes. Uplink packets use FPORT=3 410 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 410 +=== 3.2.2 Combined image === 414 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,167 +494,7 @@ 494 494 495 495 [[image:1714467134950-189.png]] 496 496 497 -=== 3.2.2 The image date are obtained by serial port === 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 - 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 Configure Methods == 513 - 514 - 515 - configure method: 516 - 517 -* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 518 -* 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]]. 519 -* LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 520 - 521 -== 4.2 General Commands == 522 - 523 - 524 -These commands are to configure: 525 - 526 -* General system settings like: uplink interval. 527 -* LoRaWAN protocol & radio related command. 528 - 529 -They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: 530 - 531 -[[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/]] 532 - 533 -== 4.3 Commands special design for AIS Sensor == 534 - 535 -=== 4.3.1 Change Uplink Interval === 536 - 537 - 538 -Feature: Change LoRaWAN End Node Transmit Interval. 539 - 540 - 541 -(% style="color:blue" %)**AT Command: AT+TDC** 542 - 543 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 544 -|(% 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** 545 -|(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 546 -OK 547 - 548 -the interval is 30000ms = 30s 549 -))) 550 -|(% style="width:165px" %)AT+TDC=60000|(% style="width:227px" %)Set Transmit Interval|(% style="width:329px" %)OK((( 551 -Set transmit interval to 60000ms = 60 seconds 552 -))) 553 - 554 -((( 555 -(% style="color:blue" %)**Downlink Command: 0x01** 556 - 557 -Format: Command Code (0x01) followed by 3 bytes time value. 558 -))) 559 - 560 -((( 561 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. 562 -))) 563 - 564 -* **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 565 - 566 -* **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 567 - 568 -(% style="display:none" %) (%%) 569 - 570 -== 4.3.2 Request the server to send an ACK == 571 - 572 - 573 -(% style="color:blue" %)**AT Command: AT+PNACKMD** 574 - 575 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 576 -|(% 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** 577 -|(% 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((( 578 -OK 579 -))) 580 -|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:627px" %)off request the server to send an ACK|(% style="width:100px" %)((( 581 -0 582 -OK 583 -))) 584 - 585 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34** 586 - 587 -0X34 01 ~/~/Same As AT+PNACKMD=1 588 - 589 -0x34 00 ~/~/Same As AT+PNACKMD=0 590 - 591 - 592 -=== 4.3.3 Set Interrupt Mode === 593 - 594 - 595 -Feature, Set Interrupt mode for GPIO_EXIT. 596 - 597 -(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3** 598 - 599 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 600 -|=(% 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** 601 -|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 602 -0 603 -OK 604 -the mode is 0 =Disable Interrupt 605 -))) 606 -|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 607 -Set Transmit Interval 608 -0. (Disable Interrupt), 609 -~1. (Trigger by rising and falling edge) 610 -2. (Trigger by falling edge) 611 -3. (Trigger by rising edge) 612 -)))|(% style="width:157px" %)OK 613 -|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)Set Transmit Interval 614 -0. (Disable Interrupt), 615 -~1. (Trigger by rising and falling edge) 616 -2. (Trigger by falling edge) 617 -3. (Trigger by rising edge)|(% style="width:157px" %)OK 618 - 619 -(% style="color:blue" %)**Downlink Command: 0x06** 620 - 621 -Format: Command Code (0x06) followed by 3 bytes. 622 - 623 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 624 - 625 -* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 626 -* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 627 -* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 628 - 629 629 === === 630 630 631 -=== 4.3.4 Clock logging (Since firmware version v1.2.1) === 632 632 633 - 634 -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. 635 - 636 -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. 637 - 638 -* (% style="color:blue" %)**AT Command:**(%%)** (% style="color:#037691" %)AT+CLOCKLOG=a,b,c,d(%%)** 639 - 640 -(% style="color:#037691" %)**a: **(%%)**0:** Disable Clock logging. ** 1: **Enable Clock Logging 641 - 642 -(% 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. 643 - 644 -(% style="color:#037691" %)**c: **(%%)Specify the sampling interval: range **(0 ~~ 255 minutes)** 645 - 646 -(% style="color:#037691" %)**d:**(%%)How many entries should be uplink on every TDC **(max 32)** 647 - 648 -[[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"]] 649 - 650 -**Example:** 651 - 652 -**AT+CLOCKLOG=1,65535,1,5** 653 - 654 -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). 655 - 656 -(% class="wikigeneratedid" %) 657 -[[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"]] 658 - 659 -(% class="wikigeneratedid" %) 660 -(% 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.** 443 += =