本文系 EMQ&Intel 联合举办的首届“中国物联网数据基础设施最佳案例评选大赛“个人开发者赛道二等奖作品。

项目作者:崔学文。

项目简介

wumei-smart 是一个简单易用的生活物联网平台,可用于企业搭建私域物联网,或个人学习和搭建自己的智能家居平台,以及实现手机和电脑的监控。项目包含服务端、Web 端、移动端、设备端 SDK 以及手机和电脑端的设备模拟器。

项目地址:https://github.com/kerwincui/wumei-smart

技术框架

使用 EMQX 开源版作为消息服务器接入设备,设备通过 MQTT 协议与后端、前端和移动端交互。

认证采用 EMQX 内置的 HTTP 插件对称加密认证。

后端采用 Spring boot;前端采用 Vue;

移动端采用 Uniapp;

数据库采用 MySQL、Redis 和 TDengine;

设备端支持硬件 SDK 生成,例如 ESP32、ESP8266、树莓派等;

设备模拟器采用 Android 和 WPF 框架,不仅能模拟硬件设备,还可以控制和监测电脑、手机。

框架图

使用说明

一、系统要求

JDK >= 1.8

MySQL >= 5.7

Maven >= 3.0

Redis >= 3.0

Node >= 10

EMQX >=4.0

二、开发工具

后端: IDEA、Eclipse

前端: Virtual Studio Code

三、项目运行

后端:

  1. MySQL 新建 wumei-smart 数据库,导入 Spring boot 中的 SQL 文件
  2. 开发工具打开 Spring boot项目,自动安装依赖
  3. 编辑 resources 目录下的 application-druid.yml,修改数据库配置信息
  4. 编辑 resources 目录下的 application.yml,修改 Redis、MQTT 配置

前端:

  1. 安装依赖:执行 npm install 命令。强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 Bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。npm install --registry=https://registry.npm.taobao.org
  2. 启动项目:执行 npm run dev命令
  3. 浏览器打开http://localhost:80访问。(默认账户/密码 admin/admin123)

四、部署

后端:

  1. 在 Spring boot 项目的 bin 目录下执行 package.bat 打包 Web 工程,生成 war/jar 包文件。spring-boot/ruoyi-admin 模块下 target 文件夹下包含 war 或 jar 文件
  2. jar 部署方式:使用命令行执行:java –jar ruoyi.jar 或者执行脚本:spring-boot/bin/run.bat
  3. war 部署方式:spring-boot/ruoyi-admin/pom.xml 中的 packaging 修改为 war,放入 tomcat 服务器 webapps

前端:

  1. 打包正式环境: npm run build:prod
  2. 打包预发布环境: npm run build:stage
  3. 构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 .js 、.css、index.html 等静态文件。

五、使用

  1. 创建产品
  2. 产品中新建或导入通用物模型
  3. 创建设备
  4. 下载项目中的 SDK 示例,或者按照文档自己实现。
  5. 完成 SDK 功能开发后,烧录到设备中。

作者寄语

物联网大家都熟悉,但是在日常生活中可能很少真正接触和使用物联网设备。甚至很多物联网专业的学生自己要动手做一个可以联网控制的设备也并不容易,一方面是学校的教育和实践有区别,另外一方面国内的物联网平台众多,上手也不容易。很多人对物联网感兴趣想学习,但缺少一个系统项目的实战。很多企业想接入物联网,但缺少一个低成本的方案。

这个项目最初是我自己 DIY 智能家居项目,开源后不断有人关注学习。同时考虑到目前开源的物联网平台上手有一定难度,也不太适合日常生活场景,于是对这个项目进行完善并参与了本次大赛,希望为更多人学习和了解物联网提供帮助。

文章来源:wumei-smart 生活物联网平台 | EMQ

