public void FunDeviceShadowSample(string serverUri, int port, string deviceId)
        {
            // 创建设备
            string deviceCertPath = IotUtil.GetRootDirectory() + @"\certificate\deviceCert.pfx";

            if (!File.Exists(deviceCertPath))
            {
                Log.Error("请将设备证书放到根目录!");

                return;
            }

            X509Certificate2 deviceCert = new X509Certificate2(deviceCertPath, "123456");

            // 使用证书创建设备,X509证书接入
            device = new IoTDevice(serverUri, port, deviceId, deviceCert);

            if (device.Init() != 0)
            {
                return;
            }

            device.GetClient().deviceShadowListener = this;

            string guid = Guid.NewGuid().ToString();

            Console.WriteLine(guid);

            string topic = CommonTopic.TOPIC_SYS_SHADOW_GET + "=" + guid;

            device.GetClient().Report(new PubMessage(topic, string.Empty));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// OTA sample,用来演示如何实现设备升级。
        /// 使用方法:用户在平台上创建升级任务后,修改main函数里设备参数后启动本例,即可看到设备收到升级通知,并下   载升级包进行升级,
        /// 并上报升级结果。在平台上可以看到升级结果
        /// 前提条件:\download\ 其中根目录必须包含download文件夹(可根据情况自定义)
        /// </summary>
        /// <param name="serverUri"></param>
        /// <param name="port"></param>
        /// <param name="deviceId"></param>
        /// <param name="deviceSecret"></param>
        public void FunOTASample(string serverUri, int port, string deviceId, string deviceSecret)
        {
            // 创建设备
            IoTDevice device = new IoTDevice(serverUri, port, deviceId, deviceSecret);

            // package路径必须包含软固件包名称及后缀
            string     packageSavePath = IotUtil.GetRootDirectory() + @"\download\test.bin";
            OTAUpgrade otaSample       = new OTAUpgrade(device, packageSavePath);

            otaSample.Init();
        }
Ejemplo n.º 3
0
        public void FunCertificateSample(string serverUri, int port, string deviceId)
        {
            string deviceCertPath = IotUtil.GetRootDirectory() + @"\certificate\deviceCert.pfx";

            if (!File.Exists(deviceCertPath))
            {
                Log.Error("请将设备证书放到根目录!");

                return;
            }

            X509Certificate2 deviceCert = new X509Certificate2(deviceCertPath, "123456");

            // 使用证书创建设备
            IoTDevice device = new IoTDevice(serverUri, port, deviceId, deviceCert);

            if (device.Init() != 0)
            {
                return;
            }

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

            // 按照物模型设置属性
            json["alarm"]              = 1;
            json["temperature"]        = 23.45811;
            json["humidity"]           = 56.89012;
            json["smokeConcentration"] = 89.56723;

            ServiceProperty serviceProperty = new ServiceProperty();

            serviceProperty.properties = json;
            serviceProperty.serviceId  = "smokeDetector"; // serviceId要和物模型一致

            List <ServiceProperty> properties = new List <ServiceProperty>();

            properties.Add(serviceProperty);

            device.GetClient().Report(new PubMessage(properties));
        }