Arduino WiFi + App Inventor: 烟雾报警
本帖最后由 szjuliet 于 2019-3-16 11:39 编辑本贴写于2016-9-5,QQ日志。当时给MIT写博客,所以app和编程界面都是英文。视频链接在文末。
使用Arduino UNO WIFI板将烟雾传感器的值发送到客户端。客户端判断值的高低,如果超过临界值,手机报警,并给预设的手机发送警告短信。
硬件:
Arduino UNO WiFi板
gas sensor气体传感器
LED灯
软件:
Arduino IDE
App Inventor
一、Arduino UNO WiFi部分:
1. 将传感器与Aruidno板模拟端口0接好,LED灯与数字13口接好。
http://r.photo.store.qq.com/psb?/94caf33c-214f-4878-8776-34a0056b60dd/6W36CBxHQRZFUJaq02Qr.YY4mfn6NU2rJs3BJYSGTrA!/o/dAcBAAAAAAAA&ek=1&kp=1&pt=0&bo=VQOAAkAGsAQFAAU!&t=5&tl=3&su=065144865&tm=1552204800&sce=0-12-12&rf=2-9
2.将板子与电脑连接,启动Arduino IDE,端口设置为Network Pors-->当前获得的网络端口。
3.编写代码,代码如下:
#include <Wire.h>
#include <ArduinoWiFi.h>
/*
on your borwser, you type http://<IP>/arduino/webserver/ or http://<hostname>.local/arduino/webserver/
http://www.arduino.org/learning/tutorials/webserver
*/
void setup() {
Wifi.begin();
Wifi.println("WebServer Server is up");
pinMode(13, OUTPUT);
}
void loop() {
if (analogRead(0) > 500)
{
digitalWrite(13, HIGH);
}
else
{
digitalWrite(13, LOW);
}
while(Wifi.available()){
process(Wifi);
}
delay(50);
}
void process(WifiData client) {
// read the command
String command = client.readStringUntil('/');
if (command == "webserver") {
WebServer(client);
}
}
void WebServer(WifiData client) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 20");// refresh the page automatically everysec
client.println();
client.println("<html>");
client.println("<head> <title>UNO WIFI Example</title> </head>");
client.print("<body>");
int analogChannel = 0;
int sensorReading = analogRead(analogChannel);
client.print("analog input ");
client.print(analogChannel);
client.print(" is (");
client.print(sensorReading);
client.print(")");
client.print("<br/>");
client.print("</body>");
client.println("</html>");
client.print(DELIMITER); // very important to end the communication !!!
}
二、App Inventor部分:
1.用户界面User Interface:
2. 组件Components:
3. 代码块:
http://r.photo.store.qq.com/psb?/94caf33c-214f-4878-8776-34a0056b60dd/PYCf4Pxc5L50F56x3RLBABE5GHRikvVCPwZr9QIv8ZU!/o/dAYBAAAAAAAA&ek=1&kp=1&pt=0&bo=5QN*AuUDfwIDACU!&tl=1&su=086712689&tm=1552204800&sce=0-12-12&rf=2-9
三、实现烟雾报警:
1.将.ino程序上传到UNO板。
2.打包App Inventor程序并在手机上安装。
3.启动app,呈现如下界面,此时气体传感器返回状态为“Normal"正常。
http://r.photo.store.qq.com/psb?/94caf33c-214f-4878-8776-34a0056b60dd/urb1KvvBjAkRhUZk3sDt1q5gQwWqmClV01MdpM.qbxM!/o/dAcBAAAAAAAA&ek=1&kp=1&pt=0&bo=VQOAAkAGsAQFAAU!&t=5&tl=3&su=047365585&tm=1552204800&sce=0-12-12&rf=2-9
4.点燃一支烟,并放到气体传感器旁边。此时传感器返回的值大于500,状态变为Dangerous。手机蜂鸣报警并给指定的手机号码发送提示短信。
程序中设置好的手机上接收到报警信息
此时UNO WIFI板子上的LED灯亮,起到警示作用。
http://r.photo.store.qq.com/psb?/94caf33c-214f-4878-8776-34a0056b60dd/yMEwQhEfAiA1B6pQIy02PtXHAm5h9io5lZxcxORBsdE!/o/dAgBAAAAAAAA&ek=1&kp=1&pt=0&bo=VQOAAkAGsAQFAAU!&t=5&tl=3&su=0228847793&tm=1552204800&sce=0-12-12&rf=2-9
演示视频在YouTube上。视频最后的声音是手机成功接收到报警短信的声音。
超好的教程 gada888 发表于 2019-3-21 14:06
超好的教程
:lol:handshake
页:
[1]