Changes for page AI Image Sensor Calibration
Last modified by Karry Zhuang on 2025/07/03 11:59
From version 132.1
edited by Karry Zhuang
on 2024/04/30 16:51
on 2024/04/30 16:51
Change comment:
Uploaded new attachment "1714467065723-178.png", version {1}
To version 150.1
edited by Karry Zhuang
on 2024/05/09 18:01
on 2024/05/09 18:01
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 8 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -339,9 +339,9 @@ 339 339 340 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 341 342 -=== 3.1.1 Uplink Payload (Fport~= 5) ===342 +=== 3.1.1 Uplink Payload (Fport~=2) === 343 343 344 -The uplink payload includes totally 14 bytes. Uplink packets use FPORT= 5and (% style="color:#4472c4" %)**every 20 minutes**(%%) send one uplink by default.344 +The uplink payload includes totally 14 bytes. Uplink packets use FPORT=2 and (% style="color:#4472c4" %)**every 20 minutes**(%%) send one uplink by default. 345 345 346 346 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:370px" %) 347 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 ... ... @@ -349,7 +349,7 @@ 349 349 350 350 [[image:1714374026505-898.png||height="200" width="736"]] 351 351 352 -Payload Example(FPort= 5):(% style="background-color:yellow" %)**0D 32 66 29 AF E0 00 00 00 02 00 05 E3 B0**352 +Payload Example(FPort=2):(% style="background-color:yellow" %)**0D 32 66 29 AF E0 00 00 00 02 00 05 E3 B0** 353 353 354 354 === 3.1.2 BAT- Battery information === 355 355 ... ... @@ -394,85 +394,200 @@ 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 packetsare obtained byTTN===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"]]412 +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. 416 416 417 - Example ofthefirst payload(FPort=3):663095C00BBE1000FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607414 +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. 418 418 419 - ====3.2.1.1sysTimeCurrent====416 +Open WinHex to open the combined image data file. 420 420 421 - These four bytes contain the year,month, day, hour, minute,andsecond ofthe time.418 +[[image:1714467040612-103.png||height="134" width="649"]] 422 422 423 - AISensoruseUnix TimeStampformatbased on.420 +Click on the edit option to choose and convert. 424 424 425 -[[image:171446 5658414-905.png||height="85" width="553"]]422 +[[image:1714467065723-178.png||height="349" width="762"]] 426 426 427 - Userscangetthistime fromthe link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :424 +Choose the Hex ASCII->Binary option and then click OK. 428 428 429 - Belowis theconverterexample426 +[[image:1714467089355-837.png||height="366" width="336"]] 430 430 431 - EX:663095C0=2024-04-3006:54:57.428 +After the conversion is finished, click on "File" and choose "Save As". 432 432 433 -[[image: image-20240430162820-5.png||height="218" width="532"]]430 +[[image:1714467112365-676.png]] 434 434 435 - ====3.2.1.2BAT-Batteryinformation====432 +Save as a.jpg file and click OK to generate a JPG file. 436 436 437 - These two bytes of BATinclude the battery state and the actual voltage.434 +[[image:1714467126476-110.png]] 438 438 439 - [[image:image-20240430163600-8.png||height="50"width="1141"]]436 +Open the saved JPG file to display the image transmitted by the AIS Sensor through the serial port. 440 440 441 - **Ex**:0X0BBE=3006 mv438 +[[image:1714467134950-189.png]] 442 442 443 -=== =====440 +=== === 444 444 445 -==== 3.2.1.3 total_packages ==== 446 446 447 - Thisbyte represents the totalnumberofpacketsfortheimagefetchedthistime.443 += 4. Configure AIS Sensor using AT commands = 448 448 449 - [[image:image-20240430163626-9.png||height="47"width="1116"]]445 +== 4.1 Configure Methods == 450 450 451 -==== ==== 452 452 453 - ====3.2.1.4 subcontracting_count====448 + configure method: 454 454 455 -This byte represents the data number of the image packet retrieved 450 +* AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]]. 451 +* 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]]. 452 +* LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 456 456 457 - [[image:image-20240430163738-10.png||height="44"width="1117"]]454 +== 4.2 General Commands == 458 458 459 459 460 - ====3.2.1.5 Image_date====457 +These commands are to configure: 461 461 462 -Apart from the eight bytes mentioned above, the next 200 bytes are all image data. 459 +* General system settings like: uplink interval. 460 +* LoRaWAN protocol & radio related command. 463 463 464 - Examplethe firstpacket:663095C00BBE1000FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607462 +They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: 465 465 466 - Image_date=FFD8FFE000104A46494600010101004800480000FFDB0043001B12141714111B1716171E1C1B2028422B28252528513A3D3042605565645F555D5B6A7899816A7190735B5D85B586909EA3ABADAB6780BCC9BAA6C799A8ABA4FFDB0043011C1E1E2823284E2B2B4EA46E5D6EA4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4A4FFC0000B0800F0014001012200FFC4001F00000105010101010101000000000000000001020304050607464 +[[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/]] 467 467 466 +== 4.3 Commands special design for AIS Sensor == 468 468 469 -=== =3.2.1.6Combinedimage ====468 +=== 4.3.1 Change Uplink Interval === 470 470 471 -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. 472 472 473 - When you combineallthepackets, youneedtoconvert the datainsidetobinary. Herethe conversionisdemonstrated usingthe[[WinHex>>http://www.x-ways.net/winhex/index-m.html]] software.471 +Feature: Change LoRaWAN End Node Transmit Interval. 474 474 475 475 474 +(% style="color:blue" %)**AT Command: AT+TDC** 476 476 476 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 477 +|(% 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** 478 +|(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 479 +OK 477 477 478 - 481 +the interval is 30000ms = 30s 482 +))) 483 +|(% style="width:165px" %)AT+TDC=60000|(% style="width:227px" %)Set Transmit Interval|(% style="width:329px" %)OK((( 484 +Set transmit interval to 60000ms = 60 seconds 485 +))) 486 + 487 +((( 488 +(% style="color:blue" %)**Downlink Command: 0x01** 489 + 490 +Format: Command Code (0x01) followed by 3 bytes time value. 491 +))) 492 + 493 +((( 494 +If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. 495 +))) 496 + 497 +* **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 498 + 499 +* **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 500 + 501 +(% style="display:none" %) (%%) 502 + 503 +== 4.3.2 Request the server to send an ACK == 504 + 505 + 506 +(% style="color:blue" %)**AT Command: AT+PNACKMD** 507 + 508 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 509 +|(% 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** 510 +|(% 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((( 511 +OK 512 +))) 513 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:627px" %)off request the server to send an ACK|(% style="width:100px" %)((( 514 +0 515 +OK 516 +))) 517 + 518 +(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34** 519 + 520 +0X34 01 ~/~/Same As AT+PNACKMD=1 521 + 522 +0x34 00 ~/~/Same As AT+PNACKMD=0 523 + 524 + 525 +=== 4.3.3 Set Interrupt Mode === 526 + 527 + 528 +Feature, Set Interrupt mode for GPIO_EXIT. 529 + 530 +(% style="color:blue" %)**AT Command: AT+INTMOD1,AT+INTMOD2,AT+INTMOD3** 531 + 532 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 533 +|=(% 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** 534 +|(% style="width:154px" %)AT+INTMOD1=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)((( 535 +0 536 +OK 537 +the mode is 0 =Disable Interrupt 538 +))) 539 +|(% style="width:154px" %)AT+INTMOD1=2|(% style="width:196px" %)((( 540 +Set Transmit Interval 541 +0. (Disable Interrupt), 542 +~1. (Trigger by rising and falling edge) 543 +2. (Trigger by falling edge) 544 +3. (Trigger by rising edge) 545 +)))|(% style="width:157px" %)OK 546 +|(% style="width:154px" %)AT+INTMOD2=3|(% style="width:196px" %)Set Transmit Interval 547 +0. (Disable Interrupt), 548 +~1. (Trigger by rising and falling edge) 549 +2. (Trigger by falling edge) 550 +3. (Trigger by rising edge)|(% style="width:157px" %)OK 551 + 552 +(% style="color:blue" %)**Downlink Command: 0x06** 553 + 554 +Format: Command Code (0x06) followed by 3 bytes. 555 + 556 +This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 557 + 558 +* Example 1: Downlink Payload: 06000000 **~-~-->** AT+INTMOD1=0 559 +* Example 2: Downlink Payload: 06000003 **~-~-->** AT+INTMOD1=3 560 +* Example 3: Downlink Payload: 06000102 **~-~-->** AT+INTMOD2=2 561 + 562 +=== === 563 + 564 +=== 4.3.4 Clock logging (Since firmware version v1.2.1) === 565 + 566 + 567 +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. 568 + 569 +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. 570 + 571 +* (% style="color:blue" %)**AT Command:**(%%)** (% style="color:#037691" %)AT+CLOCKLOG=a,b,c,d(%%)** 572 + 573 +(% style="color:#037691" %)**a: **(%%)**0:** Disable Clock logging. ** 1: **Enable Clock Logging 574 + 575 +(% 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. 576 + 577 +(% style="color:#037691" %)**c: **(%%)Specify the sampling interval: range **(0 ~~ 255 minutes)** 578 + 579 +(% style="color:#037691" %)**d:**(%%)How many entries should be uplink on every TDC **(max 32)** 580 + 581 +[[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"]] 582 + 583 +**Example:** 584 + 585 +**AT+CLOCKLOG=1,65535,1,5** 586 + 587 +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). 588 + 589 +(% class="wikigeneratedid" %) 590 +[[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"]] 591 + 592 +(% class="wikigeneratedid" %) 593 +(% 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.**
- 1714467089355-837.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +69.7 KB - Content
- 1714467112365-676.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +129.3 KB - Content
- 1714467126476-110.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.8 KB - Content
- 1714467134950-189.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.1 KB - Content
- 1714985699187-406.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +84.5 KB - Content
- 1714985711524-251.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +204.6 KB - Content
- image-20240430165602-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +271.0 KB - Content
- image-20240430165602-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.karry - Size
-
... ... @@ -1,0 +1,1 @@ 1 +236.4 KB - Content