Esempio n. 1
0
        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,
                },
            });
Esempio n. 2
0
        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]);
        }