Пример #1
0
        public void OnTimeSyncResponse(long device_send_time, long server_recv_time, long server_send_time)
        {
            long device_recv_time = Convert.ToInt64(IotUtil.GetTimeStamp());
            long now = (server_recv_time + server_send_time + device_recv_time - device_send_time) / 2;

            Console.WriteLine("now is " + StampToDatetime(now));
        }
Пример #2
0
        /// <summary>
        /// 设备侧删除子设备
        /// </summary>
        /// <param name="devicesId">待删除的子设备(设备id)列表,单次删除最大不超过50个设备</param>
        public void ReportDeleteSubDevice(List <string> devicesId)
        {
            DeviceEvent deviceEvent = new DeviceEvent();

            deviceEvent.serviceId = "$sub_device_manager";
            deviceEvent.eventTime = IotUtil.GetTimeStamp();
            deviceEvent.eventType = "delete_sub_device_request";

            Dictionary <string, object> para = new Dictionary <string, object>();

            para.Add("devices", devicesId);
            deviceEvent.paras = para;
            GetClient().ReportEvent(deviceEvent);
        }
Пример #3
0
        /// <summary>
        /// 批量上报子设备状态
        /// </summary>
        /// <param name="statuses">子设备状态列表</param>
        public void ReportSubDeviceStatus(List <DeviceStatus> statuses)
        {
            DeviceEvent deviceEvent = new DeviceEvent();

            deviceEvent.serviceId = "$sub_device_manager";
            deviceEvent.eventTime = IotUtil.GetTimeStamp();
            deviceEvent.eventType = "sub_device_update_status";

            Dictionary <string, object> para = new Dictionary <string, object>();

            para.Add("device_statuses", statuses);
            deviceEvent.paras = para;
            GetClient().ReportEvent(deviceEvent);
        }
Пример #4
0
        /// <summary>
        /// 向平台请求同步子设备信息
        /// </summary>
        protected void SyncSubDevices()
        {
            Log.Info("start to syncSubDevices, local version is " + subDevicesPersistence.GetVersion());

            DeviceEvent deviceEvent = new DeviceEvent();

            deviceEvent.eventType = "sub_device_sync_request";
            deviceEvent.serviceId = "sub_device_manager";
            deviceEvent.eventTime = IotUtil.GetTimeStamp();

            Dictionary <string, object> para = new Dictionary <string, object>();

            para.Add("version", subDevicesPersistence.GetVersion());
            deviceEvent.paras = para;
            GetClient().ReportEvent(deviceEvent);
        }
        public void RequestTimeSync()
        {
            Dictionary <string, object> node = new Dictionary <string, object>();

            node.Add("device_send_time", IotUtil.GetTimeStamp());

            DeviceEvent deviceEvent = new DeviceEvent();

            deviceEvent.eventType = "time_sync_request";
            deviceEvent.paras     = node;
            deviceEvent.serviceId = "$time_sync";
            deviceEvent.eventTime = IotUtil.GetEventTime();

            iotDevice.GetClient().messagePublishListener = this;
            iotDevice.GetClient().ReportEvent(deviceEvent);
        }