WIFI作品DIY教程04-《WIFI烟雾煤气报警器》
作为一个创客,家里如果突然发现火灾、泄漏煤气/甲烷/二氧化氮等,都是非常危险的事。但我们有一个自动报警的东东(短信、邮件、手机等),在外面也可以第一时间收到哦,那么就可以提前消灭隐患了。
我们需要的配件:Z WIFI开发板,MQ-2气体传感器(提醒:s线要接到A0脚针)。
控制烟雾气体传感气的操作界面,可以设置提醒邮箱、手机短信邮件提醒。
第一部分:配置WIFI板(设置联网、STA之类的)
前往第一篇:WIFI作品DIY教程01-《wifi开发板》介绍和联网等配置教程
网址链接:http://www.znck007.com/forum.php?mod=viewthread&tid=21570
第二部分:安装python、上传网页文件(利用python可以让网页执行linux命令)
一、安装python(非常好用强大的脚本)。
opkg update
opkg install python
opkg install pyserial //串口通信
二、使用winscp软件上传文件(网页文件等)。
winscp文件上传软件
http://pan.baidu.com/s/1qW0nhNI
网页控制文件
http://pan.baidu.com/s/1pJLob2b
下载运行winscp,然后解压www里的文件上传到openwrt
选择root,然后双击www目前进入网页目录。
上传到openwrt
将cgi-bin目录里的文件 权限设置为777,如图打上勾。
第三部分:编译MQ-2源代码(利用arduino编译生成hex,再刷写到Z WIFI的arduino扩展板)
一、编译hex文件。
下载MQ-2源代码
http://pan.baidu.com/s/1c08Joac
解压文件后,运行arduino,如上图。
选择file->examples->znck007->zwifi_mq_2
再选择我们的板znck007 arduino Core+ (Atmega644PA@16M,5V)
选择Com口(单独使用usb连接电脑编译时需要选择,否则可以不选)。
点击编译,等待完成编译。
在build的文件夹下找到zwifi_mq_2.cpp.hex文件,再用Winscp上传到openwrt的www目录里。
二、安装arduino刷写软件(可以在openwrt刷写arduino代码)。
opkg update
opkg install avrdude
avrdude -p m644p -c arduino -b 115200 -P /dev/ttyUSB0 -C /etc/avrdude.conf -U flash:w:/www/zwifi_mq_2.cpp.hex
然后实行这个命令就可以刷写Arduino代码了。其中/www/zwifi_mq_2.cpp.hex可以改成你的hex文件路径!
第四部分:运行界面
输入http://192.168.1.1/znck007/smokealarm.html
就能看到气体值了!
放点火机气体给它闻!
点支烟给他抽,你就可以看到气体值有变化了!
超过了500,就会报警(全红显示出来)!
教你一个手机短信提醒的方法:
如果你的移动手机号,那么可以免费去申请一个139邮箱:http://mail.10086.cn/
填写你的139邮箱,就可以短信提示了。
第五部分:源代码的分析
一、zwifi_mq_2.cpp.hex文件(在www文件夹,arduino编译出来的程序)。
arduino获取气体传感数据值,关通过串口传输。
二、smokealarm文件(在cgi-bin文件夹,其实是python脚本文件)。
关键是这些代码,使用python脚本获取arduino扩展板串口的数据
if (mode == "alarmdata"):
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1) #读取ttyUSB0串口
#ser.write("lABC") #写入ttyUSB0串口
sendcount=0
while True:
data=ser.readline() #读取一行 读取1个字符read(1)
print (data) #repr 打印出数据
break #退出串口读取
ser.close()
三、smokealarm.html文件(在znck007文件夹,网页文件)。
这里是网页代码,主要使用了javascript调用python脚本获取到气体传感器的值,然后显示出来。
1、打开网页运行setalarm设置默认参数和httppost调用post获取数据。
<body>
2、获取返回会调用callback() ,然后通过判断是否已经超过警报值。
if(response>alarmvalue){//如果超过报警值则变红色
color="#ff0000";
alarm.src="./img/alarmred.png";
sendemail(emailurl,"危险报警:"+response,alarmemail);//调用发邮件
}
3、//每秒刷新一次页面,不断去获取警报值
setTimeout("httppost('"+url+"')", 1000);
到这里,你的烟雾警报就diy好了!界面美观又实用,通过端口映射,在公司也可以打开哦!
《WIFI作品DIY教程》
WIFI作品DIY教程01-《Z WIFI开发板》介绍和联网等配置教程
WIFI作品DIY教程02-《openwrt摄像头》3D外壳和diy教程
WIFI作品DIY教程03-《WIFI音响/MP3播放器/电台》
WIFI作品DIY教程04-《WIFI烟雾煤气报警器》
《Arduino开源智能家居DIY教程系列》
Arduino开源智能家居《花絮1》zigbee小底板DIY成功
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
Arduino开源智能家居《zigbee开发板》手机/按键点亮LED
Arduino开源智能家居01《网关》升级版网关正式教程(zigbee)
Arduino开源智能家居02《温湿传感器》什么样温湿度才适居
Arduino开源智能家居03《开发板套件》学习zigbee家居-性价比高
Arduino开源智能家居04《插座开关》手机控制:网扇、空调...
Arduino开源智能家居05《红外线》手机红外线控制电器
《百元智能家居DIY教程系列》
arduino教程【实战篇】01《家居网关》DIY图文视频教程
arduino教程【实战篇】02《温湿度》DIY图文视频教程
arduino教程【实战篇】03《智能插座》DIY图文视频教程
arduino教程【实战篇】04《电灯开关》DIY图文视频教程
arduino教程【实战篇】05《手机红外线》DIY图文视频教程
请关注@智能创客http://www.znck007.com(打造DIY创客平台)
我是做物联网产品这块的,对智能控制这块非常感兴趣,如果您有好的创意、好的产品、或者懂无线传感技术、懂软件与硬件开发等,可以与我联系,我们可以共同合作。
联系人:罗先生
QQ: 295386384
邮箱:marshallo@sina.com
{:soso_e100:}:):):):):):) 楼主太有才啦!!:lol:lol:lol:lol 楼主求教啊!想用这个做个毕设 930615 发表于 2015-9-21 09:29
楼主求教啊!想用这个做个毕设
加群,交流109601470 智能创客 发表于 2015-9-21 12:08
加群,交流109601470
已加就是想问下楼主有没有论文 供我参考一下 博主求资料1049684642@qq.com
烟雾报警演示视频:https://player.youku.com/embed/XNDU3MTcxNzM5Ng==
谢谢您,好文!借鉴您的思路,我们开源(硬件设计+软件代码)设计了 LoRa 烟感烟雾报警器,智能判断火灾,基于 LoRa 传送到服务器和 App,既可现场声光报警,又可以远程联网报警。请链接:https://www.cnblogs.com/rimelink/archive/2020/03/03/12400338.html
页:
[1]