Съдържание:
- Стъпка 1: Създайте верига към интерфейс ESP-01 и звънец на вратата
- Стъпка 2: 3.3VDC захранване за ESP-01
- Стъпка 3: Премигване на ESP-01
- Стъпка 4: Тестване
- Стъпка 5: Интегриране на платката и захранването в звънеца
- Стъпка 6: Последно докосване
Видео: MQTT/Google Home DoorBell Използване на ESP-01: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Случвало ли ви се е да пропуснете да отговорите на гост, който ви звъни на вратата, само защото сте в част от къщата, която е твърде далеч, за да чуете звъненето на вратата? като мазе, спалня със затворени врати или може би сте гледали телевизия или слушали музика.
Ако като мен имате един или повече домашни високоговорители на Google на няколко места в цялата ви къща, тази инструкция може да е това, от което се нуждаете.
В този Instructable ще ви покажа как да добавите MQTT клиент към съществуващ звънец на вратата, за да комуникирате с MQTT брокер с съобщение до google home / pushbullet, използвайки NodeRED. Този проект не замества превключвателя на звънеца, нито звънеца. Все още използва обикновен механичен бутон за звънеца на вратата.
Ще добавим модул ESP-01 към съществуващата система за звънене на 16VAC, като добавим функционалност MQTT за изпращане на съобщение до брокер MQTT (когато е натиснат превключвателят на звънеца). MQTT брокерът ще предаде съобщението на NodeRED. При получаване на MQTT съобщение, NodeRED ще изпраща съобщение до множество домашни устройства на Google и също по избор изпраща съобщение до мобилен телефон/браузър чрез pushbullet.
Имам страст към домашната автоматизация „Направи си сам“и бавно добавям IOT към дома си. Google Home е една от централните функции в домашната ми автоматизация.
Синът ми ми даде идеята за този проект, когато ме попита дали мога да накарам дома на Google да обяви всеки път, когато някой позвъни на вратата ни. Имаме 2 етажа + завършен мазе вкъщи и много пъти не можехме да чуем звъненето, когато сме в мазето си или горе в спалнята със затворена врата или с включен телевизор.
Имаме 4 google home mini в нашата къща, разположени на различни места/стаи, и като използваме google домове за обявяване на звънец на вратата, веднага знаем навсякъде в къщата дали някой е звъннал на вратата.
В моя дом използвам RaspberryPi ZeroW за домакин на Mosquitto MQTT сървър и NodeRED. Работи повече от година без никакви проблеми.
Препратки:
- Схеми за свързване на звънец:
- Инсталирайте Mosquitto MQTT брокер на Raspberry Pi:
- Инсталирайте NodeRED на Raspberry Pi:
Стъпка 1: Създайте верига към интерфейс ESP-01 и звънец на вратата
Първата стъпка би била да се създаде веригата, която да бъде интерфейсът между ESP-01 и звънеца на вратата. Типичният звънец на вратата се активира, когато има 16VAC между щифтовете "TRANS (бивш)" и "FRONT/REAR", както е показано на първата ми снимка. Напрежението се появява на тези щифтове при натискане на бутона на звънеца.
Схемата, която проектирах, е да усети този 16VAC сигнал и да го преобразува в около 3.3VDC цифров сигнал. Това е основен полувълнов токоизправител, образуван от D1 и C1. В тази ситуация не е необходимо да имаме изправител с пълна вълна, тъй като има много малко натоварване към DC изхода, което ни спестява малко недвижими имоти на платката. Искам да направя дъската възможно най -малко, за да мога да я поставя в съществуващия си звънец.
R1 и R2 образуват делител на напрежение, за да свалят пиковото DC напрежение до около 3.3V.
R3, TR1 и R4 образуват инвертор, който осигурява обратна логика за ESP-01 GPIO-2. Това е необходимо, за да се осигури логика HIGH по време на зареждане (с издърпване R4 и R5) за ESP-01 да се зарежда от флаш. Когато бутонът на звънеца е натиснат, той представя логиката LOW на GPIO-2. TR1 може да бъде всеки NPN транзистор с малка мощност, в моя случай използвах 2N3904.
V1 е захранване от 3.3VDC, което изградих с помощта на старо зарядно устройство за 5V мобилен телефон, съчетано с AMS1117 3.3VDC регулатор, което ще покажа в следващата стъпка.
За гнездото ESP-01 използвам 8-пинов стандартен IC контакт и изрязвам пластмасовите мостове, които създават пролуката между редовете, и след това залепвам двата реда заедно.
Стъпка 2: 3.3VDC захранване за ESP-01
В тази стъпка ще изградим захранване с 3.3VDC за ESP-01. Имам няколко стари 500mA и 700mA 5VDC USB зарядно адаптера, които преназначих за този проект. Нуждаем се и от 3.3VDC регулатор, за да понижим 5V напрежението до 3.3V, за това използвам евтин предварително изграден регулаторен модул, базиран на AMS1117, който купих от ebay. Можете да потърсите „3.3V AMS1117 модул“и да намерите това, което работи за вас.
Този 3.3V регулаторен модул е много малък, че всъщност мога да го пъхна в оригиналното 5V USB зарядно устройство, което го прави по-безопасен от потенциално късо съединение. Премахнах променливотоковите стени от зарядния модул и го замених с два кабела, които ще бъдат свързани към 120VAC от стената зад съществуващия ми звънец. Но не премахвайте зъбите на тази стъпка, докато не извършим тестово изпълнение на следващата стъпка.
Ако наблизо има контакт за стена или ако не се чувствате удобно да свържете електрическото захранване директно към домашното окабеляване, по желание можете просто да включите модифицираното захранване към щепсела на стената и да пуснете кабели към звънеца, въпреки че може да не изглежда толкова чисто, колкото да го свържете директно към домашно окабеляване.
Вижте една от снимките ми, за да видите, че зад камбаната ми има 120VAC окабеляване и 16VAC трансформатора за звънеца.
След това изходът от 3.3V регулатора ще се свърже към интерфейсната платка ESP-01 съгласно предишната стъпка.
Стъпка 3: Премигване на ESP-01
В тази стъпка ще премигнем ESP-01 с скица arduino. Ако никога не сте мигали с модул ESP-01, можете да следвате инструкциите ми, за да започнете:
Можете да намерите моята скица на моята страница на github:
В скицата най -малкото трябва да промените следната информация, свързана с вашата домашна мрежа/настройка:
#define MQTT_SERVER "10.0.0.30" const char* ssid1 = "SSID"; const char* password1 = "MYSSIDpassword"; const char* ssid2 = "SSID1"; const char* password2 = "MYSSIDpassword";
В моята домашна мрежа имам 2 различни точки за достъп, които излъчват 2 различни SSID и тази скица би позволила резервиране чрез свързване към следващия SSID, ако комуникацията с текущата точка на достъп се загуби. Ако имате само един SSID, попълнете и ssid1, и ssid2 със същата стойност.
След като направите промяната, качете скицата в ESP-01 и включете ESP-01 в интерфейсната платка.
Стъпка 4: Тестване
От стъпка 1 изградихме интерфейсната платка ESP-01, а от стъпка 2 имаме захранване 3.3V за платката ESP-01. Сега свързваме изхода на захранването към платката съгласно електрическата схема, показана като V1.
Следващата стъпка е да свържете терминалите Trans/Door на звънеца към връзките на интерфейсната платка, показани като „Клеми за звънене на вратата“. Тъй като моят звънец е монтиран високо на стена, за пробното пускане временно прокарвам дълъг чифт кабел от клемите за звънене към платката, за да мога да включа захранването.
За да проверите дали нашата измислица работи, най -лесно би било да следите MQTT съобщенията в мрежата. За да направите това, трябва да отворите SSH сесия за брокера Mosquitto и да издадете следната команда:
mosquitto_sub -v -t '#'
Горната команда ще ни позволи да видим всички MQTT съобщения, идващи в брокера.
Сега включете захранването в стенния контакт и ако всичко работи, след няколко секунди трябва да видите поне следното съобщение MQTT:
stat/DoorBell/LWT Онлайн
Сега излезте навън и позвънете на вратата и трябва да видите това съобщение:
tele/DoorBell ВКЛЮЧЕН
Ако видите тези съобщения, вашият проект е успешен.
Също така включих няколко полезни теми за MQTT в скицата, които можете да използвате:
"stat/DoorBellInfo": това съобщение се изпраща всяка минута, за да предостави ъптайм и друга информация.
"cmnd/DoorBellInfo": ESP-01 ще изпрати информация, ако получи тази тема със стойност "1" (ascii = 49) "cmnd/DoorBellCPUrestart": ESP-01 ще се рестартира, ако получи тази тема със стойност "1 '(ascii = 49) "cmnd/DoorBellCPUreset": ESP-01 ще се нулира, ако получи тази тема със стойност "1" (ascii = 49)
"tele/FrontDoorBell": ESP-01 ще изпрати съобщение в тази тема със стойност на "ON", ако се натисне звънец на вратата
Стъпка 5: Интегриране на платката и захранването в звънеца
Сега, след като имаме успешното си тестово изпълнение, трябва да сглобим платката и захранването вътре в звънеца на вратата (ако е възможно). В съществуващия ми звънец има празен корпус, който успях да отворя и да вместя захранването в това пространство. Дъската ESP-01 не се побира в това малко пространство, но все пак се побира в общата кутия за звънене. Току-що използвах дебела двустранна лента за монтиране на интерфейсната платка ESP-01.
Сега можем да извадим металните зъби от нашето USB зарядно устройство и да ги заменим с по -дебел кабел, който можем да свържем към домашното окабеляване. Не забравяйте да изключите прекъсвача, който захранва електричеството с канала на звънеца.
Ако няма достатъчно място, за да поставите нашия проект в съществуващия звънец на вратата, ще трябва да го поставите в отделна кутия и да го монтирате близо до звънеца на вратата.
Стъпка 6: Последно докосване
Сега, след като проектът работи и може да публикува MQTT съобщение на брокер, следващата стъпка е да помислите какво да правите с това.
В моя проект използвам Node-RED, за да слушам/се абонирам за тази MQTT тема на звънеца и да обявя на няколко домашни говорители на Google. В допълнение към това, аз също свързах потока с възел pushbullet, за да изпратя известие до моя телефон с Android, за да знам дали някой звъни на вратата, дори и да не съм у дома. Известието с Pushbullet не е полезно за някои, но за мен беше доста полезно няколко пъти, съчетано с видеокамера на предната ми веранда, виждам кой е дошъл да пусне доставки (обикновено звънят на вратата). Не мога да разчитам много на функцията за откриване на движение на камерата поради различни смущения, по -специално движещи се сенки на дървета.
Изображението на тази стъпка показва потока Node-RED, за да постигне това. Можете също така да поставите потока от моята страница на github във вашия Node-RED:
Google обявата за дома е само един пример за този проект, но мисля, че е най -полезният и практичен. Винаги можете да се свържете с друг слушател на MQTT или дори да използвате IFTTT, за да управлявате други устройства при натискане на звънеца на вратата.
Забавлявай се…
Препоръчано:
MAX7219 LED Matrix MQTT Използване на Esp8266: 6 стъпки
MAX7219 LED Matrix MQTT Използвайки Esp8266: Опитвах се да свържа моя MAX7219 LED дисплей към MQTT сървър и да получа текст от абонамента за MQTT за показване. Но не получих подходящ код в интернет, затова започнах да изграждам собствен … и резултатът идва доста добре … можете да
MQTT/Google Home Flood/WIFI сензор за вода с ESP-01: 7 стъпки
MQTT/Google Home Flood/WIFI сензор за вода с ESP-01: В тази инструкция ще ви покажа как да изградите wifi сензор за наводнение/вода с минимални разходи. Целият проект ми струва по-малко от 8 долара за части, които купувам от ebay и съществуващите ми резервни части. В този проект ще използваме ESP-01, за да осигурим Wif
Neopixel Ws2812 Rainbow LED Glow с M5stick-C - Стартиране на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: 5 стъпки
Neopixel Ws2812 Rainbow LED Glow с M5stick-C | Изпълнение на Rainbow на Neopixel Ws2812 Използване на M5stack M5stick C Използване на Arduino IDE: Здравейте момчета в тази инструкция ще се научим как да използваме неопиксели ws2812 светодиоди или LED лента или LED матрица или LED пръстен с m5stack m5stick-C платка за разработка с Arduino IDE и ние ще направим модел на дъга с него
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE - Инсталиране на платки Esp в Arduino Ide и програмиране на Esp: 4 стъпки
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE | Инсталиране на Esp платки в Arduino Ide и програмиране на Esp: В тази инструкция ще научим как да инсталираме esp8266 дъски в Arduino IDE и как да програмираме esp-01 и да качваме код в нея. Тъй като esp дъските са толкова популярни, затова се замислих да поправя инструкции за това и повечето хора се сблъскват с проблем
Направи си сам „Измервателен уред за използване на компютър ROG Base“Използване на Arduino и Python: 5 стъпки (със снимки)
Направи си сам „Измерител за използване на компютър ROG Base“Използване на Arduino и Python: ************************************* +На първо място, тези инструкции са написани от неносещ англоговорящ … не е професор по английски, така че, моля, информирайте за някаква граматическа грешка, преди да ми се подигравате.: P +и моля, не имитирайте