From 62b01ed6aa3e015037ebc99401a453dcae0da258 Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Mon, 24 Jun 2019 16:57:54 +0800 Subject: [PATCH] update Former-commit-id: 679a0f1b8c3a4a1b9dd8e08935a8c0c63793f54b --- .../Infrastructure/DeviceService.cs | 84 +++++++++++-------- .../FBeeService/Views/Home/Gateway.cshtml | 6 +- 2 files changed, 54 insertions(+), 36 deletions(-) diff --git a/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs b/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs index 560fd929..cf1ec0ce 100644 --- a/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs +++ b/projects/IoT/IoTServices/FBeeService/Infrastructure/DeviceService.cs @@ -192,10 +192,7 @@ namespace FBeeService if (device != null) { var address = device.Address; - var list = new List() { 0x16, 0x00 }; - list.AddRange(sn.HexToBytes().Reverse()); - list.Add(RequestType.xfe); - list.Add(RequestType.x82); + var list = new List(); list.Add(0x0d); list.Add(0x02); list.AddRange(address.HexToBytes()); @@ -208,9 +205,6 @@ namespace FBeeService } } - //0x83 - //0x84 - //0x85 /// /// 0x07接收指定设备的开关状态 /// @@ -241,6 +235,55 @@ namespace FBeeService } } + /// + /// 0x83设置指定设备的亮度 + /// + /// + /// + /// 0-255 + public void X83(string sn, string ieee, byte value) + { + using (var scope = _applicationServices.CreateScope()) + { + var repo = scope.ServiceProvider.GetService>(); + var device = repo.ReadOnlyTable().FirstOrDefault(o => o.Sn == sn && o.IEEE == ieee); + if (device != null) + { + var address = device.Address; + var list = new List(); + list.AddRange(sn.HexToBytes().Reverse()); + list.Add(RequestType.xfe); + list.Add(RequestType.x82); + list.Add(0x0d); + list.Add(0x02); + list.AddRange(address.HexToBytes()); + list.AddRange(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }); + list.Add(0x01); + list.AddRange(new byte[] { 0x00, 0x00 }); + list.Add(value); + list.AddRange(new byte[] { 0x00, 0x00 }); + this.Write(sn, RequestType.x82, list); + } + } + } + + /// + /// 0x29接收指定设备的亮度 + /// + /// + /// + private void X29(string sn, byte[] data) + { + using (var ms = new MemoryStream(data)) + { + var responseType = ms.ReadByte(); + var dataLength = ms.ReadByte(); + } + } + + //0x84 + //0x85 + //0x86 //0x87 //0x88 @@ -592,33 +635,6 @@ namespace FBeeService } } - private byte[] Command(byte[] data) - { - var command = new List { 0xfe, 0xa5, 0x00 }; - command.Add((byte)data.Length); - command.AddRange(data); - command.Add((byte)command.Skip(2).Select(o => Convert.ToInt32(o)).Sum()); - return command.ToArray(); - } - - private byte[] Data(byte[] data, bool crc16 = false) - { - var command = new List { 0xfe, 0xa5, 0x01 }; - command.Add((byte)data.Length); - command.AddRange(data); - if (crc16) - { - var crc = Crc16.ComputeChecksum(data); - command.Add(crc[1]); - command.Add(crc[0]); - } - else - { - command.Add((byte)command.Skip(2).Select(o => Convert.ToInt32(o)).Sum()); - } - return command.ToArray(); - } - private void Write(string sn, byte commandType, List command) { this.Clients.TryGetValue(sn, out TcpClientWrapper client); diff --git a/projects/IoT/IoTServices/FBeeService/Views/Home/Gateway.cshtml b/projects/IoT/IoTServices/FBeeService/Views/Home/Gateway.cshtml index 4c748cff..df8eded6 100644 --- a/projects/IoT/IoTServices/FBeeService/Views/Home/Gateway.cshtml +++ b/projects/IoT/IoTServices/FBeeService/Views/Home/Gateway.cshtml @@ -11,7 +11,8 @@ 名称 分类 分类编号 - 电源 + 电源开关 + 在线 开关 删除 @@ -24,7 +25,8 @@ @item.Name @item.CategoryName @item.CategoryNumber - @item.Power + +