Changes for page DMT01

Last modified by Xiaoling on 2025/08/15 17:26

From version 53.7
edited by Mengting Qiu
on 2025/08/04 19:44
Change comment: There is no comment for this version
To version 61.2
edited by Mengting Qiu
on 2025/08/05 14:25
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -189,21 +189,6 @@
189 189  )))
190 190  
191 191  
192 -== 2.2  How it works? ==
193 -
194 -(((
195 -(((
196 -
197 -)))
198 -
199 -The DMT01 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 DMT01. It will automatically join the network via OTAA and start to send the sensor value.
200 -
201 -(((
202 -On each uplink, DMT01 will get the temperature from the sensor and send it to the server.
203 -)))
204 -)))
205 -
206 -
207 207  == 2.3 ​Quick guide to connect to LoRaWAN server (OTAA) ==
208 208  
209 209  
... ... @@ -414,8 +414,6 @@
414 414  
415 415  == 2.4 Bluetoothe Broadcast Payload ==
416 416  
417 -=== 2.4.1 Scanning Tools ===
418 -
419 419  Scan and obtain DMT01 device broadcast data through a third-party mobile phone app (such as nRF Connect)
420 420  
421 421  Example:
... ... @@ -496,29 +496,250 @@
496 496  
497 497  ==== (% style="color:#4472c4" %)**Bluetooth data packet frame tail**(%%) ====
498 498  
499 -EExample
482 +Example: 0x0512E001E001
500 500  
501 501  
502 502  
503 -= 3. Configure DMT01  ~-~- 需要修改 =
486 +== 2.5 Datalog Feature ==
504 504  
505 -== 3.1 Configure Methods ==
506 506  
507 -User can use LoRaWAN downlink command to configure the DMT01
489 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DMT01 will store the reading for future retrieving purposes.
508 508  
491 +
492 +=== 2.5.1 How datalog works ===
493 +
494 +
495 +DMT01 will wait for ACK for every uplink, when there is no LoRaWAN network,DMT01 will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery.
496 +
497 +* (((
498 +a) DMT01 will do an ACK check for data records sending to make sure every data arrive server.
499 +)))
500 +* (((
501 +b) DMT01 will send data in **CONFIRMED Mode**, but DMT01 won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if DMT01 gets a ACK, DMT01 will consider there is a network connection and resend all NONE-ACK messages.
502 +
503 +
504 +)))
505 +
506 +=== 2.5.2 Enable Datalog ===
507 +
508 +Using the platform downlink** 07 01**, you can enable the device to automatically send **non-ACK** messages. Once enabled, the LC01 will wait for an acknowledgment (ACK) for every uplink. If there is no LoRaWAN network available, DMT01 will mark these records as non-ACK messages, store the sensor data, and continue checking for network availability (at 10-second intervals) to resend all stored messages once the network is restored.
509 +
510 +* (((
511 +a) DMT01 performs an ACK check for each data record to ensure it successfully reaches the server.
512 +)))
513 +* (((
514 +b) When automatic sending of non-ACK messages is enabled, the DMT01 transmits data in **CONFIRMED** mode. If an ACK is not received, it does not resend the packet; instead, it marks it as a **non-ACK** message. During subsequent uplinks, if the DMT01 receives an ACK, it considers the network restored and will resend all stored non-ACK messages.
515 +)))
516 +
517 +
518 +
519 +=== 2.5.3 Unix TimeStamp ===
520 +
521 +
522 +DMT01 uses Unix TimeStamp format based on
523 +
524 +[[image:1754354802681-163.jpeg]]
525 +
526 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
527 +
528 +Below is the converter example
529 +
530 +[[image:1754354818964-624.jpeg]]
531 +
532 +
533 +
534 +=== 2.5.4 Set Device Time ===
535 +
536 +
537 +You need to run downlink command 28 01 to enable time synchronization.
538 +
539 +Once the LC01 joins the LoRaWAN network, it will send the MAC command **DeviceTimeReq**, and the server will reply with **DeviceTimeAns** to provide the current time to the LC01. If the LC01 fails to receive the time from the server, it will use its internal time and wait for the next time request. //(By default, this occurs once every 10 days.)//
540 +
541 +{{info}}
542 +The LoRaWAN server must support LoRaWAN v1.0.3 (MAC v1.0.3) or higher to use this MAC command feature. ChirpStack, The Things Stack v3, and Loriot support it, but The Things Stack v2 does not. If the server does not support this command, it will discard the uplink packet containing it. As a result, the user will lose the time request packet when the automatic time synchronization function is enabled on TTN v2.
543 +{{/info}}
544 +
545 +(% style="color:#4f81bd" %)**Downlink Command: 0x28**
546 +
547 +* Example: 0x28 01  ~/~/ Automatic time synchronization Enabled
548 +* Example: 0x28 00  ~/~/  Automatic time synchronization Disable.
549 +
550 +
551 +
552 +=== 2.5.5 Datalog Uplink payload (FPORT~=3) ===
553 +
554 +
555 +The Datalog uplinks will use below payload format.
556 +
557 +**Retrieval data payload:**
558 +
559 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
560 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
561 +**Size(bytes)**
562 +)))|=(% style="width: 40px;background-color:#4F81BD;color:white" %)4|=(% style="width: 90px;background-color:#4F81BD;color:white" %)1|=(% style="width: 150px; background-color: #4F81BD;color:white" %)6|=(% style="width: 80px; background-color: #4F81BD;color:white" %)1|=(% style="width: 80px; background-color: #4F81BD;color:white" %)1|=(% style="width: 80px; background-color: #4F81BD;color:white" %)1|=(% style="width: 80px; background-color: #4F81BD;color:white" %)2|=(% style="width: 80px; background-color: #4F81BD;color:white" %)2
563 +|(% style="width:99px" %)Value|(% style="width:69px" %)(((
564 +Timestamp
565 +
566 +
567 +)))|(% style="width:130px" %)DevMode|(% style="width:194px" %)MACaddr|(% style="width:106px" %)ProbeBat|(% style="width:97px" %)(((
568 +BoxBat
569 +)))|(% style="width:97px" %)Message Type|(% style="width:97px" %)Food temperature|(% style="width:97px" %)Ambient temperature
570 +
571 +**No ACK Message**:  1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for **PNACKMD=1** feature)
572 +
573 +**Poll Message Flag**: 1: This message is a poll message reply.
574 +
575 +* Poll Message Flag is set to 1.
576 +
577 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands.
578 +
579 +For example, in US915 band, the max payload for different DR is:
580 +
581 +**a) DR0:** max is 11 bytes so one entry of data
582 +
583 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
584 +
585 +**c) DR2:** total payload includes 11 entries of data
586 +
587 +**d) DR3: **total payload includes 22 entries of data.
588 +
589 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0   
590 +
591 +**Example:**
592 +
593 +If DMT01 has below data inside Flash:
594 +
595 +[[image:image-20230524114654-2.png]]
596 +
597 +
598 +If user sends below downlink command: 31646D84E1646D856C05
599 +
600 +Where : Start time: 646D84E1 = time 23/5/24 03:30:41
601 +
602 + Stop time: 646D856C= time 23/5/24 03:33:00
603 +
604 +
605 +DMT01 **will uplink this payload.**
606 +
607 +[[image:image-20230524114826-3.png||height="448" width="1244"]]
608 +
509 509  (((
610 +00 00 02 36 01 10 40 64 6D 84 E1 00 00 02 37 01 10 40 64 6D 84 F8 00 00 02 37 01 0F 40 64 6D 85 04 00 00 02 3A 01 0F 40 64 6D 85 18 00 00 02 3C 01 0F 40 64 6D 85 36 00 00 02 3D 01 0E 40 64 6D 85 3F 00 00 02 3F 01 0E 40 64 6D 85 60 00 00 02 40 01 0E 40 64 6D 85 6A
611 +)))
612 +
510 510  (((
511 -== 3.2 Downlink Commands Set ==
614 +Where the first 11 bytes is for the first entry:
615 +)))
512 512  
617 +(((
618 +00 00 02 36 01 10 40 64 6D 84 E1
619 +)))
513 513  
514 -(% class="box infomessage" %)
515 515  (((
516 -To be updated...
622 +**Hum**=0x0236/10=56.6
517 517  )))
624 +
625 +(((
626 +**Temp**=0x0110/10=27.2
518 518  )))
628 +
629 +(((
630 +**poll message flag & Alarm Flag & Level of PA8**=0x40,means reply data,sampling uplink message,the PA8 is low level.
519 519  )))
520 520  
633 +(((
634 +**Unix time** is 0x646D84E1=1684899041s=23/5/24 03:30:41
635 +)))
521 521  
637 +
638 += 3. Configure DMT01  ~-~- 需要修改 =
639 +
640 +== 3.1 Configure Methods ==
641 +
642 +User can use LoRaWAN downlink command to configure the DMT01
643 +
644 +(((
645 +== 3.2 Downlink Commands Set ==
646 +
647 +
648 +=== 3.2.1 Set Transmit Interval Time ===
649 +
650 +
651 +(% style="color:#037691" %)**AT Command:**
652 +
653 +There is no AT command to set TDC time.
654 +
655 +
656 +**Feature**: Change LoRaWAN End Node Transmit Interval.
657 +
658 +(% style="color:blue" %)**Downlink Command: 0x01**
659 +
660 +Format: Command Code (0x01) followed by 3 bytes time value.
661 +
662 +If the downlink payload is **0100003C**, it means set the end node's transmit Interval is set to 0x00003C = 60 seconds, with the type code 01.
663 +
664 +* **Example 1**: Downlink Payload: 0100001E  ~/~/  Sets the transmit interval (TDC) to 30 seconds
665 +* **Example 2**: Downlink Payload: 0100003C  ~/~/  Sets the transmit interval (TDC) to 60 seconds
666 +
667 +
668 +
669 +=== 3.2.2 Get Device Status ===
670 +
671 +
672 +Send a LoRaWAN downlink to request the device's alarm settings.
673 +
674 +
675 +(% style="color:blue" %)**Downlink Payload:  **(%%)**0x26 01**
676 +
677 +The sensor will upload device status via FPort=5. See the payload section for details.
678 +
679 +
680 +=== 3.2.3 Clear Flash Record ===
681 +
682 +
683 +(% style="color:#037691" %)**AT Command:**
684 +
685 +There is no AT command to enable or disable the relay.
686 +
687 +
688 +**Feature**: Clear flash storage for the  data log feature.
689 +
690 +(% style="color:#4f81bd" %)**Downlink Command: 0x08**
691 +
692 +* Example: 0x0801  ~/~/ Clears all saved data in flash.
693 +
694 +
695 +
696 +=== 3.2.4 Confirmed Mode ===
697 +
698 +
699 +(% style="color:#037691" %)**AT Command:**
700 +
701 +There is no AT command to control whether Confirmed Mode is enabled or disabled.
702 +
703 +
704 +**Feature**: Mode for sending data that requires acknowledgment.
705 +
706 +(% style="color:#4f81bd" %)**Downlink Command: 0x07**
707 +
708 +* Example: 0x07 01  ~/~/ Confirmed Mode enabled.
709 +* Example: 0x07 00  ~/~/  Confirmed Mode disable.
710 +
711 +
712 +
713 +=== 3.2.5 Set the time synchronization interval ===
714 +
715 +
716 +**Feature**: Set how often to perform time synchronization (default: 10 days, unit: days)
717 +
718 +(% style="color:#4f81bd" %)**Downlink Command: 0x28**
719 +
720 +* Example: 0x28 01  ~/~/ Synchronize once a day
721 +* Example: 0x28 03  ~/~/  Synchronize once every three days
722 +)))
723 +
724 +
725 +
522 522  = 4. Firmware update =
523 523  
524 524  
... ... @@ -526,7 +526,7 @@
526 526  
527 527  User can upgrade the firmware for DMT01 charger. The charger include two piece of software:
528 528  
529 -* For LoRa part: OTA firmware update via LoRa:.
733 +* For LoRa part: OTA firmware update via LoRa.
530 530  
531 531  * For BLE and controller part.
532 532  
1754354802681-163.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +18.9 KB
Content
1754354818964-624.jpeg
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.ting
Size
... ... @@ -1,0 +1,1 @@
1 +67.4 KB
Content