【物联网设备端开发】物联网设备上云提供开箱即用接入SDK

news/2024/4/19 13:03:26/文章来源:https://blog.csdn.net/a7491772/article/details/136452000

一、项目介绍

IOTDeviceSDK是物联网平台提供的设备端软件开发工具包,可简化开发过程,实现设备快速接入各大物联网平台。 设备厂商获取SDK后,根据需要选择相应功能进行移植,即可快速集成IOTDeviceSDK,实现设备的接入。

  • 支持mqtt,coap,modbus,cwmp(tr069),usp(tr369),snmp等协议
  • 支持Arduino,ESP-IDF,RaspberryPi,合宙等各种硬件平台
  • 支持openwrt,RT-Thread等OS
  • 减少重复开发,快速接入各种云平台
  • 项目地址:
gitee: IOTDeviceSDK
github: IOTDeviceSDK

二、项目目录

  • platform-generic --------------------- 适配通用平台
  • platform-fastbee --------------------- 适配蜂信物联网平台
  • platform-aliyun ----------------------- 适配阿里物联网平台

三、集成方式

据设备类型的不同,集成IOTDeviceSDK的方式也有差异:

  • IP设备:指支持TCP/IP协议栈的设备,例如Wi-Fi设备,可以直接集成IOTDeviceSDK。
  • 非IP设备:指不支持TCP/IP协议栈的设备,例如ZigBee、BT、KNX、ModBus等,需要通过集成了IOTDeviceSDK的网关设备, 再接入到各大物联网平台。子设备需要通过网关代理建连,网关集成IOTDeviceSDK,子设备与网关之间的通信方式由用户自定义,IOTDeviceSDK子设备接入,

四、设备功能开发

4.1 连接与消息

物联网平台为满足不同的设备接入需求,支持多种协议和多种认证方式,下面介绍设备接入物联网平台的几种方案。

功能

说明

多协议接入

支持MQTT、CoAP、HTTP等协议接入,大部分设备使用MQTT协议。

一机一密

每个设备使用单独的密钥进行认证。

一型一密

每个型号设备使用共同的密钥,简化设备烧录的工作。

说明

一型一密和一机一密可以结合使用,设备第一次接入物联网平台通过一型一密(动态注册)获取到设备单独的密钥,之后再通过一机一密接入。

网关子设备

网关代理子设备接入物联网平台,子设备接入后可以使用子设备的topic与云平台通信。

4.2 业务功能

设备在接入物联网平台后,可以通过物联网平台收发消息。设备将业务数据上报到物联网平台,可以通过以下方式。

  • 自定义:用户完成自定义消息的topic和Payload,。
  • 物模型:用户基于物模型定义设备属性、事件、服务,通过物模型的格式上报/下发,物模型是物联网平台的核心能力,使用物模型的优势:
    • 数据结构化存储:简化后续数据开发流程。
    • 状态缓存(设备影子):设备/服务端在任意时间都可查询设备状态/数据。
    • 数据可视化:在物联网平台页面可以查看数据。
    • 在线调试:支持在线调试设备。

4.3 运维功能

设备在完成业务功能开发后,在正式量产前,建议再增加运维功能,方便设备后续的迭代、配置及问题排查。物联网平台主要提供以下运维能力。

功能

说明

OTA

设备升级,提供设备远程固件升级的能力。

远程登录

基于安全隧道,提供控制台通过SSH协议远程登录设备的能力。

日志上报

设备上报运行日志到物联网平台,通过该日志可进行设备问题排查。

远程配置

远程配置设备。

NTP服务

提供设备时间同步的能力。

五、参考资料

5.1 ESP-IDF 编程指南

ESP-IDF 编程指南>>

5.2 iRTU 开源DTU/RTU解决方案

iRTU 开源DTU/RTU解决方案>>

5.3 FastBee

FastBee开源物联网平台 >>

5.4 Openwrt lede

Openwrt lede >>

5.5 RT-Thread

RT-Thread IoT-Board SDK>>

六、社区交流 & 代码贡献

  • 欢迎设备厂商和平台小伙伴来贡献代码
  • 使用过程有啥问题可以通过以下方式联系
  • 提供付费咨询和固件定制等服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_999627.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三色标记过程

可达性分析 GC过程中需要对对象图遍历做可达性分析。使用了三色标记法进行分析。 什么三色? 白色:尚未访问过。 黑色:本对象已访问过,而且本对象 引用到 的其他对象 也全部访问过了。 灰色:本对象已访问过&#xff0…

http代理IP适合什么场景使用?HTTP代理IP的优势在哪里呢?

HTTP代理IP在多种场景下都能发挥重要作用,尤其是在网络请求处理、数据抓取、爬虫应用以及隐私保护等方面。下面,我们将详细探讨HTTP代理IP适用的场景以及其所具备的优势。 一、HTTP代理IP适合什么场景使用? 1. 网络请求处理:在进行…

#QT(网络编程-UDP)

1.IDE:QTCreator 2.实验:UDP 不分客户端和服务端 3.记录 (1)做一个UI界面 (2)编写open按钮代码进行测试(用网络调试助手测试) (3)完善其他功能测试 4.代码 …

Python快速入门系列-1

Python快速入门系列 第一章: Python简介1.1 Python的历史与发展1.2 Python的优势与特点1.2.1 易学易用1.2.2 动态类型1.2.3 丰富的标准库与第三方库1.2.4 面向对象与函数式编程1.2.5 广泛应用领域 1.3 Python的应用领域 第一章: Python简介 1.1 Python的历史与发展 Python是一…

three.js如何实现简易3D机房?(一)基础准备-上

