Disclaimer
Работает с приложением на Андроид. Стоит денег.
Добрый день!
Предлагаю познакомиться и воспользоваться, моей реализацией Датчика дверного замка (Реклама приложения).
Для отслеживания замка, будем использовать обычную кнопку, подключенную к микроконтроллеру ESP8266 и приложение на Android. Ссылка.
Нам потребуется...
Любая плата с микроконтроллером esp8266. Мой вариант Wifi R3 ATmega328P + Esp8266
![](https://habrastorage.org/getpro/habr/upload_files/507/ed6/243/507ed624336f4e06bcfbb15f3cc2e88e.png)
Кнопка. На вкус и цвет.
![](https://habrastorage.org/getpro/habr/upload_files/981/f52/2ec/981f522ec070010d4582ac8da2d6e67c.png)
Резистор 220 Ом.
![](https://habrastorage.org/getpro/habr/upload_files/770/715/8c6/7707158c6ae6aab1d3e97d4fe2eea7f7.png)
Макетная плата (можно самую маленькую).
![](https://habrastorage.org/getpro/habr/upload_files/5fa/761/6cd/5fa7616cdfbbc0471e680f0b651962e1.png)
Соединительные провода , желательно Папа-мама.
![](https://habrastorage.org/getpro/habr/upload_files/47d/629/88e/47d62988eb2f92a006fa60de22425e55.png)
![](https://habrastorage.org/getpro/habr/upload_files/6b5/093/ccf/6b5093ccf4925666cb8b37ffbaea1f83.png)
Скорее всего двухжильный провод, чтобы удлинить расстояние до розетки, я купил 8м КСПВ 2*0.5мм.
Коробка для защиты платы. Можно обычную для распайки проводов.
Я взял 85мм*85мм, места впритык.
![](https://habrastorage.org/getpro/habr/upload_files/9d9/80b/d26/9d980bd2636facdc852d0c53bb22b91e.png)
Роутер с подключением к интернет сети, точкой доступа и правами Администратора.
Смартфон на Android, с доступом в интернет и Google Play.
ПК с программой Arduino
Перейдем к работе со скетчем.
Подключаем плату к ПК по USB, и настраиваем для заливки скетча в микроконтроллер ESP8266 (В интернете много видеоинструкций по настройке ПО Ардуино с работой данного микроконтроллера). На UNO + WiFi R3 ATmega328P + ESP8266, нужно так же, чтобы переключатели 5,6,7 были в ON).
![](https://habrastorage.org/getpro/habr/upload_files/82f/4df/36c/82f4df36cda73a4dc6f766d4cd9c6a3d.png)
Копируем скетч в Ардуино и отправляем.
Скетч:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
bool sensor = false;
boolean btn;
const char* ssid = "****";
const char* password = "*****";
WiFiServer server(80);
IPAddress ip(192,168,1,35);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
void setup() {
Serial.begin(115200);
pinMode(16, INPUT);
btn = digitalRead(16);
// подключаемся к wifi
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
Serial.println("Connecting to ");
Serial.println(ssid);
Serial.println("WiFi connected..!");
Serial.print("Got IP: ");
Serial.println(WiFi.localIP());
server.begin();
Serial.println("HTTP server started");
}
void loop() {
WiFiClient client = server.available();
String req = client.readStringUntil('\r');
client.flush();
if (req.indexOf("/sensor")!=-1){
if (btn && !sensor ) {
sensor = true;
}
if (!btn && sensor) {
sensor = false;
}
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n";s += sensor;
client.print(s);
delay(1);
}
}
После того как загрузили скетч, перезапустите плату (Для работы контроллера, на UNO + WiFi R3, надо оставить только 5 и 6 переключатель в ON), как показано на фото выше.
Проверьте, появилась ли ваша плата в сети, это можно сделать на роутере в подключенных устройствах, либо в консоли управления (cmd), пропишите ping и адрес (пример: ping 192.168.1.35), который указали, должны получить 4 обратных ответа.
Настройка роутера
Если все удачно, пропишем на роутере настройку, переадресации порта, для подключения к плате из другой сети, по внешнему адресу.
В моем приложении я использовал порт 4333, укажите перенаправление с него на стандартный порт 80, или какой указали в скетче.
Для подключения к плате и мониторинга датчика, я разработал приложение “Датчик дверного замка”, оно выложено в Google Play за минимальную монету, только для поддержки разработчика.
Спасибо если купили. Запускаем. В строке адреса, нужно указать ваш внешний ip, этот адрес вам предоставляет провайдер, с него вы выходите в интернет. При удачной настройке, вы пройдете в следующее окно. По программной части закончили. Теперь сложное.
Подключение датчика (кнопки)
Для начала проверьте отверстие для замка, залезет ли туда кнопка и есть ли для нее место, чтобы не раздавить при закрытие замка, если есть проблемы поработайте перфоратором.) Так же нужно рассчитать и просверлить отверстие для выхода джемперов. В моем случае, старый дом и сделал я вот так.
![](https://habrastorage.org/getpro/habr/upload_files/dc6/4be/859/dc64be85902836867b60735a8796a01c.png)
В удобное место прикручиваем коробку с контроллером и макетной платой, доводим провода.
![](https://habrastorage.org/getpro/habr/upload_files/3de/b0b/dc9/3deb0bdc977944683917f148bc97ebbf.png)
В скетче используется 16 пин для считывания кнопки. Используйте пин, именно от контроллера Esp8266.
![](https://habrastorage.org/getpro/habr/upload_files/4ad/3a1/cb3/4ad3a1cb333262eeed0c06004b662518.png)
Когда заеду в новую квартиру сделаю все красиво.
Один контакт от кнопки подключаем в плату к пину и резистором на 200Ом, второй к пину на 5В.
Включаем питание
Запустите приложение и проверьте работу. Если пользуетесь умными часами или браслетами, разрешите приложению отправлять уведомления.
Спасибо, надеюсь всем пригодится.