开源系统搭建物联网和智能家居平台
一、项目简介
1. 物美智能 (wumei-smart) 是一个简单易用的生活物联网平台。可用于搭建物联网平台以及二次开发和学习。
2. 设备接入使用EMQX消息服务器,加密认证;后端采用Spring boot;前端采用Vue;移动端采用Uniapp;数据库采用Mysql和Redis;设备端支持ESP32、ESP8266、树莓派等;系统架构图如下:
二、功能
- 权限管理: 用户管理、部门管理、岗位管理、菜单管理、角色管理、字典和参数管理等
- 系统监控: 操作日志、登录日志、系统日志、在线用户、服务监控、连接池监控、缓存监控等
- 产品管理: 产品、产品物模型、产品分类、产品固件、授权码等
- 设备管理: 控制、分组、定时、日志、统计、定位、OTA升级、影子模式、实时监测、加密认证等
- EMQ管理: Mqtt客户端、监听器、消息主题、消息订阅、插件管理、规则引擎、资源
- 硬件 SDK: 支持WIFI和MQTT连接、物模型响应、实时监测、定时上报监测数据、AES加密、NTP时间等
- 物模型管理: 属性(设备状态和监测数据),功能(执行特定任务),事件(设备主动上报给云端)
- 其他(开发中):第三方登录,设备分享、设备告警、场景联动(进度50%),智能音箱、多租户、APP界面自定义(进度40%),时序数据库、分布式集群部署、Granfa监控(进度30%),视频流处理、桌面端模拟器/监控、安卓端模拟器/监控(进度20%)
三、技术栈
- 服务端
- 相关技术:Spring boot、MyBatis、Spring Security、Jwt、Mysql、Redis、TDengine、EMQX、Mqtt等
- 开发工具:IDEA
- Web端
- 相关技术:ES6、Vue、Vuex、Vue-router、Vue-cli、Axios、Element-ui等
- 开发工具:Visual Studio Code
- 移动端(Android / Ios / 微信小程序 / H5)
- 硬件端
- 相关技术: ESP-IDF、Arduino、FreeRTOS等
- 开发工具:Visual Studio Code 和 Arduino
四、硬件接入
- 设备认证
- 加密认证(推荐)
- 简单认证
- EMQX支持的其他认证方式
- 设备交互
- 发布物模型、设备信息、时钟同步相关Mqtt主题
- 订阅物模型、设备升级、时钟同步相关Mqtt主题
项目提供了示例SDK,使用ESP8266芯片,基于Arduino开发。设备烧录使用串口模块,例如Ch340,接线图如下:
五、Docker快速安装
- Mysql中创建wumei-smart数据库,导入Sql脚本
- 修改命令中的Mysql配置,并执行
docker run \
--name wumei-smart \
--env DB_HOST=localhost:3306 \
--env DB_NAME=wumei-smart \
--env DB_USER=root \
--env DB_PASSWORD=wumei-smart \
--publish 80:80 \
--publish 1883:1883 \
--publish 8083:8083 \
--volume /var/wumei-smart/java/uploadPath:/var/wumei-smart/java/uploadPath \
--restart unless-stopped \
--detach \
kerwincui/wumei-smart:1.1
六、部分图片