Changes for page SDI-12-LB/LS -- SDI-12 to LoRaWAN Converter User Manual
Last modified by Xiaoling on 2025/04/25 08:58
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -269,7 +269,7 @@ 269 269 270 270 **Parameter: **aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 271 271 272 -**Example : 272 +**Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 273 273 274 274 275 275 The following is the display information on the serial port and the server. ... ... @@ -387,7 +387,7 @@ 387 387 [[image:image-20230201092208-15.png||height="214" width="1140"]] 388 388 389 389 390 -=== 2.3.2 Advance SDI-12 Debug command === 390 +=== 2.3.2 Advance SDI-12 Debug command === 391 391 392 392 393 393 This command can be used to debug all SDI-12 command. ... ... @@ -421,6 +421,7 @@ 421 421 422 422 [[image:image-20230201092355-17.png||height="426" width="1135"]] 423 423 424 + 424 424 425 425 426 426 === 2.3.3 Convert ASCII to String === ... ... @@ -442,6 +442,9 @@ 442 442 443 443 [[image:1675214856590-846.png]] 444 444 446 + 447 + 448 + 445 445 446 446 447 447 === 2.3.4 Define periodically SDI-12 commands and uplink. === ... ... @@ -516,6 +516,7 @@ 516 516 * **XX XX XX XX **: AT+COMMAND or AT+DATACUT command 517 517 * **YY **: If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 518 518 523 + 519 519 **Example:** 520 520 521 521 [[image:image-20230201094129-18.png]] ... ... @@ -549,7 +549,7 @@ 549 549 550 550 If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1. 551 551 552 -**AT+ALLDATAMOD** will simply get all return and don 't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command.557 +**AT+ALLDATAMOD** will simply get all return and don’t do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command. 553 553 554 554 555 555 **For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. ... ... @@ -564,7 +564,6 @@ 564 564 565 565 **Compose Uplink** 566 566 567 - 568 568 **AT+DATAUP=0** 569 569 570 570 Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. ... ... @@ -617,13 +617,14 @@ 617 617 The application server should parse the correct value based on FPORT settings. 618 618 619 619 620 - ===2.4.1 Device Payload, FPORT~=5===624 +2.4.1 Device Payload, FPORT=5 621 621 622 - 623 623 Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 624 624 628 + 625 625 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 626 626 631 + 627 627 (% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 628 628 |(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 629 629 |(% style="width:102px" %)**Size (bytes)**|(% style="width:67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2** ... ... @@ -633,7 +633,6 @@ 633 633 634 634 [[image:1675215946738-635.png]] 635 635 636 - 637 637 **Sensor Model**: For SDI-12-LB, this value is 0x17 638 638 639 639 **Firmware Version**: 0x0100, Means: v1.0.0 version ... ... @@ -687,9 +687,10 @@ 687 687 Ex2: 0x0B49 = 2889mV 688 688 689 689 690 -=== 2.4.2 Uplink Payload, FPORT~=2 === 694 +1. 695 +11. 696 +111. Uplink Payload, FPORT=2 691 691 692 - 693 693 There are different cases for uplink. See below 694 694 695 695 * SDI-12 Debug Command return: FPORT=100 ... ... @@ -696,24 +696,30 @@ 696 696 697 697 * Periodically Uplink: FPORT=2 698 698 699 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 700 -|(% style="width:93px" %)((( 701 -**Size(bytes)** 702 -)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands** 703 -|(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 704 +|((( 705 +**Size** 706 + 707 +**(bytes)** 708 +)))|**2**|**1**|**Length depends on the return from the commands** 709 +|**Value**|((( 704 704 Battery(mV) 711 + 705 705 & 713 + 706 706 Interrupt_Flag 707 -)))|(% style="width:70px" %)[[PAYLOAD_VER>>path:#Probe_Model]]|(% style="width:234px" %)((( 708 -If the valid payload is too long and exceed the maximum support. 715 +)))|[[PAYLOAD_VER>>path:#Probe_Model]]|((( 716 +If the valid payload is too long and exceed the maximum support 717 + 709 709 Payload length in server,server will show payload not provided in the LoRaWAN server. 710 710 ))) 711 711 712 -[[image: 1675216282284-923.png]]721 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]] 713 713 714 714 715 -=== 2.4.3 Battery Info === 716 716 725 +1. 726 +11. 727 +111. Battery Info 717 717 718 718 Check the battery voltage for SDI-12-LB. 719 719 ... ... @@ -722,37 +722,216 @@ 722 722 Ex2: 0x0B49 = 2889mV 723 723 724 724 725 -=== 2.4.4 Interrupt Pin === 736 +1. 737 +11. 738 +111. Interrupt Pin 726 726 727 - 728 728 This data field shows if this packet is generated by **Interrupt Pin** or not. [[Click here>>path:#Int_mod]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>path:#pins]]. 729 729 730 -**Example:** 731 731 743 +Example: 744 + 732 732 Ex1: 0x0B45:0x0B&0x80= 0x00 Normal uplink packet. 733 733 734 734 Ex2: 0x8B49:0x8B&0x80= 0x80 Interrupt Uplink Packet. 735 735 736 736 737 -=== 2.4.5 Payload version === 750 +1. 751 +11. 752 +111. Payload version 738 738 739 739 740 740 741 -=== 2.4.6 Decode payload in The Things Network === 742 742 743 743 758 +1. 759 +11. 760 +111. Decode payload in The Things Network 761 + 744 744 While using TTN network, you can add the payload format to decode the payload. 745 745 746 -[[image: 1675216779406-595.png]]764 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]] 747 747 748 748 749 749 There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case. 750 750 751 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 752 752 770 +下面的解码生成超链接放进去. 753 753 772 +function Decoder(bytes, port) { 754 754 755 -1. 774 + if(port==5) 775 + 776 + { 777 + 778 + var freq_band; 779 + 780 + var sub_band; 781 + 782 + var sensor; 783 + 784 + 785 + if(bytes[0]==0x17) 786 + 787 + sensor= "SDI12-LB"; 788 + 789 + 790 + var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f); 791 + 792 + 793 + if(bytes[3]==0x01) 794 + 795 + freq_band="EU868"; 796 + 797 + else if(bytes[3]==0x02) 798 + 799 + freq_band="US915"; 800 + 801 + else if(bytes[3]==0x03) 802 + 803 + freq_band="IN865"; 804 + 805 + else if(bytes[3]==0x04) 806 + 807 + freq_band="AU915"; 808 + 809 + else if(bytes[3]==0x05) 810 + 811 + freq_band="KZ865"; 812 + 813 + else if(bytes[3]==0x06) 814 + 815 + freq_band="RU864"; 816 + 817 + else if(bytes[3]==0x07) 818 + 819 + freq_band="AS923"; 820 + 821 + else if(bytes[3]==0x08) 822 + 823 + freq_band="AS923_1"; 824 + 825 + else if(bytes[3]==0x09) 826 + 827 + freq_band="AS923_2"; 828 + 829 + else if(bytes[3]==0x0A) 830 + 831 + freq_band="AS923_3"; 832 + 833 + else if(bytes[3]==0x0F) 834 + 835 + freq_band="AS923_4"; 836 + 837 + else if(bytes[3]==0x0B) 838 + 839 + freq_band="CN470"; 840 + 841 + else if(bytes[3]==0x0C) 842 + 843 + freq_band="EU433"; 844 + 845 + else if(bytes[3]==0x0D) 846 + 847 + freq_band="KR920"; 848 + 849 + else if(bytes[3]==0x0E) 850 + 851 + freq_band="MA869"; 852 + 853 + 854 + if(bytes[4]==0xff) 855 + 856 + sub_band="NULL"; 857 + 858 + else 859 + 860 + sub_band=bytes[4]; 861 + 862 + 863 + var bat= (bytes[5]<<8 | bytes[6])/1000; 864 + 865 + 866 + return { 867 + 868 + SENSOR_MODEL:sensor, 869 + 870 + FIRMWARE_VERSION:firm_ver, 871 + 872 + FREQUENCY_BAND:freq_band, 873 + 874 + SUB_BAND:sub_band, 875 + 876 + BAT:bat, 877 + 878 + } 879 + 880 + } 881 + 882 + else if(port==100) 883 + 884 + { 885 + 886 + var datas_sum={}; 887 + 888 + for(var j=0;j<bytes.length;j++) 889 + 890 + { 891 + 892 + var datas= String.fromCharCode(bytes[j]); 893 + 894 + if(j=='0') 895 + 896 + datas_sum.datas_sum=datas; 897 + 898 + else 899 + 900 + datas_sum.datas_sum+=datas; 901 + 902 + } 903 + 904 + 905 + return datas_sum; 906 + 907 + } 908 + 909 + else 910 + 911 + { 912 + 913 + var decode={}; 914 + 915 + decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE"; 916 + 917 + decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000; 918 + 919 + decode.Payver= bytes[2]; 920 + 921 + for(var i=3;i<bytes.length;i++) 922 + 923 + { 924 + 925 + var data= String.fromCharCode(bytes[i]); 926 + 927 + if(i=='3') 928 + 929 + decode.data_sum=data; 930 + 931 + else 932 + 933 + decode.data_sum+=data; 934 + 935 + } 936 + 937 + return decode; 938 + 939 + } 940 + 941 + 942 +} 943 + 944 + 945 +1. 756 756 11. Uplink Interval 757 757 758 758 The SDI-12-LB by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: ... ... @@ -761,7 +761,7 @@ 761 761 762 762 763 763 764 -1. 954 +1. 765 765 11. Frequency Plans 766 766 767 767 The SDI12-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. ... ... @@ -771,7 +771,7 @@ 771 771 772 772 773 773 774 -1. 964 +1. 775 775 11. Firmware Change Log 776 776 777 777 **Firmware download link:** ... ... @@ -810,7 +810,7 @@ 810 810 811 811 812 812 813 -1. 1003 +1. 814 814 11. Set Transmit Interval Time 815 815 816 816 Feature: Change LoRaWAN End Node Transmit Interval. ... ... @@ -840,7 +840,7 @@ 840 840 * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 841 841 * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 842 842 843 -1. 1033 +1. 844 844 11. Set Interrupt Mode 845 845 846 846 Feature, Set Interrupt mode for GPIO_EXIT. ... ... @@ -873,7 +873,7 @@ 873 873 * Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 874 874 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 875 875 876 -1. 1066 +1. 877 877 11. Set the output time 878 878 879 879 Feature, Control the output 3V3 , 5V or 12V. ... ... @@ -954,7 +954,7 @@ 954 954 * Example 5: Downlink Payload: 070301F4 -> AT+12VT=500 955 955 * Example 6: Downlink Payload: 07030000 -> AT+12VT=0 956 956 957 -1. 1147 +1. 958 958 11. Set the all data mode 959 959 960 960 Feature, Set the all data mode. ... ... @@ -977,7 +977,7 @@ 977 977 * Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 978 978 * Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 979 979 980 -1. 1170 +1. 981 981 11. Set the splicing payload for uplink 982 982 983 983 Feature, splicing payload for uplink. ... ... @@ -1018,7 +1018,7 @@ 1018 1018 This means that the interval is set to 0x000014=20S 1019 1019 1020 1020 1021 -1. 1211 +1. 1022 1022 11. Set the payload version 1023 1023 1024 1024 Feature, Set the payload version. ... ... @@ -1057,7 +1057,7 @@ 1057 1057 SDI-12-LB: 2.45v ~~ 3.6v 1058 1058 1059 1059 1060 -1. 1250 +1. 1061 1061 11. Replace Battery 1062 1062 1063 1063 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. ... ... @@ -1066,7 +1066,7 @@ 1066 1066 1067 1067 1068 1068 1069 -1. 1259 +1. 1070 1070 11. Power Consumption Analyze 1071 1071 1072 1072 Dragino Battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval. ... ... @@ -1106,14 +1106,14 @@ 1106 1106 1107 1107 1108 1108 1. 1109 -11. 1299 +11. 1110 1110 111. Battery Note 1111 1111 1112 1112 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased. 1113 1113 1114 1114 1115 -1. 1116 -11. 1305 +1. 1306 +11. 1117 1117 111. Replace the battery 1118 1118 1119 1119 You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won’t be voltage drop between battery and main board. ... ... @@ -1134,7 +1134,7 @@ 1134 1134 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]] 1135 1135 1136 1136 1137 -1. 1327 +1. 1138 1138 11. AT Command Set 1139 1139 1140 1140 1. OTA firmware update ... ... @@ -1167,6 +1167,7 @@ 1167 1167 * Weight / pcs : g 1168 1168 1169 1169 1360 + 1170 1170 1. Support 1171 1171 1172 1172 * 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.