GithubHelp home page GithubHelp logo

iot-technology / iot-technical-guide Goto Github PK

View Code? Open in Web Editor NEW
3.9K 131.0 1.0K 1.33 MB

: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)

Home Page: https://iot.mushuwei.cn/

License: Apache License 2.0

Java 95.45% Scala 0.69% HTML 0.20% TypeScript 2.17% JavaScript 0.48% CSS 0.20% Python 0.81%
coap nosql gateway mqtt micorservice multitenant websocket real-time rule-engine jwt

iot-technical-guide's Introduction

IOT Technical Guide

阅读 投稿

交流群

扫码如下二维码。回复【物联网技术指南】关键字。

可以添加帅气而又风趣的我为好友,并拉你进一个学习交流装逼群

公众号

物联网技术学习指南

基于物联网场景和技术的入门和深度学习教程。

物联网相较于电商、支付和金融等是一个全新的行业。但是物联网又是一个高速发展的行业,很多人想要从事这个行业,但是不得其法,于是诞生了此教程。

市面上的物联网技术文章很少,且文章的质量都较为粗浅和不成体系。对于很多开发者来说,入门即是其对某个技术栈的最终理解,一方面是开发者“比较懒”,另一方面是文章作者把物联网技术写的太浅,又或者不够全面。

  • 整理了物联网学习资源和书籍,涉及计算机网络、算法和书籍结构、框架、数据存储等每个细节的知识。

  • 在学习基础知识的同时,我想要你了解物联网开发常见的~~黑话~~专业术语,例如数字孪生、设备影子、通信相关的术语名词、蓝牙、Zigbee、CoAP、MQTT协议等。

  • 在带你学会MQTT v3.1、v3.1.1和v5.0协议的同时,我还想告诉你当前流行和好用的MQTT 客户端工具和不同语言的MQTT Client依赖包,最后以实战的方式带你实现一个单机百万的MQTT Broker。

  • 学习上面的知识后,我相信你对物联网有所了解了,我允许你叉着腰骄傲一下,接下来我会带你学习从零搭建高性能IoT平台所需要的技术栈、包括架构设计、MQTT Broker搭建、CoAP服务搭建、消息削峰、数据模型设计和数据库选型等。

  • 最好我带你编译和学习当前GitHub上最流行的开源物联网平台-Thingsboard, 其在GitHub上点赞超过1w+, 学习前沿的物联网理念和知识,如果你有二次开发的需求,也可沟通联系我欧!一起探讨学习!

  • ...

    让我们一起愉快的挖坑,挖深坑,哇哈哈。

分割线

Part1 物联网基石和学习之路

Part1-1『 物联网学习书籍和资源 』

Part1-2『 物联网内功和基础知识 』

Part2.『 MQTT学习指南三重境 』

Part2-1『 一重境之求索:MQTT客户端工具和依赖包 』

Part2-2『 二重境之实干:自研MQTT Broker,直通百万并发客户端 』

  • 待补充

Part2-3『 三重境之感悟:MQTT v3.1/v3.1.1中文协议文档 』

Part2-4『 三重境之感悟: MQTT v5.0中文协议文档』

Part3.『 从零搭建高性能IoT平台 』

Part4.『 Thingsboard源码解析 』

iot-technical-guide's People

Contributors

dependabot[bot] avatar sanshengshui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iot-technical-guide's Issues

Update to Californium 2.6.3?

Just to mention:
Californium 2.6.3 is the current Californium release.
AFAIK, your guide should be able to update to that very easily.

文章404

很多文章已经打不开了。

做开源项目,能不能认真点?虎头蛇尾

Dependency org.springframework.security:spring-security-core, leading to CVE problem

Hi, In /IOT-Guide-JWT-Without-JPA,there is a dependency org.springframework.security:spring-security-core:5.0.8.RELEASE that calls the risk method.

CVE-2020-5408

The scope of this CVE affected version is [5.3.0.RELEASE, 5.3.2.RELEASE) [5.2.0.RELEASE, 5.2.4.RELEASE) [5.1.0.RELEASE, 5.1.10.RELEASE) [5.0.0.RELEASE, 5.0.16.RELEASE) [4.2.0.RELEASE, 4.2.16.RELEASE)

