/IoT-Technical-Guide

:honeybee: IoT Technical Guide --- 从零搭建高性能物联网平台及物联网解决方案和Thingsboard源码分析 :sparkles: :sparkles: :sparkles: (IoT Platform, SaaS, MQTT, CoAP, HTTP, Modbus, OPC, WebSocket, 物模型,Protobuf, PostgreSQL, MongoDB, Spring Security, OAuth2, RuleEngine, Kafka, Docker)

Primary LanguageJavaApache License 2.0Apache-2.0

IOT Technical Guide

访客 阅读 投稿

🍁高质量的 IOT 技术教程,代码主要源于国外开源物联网平台ThingsBoard和对阿里云物联网平台的感悟

分割线


📖 Thingsboard源码分析 | 📖 从0搭建高性能IoT平台和实践


a.『 预习篇 』

物联网正处于元年,赶紧学习起来吧!

物联网平台是物联网架构中的核心部分,它连接现实世界和虚拟世界,以实现对象之间的通信,管理数据流,支持应用程序开发并为连接的物联网设备提供基本分析

.·°∴☆..·°.·°∴☆..·°.·°∴☆

SaaS和PaaS行业的需求是日益增长的!

聊到PaaS、SaaS,就不得不谈到多租户。

.·°∴☆..·°.·°∴☆..·°.·°∴☆

b.『 设备接入篇 』

MQTT(消息队列遥测传输) 是ISO标准下基于发布(Publish)/订阅(Subscribe)范式的消息协议,

同样也是物联网场景下使用最多的协议,是事实上的物联网“标准”协议。

大家普遍对如何实现或者正在寻找一款适合自己业务和技术的MQTT 服务端。

那么通过学习本文,你将能实现百万并发MQTT服务端。

.·°∴☆..·°.·°∴☆..·°.·°∴☆

节点通常具有带少量ROM和RAM的8位微控制器,而诸如低功耗无线个人局域网 (6LoWPAN)上的IPv6之类的受限网络通常具有较高的分组错误率,典型吞吐量为10 kbps 。该协议旨在用于机器对机器(M2M)应用,例如智能能源和楼宇自动化。

接下来,我将通过100行代码为大家搭建一个功能完备的CoAP服务器。

.·°∴☆..·°.·°∴☆..·°.·°∴☆

HTTP是可用于IoT应用程序的通用网络协议。您可以在此处找到有关HTTP的更多信息。

.·°∴☆..·°.·°∴☆..·°.·°∴☆

在非标准设备中,自定义协议的数据解析成为必不可少的技能。

通过本文和工程的学习后,你将轻松应付一切!

.·°∴☆..·°.·°∴☆..·°.·°∴☆

c.『 边缘计算篇 』

本文通过实战用python对工业Modbus网关设备进行数据读取和写入,

并讲解pymodbus和Modbus协议的Master/Slave架构特点。

本文通过实战用python在工业OPC-UA网关设备高效的性能和占用内存小的特点,

并讲解OPC-UA在工业领域的野心。

d.『 设备、接口认证和安全篇 』

  • Spring Security能量

本文是通过Spring Security在接口认证运用的案例,讲解接口安全的重要性。

并简述Spring Security的知识点。

本文是通过OAuth2在设备认证的案例来解决设备的一个机器一个密码。

运用它你无需通过繁多的设置来配置设备客户端了。

e.『 实时显示篇 』

数据在页面上的实时显示是当前大多数人的需求,WebSocket可以让梦想成真,

而IoT对这种需求是必须的,所以学习WebSocket就变成了必须的技能。

f.『 数据交换和序列化篇 』

物模型是一个Json格式的文件。它是物理空间中的实体,如传感器、车载装置、楼宇、工厂等在云端的数字化表示,你对实现这样的功能感到好奇吗?相信我,在这里,你将得到它。

本文是通过ProtoBuf在IoT设备协议和数据的序列化上,去讲解Protobuf高效,不依赖语言的特点。

即定义一个文件,到处都可用的优点。

g.『 存储和查询篇 』

h.『 流处理和消息队列篇 』

本文是通过Kafka在流处理和应用解耦的特点,更好、更高效的处理数据分析。

本文是通过另一个消息中间件RabbitMQ在IoT设备数据的应用,

讲解RabbitMQ在软件开发的长河还能发挥很大的作用。

i.『 规则引擎篇 』

你是否还在为繁多的业务而劳累,例如:当温度超过120度,就发出报警。在这章,通过学习规则引擎,

你将可以端起你手中的咖啡。

j.『 Docker和k8s篇 』

容器已经成为今年来最炙手可热的技术了,通过Docker,你将无需为部署环境而烦恼,

只需关注你的业务开发和逻辑。将极大的减少部署和运维的劳动力。

串联开发团队和IT运维团队!利用K8s让两个团队之间,建立良好的沟通和协作,

更块更可靠的创建高质量软件!

IoT在线资源推荐

号外

致力于打造专业的物联网技术圈,帮助朋友和同学在物联网的风口上早日起飞 🛫️

主要内容有:

  1. 📢 ThingsBoard源码解析 高达8k+的开源物联网平台,物联网解决方案的设备管理、数据收集、处理和可视化
  2. 🎐 应用于物联网应用层技术领域的技术和实践

并且你还可以得到:

  • Java通信领域Netty技术的极大提升。
  • MQTT, CoAP, Http2和网关协议的理论知识和指导。
  • 手把手教你搭建高可用及高性能IoT平台。

寻找志同道合的朋友

专业的IoT技术指导:https://t.zsxq.com/BmaYFyF

加我好友: 微信号(jamesmsw)

免费的物联网技术圈:加我好友,拉你进群!

关注微信公众号: 物联网技术指导

版权说明

  • ✍️ 穆书伟 (sanshengshui@github)
  • 除非另行注明,这个项目中的所有内容采用Apache2.0(Apache-2.0)协议共享。
  • 不少文章在原基础上翻译或演绎而来,页面上方标注了原作者、原文链接以及原文采用的协议。如有版权疑问,请在 Issue 中提出。
  • 如果引用本此项目教程代码或者文章,请注明作者和github项目地址。
  • 欢迎通过 Issue 或者 Pull Request 推荐你认为合适的资料,让这份菜单更充实一些。

🍀🍀🍀🍀🍀🍀🍀

为什么要做这份菜单

在学习开源物联网平台ThingsBoard和使用阿里云物联网平台的时候,我发现ThingsBoard的更新速度十分频繁且代码架构十分优秀,随着未来十年内将会有数十亿的设备将联网和国内对物联网领域的高热度。众多的开发人员经历过Web2.0和移动互联网的时代,但是对于未来的设备联网这块的知识十分缺乏,并且搜索引擎上大多数文章都比较的粗浅。此外,这些资料往往只涉及某些特定的话题,如果能有一份菜单将这些菜谱以特定的方式串起来,那么对于 IOT 学习者来说将会是极大的便利。尤其对于我这样热爱查阅社区资料胜过出版物的懒人:new_moon_with_face: 随着我的学习节奏还会不断有新的菜谱加入进来。