Disclaimer

Работает с приложением на Андроид. Стоит денег.

Добрый день! 

Предлагаю познакомиться и воспользоваться, моей реализацией Датчика дверного замка (Реклама приложения). 

Для отслеживания замка, будем использовать обычную кнопку, подключенную к микроконтроллеру ESP8266 и приложение на Android. Ссылка

Нам потребуется...

Любая плата с микроконтроллером esp8266. Мой вариант Wifi R3 ATmega328P + Esp8266 

Кнопка. На вкус и цвет. 

 Резистор 220 Ом. 

Макетная плата (можно самую маленькую). 

Соединительные провода , желательно Папа-мама. 

 Скорее всего двухжильный провод, чтобы удлинить расстояние до розетки, я купил 8м КСПВ 2*0.5мм. 

Коробка для защиты платы. Можно обычную для распайки проводов. 

Я взял 85мм*85мм, места впритык. 

 Роутер с подключением к интернет сети, точкой доступа и правами Администратора. 

 Смартфон на Android, с доступом в интернет и Google Play. 

ПК с программой Arduino

Перейдем к работе со скетчем. 

Подключаем плату к ПК по USB, и настраиваем для заливки скетча в микроконтроллер ESP8266 (В интернете много видеоинструкций по настройке ПО Ардуино с работой данного микроконтроллера). На UNO + WiFi R3 ATmega328P + ESP8266, нужно так же, чтобы переключатели 5,6,7 были в ON).  

 Копируем скетч в Ардуино и отправляем. 

Скетч: 

#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, этот адрес вам предоставляет провайдер, с него вы выходите в интернет. При удачной настройке, вы пройдете в следующее окно. По программной части закончили. Теперь сложное. 

Подключение датчика (кнопки)

Для начала проверьте отверстие для замка, залезет ли туда кнопка и есть ли для нее место, чтобы не раздавить при закрытие замка, если есть проблемы поработайте перфоратором.) Так же нужно рассчитать и просверлить отверстие для выхода джемперов. В моем случае, старый дом и сделал я вот так. 

 

 В удобное место прикручиваем коробку с контроллером и макетной платой, доводим провода.  

В скетче используется 16 пин для считывания кнопки. Используйте пин, именно от контроллера Esp8266.

Когда заеду в новую квартиру сделаю все красиво. 

Один контакт от кнопки подключаем в плату к пину и резистором на 200Ом, второй к пину на 5В.  

Включаем питание

Запустите приложение и проверьте работу. Если пользуетесь умными часами или браслетами, разрешите приложению отправлять уведомления.  

Спасибо, надеюсь всем пригодится.  

Комментарии (14)