IoT物联网平台:网关与子设备开发实战

简介: 设备挂载到网关上,作为网关的子设备,由网关代理接入IoT物联网平台

网关与子设备开发实战(java)

image.png

在很多物联网场景中,终端设备本身没有连接互联网能力,那么数据如何上云呢?
IoT物联网平台支持设备MQTT直连,也支持的设备挂载到网关上,作为网关的子设备,由网关代理接入IoT物联网平台。
这时候网关设备除了自身作为IoT网关设备(拥有身份三元组)与IoT物联网平台建立MQTT连接,收发数据,还要负责子设备的管理,包括:

  • 网关添加子设备网络拓扑关系
  • 子设备复用网关mqtt连接通道上线
  • 网关把子设备数据上报到云端
  • 网关接收指令,并转发给子设备
  • 网关上报子设备下线
  • 网关删除子设备网络拓扑关系

网关和子设备通信的协议由本地网络决定,可以是http,mqtt,ZigBee,Modbus,BLE,OPC-UA等,这部分逻辑由网关实现,IoT SDK不包含这部分功能。

1.创建网关产品

创建网关产品时,需要选择节点类型:网关,即指可以挂载子设备的直连设备。网关可以管理子设备、可以维持与子设备的拓扑关系,并将该拓扑关系同步到云端。

image.png

网关与子设备的拓扑关系如下图所示:
image.png

2.网关设备上线

LinkKitInitParams params = new LinkKitInitParams();

DeviceInfo gatewayInfo = new DeviceInfo();
gatewayInfo.productKey = gateway.productKey;
gatewayInfo.deviceName = gateway.deviceName;
gatewayInfo.deviceSecret = gateway.deviceSecret;

params.deviceInfo = gatewayInfo;
LinkKit.getInstance().init(params, ILinkKitConnectListener)

网关上线可以在控制台看到,设备状态是 在线
2.png

3.添加网络拓扑关系

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewayAddSubDevice(
    deviceInfo, //子设备身份
    SubDeviceConnectListener)

6.png

4.子设备上线

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDeviceLogin(
    deviceInfo,  //子设备身份
    ISubDeviceActionListener)

1.png

子设备查看到接入官网的信息
3.png

5.子设备上报数据

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDevicePublish(
    topic, //子设备topic
    data, //数据
    deviceInfo, //子设备身份
    ISubDeviceActionListener)

5.png

6.子设备订阅主题

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDeviceSubscribe(
    topic, //子设备订阅Topic
    deviceInfo, //子设备身份
    ISubDeviceActionListener)

7.子设备下线

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewaySubDeviceLogout(
    deviceInfo, //子设备身份
    ISubDeviceActionListener)

8.子设备网络拓扑删除

DeviceInfo deviceInfo = new DeviceInfo();
deviceInfo.productKey = productKey;
deviceInfo.deviceName = deviceName;
deviceInfo.deviceSecret = deviceSecret;
LinkKit.getInstance().getGateway().gatewayDeleteSubDevice(
    deviceInfo, //子设备身份
    ISubDeviceRemoveListener)

