查看: 2233|回复: 0

基于ESP8266的多模块平台打造智能家居

[复制链接]
  • TA的每日心情
    开心
    2019-11-4 13:48
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2019-1-15 13:47:55 | 显示全部楼层 |阅读模式
    分享到:
    最近买了个ESP8266的NodeMCU板子,本来拿来做wifi攻击器的,玩腻了就听说能用这货做智能家居,于是就百度+google找各种资料,前前后后花了近5个小时才弄好。(主要资料不好找啊)

    一、NodeMCU的板子的配置
    1.png

    如上图,我买的就是这货(懒得再去拍照了就从某宝截了一张)

    购买方法直接去某宝搜nodemcu模块就行,很便宜,十几块钱就能买到(为了避免广告嫌疑 我就不贴链接了,买的时候可以顺便买点社邦线什么的)


    1.刷入固件
    我这里使用的是ESPEasy
    固件官网地址:www.letscontrolit.com
    官网固件下载地址:https://www.letscontrolit.com/downloads/ESPEasy_R120.zip(这里是稳定版R120版本固件,想要测试版的自己去官网找)
    我的博客下载地址:http://www.myzhazha.top/Download/ESPEasy_R120.zip
    下载的时候先把模块链接电脑,驱动没问题的话会在设备管理器端口里有个设备,如下图所示:
    2.png

    记住后面的COM口号,我这里是4  (驱动跟卖家要,一般都会给)

    解压下载好的固件压缩包


    3.png
    模块链接电脑的情况下双击“flash.cmd”

    4.png
    第一行是端口号,就是上面设备管理器的COM口号根据自己的来填写,写完按回车键

    第二行是flash的大小,nodemcu模块就输入4096,然后回车

    第三行是版本号,输入120 然后回车,按一下板子上的flash按键开始刷入,等一会,下图所示就是成功了
    5.png

    然后拔掉模块等下再用

    二、树莓派安装Domoticz

    直接输入以下命令安装,简单粗暴

    sudo curl -L install.domoticz.com | sudo bash

    过程会很慢,请耐心等待,等待过后会弹出这个窗口,按回车键确定(由于我已经安装完了,所以下面这图是我从其它地方偷的)

    6.png
    设置http访问和https访问端口(选一个http访问就可以)
    7.jpg
    8.jpg
    http端口(做过魔镜的小伙伴们这里用其它端口代替 如1234端口)
    9.jpg
    这一步默认就行
    10.jpg
    按确定就成功了
    11.jpg
    记住上面的http那个ip和端口,在浏览器输入上面的ip和端口192.168.31.89:8080按回车访问

    接下来就进到Domoticz里了

    12.png
    由于是英文,我们要改成中文,如下图所示:
    13.png
    1.选择语言选项

    2.Domoticz选择中文

    3.填写当地的经纬度(上面的是经度,下面是维度)不知道的去这里查:www.gpsspg.com/maps.htm

    4.“应用到设置”

    然后界面会变成中文

    14.png
    点 “设置”—“硬件” 添加一个硬件
    15.png
    名称随便填一个

    类型我们选择“Dummy (Does nothing, use for virtual switches only)”
    16.png

    然后按“增加”
    17.png
    我们看到增加了一个硬件,点 “创建虚拟传感器”
    18.png
    名称跟上面的填一样,传感器类型选择“开关”然后点“OK”

    之后会看到一个提示创建成功

    19.png
    OK,Domoticz平台的配置先到这里

    三、ESP8266模块的配置
    首先把写入固件的模块连接上电源,然后打开电脑的wifi(没电脑的用手机也可以),列表里会有个叫ESP_0的wifi,连上它,默认密码是configesp

    连上去之后浏览器输入默认网关地址192.168.4.1

    模块会自动搜索附近wifi,选择你家的wifi,然后把密码填进去,点“connect”连接,连上去之后会出现个倒计时20秒的页面,倒计时结束后会显示一个局域网ip,然后电脑连上你的wifi之后打开这个显示的ip(这个ip就是模块在你的局域网里的ip)
    20.png


    打开后来到config这一栏,这里主要改两个地方“Controller IP”和“Controller Port”

    Controller IP填写Domoticz管理页面的ip地址

    Controller Port填写Domoticz管理页面的ip的端口
    21.png

    下面的选项默认就行,然后点“Submit”保存
    22.png
    四、NodeMcu模块与Domoticz平台联动

    来到“Devices”这一栏,选择“Edit”添加

    23.png

    Device选择“Switch input”
    24.png
    25.png
    26.png
    我们回到Domoticz页面,点“设置”—“设备”,看一下我们添加的那个开关的“IDX”的值,记住这个值

    27.png

    把我们刚才看到的IDX值填到下面的的“IDX/Var”里,GPIO选择GPIO-0,然后选择“Submit”保存
    28.png
    然后回到Domoticz页面的“开关”这一栏,找到我们添加的开关设备,然后点击“编辑”
    29.png
    开 触发这一栏填写:(记得把中间的ip地址改成自己的NodeMcu的局域网ip)
    http://192.168.2.196/control?cmd=GPIO,0,1
    意思就是GPIO0的值为1

    关 触发这一栏填写:(记得把中间的ip地址改成自己的NodeMcu的局域网ip)

    http://192.168.2.196/control?cmd=GPIO,0,0


    同上,意思就是GPIO0的值为0

    然后点击“保存”

    30.png

    找个3V的LED灯,负极接在GND针脚,正极接在GPIO-0针脚上,然后点击开关面板的灯泡图标试试能否点亮,不出意外的话是会亮的,成功后把LED灯换成3V的继电器,继电器再并入电器线路中就能用它控制一些小功率的电器了(最大功率电器根据继电器允许的功率计算)

    开灯关灯这些都可以进入到Domoticz平台的管理界面进行管理,如果家里有不用的手机或者平板都可以作为控制设备


    看官方文档时发现有Domoticz的Android客户端


    Domoticz for Android免费版(高级版需要收费,Google play商店售价30多人民币)

    iOS设备去应用商店搜索Domoticz有个免费版的
    http://pan.baidu.com/share/link? ... 2&uk=1816891405


    31.png

    局域网任意一台联网设备的浏览器输入Domoticz的管理界面也可以控制
    32.png
    Domoticz平台也可以设置条件,比如当温度传感器温度达到30℃时自动触发风扇开关,门后的红外传感器检测到有人打开门时自动触发灯的开关这些

    最后附上NodeMcu模块的GPIO口图
    33.png

    作者:Myzhazha
    來源:简书


    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 20:25 , Processed in 0.128022 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.