wumei-smart 生活物联网平台相关推荐

  1. AliOS Things的SDK ESP8266 连接阿里生活物联网平台 配网失败解决方案

    SDK版本:1.6.6AliOS Things的SDK(基于AliOS Things V1.3.4) APP版本:云智能3.7.0       此方法只适用  ESP8266 可以通过事先写入到程序中 ...

  2. 物联网平台与生活物联网平台的区别

    现如今,为了更好地解决家电设备快速智能化的问题,平台针对家电智能化的设备连接.移动端控制.设备管理.数据统计等问题,提供了一整套配置化方案,大幅减低相应的开发成本,这就是生活物联网平台.下面,我们就来 ...

  3. 使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制

    1.写在前面 我使用的模块是ESP-12F,理论上使用8266的WIFI模组都大同小异.关于8266的学习资料,大家可以参考安信可的相关资料,网址如下:http://wiki.ai-thinker.c ...

  4. ameba-飞燕平台连接指引 linkkit 阿里生活物联网平台

    飞燕平台专用开发板淘宝链接,权威发布: https://item.taobao.com/item.htm?spm=a230r.1.14.45.4ad04088juMxim&id=5849878 ...

  5. 【平头哥RVB2601开发板试用体验】AT解析器和通过w800 AT命令接入阿里云生活物联网平台

    作者:niu 在RVB2601开发板上,CH2601主芯片通过SPI接口和W800 WIFi/BLE模块通信,W800芯片在此接口上提供AT命令的方式供主芯片使用W800的功能. 根据<W800 ...

  6. MCU接入阿里物联网平台遇到的各种坑

    使用阿里物联网sdk3.2.0 1.cJson相关坑,修改了cJSON_malloc和cJSON_free的指向以后,忘记修改realloc的指向了,结果csjon创建字符串的时候调用了系统的real ...

  7. 使用ESP8266接入阿里云物联网平台(阿里 云智能APP)可远程控制电脑开关机,灯光等设备 CP2102, CH340

    首先,不是问题太复杂,是网上的教程不对! 在这里将详细,简单易懂的描述如何做到标题上的功能 本次目的是手机远程控制设备  文末会附上编译器,源码,第三方库 你需要准备这些东西 1.ESP8266(CH ...

  8. 手把手教你用Arduino接入阿里云物联网平台,ESP8266连接阿里云物联网平台必看教程...

    使用Ardui no 的方式快速连接阿里云物联网平台. 文中提到的 AliyunIoTSDK 这个 Arduino 库,可以在 Arduino 库商店里搜索到(搜索 AliyunIoTSDK) Ali ...

  9. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

最新文章

  1. python的文件类型
  2. typedef函数指针用法
  3. 使用subprocessm模块管理进程
  4. 避免 UNIX 和 Linux 中的常见错误
  5. 台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下
  6. spaCy教程(翻译自官网)
  7. WinForm-SuspendLayout、ResumeLayout、PerformLayou——转载
  8. elasticsearch-7.3安装
  9. 多个php版本的composer使用
  10. mac下完全卸载程序的方法
  11. 浅谈jquery之on()绑定事件和off()解除绑定事件
  12. Python中抽象类和接口的区别
  13. Chrome拓展插件篇
  14. Hough变换圆检测定位
  15. 计算机如何分割硬盘,电脑硬盘怎么分区 电脑硬盘分区方法大全
  16. mysql 锁定库存_mysql处理高并发,防止库存超卖
  17. android自定义四边形,以编程方式在Android中创建平行四边形绘图
  18. 前端实现GIF图片压缩上传
  19. RabbitMQ None of the specified endpoints were reachable 错误 解决方案
  20. 使用lindo进行灵敏度分析

热门文章

  1. jQuery基础----修改CSS样式
  2. 「Do.019」2018这一年,年终总结
  3. 自定义TOTP方法,实现google的TOTP令牌token
  4. Proteus8.11的卸载与安装
  5. 50条有趣的Python代码
  6. Matplotlib subplot()函数用法详解
  7. Python绘图之柱形图
  8. Redis学习笔记 - 内存回收、对象共享、对象的空转时长
  9. Excel2007 WPS 冻结窗格
  10. uniapp微信公众号登录