日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

esp8266-01s加人体热释红外探头做的手机远程报警器

發布時間:2024/1/1 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 esp8266-01s加人体热释红外探头做的手机远程报警器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

材料:1,esp8266-01s一個或者esp8266miniD1一個。
2,人體熱釋紅外感應探頭一個
3,杜邦線三根

工作原理:人體熱釋紅外探頭檢測到人體信號,通過esp8266-01s上傳到巴法云,然后給微信發送報警信息,如果你在家門口按裝一個報警器,當有人進入探頭檢測范圍內(3/5米)。報警器通過esp8266給微信發送報警信息,從而實現遠程報警。

源程序:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266HTTPClient.h>

#define sensor 2 //紅外傳感器輸入口
/******************************************************************************/
#define DEFAULT_STASSID “LP_360-wifi” //WIFI名稱
#define DEFAULT_STAPSW “123456” //WIFI密碼

String uid = “285293a244b640e5d7de1944ee684f”; // 用戶私鑰,巴法云控制臺獲取
String type = “1”; // 1表示是預警消息,默認即可
String device = “人體紅外傳感器設備”; // 設備名稱
String msg = “警告:有人闖入你家”; //發送的消息
String msg2 = “手機遠程報警器”; //消息備注,可為空
int delaytime = 0; //為了防止被設備“騷擾”,可設置賢者時間,單位是秒,如果設置了該值,在該時間內不會發消息到微信,設置為0立即推送。
String ApiUrl = “http://ai.bemfa.com/api/wechat/v1/”; //默認 api 網址

/******************************************************************************/

static uint32_t lastWiFiCheckTick = 0;

//=======================================================================
// WIFI重新連接函數
//=======================================================================
void startSTA(){
WiFi.disconnect();
WiFi.mode(WIFI_STA);
WiFi.begin(DEFAULT_STASSID, DEFAULT_STAPSW);
}
//=======================================================================
// WIFI狀態檢測函數,如果WIFI斷開自動重連
//=======================================================================
void doWiFiTick()
{
if(WiFi.status() != WL_CONNECTED)
{
if(millis() - lastWiFiCheckTick > 1000)
{
lastWiFiCheckTick = millis();
startSTA();
}
}
}
void setup() {
pinMode(sensor, INPUT); // declare sensor as input
delay(1000);
Serial.begin(115200); //Prevents reconnection issue (taking too long to connect)
delay(1000);
WiFi.mode(WIFI_STA); //This line hides the viewing of ESP as wifi hotspot

WiFi.begin(DEFAULT_STASSID, DEFAULT_STAPSW); //Connect to your WiFi router
Serial.println("");

Serial.print(“Connecting”);
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

//If connection successful show IP address in serial monitor
Serial.println("");
Serial.print("Connected to ");
Serial.println(DEFAULT_STASSID);
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //IP address assigned to your ESP
}

//=======================================================================
// 主循環
//=======================================================================
void loop() {
doWiFiTick();

long state = digitalRead(sensor); if(state == HIGH) {Serial.println("people here");doHttpStick();//在想推送消息的地方執行推送函數即可delay(1000); } else {Serial.println("no people");delay(1000);}

}

//微信消息推送函數**//
void doHttpStick(){ //微信消息推送函數
HTTPClient http; //Declare object of class HTTPClient
String postData;
//Post Data
postData = “uid=”+uid+"&type=" + type +"&time="+delaytime+"&device="+device+"&msg="+msg+"&msg2="+msg2;
http.begin(ApiUrl); //Specify request destination
http.addHeader(“Content-Type”, “application/x-www-form-urlencoded”); //Specify content-type header
int httpCode = http.POST(postData); //Send the request
String payload = http.getString(); //Get the response payload
Serial.println(httpCode); //Print HTTP return code
Serial.println(payload); //Print request response payload
http.end(); //Close connection
Serial.println(“send success”);
}
//=======================================================================[/mw_shl_code]

![graph TD; A-->B; B-->C;](https://img-blog.csdnimg.cn/20211004201551102.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTQ0MjE5OA==,size_16,color_FFFFFF,t_70)


總結

以上是生活随笔為你收集整理的esp8266-01s加人体热释红外探头做的手机远程报警器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。