阿里云物联网NETCore客户站瑞CZGL.AliloTClient:4.1 上报位置信息

简介: 阿里云物联网NETCore客户站瑞CZGL.AliloTClient:4.1 上报位置信息

阿里云物联网的位置服务,并不是完全独立的功能。位置信息包含 二维、三维,位置数据来源于属性的上传。


1)添加二维位置数据


打开 数据分析 -> 空间数据可视化 -> 二维数据 -> 添加,为上面演示的设备添加位置,刷新时间为1秒。 在产品功能中,打开功能定义 ,在 标准功能 里,添加功能。


选择 其它类型 ,里面搜索 位置 ,在出现的列表中选一个(前面那几个都可以)。


笔者选择的是:


标识符:GeoLocation 适用类别:CuttingMachine


位置上传要设置的信息:


微信图片_20220501212649.png



注意注意,如果选择的标准属性跟上图的类型定义不一样,需要手动修改。要把上面的位置属性按上图来改,有一个地方不同,都会失败。 当然,也可以一开始就按图手动创建。


微信图片_20220501212653.png


2)基础代码


上传位置数据,不需要做什么大操作,按照属性的上传方法上传即可。模型代码参考:


public class TestModel
        {
            public string id { get { return DateTime.Now.Ticks.ToString(); } set { } }
            public string version { get { return "1.0"; } set { } }
            public Params @params { get; set; }
            public TestModel()
            {
                @params = new Params();
            }
            public class Params
            {
                public geoLocation GeoLocation { get; set; }
                public class geoLocation
                {
                    public Value value { get; set; }
                    public long time { get { return AliIoTClientJson.GetUnixTime(); } set { } }
                    public geoLocation()
                    {
                        value = new Value();
                    }
                    public class Value
                    {
                        public double Longitude { get; set; }
                        public double Latitude { get; set; }
                        public double Altitude { get; set; }
                        public int CoordinateSystem { get; set; }
                    }
                }
                public Params()
                {
                    GeoLocation = new geoLocation();
                }
            }
            public string method { get { return "thing.event.property.post"; } set { } }
        }


整体代码参考: 定义位置模型 -> 设置位置数据 -> 上传位置数据