image.png

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
8天前
|
存储 数据采集 边缘计算
物联网设备的边缘计算与数据处理:技术革新与应用展望
【7月更文挑战第8天】物联网设备的边缘计算与数据处理技术是推动物联网技术发展的重要力量。通过将数据处理和决策推向设备边缘,边缘计算实现了低延迟、数据隐私和安全、带宽优化以及可靠性等优势,为物联网应用的实时性、智能化和高效性提供了有力保障。未来,随着技术的不断进步和创新,边缘计算将在物联网领域发挥更加重要的作用,推动物联网技术的进一步发展。
|
9天前
|
机器学习/深度学习 数据可视化 物联网
物联网设备的数据可视化与分析:解锁未来智能世界的钥匙
【7月更文挑战第6天】物联网设备的数据可视化与分析是解锁未来智能世界的关键。通过不断探索和实践,我们可以更好地利用物联网数据,推动技术创新,提升社会运行效率,为人们的生活带来更多便利和惊喜。面对技术挑战,我们应保持开放心态,积极学习新技术、新方法,不断优化数据可视化与分析的流程和效果,为物联网的繁荣发展贡献力量。
|
9天前
|
传感器 存储 算法
物联网设备的低功耗设计与优化技术
【7月更文挑战第7天】低功耗设计与优化技术是物联网设备广泛应用的关键。通过选择合适的处理器和微控制器、低功耗通信协议、睡眠与唤醒机制以及数据压缩与传输优化策略,可以显著降低物联网设备的功耗,延长其电池寿命,提高系统的可靠性和性能。未来,随着物联网技术的不断发展,低功耗设计与优化技术将持续演进,并在更多领域发挥重要作用。
|
9天前
|
安全 物联网 物联网安全
物联网设备的安全性评估与测试:技术深度解析
【7月更文挑战第7天】物联网设备的安全性评估与测试是保障物联网系统安全运行的重要环节。通过实施全面的安全性评估与测试,可以发现并修复设备中存在的安全漏洞和风险,提高整体安全防护能力。然而,由于物联网设备的多样性和复杂性以及安全标准与监管的缺失等挑战,测试工作需要不断创新和优化。未来,随着技术的不断进步和实践的深入,物联网设备的安全性评估与测试将更加完善和高效。
|
11天前
|
存储 传感器 监控
物联网设备的远程监控与管理:技术与实践
【7月更文挑战第5天】物联网设备的远程监控与管理技术正逐步成熟,为企业和个人带来了前所未有的便利性和洞察力。通过实现设备的实时监控、远程操作、数据分析等功能,可以显著提高设备的运行效率和安全性。然而,面对系统集成、隐私安全、用户体验等挑战,我们仍需不断探索和创新,以推动物联网技术的持续发展和应用。
|
12天前
|
运维 安全 物联网
物联网设备的安全固件更新机制:保障设备安全的基石
【7月更文挑战第4天】物联网设备的安全固件更新机制是保障设备安全、稳定运行的重要基石。通过建立完善的更新管理制度、定期检查和更新计划、安全验证和兼容性测试、自动化分发和安装、详细的更新记录、数字签名技术、分阶段或分批更新策略、紧急响应计划及加密通信协议等措施,可以显著提高物联网设备固件更新的安全性和可靠性。未来,随着技术的不断进步和应用场景的拓展,物联网设备的安全固件更新机制将不断完善和发展,为物联网系统的稳定运行和数据安全提供更加坚实的保障。
|
14天前
|
数据采集 存储 运维
物联网设备的数据处理与分析技术探讨
【7月更文挑战第2天】探索物联网(IoT)数据处理技术,涵盖数据采集(传感器、无线通信)、存储(分布式系统、NoSQL)、处理(清洗、压缩、转换)和分析(描述性、聚类、分类、异常检测)。未来趋势涉及AI集成、边缘计算、多模态处理和系统自主化。随着技术演进,期待更智能、高效的解决方案。
|
16天前
|
存储 人工智能 安全
物联网设备安全通信协议:现状、挑战与未来展望
【6月更文挑战第30天】物联网(IoT)技术快速发展带来设备安全通信挑战。现有协议如ZigBee、蓝牙在安全上分为公钥和对称密码体系。面临资源限制、安全威胁、隐私保护和互操作性问题。未来趋势聚焦轻量级协议、多层次安全、隐私技术与标准化,以增强物联网安全性,推动行业健康发展。
|
18天前
|
传感器 安全 物联网
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
|
18天前
|
传感器 存储 监控
使用Python进行物联网设备控制与数据收集
通过这些步骤和示例,可以看到Python在物联网领域的广泛应用和强大功能。Python不仅能够轻松实现硬件控制和数据处理,还能通过丰富的库和工具支持高效的开发、部署和运维。随着物联网技术的不断发展,Python将继续在智能家居、工业自动化、智慧城市等领域发挥重要作用,为开发者提供更多的创新和高效的解决方案。

热门文章

最新文章

相关产品

  • 物联网平台