跳到主要内容

Iot 物联网

<<图解物联网>>

https://github.com/microsoft/IoT-For-Beginners

2、熟悉视频编解码及图像处理原理,了解RTPRTCP、rtmp、rtsp等协议 3、熟悉TCP/IP,HTTP/HTTPS、MQTT,WebSocket,CoAP等一种或多种网络协议; 4、熟悉嵌入式操作系统、IoT相关协议(mqtt/opc-da/opc-ua/modbus等) 5、有基于开源 IoT平台相关二次开发使用经验; 6、有边缘-云互通编程开发经验,熟悉AWS greengrass、Service mesh 等开发框架; 7、有openTSDB 和influxDB等时序数据库实际开发经验; 8、良好的逻辑思维能力,熟悉业务抽象和数据模型设计,具有很强的分析问题和解决问题的能力 9 需熟悉modbus、opc、websocket等物联网通信协议,需有过消防监控、视频监控、通信广播、电力监控等物联网对接经验。 4、熟悉MQTT、COAP/LwM2M、BLE、Modbus等IoT常见通信协议; 5、熟练使用JProfiler/VisualVM等Java性能优化工具,熟悉Java的IO/内存/数据库性能优化; 熟悉物联网平台架构设计,熟悉MQTT/CoAP等主流物联网通信协议 有时空数据库、规则引擎、设备接入管理、边缘计算等物联网服务研发经验者优先

https://github.com/iegomez/mosquitto-go-auth

https://github.com/IoT-Technology/IoT-Technical-Guide

https://github.com/HQarroum/awesome-iot

https://github.com/phodal/designiot/

https://www.v2ex.com/t/250870 入门

https://github.com/microsoft/IoT-For-Beginners

https://zditect.com/main/iot-internet-of-things/iot-internet-of-things.html

熟悉消费级物联网的技术生态, 能独立完成物联网系统的设备选型、方案设计、硬件调试和控制软件开发。 精通主流的物联通讯协议 WiFi/BlueTooth/NFC/RS485/……, 熟练使用 Java/C#/C++ 等语言进行开发集成。 具备芯片级集成开发经验 STM32/ESP8266/HX711/ATGM336H/74HC595/……

https://github.com/Amazingwujun/mqttx

iot brief intro

物联网( IoT )平台是连接设备、传感器、网络和软件应用程序的基础设施,以便收集、存储、分析和交换数据。近年来,物联网领域出现了许多颠覆性创新,这些创新正在改变我们的生活和工作方式。以下是一些颠覆性的物联网创新:

物联网应用,不限于家居、矿山、电力、智慧城市、环境、交通等。

https://www.v2ex.com/t/946848?p=2 调研



边缘计算:边缘计算是一种分布式计算范式,将数据处理和分析从云端移到设备附近的边缘节点。这可以减少数据传输延迟,提高实时性能,降低带宽成本,并增强数据安全性。边缘计算正在成为物联网领域的重要趋势。

低功耗广域网络( LPWAN ):LPWAN 技术(如 LoRaWAN 、Sigfox 和 NB-IoT )为物联网设备提供了低功耗、长距离和低成本的无线连接。这使得大量分布式设备能够在广泛的地理范围内进行通信,从而推动了智能城市、智能农业和远程监控等领域的发展。

5G 技术:5G 是下一代无线通信技术,具有更高的数据速率、更低的延迟和更高的连接密度。5G 技术将为物联网应用带来更快的数据传输、更好的实时性能和更广泛的覆盖范围,从而推动自动驾驶汽车、远程医疗和智能工厂等领域的创新。

人工智能( AI )和机器学习:AI 和机器学习技术正在与物联网平台紧密结合,以实现更智能的数据分析和决策。通过使用 AI 算法,物联网设备可以自动识别模式、预测故障、优化资源利用和提高能效。

区块链技术:区块链技术为物联网提供了一种去中心化、安全和可靠的数据存储和交换机制。通过使用区块链,物联网设备可以实现安全的设备身份认证、数据完整性保护和智能合约自动执行等功能。

数字孪生技术:数字孪生是一种将物理设备和虚拟模型相互关联的技术。通过使用数字孪生,物联网平台可以实时监控设备状态、预测设备性能、优化设备维护和提高设备寿命。

无人机和自主机器人:无人机和自主机器人正在与物联网技术相结合,以实现自动巡检、远程监控、物流配送和灾害救援等应用。这些自主设备可以与物联网平台进行实时通信,以实现智能调度和协同作业

mqtt 协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”即时通讯协议,该协议构建于TCP/IP协议上

低开销、低带宽占用等优点, 特别适合用来当做物联网的通信协议

场景:

-(1)消息推送: 如PC端的推送公告,比如安卓的推送服务,还有一些即时通信软件如微信、易信等也是采用的推送技术。 -(2)智能点餐: 通过MQTT消息队列产品,消费者可在餐桌上扫码点餐,并与商家后端系统连接实现自助下单、支付。 -(3)信息更新: 实现商场超市等场所的电子标签、公共场所的多媒体屏幕的显示更新管理。 -(4)扫码出站: 最常见的停车场扫码缴费,自动起竿;地铁闸口扫码进出站。


MQTT Client

MQTT Broker

MQTT Connection
参数:
- ClientId
- Clean Session
- Username/Password
- Will Message
- KeepAlive
- QOS 此数字表示消息的服务质量 (QoS)。有三个级别:0、1 和 2
QoS 0(最多一次):消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这个级别可用于如下情况,环境传感器数据,丢失一次数据无所谓,因为不久后还会有第二次发送。
QoS 1(至少一次):确保消息到达,但消息重复可能会发生。
QoS 2(只有一次):确保消息到达一次。这个级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
- Payload 每条消息的实际内容。MQTT 是数据无关性的。可以发送任何文本、图像、加密数据以及二进制数据。
- timeout:MQTT会尝试接收数据,直到timeout时间到后才会退出。

mqtt broker 服务端选型

https://blog.csdn.net/emqx_broker/article/details/120017095


https://www.emqx.com/zh emqx

https://learnku.com/articles/46174 rabbitmq

桌面客户端 https://github.com/emqx/MQTTX

硬件设备协议

ModbusTcp,PLC,TCP/ip, opcServer

M2M协议、工业协议

熟悉无线传感网络、以太网、现场总线等通讯技术,了解RFID、ZigBee、Wi-Fi、WIA-PA、蓝牙4.0、UWB等技术,掌握主流传感器应用方案

网络接入选型

https://www.v2ex.com/t/474236

基于 Java 生态的物联网系统

功能划分


通用底座功能:
多协议支持 (如:MQTT 、HTTP 、TCP 、Modbus 、GB28181 视频协议、萤石云视频协议等)
设备接入/管理
创建项目、按照分组添加管理设备、查看设备推送状态
数据采集, 告警与可视化
通知功能:短信、邮件、电话、webhook 多种通知方式
时序数据库
系统日志:IP 访问路径、设备操作记录
集群部署
多租户 (超级管理员, 租户公司账户, 租户用户账户)
自动化(规则引擎):场景联动、场景日志、定时触发、设备触发、多种触发

产品管理:创建产品、批量管理、二维码数据、手动激活
固件升级:为产品添加固件、创建升级任务、固件升级报表

集成mqtt

https://developer.aliyun.com/article/1150694 https://blog.csdn.net/beibei3321/article/details/124187758


<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>

经验之谈


https://v2ex.com/t/946848