public void TestWeatherMT() { try { var weather = JsonConvert.DeserializeObject <i360PointForecast>(File.ReadAllText(@"C:\Users\Banana\Desktop\weather.json")); var message1 = WeatherMT.Create(ProtocolVersion.v1, weather); var message2 = WeatherMT.Create(ProtocolVersion.v2__LocationFix, weather); var message3 = WeatherMT.Create(ProtocolVersion.v3__WeatherExtension, weather); var message4 = WeatherMT.Create(ProtocolVersion.v4__WeatherExtension, weather); var message5 = WeatherMT.Create(ProtocolVersion.v4__WeatherExtension, weather, 7); var bytes1 = message1.Pack()[0].Payload; var bytes2 = message2.Pack()[0].Payload; var bytes3 = message3.Pack()[0].Payload; var bytes4 = message4.Pack()[0].Payload; var bytes5 = message5.Pack()[0].Payload; var unpacked1 = (WeatherMT)WeatherMT.Unpack(bytes1, new InMemoryBuffer()); var unpacked2 = (WeatherMT)WeatherMT.Unpack(bytes2, new InMemoryBuffer()); var unpacked3 = (WeatherMT)WeatherMT.Unpack(bytes3, new InMemoryBuffer()); var unpacked4 = (WeatherMT)WeatherMT.Unpack(bytes4, new InMemoryBuffer()); var unpacked5 = (WeatherMT)WeatherMT.Unpack(bytes5, new InMemoryBuffer()); //var bytes1 = "1208058C9F98BEB30120867FF4FFEC3B1B0062F847FF2FB5B10230857FF47F125861074008FFE8FF8D165600C4F08FFE9F816107400CFFE8FFA516B600C4F08FFE6F022B6C01C8E01FFDBFD1C206C010FED1FFB32EAC054CE11FFDBFC4C29A8008FED1FF515085358608FCA3FF3758D70310C33FFA7F866DAD8339FCA3FF97D5D70818C23FFABF0AA2B00130847FF47F9A".ToByteArray(); //var message1 = (WeatherMT)WeatherMT.Unpack(bytes1, new InMemoryBuffer()); } catch (Exception e) { Debugger.Break(); throw; } }
public async Task Pack__WeatherMTTest() { //var r = await new HttpClient().GetAsync("http://demo.iridium360.ru/connect/weather?auth=d9fc554e3ad74919bf274e11bdfe07c3&lat=55.67578125&lon=37.255859375&interval=6"); var r = await new HttpClient().GetAsync("http://demo.iridium360.ru/connect/weather?auth=d9fc554e3ad74919bf274e11bdfe07c3&lat=25.761&lon=-80.208&interval=6"); var s = await r.Content.ReadAsStringAsync(); try { var ffff = JsonConvert.DeserializeObject <i360WeatherForecast>(s); var fs = ffff.Forecasts.Select(x => new i360PointForecast() { Lat = x.Lat, Lon = x.Lon, DayInfos = x.DayInfos, TimeOffset = x.TimeOffset, Forecasts = x.Forecasts.Select(z => new i360Forecast() { WindGust = z.WindGust, CloudHeight = z.CloudHeight, Visibility = z.Visibility, Cloud = z.Cloud, Date = z.Date, Precipitation = z.Precipitation, WindSpeed = z.WindSpeed, WindDirection = z.WindDirection, Temperature = z.Temperature, SnowRisk = z.SnowRisk, Pressure = z.Pressure }).Take(16).ToList() }).FirstOrDefault(); var message = WeatherMT.Create(ProtocolVersion.v2__LocationFix, fs); var packets = message.Pack(33); var hex = packets[0].Payload.ToHexString(); var m = Message.Unpack(packets[0].Payload) as WeatherMT; } catch (Exception e) { } }