数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 23028|回复: 166

[Arduino] 10块钱 建立自己的智能家居服务器,再也不用担心公司跑路倒闭了。

    [复制链接]
发表于 2021-4-4 19:30:31 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

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

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

源代码在此:
https://gitee.com/fryefryefrye/O ... tomation/ESP8266Web

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

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

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

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

http://www.taichi-maker.com/home ... piffs/upload-files/

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

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

4:节点每秒上传一次自己的状态,并接受服务器发来的命令,如果有命令需要执行,就去执行以下。开源代码的节点功能是控制两个灯,只需要在ESP8266上再接一个双路继电器模块,就可以实现了。

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


有了自己的物联网服务器,就可以发挥自己的想象力,实现各种各样自己DIY的物联网终端了。


打赏

参与人数 8家元 +178 收起 理由
2545889167 + 20
sbfqmq + 50 優秀文章
jf201006 + 20 謝謝分享
aardvark911 + 28
pcbboy1991 + 18 優秀文章
kkdkj + 20 謝謝分享!高大上,可惜水平有限弄不了.
懒虫包子 + 20 虽然看不懂,但感觉很高大上,顶一个,活了或.
kamp + 2 優秀文章

查看全部打赏

本帖被以下淘专辑推荐:

  • · MCU|主题: 24, 订阅: 19
发表于 2023-10-25 07:20:10 来自手机浏览器 | 显示全部楼层
收藏一下,慢慢看看,也许会用得上
回复 支持 反对

使用道具 举报

发表于 2023-10-19 09:30:42 | 显示全部楼层
感谢楼主.我用联想插座341A刷入您这程序.它内部也是ESP8266-12E.它默认的引脚是低电平关高电平开.我把您程序里的HIGH改为LOW.上电启动默认就成了开状态.请问楼主还要改哪里?本人编程小白。
回复 支持 反对

使用道具 举报

发表于 2023-10-16 13:41:50 | 显示全部楼层
茶壹杯 发表于 2023-8-3 10:31
多谢指教

D1确实好用 当初杂七杂八的都买了些  01S是和一个继电器模块一起买的

01S不适合做服务端,引脚数太少,空间也少,适合做终端
回复 支持 反对

使用道具 举报

发表于 2023-10-16 09:03:10 | 显示全部楼层
之前跳蚤市场10块淘了一块树莓派,没用几次就烧了
回复 支持 反对

使用道具 举报

发表于 2023-8-4 00:56:12 | 显示全部楼层
自己做服务器那是不不是自己也得做产品,要不数据怎么和自己的服务器对接,那不是更麻烦
回复 支持 反对

使用道具 举报

发表于 2023-8-3 18:04:36 | 显示全部楼层
fryefryefrye 发表于 2023-8-3 08:12
不到10元的价格,买个ESP8266 D1 Mini不香吗,所有引脚引出。
最近发现还有ESP32S2,也是10元,引脚数量 ...


去掉abs后编译可以通过了,

但现在的问题是子目录及文件可能没有写进flash?
在ARDUINO IDE里看不到子目录,好象IDE不支持子目录存在? index.html怎么办

这个server支持标准的mqtt传输吗?
用了一个mqtt客户端尝试了下连接server  不成功,也许index.html不存在的缘故导致这个server已经怠机?


回复 支持 反对

使用道具 举报

发表于 2023-8-3 10:31:50 | 显示全部楼层
fryefryefrye 发表于 2023-8-3 08:12
不到10元的价格,买个ESP8266 D1 Mini不香吗,所有引脚引出。
最近发现还有ESP32S2,也是10元,引脚数量 ...

多谢指教

D1确实好用 当初杂七杂八的都买了些 01S是和一个继电器模块一起买的




回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-3 08:12:20 | 显示全部楼层

不到10元的价格,买个ESP8266 D1 Mini不香吗,所有引脚引出。
最近发现还有ESP32S2,也是10元,引脚数量翻倍。

编码格式除非确认需要输出UTF-8的中文去显示,我会特意用UTF-8,其他的都没怎么注意。
Notepad++打开文件后,可以选择用什么编码显示,然后再选择转换成其他编码。

那个abs的错误,好像是版本升级,参数格式变了。去掉abs吧,不加也没问题。
回复 支持 反对

使用道具 举报

发表于 2023-8-1 13:21:25 | 显示全部楼层
确实高大上。
回复 支持 反对

使用道具 举报

发表于 2023-7-31 18:00:07 | 显示全部楼层


感谢LZ分享
求助

不顺啊 server和节点都还没下载成功



server编译未通过,报错:


server硬件用的是CH340版的D1,硬件没问题  之前刷过其它固件

不知已经成功运行的几位TX  节点有没有使用ESP01/ESP01S的 ?

看light.h里 由于使用ESP01  需要启用D3、D4对吧?
但LZ在注释里有提示
//D3 = GPIO0;can not download when connected to low
//D4 = GPIO2;

偏偏这2个口ESP01上是仅有的资源吧
懵了

还有LZ的几个文件 大多是UTF8的,但light.h为什么是ANSI?
不知有没有完美转码的工具 类似的情况自己以前也遇到过,做显示的时候最烦这方面的问题


也许  编译环境没配置好?

请教了





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

发表于 2023-3-1 21:04:26 | 显示全部楼层
学习了,学习了,收藏慢慢学习
回复 支持 反对

使用道具 举报

发表于 2023-2-14 17:00:19 | 显示全部楼层
现在用随身WiFi就行
回复 支持 反对

使用道具 举报

发表于 2023-2-14 10:35:20 | 显示全部楼层

虽然看不懂,但感觉很高大上,顶一个,活了或是上精华了叫我一下.
回复 支持 反对

使用道具 举报

发表于 2023-2-13 06:18:32 来自手机浏览器 | 显示全部楼层
小白 关注一下
回复 支持 反对

使用道具 举报

发表于 2023-2-12 18:02:58 | 显示全部楼层

虽然看不懂,但感觉很高大上
回复 支持 反对

使用道具 举报

发表于 2022-12-13 19:22:19 | 显示全部楼层
再次留名关注
回复 支持 反对

使用道具 举报

发表于 2022-12-13 17:50:54 | 显示全部楼层
我不是小连 发表于 2021-4-4 21:22
太复杂了,反正我用易微联和米家,大厂不会倒闭

米家支持个人接入?
回复 支持 反对

使用道具 举报

发表于 2022-10-31 07:45:35 | 显示全部楼层
这个可以好好学习一下
回复 支持 反对

使用道具 举报

发表于 2022-10-28 10:23:30 | 显示全部楼层

虽然看不懂,但感觉很高大上,顶一个,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-19 12:52 , Processed in 0.234000 second(s), 15 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表