阿里云物联网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 { } }
        }


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

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

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

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联携手阿里云构筑高可用物联网消息中枢
面对换电生态高速发展的通信挑战,易易互联通过采用阿里云 MQTT + RocketMQ 的融合解决方案,成功构建了“海量接入、实时响应、弹性处理、安全可信”的物联网通信底座。该架构不仅显著提升了系统稳定性与可扩展性,更保障了高并发场景下的业务连续性,为实现“让换电成为营运补能第一选择”的战略目标提供了坚实的技术支撑。
681 72
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
4203 42
|
存储 监控 安全
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
1897 1
|
物联网 数据挖掘 BI
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
1657 19
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
619 60
|
安全 物联网 物联网安全
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
781 58
|
存储 数据采集 物联网
物联网技术在物流领域的应用会遇到哪些挑战?
物联网技术在物流领域的应用会遇到哪些挑战?
1037 60
|
供应链 物联网 区块链
探索未来技术潮流:区块链、物联网、虚拟现实的融合与创新
【10月更文挑战第41天】随着科技的不断进步,新技术如区块链、物联网、虚拟现实等正在逐步渗透到我们的日常生活中。本文将深入探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,共同推动社会的进步。我们将通过具体的代码示例,展示这些技术在实际应用中的潜力和价值。无论你是科技爱好者,还是对未来充满好奇的探索者,这篇文章都将为你打开一扇通往未来的窗口。
405 56
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用

相关产品

  • 物联网平台