コード例 #1
0
        public static string GetHexCheckSum(byte[] bytes, bool includeCheckSum = true)
        {
            int sum           = 0;
            int packagelength = bytes.Length;

            if (includeCheckSum)
            {
                packagelength = bytes.Length - 1;
            }

            for (int i = 0; i < packagelength; i++)
            {
                sum += DataHelper.ConvertToIntFromHex(bytes[i].ToString("X2"));
            }
            var actualCheckSum = DataHelper.ConvertToHexFromInt(sum);

            byte[] checksumBytes = DataHelper.HexStrTobyte(actualCheckSum);

            var temp = checksumBytes[checksumBytes.Length - 1].ToString("X2");

            return(temp);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: littlefeihu/DataMonitor
        static void Main(string[] args)
        {
            //3C 04 0C AA 08 31 2E 33 35 32 2E 30 32 66 ED
            Console.WriteLine(DataHelper.ConvertToHexFromInt(10));
            Console.WriteLine(DataHelper.ConvertToHexFromInt(269));
            ConnectToServer();
            Console.WriteLine("TCP客户端已连接到服务器");
            Console.WriteLine("现在可以给服务器发送指令了");
            while (true)
            {
                try
                {
                    string text = Console.ReadLine();
                    if (text == "quit")
                    {
                        break;
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(text))
                        {
                            //获取温度湿度 250301FF0066已解析
                            //获取采集保存间隔250308DD0066已解析
                            //获取历史总包数历史总条数250306AA0066已解析待验证
                            //下载历史数据250306AA0201000066已解析待验证


                            //修改节点地址
                            //获取设备硬件软件版本号25080CAA0066
                            //设置设备地址25070255010B66

                            //读温度报警值上限下限25030A010066已解析
                            //读湿度报警值上限下限25030A020066已解析

                            //写温度报警值25030A01040A00DE0366
                            //写湿度报警值25030A0204C800700366
                            //读温湿度报警状态25030ABB0066

                            //读取保存间隔250308DD0066已解析
                            //设置保存间隔 写分钟   记录间隔 存储容量
                            //250308DD0305E80366
                            //设置保存间隔 写小时
                            //250308DD0401DC050066

                            //清空历史记录
                            //250309FF0066
                            //读取设备日期时间已解析
                            //250308CC0066


                            //设置时间
                            //250308BB0617071618303066
                            //开启温度报警25030AAA010166
                            //开启湿度报警25030AAA010266
                            //开启温湿度报警25030AAA010366
                            //关闭温湿度报警25030AAA010066

                            // text = "250F06AA0066";
                            text = "250401FF0066";
                        }
                        var cmdbytes = new GetDataCommand(text).GetCommandBytes();

                        _client.Send(cmdbytes);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            _client.Shutdown();
            Console.WriteLine("TCP客户端已经从服务器断开了");

            Console.ReadKey();
        }