After further analysis, in this project, the main Api called is org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder: matches(java.lang.CharSequence,java.lang.String)Z

Risk method repair link : GitHub

CVE Bug Invocation Path--

Path Length : 6

iot.technology.jwt.without.controller.JwtAuthenticationController: createAuthenticationToken(iot.technology.jwt.without.model.JwtRequest)Lorg.springframework.http.ResponseEntity; /.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar
iot.technology.jwt.without.controller.JwtAuthenticationController: authenticate(java.lang.String,java.lang.String)V /.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar
org.springframework.security.authentication.ProviderManager: authenticate(org.springframework.security.core.Authentication)Lorg.springframework.security.core.Authentication; /.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.9/jackson-core-2.8.9.jar
org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider: authenticate(org.springframework.security.core.Authentication)Lorg.springframework.security.core.Authentication; /.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.9/jackson-core-2.8.9.jar
org.springframework.security.authentication.dao.DaoAuthenticationProvider: additionalAuthenticationChecks(org.springframework.security.core.userdetails.UserDetails,org.springframework.security.authentication.UsernamePasswordAuthenticationToken)V /.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.9/jackson-core-2.8.9.jar
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder: matches(java.lang.CharSequence,java.lang.String)Z

Dependency tree--

[INFO] iot.technology:IOT-Guide-JWT-Without-JPA:jar:1.0-SNAPSHOT
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.0.5.RELEASE:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:2.0.5.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot:jar:2.0.5.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.0.5.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.0.5.RELEASE:compile
[INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] |  |  |  |  +- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] |  |  |  |  \- org.slf4j:slf4j-api:jar:1.7.7:compile
[INFO] |  |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.10.0:compile
[INFO] |  |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.10.0:compile
[INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.7:compile
[INFO] |  |  +- javax.annotation:javax.annotation-api:jar:1.3.2:compile
[INFO] |  |  +- org.springframework:spring-core:jar:5.0.9.RELEASE:compile
[INFO] |  |  |  \- org.springframework:spring-jcl:jar:5.0.9.RELEASE:compile
[INFO] |  |  \- org.yaml:snakeyaml:jar:1.19:runtime
[INFO] |  +- org.springframework.boot:spring-boot-starter-json:jar:2.0.5.RELEASE:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.9.6:compile
[INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.9.6:compile
[INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.9.6:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.0.5.RELEASE:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.34:compile
[INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.34:compile
[INFO] |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.34:compile
[INFO] |  +- org.hibernate.validator:hibernate-validator:jar:6.0.12.Final:compile
[INFO] |  |  +- javax.validation:validation-api:jar:2.0.1.Final:compile
[INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.3.2.Final:compile
[INFO] |  |  \- com.fasterxml:classmate:jar:1.3.4:compile
[INFO] |  +- org.springframework:spring-web:jar:5.0.9.RELEASE:compile
[INFO] |  |  \- org.springframework:spring-beans:jar:5.0.9.RELEASE:compile
[INFO] |  \- org.springframework:spring-webmvc:jar:5.0.9.RELEASE:compile
[INFO] |     +- org.springframework:spring-context:jar:5.0.9.RELEASE:compile
[INFO] |     \- org.springframework:spring-expression:jar:5.0.9.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-security:jar:2.0.5.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:5.0.9.RELEASE:compile
[INFO] |  +- org.springframework.security:spring-security-config:jar:5.0.8.RELEASE:compile
[INFO] |  |  \- org.springframework.security:spring-security-core:jar:5.0.8.RELEASE:compile
[INFO] |  \- org.springframework.security:spring-security-web:jar:5.0.8.RELEASE:compile
[INFO] +- io.jsonwebtoken:jjwt:jar:0.9.0:compile
[INFO] |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.8.9:compile
[INFO] |     +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
[INFO] |     \- com.fasterxml.jackson.core:jackson-core:jar:2.8.9:compile
[INFO] \- org.projectlombok:lombok:jar:1.18.4:compile

Suggested solutions:

Update dependency version

Thank you very much.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.