class Program
    {
        static AliIoTClientJson client;
        static void Main(string[] args)
        {
            // 创建客户端
            client = new AliIoTClientJson(new DeviceOptions
            {
                ProductKey = "a1A6VVt72pD",
                DeviceName = "json",
                DeviceSecret = "7QrjTptQYCdepjbQvSoqkuygic2051zM",
                RegionId = "cn-shanghai"
            });
            client.OpenPropertyDownPost();
            // 设置要订阅的Topic、运行接收内容的Topic
            string[] topics = new string[] { client.CombineHeadTopic("get") };
            // 使用默认事件
            client.UseDefaultEventHandler();
            // 连接服务器
            client.ConnectIoT(topics, null, 60);
            while (true)
            {
                ToServer();
                Thread.Sleep(1000);
            }
            Console.ReadKey();
        }
        public static void ToServer()
        {
            // 实例化模型
            TestModel model = new TestModel();
            // 设置属性值
            // 经度
            model.@params.GeoLocation.value.Longitude = 113.952981;
            // 纬度
            model.@params.GeoLocation.value.Latitude = 22.539843;
            // 海拔
            model.@params.GeoLocation.value.Altitude = 56;
            // 坐标系类型
            model.@params.GeoLocation.value.CoordinateSystem = 2;
            // 上传属性数据
            client.Thing_Property_Post<TestModel>(model, false);
        }
        public class TestModel
        {
            public string id { get { return DateTime.Now.Ticks.ToString(); } set { } }
            public string version { get { return "1.0"; } set { } }
            public Params @params { get; set; }
            public TestModel()
            {
                @params = new Params();
            }
            public class Params
            {
                public geoLocation GeoLocation { get; set; }
                public class geoLocation
                {
                    public Value value { get; set; }
                    public long time { get { return AliIoTClientJson.GetUnixTime(); } set { } }
                    public geoLocation()
                    {
                        value = new Value();
                    }
                    public class Value
                    {
                        public double Longitude { get; set; }
                        public double Latitude { get; set; }
                        public double Altitude { get; set; }
                        public int CoordinateSystem { get; set; }
                    }
                }
                public Params()
                {
                    GeoLocation = new geoLocation();
                }
            }
            public string method { get { return "thing.event.property.post"; } set { } }
        }


上面使用的是模拟位置数据,请实际情况设置位置数据。

打开阿里云物联网控制台 -> 数据分析 -> 空间数据可视化 -> 二维数据 -> 演示产品

会看到定位到了深圳阿里云大厦(高新园地铁站附近)~~~

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
消息中间件 DataWorks 物联网
MQTT问题之接入阿里云物联网平台如何解决
MQTT接入是指将设备或应用通过MQTT协议接入到消息服务器,以实现数据的发布和订阅;本合集着眼于MQTT接入的流程、配置指导以及常见接入问题的解决方法,帮助用户实现稳定可靠的消息交换。
161 1
|
4天前
|
消息中间件 存储 JavaScript
阿里云IOC物联网异步处理基础概念
该内容介绍了异步处理基础和消息队列的相关概念。首先,同步处理指任务完成后才能执行其他操作,而异步则允许任务并行执行,不阻塞程序。异步能提高系统并发性和响应性,但也增加复杂性和资源消耗。接着,提到了消息队列,包括生产者、消费者、队列、broker和topic等概念,并指出在IoT中,设备作为生产者发送消息到特定topic,消费者从队列获取数据。最后,简要介绍了AMQP协议,它是用于应用程序间消息传递的开放标准,常用于分布式系统和物联网,如RabbitMQ和Apache Qpid。课程将以Apache Qpid为例接收IoT数据。
116 6
阿里云IOC物联网异步处理基础概念
|
1月前
|
云安全 人工智能 安全
|
1月前
|
弹性计算 大数据 测试技术
2024年阿里云服务器报价参考,阿里云服务器活动优惠配置价格信息整理汇总
随着云计算技术的日益成熟,云服务器已成为众多企业和个人的首选。在众多云服务商中阿里云以其稳定的性能、高性价比而备受瞩目。今天,就为大家带来2024年最新的阿里云服务器优惠价格信息。 阿里云服务器: 轻量应用服务器及ECS优惠价格: 2核2G3M轻量应用服务器:一年62元 2核2G3M经济型e实例云服务器ECS:一年99元 2核4G通用算力型u1实例云服务器ECS:一年706.25元 2核8G通用算力型u1实例云服务器ECS:一年877.32元
|
1月前
|
弹性计算 Ubuntu Linux
2024年阿里云幻兽帕鲁Palworld游戏服务器价格信息整理总结
在探索《幻兽帕鲁》这款独特开放世界生存游戏的过程中,你是否曾想过拥有一台专属的游戏服务器,与好友一同畅享不受限的冒险体验?现在,阿里云为你提供了这一绝佳机会!
22 0
|
1月前
|
弹性计算 搜索推荐
阿里云幻兽帕鲁专用服务器多少钱?2024年阿里云幻兽帕鲁Palworld服务器收费报价信息整理
在追求极致游戏体验的道路上,阿里云为幻兽帕鲁的玩家们带来了一个重磅好消息:专用的游戏服务器正式上线!这不仅意味着更加流畅、稳定的游戏环境,更代表着个性化游戏体验的新篇章。对于游戏爱好者来说,服务器的选择直接关系到游戏体验的优劣。阿里云针对幻兽帕鲁推出的专用服务器,提供4核16G和8核32G两种配置选择,充分满足不同玩家的需求。其中,4核16G配置仅需26元/月起,适合小型团队或个人玩家,轻松支持最多8人同时在线;而8核32G配置则以90元/月的价格,为大型团队或追求更高性能的玩家提供强力支持,最多可容纳20人同时畅游游戏世界。
37 0
|
1月前
|
弹性计算 大数据 测试技术
阿里云服务器价格多少钱?2024年阿里云服务器收费标准信息整理大全
在当今这个数据驱动的时代,云服务器已成为企业和个人的首选。其中,阿里云以其稳定性、高效性和安全性备受赞誉。那么,阿里云服务器究竟多少钱呢?接下来就为大家带来详细的收费标准信息。 对于轻量级应用,阿里云2核2G3M轻量应用服务器一年的价格仅为62元,非常适合小型网站和个人博客。如果需要更高的配置,阿里云2核2G3M经济型e实例云服务器ECS一年价格为99元,性价比极高。
290 0
|
1月前
|
弹性计算 Ubuntu 搜索推荐
2024年阿里云《幻兽帕鲁》Palworld服务器配置与价格信息说明
2024年阿里云《幻兽帕鲁》Palworld服务器配置与价格信息整理:想要知道阿里云上《幻兽帕鲁》服务器的最新价格吗?这里为您带来了详细的价格信息,助您轻松选择适合自己的服务器配置!
30 3
|
1月前
|
弹性计算 NoSQL 关系型数据库
2024年将是最艰难的一年?不怕,阿里云带头降价,与百万客户共享技术红利!
2024年将是最艰难的一年?不怕,阿里云带头降价,与百万客户共享技术红利!
|
1月前
|
弹性计算 NoSQL 关系型数据库
阿里云降价:与百万全球客户共享阿里云15年技术突破与规模积累
阿里云降价:与百万全球客户共享阿里云15年技术突破与规模积累

相关产品

  • 物联网平台