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)); }
/// <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(); }
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)); }