本帖最后由 快乐起航2012 于 2016-8-31 13:44 编辑
DIY超级智能插排来了!!!(NodeMCU、射频、温湿度DHT、DS18B20)
装好了还是很清爽的
部件够多的吧,强电弱电分区布置的啊
硬件组装虽然技术含量不高,可是高电压低电压的还是需要点耐心和细心,一不留神还烧了好几个模块,索性请师傅多装了几套,方便大家可以专注于更有意思,更具挑战的软件和功能的开发,以下是淘宝购买地址,基本就是个采购成本加一个安装费用的价格https://item.taobao.com/item.htm?id=537531648953
目前的主要问题是软件水准一直不高,欢迎大家一起讨论, qq群475079657进入答案:超级插排,有软件高手欢迎加入,或许能给大家能提供一些费用。
详细情况:
(一)特点
1) 保留实智P1电视专用插座的原有功能,红外线开机,自动断电等等,前2个插座;
2) 插上电源,你就拥有了一个温湿度计,环境的温度湿度通过wifi上传到物联平台;
3) 四路射频信号输入,目前的软件是三个输入端对应打开和关闭三个继电器,第四个输入关闭所有继电器;
4) 通过编程定时开关,延时关等等功能都可以很容易实现;
6) 通过USB口(插座上面的,不是nodeMCU的那个)可以外扩DS18B20温度探头或红外,LED彩灯等等;
7) 通过手机远程控制开关的通断,通过物联网平台设定联动控制;
8) 控制3路插座的通断;
9) nodeMCU(ESP8266)具有的wifi功能,通过lua可以连接各大物联网平台;
NodeMCU的端口几乎都用上了,功能足够强大,称得上“超级”了吧!
(二)硬件结构
系统结构如图所示,包括实智P1插排、miniNodeMCU、315M射频遥控接收板及遥控器、3路继电器、温湿度传感器、USB外接DS18B20温度传感器,所有这些集成到一起组成一个超级插排。
nodeMCU的USB口露在了外面,这样编程和刷固件都很方便,温湿度传感器处开了通气孔,实测环境温度测量很准确
(三)软件清单(供参考)
以下小程序读取射频信号并设置继电器开关状态,很多功能都可以通过写段小程序就能实现,想想如果不懂编程,本来很简单的事怎么做啊
key_out.lua
-----------------
local key1=0
local key2=0
local key3=0
local key4=0
--根据检测射频输入信号,设置继电器开关状态
tmr.alarm(2, 100, 1, function()
if gpio.read(5)==1 and key1==0 then
print("key1 press..")
if(relay1==0) then
gpio.write(0,gpio.HIGH)
relay1=1
else
gpio.write(0,gpio.LOW)
relay1=0
end
end
key1=gpio.read(5)
if gpio.read(6)==1 and key2==0 then
print("key2 press..")
if(relay2==0) then
gpio.write(1,gpio.HIGH)
relay2=1
else
gpio.write(1,gpio.LOW)
relay2=0
end
end
key2=gpio.read(6)
if gpio.read(7)==1 and key3==0 then
print("key3 press..")
if(relay3==0) then
gpio.write(2,gpio.HIGH)
relay3=1
else
gpio.write(2,gpio.LOW)
relay3=0
end
end
key3=gpio.read(7)
if gpio.read(8)==1 and key4==0 then
print("key4 press..")
if(relay4==0) then
relay1=0
relay2=0
relay3=0
relay4=0
gpio.write(0,gpio.LOW)
gpio.write(1,gpio.LOW)
gpio.write(2,gpio.LOW)
end
end
key4=gpio.read(8)
end)
目前实现的功能为射频遥控开关、温湿度上传乐为服务器、通过乐为远程开关等功能,付程序清单,源程序可以直接到群里下载。
自己DIY的插排最大的好吃是可以根据需要编程,不必受现成插排有限的功能限制。
|