极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20090|回复: 7

用旧手机和ESP8266制作物美价廉、简单实用的智能家居系统

[复制链接]
发表于 2016-5-25 22:24:52 | 显示全部楼层 |阅读模式
本帖最后由 lqh 于 2016-5-26 10:14 编辑

    本着节约成本、功能完善、简单实用的原则,用淘汰下的旧手机和物美价廉的ESP8266制作了一套简易实用的智能家居系统。该系统后台有数据库支持,用户可以根据需要随时添加或删除控制终端;控制方式灵活,支持短信、网页、Wifi和语音控制(语音暂时未加);控制语句简单,如“热水器-开”等,方便用户记忆和使用。现将各功能模块的工作过程介绍如下,请各位大虾多提意见。图片随后附上。
     一、遥控器:使用在用手机,用E4A编程,以短信+UDP方式与服务器通信。

工作过程如下:
    注册:采用UDP方式,发送“Z-Y-0”(其中Y和0为任意字或字符)到服务器,服务器记下遥控器的IP地址,并返回类似“客厅-饭厅-卧室-热水器-电饭锅,1-0-0-1-0”的文本,其中“1-0-0-1-0”分别是“客厅-饭厅-卧室-热水器-电饭锅”等终端的当前状态(“1”为开,“0”关),遥控器将其分割后分别存入两个数组,并据数组动态建立标签(显示“客厅”等)和按钮组件(显示其控制的终端状态)。

    遥控:按下按钮,根据终端当前状态,向服务器发送类似“K-客厅-开”或“K-客厅-关”数据;同时监听端口,接收来自服务器的类似“R-客厅-关”的反馈信息,遥控器查找并更新数组刷新显示。
    退出:连续按两次返回键,则向服务器发送“X-Y-0”(Y和0为任意值)并退出遥控程序。
    二、服务器:使用闲置3G手机,用E4A编程。

    建立数据库:建立数据库home_data.db和switch表,其中switch表包含“编号、设备代号、设备名称、IP地址、开命令、关命令、当前状态、引脚号”8个字段,使用前请先添加数据。注意字段“编号”从“1”开始,字段“设备代号”、“IP地址”、开命令、关命令以及当前状态,都必须根据终端(如终端程序发送给服务器的数据为“R-KT-0”,则设备代号就为“KT”)填写,字段设备名称为用户自定义,一般描写终端的功能或所处的位置,便于用户记忆。
    接收发送数据:服务器接收的数据有很多。一是来自遥控器(UDP)或其它手机(短信)的命令和遥控器注册退出指令。格式为“K-设备名称-状态”为来自它们的命令,如前所述的“K-客厅-开”,服务器根据“设备名称”查表,向终端发出“K-设备代号-开命令”;格式为Z-Y-0为遥控手机注册指令,服务器除向其返回数据外,还使用变量“注册手机IP地址”记住注册手机的地址;格式为X-Y-0为遥控器退出指令,服务器清空变量“注册手机IP地址”;如果是短信命令,服务器同样会使用一个“短信手机号码”变量来记住该手机号。二是来自终端的报告,格式为“R-设备代号-当前状态”,服务器据此更新数据库和刷新显示,并依据变量“注册手机IP地址”和变量“短信手机号码”是否为空,向遥控器、或手机(给服务器发短信命令的手机)发送“R-设备名称-当前状态”,向发短信命令的手机发送数据后,立即清空变量“短信手机号码”,同样也是为了防止无效数据。
    三、终端:采用ESP8266+继电器,用Arduino IDE编程。

工作过程如上所述,需要注意的有以下三点:一是 要注意IP地址的唯一性。在同一WIFI 工作的不同ESP8266,IP地址一定要不能一样。二是设备代号的唯一性。即使是同一ESP8266,但使用不同数字引脚分别控制不同的电器,其“设备代号”也一定不能一样,也就是执行服务器命令后,返回的报告“R-KT-0”中的“KT”是唯一的,只能出现2次,即“R-KT-1”和 “R-KT-0”。三是每隔2分钟,要让ESP8266向外发送一次数据,防止被WIFI踢出。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2016-5-26 11:09:01 | 显示全部楼层
写了这么多,不知道是什么平台上运行???
回复 支持 反对

使用道具 举报

发表于 2016-5-26 12:48:32 | 显示全部楼层
继续更新呢。源码教程啥都没有,,,说这么多,,,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-29 08:53:37 来自手机 | 显示全部楼层
面对面辅导毕业设计,或代为设计和撰写论文,限西安市区内!联系电话:13379261398,价格从优!
回复 支持 反对

使用道具 举报

发表于 2016-5-30 11:48:06 | 显示全部楼层
思路很好,利用一个旧手机当作服务器,资源易得,还能发挥余热,赞一个。
期望能开放源码,便于大家一起提高。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-3 07:55:48 | 显示全部楼层
需要源码,请联系。QQ2691719273
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-25 10:13:49 | 显示全部楼层
手机\ESP8266是不错的搭档,联接简单,控制方便,终端多样,还容易上手,很适合我们这些入小白们,推荐大家学习哟!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-5 09:15:13 | 显示全部楼层
,又要升级了,请大家多支持。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-13 20:49 , Processed in 0.051016 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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