public async void Test3() { var client = new AliyunMqttClient("a18RQ72tLHD", "dev1", "6oSl3CjHKM13J50DVVWNF3WbWWJjhAUf"); client.Log = XTrace.Log; client.Server = $"tcp://{client.ProductKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com:443"; await client.ConnectAsync(); await client.SyncTime(); await client.PostProperty(new { // 温度 Temperature = Rand.Next(-4000, 120_00) / 100d, // 相对湿度 RelativeHumidity = Rand.Next(0, 100_00) / 100d, // 风向 WindDirection = Rand.Next(0, 360_00) / 100d, // 氟化物浓度 Fluoride = Rand.Next(0, 10000_00) / 100d, // 空气质量指数 AQI = Rand.Next(0, 500), // 首要污染物 PrimaryItem = Rand.NextString(32), // 地理位置 GeoLocation = new { Longitude = Rand.Next(-180_00, 180_00) / 100d, Latitude = Rand.Next(-180_00, 180_00) / 100d, Altitude = Rand.Next(0, 10000_00) / 100d, // 1=WGS_84, 2=GCJ_02 CoordinateSystem = 1, }, });
public void Test2() { var productKey = "a1X2bEn****"; var deviceName = "example1"; var deviceSecret = "ga7XA6KdlEeiPXQPpRbAjOZXwG8y****"; var client = new AliyunMqttClient(productKey, deviceName, deviceSecret); Assert.Equal("example1&a1X2bEn****", client.UserName); //Assert.Equal("B144BAE52CF8A5B5F2B37743D8440C85CDC05861A1BF87C564E4FB2CBF43FAFB", sign.Password); //Assert.Equal("a1X2bEn****.example1|timestamp=1578321210292,_v=newlife-mqtt-1.0,securemode=2,signmethod=hmacsha256|", sign.ClientId); Assert.NotEmpty(client.Password); Assert.Equal(32, client.Password.ToHex().Length); Assert.NotEmpty(client.ClientId); var cs = client.ClientId.Split('|', ','); Assert.Equal(8, cs.Length); Assert.Equal($"{productKey}.{deviceName}", cs[0]); Assert.Equal("_v=newlife-mqtt-1.0", cs[2]); Assert.Equal("language=C#", cs[3]); Assert.Equal("_m=NewLife.MQTT", cs[4]); Assert.Equal("securemode=3", cs[5]); Assert.Equal("signmethod=hmacsha256", cs[6]); Assert.Empty(cs[7]); }