目录 一、tips 二、功能说明 1.模型初始化 2.功能交互 三、初始化准备 1.目录结构 2.创建三要素 3.创建轨道控制器 4.初始化灯光 5.适配 6.循环渲染 一、tips 1.three.js入门的相关基础性知识就不在此过多赘述了,可以自行提前了解 three.js docs&…

Unity编辑器功能Inspector快捷自动填充数据和可视化调试

我们有时候可能需要在面板增加一些引用,可能添加脚本后要手动拖动,这样如果有大量的脚本拖动也是不小的工作量 实例 例如:我的脚本需要添加一个Bone的列表,一个个拖动很麻烦。 实现脚本 我们可以用这样的脚本来实现。 public…

Linux系统——Haproxy高性能负载均衡软件

目录 一、Haproxy介绍 1.Haproxy定义 2.Haproxy主要特性 二、安装Haproxy 1.yum安装 2.第三方rpm包安装 3.编译安装 3.1解决Lua环境 3.2编译安装Haproxy 三、配置文件详解 1.状态页 2.日志管理 2.1定义日志到其他主机站点 3.指定进程线程个数 4.cpu亲缘性 5.多进…

一文帮助快速入门Django

文章目录 创建django项目应用app配置pycharm虚拟环境打包依赖 路由传统路由include路由分发namenamespace 视图中间件orm关系对象映射操作表数据库配置model常见字段及参数orm基本操作 cookie和sessiondemo类视图 创建django项目 指定版本安装django:pip install dj…

【Photoshop2020版本】零基础笔记(一)

哈喽大家好~最近博客内容换方向了哈哈哈~换成“实用版”了。 今天给大家带来的是 PS 相关内容 其实我也是刚学PS,所以想着自己做笔记还不如发布出去,让大家都能看到,有兴趣的伙伴们,可以跟着我的笔记一块学习,这个专…

探索手指套的多功能用途

什么是手指套? 手指套,戴在手指上的用品。作为一种小巧实用的用品,在我们的生活中扮演着多种角色。无论是在工业生产中的保护,医疗操作中的防护,还是日常生活中的装饰,甚至是性生活中的辅助,手…

ChatGPT推出新“朗读”功能 支持多语言与声音;使用大型语言模型增强分类数据集

🦉 AI新闻 🚀 ChatGPT推出新“朗读”功能 支持多语言与声音 摘要:OpenAI最新为其流行的聊天机器人ChatGPT引入了一项名为“朗读”的功能,这使得ChatGPT能用五种不同的声音朗读回复,并支持37种语言的自动检测与朗读。…

Aop注解+Redis解决SpringBoot接口幂等性(源码自取)

目录 一、什么是幂等性? 二、哪些请求天生就是幂等的? 三、为什么需要幂等 1.超时重试 2.异步回调 3.消息队列 四、实现幂等的关键因素 关键因素1 关键因素2 五、引入幂等性后对系统的影响 六、Restful API 接口的幂等性 实战Aop注解redis解…

Java代码审计安全篇-常见Java SQL注入

前言: 堕落了三个月,现在因为被找实习而困扰,着实自己能力不足,从今天开始 每天沉淀一点点 ,准备秋招 加油 注意: 本文章参考qax的网络安全java代码审计,记录自己的学习过程,还希望…

el根据需求合并列

将 列分为 3 3 1 的格式 以下是vue代码&#xff1a; <el-table:data"dataSource":border"true":header-cell-style"{ font-weight: normal, text-align: center }":cell-style"{ text-align: center }"size"mini"style…

git分布式管理-头歌实验搭建Git服务器

一、Git服务器搭建 任务描述 虽然有提供托管代码服务的公共平台&#xff0c;但是对一部分开发团队来说&#xff0c;为了不泄露项目源代码、节省费用及为项目提供更好的安全保护&#xff0c;往往需要搭建私有Git服务器用做远程仓库。Git服务器为团队的开发者们&#xff0c;提供了…

智能驾驶规划控制理论学习08-自动驾驶控制模块(轨迹跟踪)

目录 一、基于几何的轨迹跟踪方法 1、基本思想 2、纯追踪 3、Stanly Method 二、PID控制器 三、LQR&#xff08;Linear Quadratic Regulator&#xff09; 1、基本思想 2、LQR解法 3、案例学习 基于LQR的路径跟踪 基于LQR的速度跟踪 4、MPC&#xff08;Mode…

2024AI在医疗领域中的辅助趋势与现有进展

2024 年 AI 辅助研发趋势随着人工智能技术的持续发展与突破&#xff0c;2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计&#xff0c;从软件开发到材料科学&#xff0c;AI正逐渐渗透到研发的各个环节&#xff0c;变革着传统的研发模式。在这一背景下&am…

计算机设计大赛 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x…

基于PHP的景点数据分析系统设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 关键理论与技术 3 1.1 框架技术 3 1.1.1 QueryList 3 1.1.2 ThinkPHP 3 1.1.3 Amaze UI 3 1.2 数据可视化技术 4 1.3 数据库技术 4 1.4 本章小结 4 2 需求分析 5 2.1 业务流程分析 5 2.2 功能需求分析 5 2.3 用例分析 7 2.4 非功能性需求…

短剧APP系统开发,2024年最具潜力的赛道

短剧从去年开始就呈现暴风式上涨&#xff0c;占据了大众的空闲时间&#xff0c;刷到短剧的观众几乎都会沉迷进去&#xff0c;让人欲罢不能。今年春节一部《我在八零年代当后妈》的短剧就突破了日充值达2000万的惊人数据&#xff0c;更加刺激了短剧制作商&#xff0c;短剧市场的…