1 Star 1 Fork 2

laohan / IOT-Technical-Guide

forked from pftian / IOT-Technical-Guide 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

IOT Technical Guide

访客 阅读 投稿

:maple_leaf:高质量的 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. :loudspeaker: ThingsBoard源码解析 高达8k+的开源物联网平台,物联网解决方案的设备管理、数据收集、处理和可视化
  2. :wind_chime: 应用于物联网应用层技术领域的技术和实践

并且你还可以得到:

  • 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 推荐你认为合适的资料,让这份菜单更充实一些。

:four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover:

为什么要做这份菜单

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

Apache License Version 2.0, January 2004 https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS Copyright 2013-2018 Docker, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

: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) 展开 收起
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/laohan923/IOT-Technical-Guide.git
git@gitee.com:laohan923/IOT-Technical-Guide.git
laohan923
IOT-Technical-Guide
IOT-Technical-Guide
master

搜索帮助