阿里云物联网.NET Core客户端位置信息上报
阿里云物联网平台的位置服务并非一个完全独立的功能模块。位置信息可包含二维坐标与三维坐标,而位置数据的来源本质上是借助设备属性进行上传。换言之,若要让设备上报位置,您需先将其视为一个普通属性进行处理。
1)添加二维位置数据
操作过程十分简洁。进入数据分析 → 空间数据可视化 → 二维数据,点击添加,将刚才演示所用的设备选入,刷新间隔设为1秒。接着,在产品功能定义中定位到标准功能,点击添加功能,在其它类型里搜索位置,然后从结果列表中选取一个——实际上前面几个选项均可使用。这里我们选择的是:
标识符:GeoLocation 适用类别:CuttingMachine
位置上传需要配置的信息如下:
这里需特别提醒:如果您选择的标准属性与上图所示的类型定义不一致,就必须手动修改。位置属性的每一项都要严格按照上图进行调整,哪怕仅有一个地方不同,最终操作也会失败。当然,更简便的方式是一开始就直接参照上图手动创建属性。
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(model, false);
}
// TestModel类定义同上,此处省略
}
上述代码中使用了模拟的位置数据,实际开发时请根据现场环境进行赋值。
最后,打开阿里云物联网控制台 → 数据分析 → 空间数据可视化 → 二维数据 → 演示产品,即可看到设备定位在深圳阿里云大厦——也就是高新园地铁站附近的位置。效果是不是很直观?
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Windows Docker Desktop RabbitMQ生产级部署完整指南
前言 在 Windows 本地开发环境中,直接安装 RabbitMQ 确实颇为周折:需要单独配置 Erlang 运行环境、手动管理环境变量、服务启停全凭手工操作。更令人困扰的是,版本兼容冲突、端口占用、环境不一致等问题层出不穷。笔者见过不少开发者为搭建环境就得耗费整整半天时间。 相比之下,借助 Do
AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践
先分享一个切实感受。过去两年,我们与福建制造企业合作较为频繁,发现一个非常突出的现象:超过80%的企业官网,产品参数仍然存放在PDF或图片中。AI爬虫?根本无法抓取。这些企业技术实力不弱、资质证照齐全、应用案例也丰富,但在AI搜索这一全新战场上,它们几乎处于隐身状态。 一、一个正在发生的行业变化 A
阿里云Token Plan团队版功能价格与省钱购买指南
阿里云百炼近期推出了名为“Token Plan 团队版”的全新服务,这一服务专为企业与开发者量身打造,定位为AI大模型订阅平台。通过引入Credits作为统一计量单位,将文本生成、图像生成等多模态AI能力纳入单一计费体系,同时无缝兼容主流AI编程工具及智能体(Agent)生态系统。其核心亮点包括:全
阿里云物联网.NET Core客户端位置信息上报
阿里云物联网平台的位置服务并非一个完全独立的功能模块。位置信息可包含二维坐标与三维坐标,而位置数据的来源本质上是借助设备属性进行上传。换言之,若要让设备上报位置,您需先将其视为一个普通属性进行处理。 1)添加二维位置数据 操作过程十分简洁。进入数据分析 → 空间数据可视化 → 二维数据,点击添加,将
年阿里云服务器选型配置与网站部署全攻略
2026年,阿里云服务器生态已高度成熟,形成了清晰的轻量应用服务器与ECS云服务器两大产品阵营。无论你是计划搭建个人博客、企业官网,还是运营电商平台、进行应用开发,基本都能找到理想的解决方案。本指南将从服务器选型、配置选择、部署流程到安全运维,系统梳理2026年最实用的操作要点,帮助你少走弯路,让网
- 日榜
- 周榜
- 月榜
相关攻略
2026-06-29 17:49
2026-06-29 17:48
2026-06-29 17:47
2026-06-29 17:47
2026-06-29 17:47
2026-06-29 17:46
2026-06-29 17:46
2026-06-29 17:46
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

