Esempio n. 1
0
        /// <summary>
        /// 上行消息到达处理
        /// 本实例中,
        /// </summary>
        /// <param name="devEUI"></param>
        /// <param name="message"></param>
        private void DataReceived(string devEUI, Rimelink.Data.Mqtt.Message message)
        {
            if (client == null)
            {
                return;
            }

            // 上行的已解密还原的节点发送上来的数据
            byte[] data = message.Data;

            try
            {
                Log(String.Format("接收 {0} 数据\r\n{1}", devEUI, BitConverter.ToString(data)).Replace('-', ' '));
                if (data != null)
                {
                    JObject mess = (JObject)message.JSON.DeepClone();
                    mess["parseResult"] = ParseData(data);
                    DebugConsole(mess.ToString(Formatting.None));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("处理数据异常:" + e.Message);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 上行消息到达处理
        /// 本实例中,
        /// </summary>
        /// <param name="devEUI"></param>
        /// <param name="message"></param>
        private void DataReceived(string devEUI, Rimelink.Data.Mqtt.Message message)
        {
            if (client == null)
            {
                return;
            }

            // 上行的已解密还原的节点发送上来的数据
            byte[] data = message.Data;

            try
            {
                Log(String.Format("接收 {0} 数据\r\n{1}", devEUI, BitConverter.ToString(data)).Replace('-', ' '));
                if (data != null)
                {
                    string devName = message.JSON.Value <string>("deviceName");
                    Invoke(new MethodInvoker(delegate
                    {
                        if (!_DevicePanelDict.ContainsKey(devEUI))
                        {
                            var devicePanel          = new DevicePanel(devEUI, devName);
                            _DevicePanelDict[devEUI] = devicePanel;
                            devicePanel.MarqueeClick(btnSend_Click);

                            layoutPanel.Controls.Add(devicePanel);
                        }

                        _DevicePanelDict[devEUI].DataReceived(data);
                    }));
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine("处理数据异常:" + e.Message);
            }
        }