家裡是頂樓+頂加獨立進出...住在頂加沒電鈴才想來用這個

用nodemcu(直接用esp8266也可以,但是nodemcu比較方便) + 1路5v繼電器組合

nodemcu使用esp8266官方提供的WiFiWebServer範例程式來控制即可

簡易的電路示意圖如下

舊公寓wifi控制大門電鎖開關

把範例程式依自己需求修改寫進nodemcu後

把nodemcu跟繼電器接起來(供電可以用不要的手機充電器),再把繼電器的NO和COM分別接到家裡對講機內的EL跟負極(對講機開門的按鈕就只是讓EL跟負極短路)即可

然後再用AppInventor2生一個簡易的app出來

舊公寓wifi控制大門電鎖開關

舊公寓wifi控制大門電鎖開關

網路1和網路2就是控制nodemcu訊號腳位high、low的網址

這邊是設定每次按下app開門按鈕,會讓nodemcu訊號腳位送出訊號0.5秒後關閉,等於控制繼電器打開0.5秒

以下是接LED燈的測試影片




實際把東西接上自家的對講機就可以用啦!在收得到家裡wifi訊號的地方就都可以用手機開門了~

舊公寓wifi控制大門電鎖開關

其實請水電來裝個電鈴就好了...但是DIY就是爽啦!
厲害
看程式畫面與Arduino好像


yuh1013 wrote:
家裡是頂樓+頂加獨立...(恕刪)
請問樓主:1.nodemcu下面的板子是擴充板嗎? 2.此WiFi是不是僅限於區域網路?
試做開板大的方法.改成捲門控制..
4路繼電器+密碼(隨意填上密碼能開.防止口袋內誤觸APP).預留監視器視窗(圖內隨意找到省道即時監視器畫面)..





前幾天用Blynk做的..Blynk可以4G遠端控制但有危險性..改用Arduino範本限制在WIFI內操作.



下面只是一個直流電源模組,再接上變壓器插到插座供電

nodemcu本身是用wifi連線(通常是連到自己家的ap)
手機要用4G網路連回去控制也是可以,ap那邊做port mapping就可以了

超讚的!


muarqaz wrote:
試做開板大的方法....(恕刪)
muarqaz wrote:
試做開板大的方法.改...(恕刪)


可以用adafruit 連結谷歌助手就很方便

不過ifttt設定有點難度
雲端資料庫開發,滑板車,掃地機研發製造
muarqaz wrote:
試做開板大的方法.改...(恕刪)

請問使用Blynk作一個遠端開關需要購買那些套件,
#include <ESP8266WiFi.h>

const char* ssid = "WIFI名稱";
const char* password = "WIFI密碼";

int R1=D5;
int R2=D6;
int R3=D7;
int R4=D8;

WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);

pinMode(R1, OUTPUT);digitalWrite(R1, LOW);
pinMode(R2, OUTPUT);digitalWrite(R2, LOW);
pinMode(R3, OUTPUT);digitalWrite(R3, LOW);
pinMode(R4, OUTPUT);digitalWrite(R4, LOW);

Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {delay(500);Serial.print(".");}
Serial.println("");
Serial.println("WiFi connected");
server.begin();
Serial.println("Server started");
Serial.println(WiFi.localIP());
}

void loop() {
WiFiClient client = server.available();
if (!client) {return;}
Serial.println("new client");
while (!client.available()) {delay(1);}
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();

if (req.indexOf("/gpio/1") != -1) {digitalWrite(R1, HIGH);delay(300);digitalWrite(R1, LOW);}
if (req.indexOf("/gpio/2") != -1) {digitalWrite(R2, HIGH);delay(300);digitalWrite(R2, LOW);}
if (req.indexOf("/gpio/3") != -1) {digitalWrite(R3, HIGH);delay(300);digitalWrite(R3, LOW);}
if (req.indexOf("/gpio/4") != -1) {digitalWrite(R4, HIGH);delay(300);digitalWrite(R4, LOW);}

String s = "HTTP/1.1 200 OK
Content-Type: text/html

<!DOCTYPE HTML>
<html>
GPIO is now ";
client.print(s);delay(1);Serial.println("Client disonnected");

Arduino裡面範例改一下而已沒太大困難..Blynk也超簡單網路爬文不難..
用家裡鐵門原有發射器按鍵(1共線+4按鍵線)接到繼電器板上..(有人密簡單回答..)
樓主你好👋 我跟你做的很像 但我發現esp8266不能斷電 一斷電大門好像就會接通造成無法把大門關上 請問是哪裡出問題呢?求指導
關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!