8 Star 19 Fork 8

fryefryefrye/Open-Source-RKS

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
10块钱 建立自己的智能家居服务器,再也不用担心公司跑路倒闭了。

上次写了一个帖子,介绍了我家智能家居系统。
https://www.mydigit.cn/forum.php?mod=viewthread&tid=243315&extra=&page=1

其中自己搭建的服务器使用的是树莓派平台。由于树莓派确实有点贵,而且开发编译环境稍微复杂了一点,有网友提出是否可以用ESP8266或者ESP32作为服务器。我觉得这是一个好主意,于是我就重写了一套基于ESP单片机的服务器,并且将服务器代码和物联网节点端的代码全套开源了。

源代码在此:
https://gitee.com/fryefryefrye/Open-Source-RKS/tree/master/HomeAutomation/ESP8266Web

整套物联网系统的原理和架构,还是和上一个帖子里写的一模一样,想了解的同学去看上一篇帖子。唯一的区别就是树莓派被换成了ESP8266。

下面讲一下这次开源的这套代码的系统结构和使用方法。

1:操作面板的界面,是用一个html文件,放在了服务端代码下面的一个data文件夹。ESP8266自身带有文件系统,可以保存平时运行时所需要的文件。data文件夹的中文件,可以通过Arduino开发环境的一个插件上传到单片机的文件系统中。

可以参考下面网址的办法,安装文件上传插件,将html文件上传进ESP8266.

http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/spiffs/upload-files/

2:服务端的web服务。
a)如果请求主页,就把index.html发给客户端。
b)如果请求数据更新,根据节点发来的数据,返回一串用“,”隔开的字符串。
c)如果请求控制灯的开关之类的,就把控制结果发给客户端。

3:服务端的UDP数据处理就简单一点。接收节点发来的数据,存储之后,再发给需要发给这个节点的命令。

4:节点每秒上传一次自己的状态,并接受服务器发来的命令,如果有命令需要执行,就去执行以下。

5:服务器和节点共用的struct.h文件,这里面定义了两部分代码都需要的数据结构,常量等。


有了自己的物联网服务器,就可以发挥自己的想象力,实现各种各样自己DIY的物联网终端了。
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/fryefryefrye/Open-Source-RKS.git
git@gitee.com:fryefryefrye/Open-Source-RKS.git
fryefryefrye
Open-Source-RKS
Open-Source-RKS
master

搜索帮助