/// <summary> /// 接收消息 /// </summary> /// <param name="obj"></param> /// <returns></returns> private async Task OnMqttMessageReceived(MqttApplicationMessageReceivedEventArgs obj) { var payload = obj.ApplicationMessage.Payload; var topic = obj.ApplicationMessage.Topic; //byte[] hexbytes = new byte[] { // 0x95, // 0x03, // 0x0E, // 0x56,0x78, // 0x01, // 0x00,0x88, // 0x00,0x1F,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x01, // 0x00,0x00,0x21,0x04,0x00,0x00,0x0E,0x01,0x00,0x20, // 0x04,0x00,0x00,0x0F,0x01,0x00,0x0C,0x04,0x00,0x05, // 0x09,0x10,0x00,0x0C,0x04,0x00,0x12,0x76,0x90,0x00, // 0x16,0x02,0x00,0x78,0x00,0x08,0x00,0x00,0x09,0x00, // 0x00,0x19,0x00,0x00,0x07,0x01,0x08,0x00,0x0A,0x00, // 0x00,0x04,0x04,0xBC,0x4D,0xDE,0x5B,0x00,0x05,0x04, // 0xC7,0xFF,0x70,0x6F,0x00,0x06,0x02,0x07,0x7A,0x00, // 0x2E,0x04,0x00,0x00,0x00,0x00,0x00,0x2F,0x04,0x00, // 0x00,0x00,0x01,0x00,0x30,0x04,0x00,0x00,0x00,0x02, // 0x00,0x31,0x04,0x00,0x00,0x00,0x03,0x00,0x32,0x04, // 0x00,0x00,0x00,0x04,0x00,0x33,0x04,0x00,0x00,0x00, // 0x05,0x00,0x34,0x04,0x00,0x00,0x00,0x06,0x00,0x35, // 0x04,0x00,0x00,0x00,0x07, // 0x01,0xE1, // 0x59 //}; byte[] hexBytes = new byte[] { 0x95, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x1F, 0x04, 0x80, 0x05, 0x05, 0x16, 0x00, 0x20, 0x02, 0x20, 0x06, 0x00, 0x21, 0x02, 0x01, 0x05, 0x00, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x02, 0x00, 0x78, 0x00, 0x08, 0x0F, 0x38, 0x36, 0x31, 0x34, 0x31, 0x30, 0x30, 0x34, 0x37, 0x36, 0x38, 0x39, 0x36, 0x30, 0x38, 0x00, 0x09, 0x0F, 0x34, 0x36, 0x30, 0x30, 0x31, 0x33, 0x31, 0x30, 0x37, 0x37, 0x30, 0x37, 0x31, 0x35, 0x35, 0x00, 0x19, 0x00, 0x00, 0x07, 0x02, 0x00, 0x14, 0x00, 0x0A, 0x04, 0x63, 0x74, 0x6E, 0x62, 0x00, 0x04, 0x0E, 0x31, 0x30, 0x2E, 0x32, 0x31, 0x32, 0x2E, 0x31, 0x34, 0x31, 0x2E, 0x31, 0x30, 0x35, 0x00, 0x05, 0x04, 0x7A, 0x70, 0xFF, 0xC7, 0x00, 0x06, 0x02, 0x07, 0x5B, 0x00, 0x2E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x59 }; byte[] xjsj = new byte[] { 0x95, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0xE4, 0x06, 0x0B, 0x04, 0x0B, 0x04, 0x16, 0x0E, 0x00, 0x03, 0x00, 0x00, 0x3B, 0x00, 0x0D, 0x01, 0xFF, 0x00, 0x0F, 0x02, 0x00, 0xD5, 0x00, 0x0E, 0x02, 0x01, 0xFC, 0x00, 0x10, 0x02, 0x00, 0x6A, 0x00, 0x1E, 0x02, 0x00, 0x00, 0x00, 0x13, 0x04, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x12, 0x04, 0x00, 0x00, 0x1A, 0xF4, 0x00, 0x1B, 0x02, 0x00, 0x1E, 0x00, 0x15, 0x02, 0x00, 0xF0, 0x00, 0x02, 0x01, 0x12, 0x00, 0x28, 0x04, 0x00, 0x00, 0x00, 0x04, 0x52, 0x01, 0x59 }; try { if (topic.Contains("cmdstr")) { string payloadstr = Encoding.UTF8.GetString(payload); string padleftStr = string.Empty; payloadstr = payloadstr.Replace("\0", string.Empty); logger.Info(payloadstr); payload = HexFormatHelper.StringConvertHexBytes(payloadstr); } var uploadOrigin = NBReceivedHelper.AnalyzeMessage(payload); if (uploadOrigin != null) { if (uploadOrigin.commandCode == 0x04 || uploadOrigin.commandCode == 0x0E)//参数设置和数据上报 { uploadOrigin.uploadEntitys = new Dictionary <byte, Dictionary <byte, UploadEntity> >(); NBReceivedHelper.GetUploadEntity(uploadOrigin.uploadEntitys, uploadOrigin.data, 0); await UploadContext.GetInstance().GetUploadSchedule().Run(uploadOrigin); } } } catch (Exception ex) { var strPayLoad = HexFormatHelper.HexBytesConvertString(payload); logger.Error(this.GetType().FullName + " Topic:" + topic + ",Payload:" + strPayLoad + ex.ToString()); UPLogger.Show(ex.Message); //throw; } }