阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:4.1 上报位置信息

简介: 阿里云物联网的位置服务,并不是完全独立的功能。位置信息包含 二维、三维,位置数据来源于属性的上传。1)添加二维位置数据打开 数据分析 -> 空间数据可视化 -> 二维数据 -> 添加,为上面演示的设备添加位置,刷新时间为1秒。

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

1)添加二维位置数据

打开 数据分析 -> 空间数据可视化 -> 二维数据 -> 添加,为上面演示的设备添加位置,刷新时间为1秒。
在产品功能中,打开功能定义 ,在 标准功能 里,添加功能。
选择 其它类型 ,里面搜索 位置 ,在出现的列表中选一个(前面那几个都可以)。
笔者选择的是:

标识符:GeoLocation 适用类别:CuttingMachine
AI 代码解读

位置上传要设置的信息:

输入图片说明

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

输入图片说明


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 { } }
        }
AI 代码解读

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

    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 { } }
        }
AI 代码解读

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

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

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

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
打赏
0
0
0
0
2
分享
相关文章
|
20天前
|
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
74 1
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
阿里云物联网平台:推动万物互联的智能化解决方案
随着物联网技术的快速发展,阿里云物联网平台为企业提供了一体化的解决方案,包括设备接入、数据管理和智能应用等核心功能。平台支持海量设备接入、实时数据采集与存储、边缘计算,并具备大规模设备管理、高安全性和开放生态等优势。广泛应用于智能制造、智慧城市和智能家居等领域,助力企业实现数字化转型。
608 5
|
7月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
106 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
8月前
|
阿里云物联网平台的优势
【7月更文挑战第19天】阿里云物联网平台的优势
156 1
通义语音AI技术问题之LCB-net模型对幻灯片中文本信息的使用如何解决
通义语音AI技术问题之LCB-net模型对幻灯片中文本信息的使用如何解决
62 0
【阿里云云原生专栏】云边端一体化:阿里云如何利用云原生技术赋能物联网
【5月更文挑战第22天】阿里云借助云原生技术赋能物联网,实现云边端一体化,提升系统弹性与敏捷性。通过容器化部署,保证高可用性与可靠性。在智能交通等领域,阿里云提供高效解决方案,实现实时数据分析与决策。代码示例展示如何使用阿里云服务处理物联网数据。同时,阿里云重视数据安全,采用加密和访问控制保障数据隐私。丰富的工具和服务支持开发者构建物联网应用,推动技术广泛应用与发展。
470 1
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
99 7

物联网

+关注

相关产品

  • 物联网平台
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等