Радионяня с термометром и гигрометром на Esp8266 и Android

Привет, Пикабу!

У меня пару недель назад родились сразу две удивительные дочки, Василиса и Варвара:) Я от них просто без ума, они потрясающие! :) Но! Даже самому безумному папке нужно иногда отойти от кроваток своих дочурок,  сделать домашние дела, подключиться по vpn на работу или просто пойти и выкинуть мусор, пока любимая жена в душе.

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

Радионяня!

Ок!

(Можно смириться с ебучей ценой за трехсотенный девайс и не читать дальше)

Но это не наши методы, правда?

Пикабушник, ты видел цены на два куса пластика с тремя транзисторами внутри? Я чутка потерялся, буду честен. Всё, что имеет приставку "детское", почему то и цену имеет неоправданно завышенную. Не буду далее томить.

Я сделал радионяню на датчике звука от ардуино, присовокупил датчик температуры/влажности, и всё это мониторю по домашнему WiFi на любом Android-устройстве.

В настройках можно изменить адрес, где слушает esp, и время опроса.

Радионяня с термометром и гигрометром на Esp8266 и Android Моё, Arduino, Nodemcu, Ky-038, Android, Dht22, Esp8266, Автоматизация, Длиннопост

Итак, что мы имеем. Два устройства, смартфон и nodemcu с датчиками.

Алгоритм простой, nodemcu подключается к домашнему вайфаю, открывает там сервер, и вещает на нем данные от датчиков. Андроид-смартфон получает данные, выводит их на экран и если данные от датчика звука превышают порог - меняет цвет фона экрана и пищит.

Код для esp простейший:

#include <ESP8266WiFi.h>
#include "DHT.h"
#define DHTPIN 5
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const char *ssid = "wlan;
const char *pass = "pass";
WiFiServer server(80);
IPAddress ip(192,168,1,128);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
void setup() {
pinMode(A0,INPUT);
Serial.begin(115200);
delay(10);
WiFi.begin(ssid, pass);
WiFi.config(ip, gateway, subnet);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("WiFi connected, using IP address: ");
Serial.println(WiFi.localIP());
server.begin();
dht.begin();
}
void loop() {
WiFiClient client = server.available();
if (!client) {
return;
}
while(!client.available()){
delay(1);
}
delay(3000);
float h = dht.readHumidity();
float t = dht.readTemperature();
int s = analogRead(A0);
String req = client.readStringUntil('\r');
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head></head><body>");
client.print(t);
client.print(":");
client.print(h);
client.print(":");
client.print(s);
client.println("</body></html>");
delay(1);
client.stop();
}

Исходники для андроида можно взять на гитхабе

https://github.com/antsharapov/ArduinoBabyMonitor

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

Радионяня с термометром и гигрометром на Esp8266 и Android Моё, Arduino, Nodemcu, Ky-038, Android, Dht22, Esp8266, Автоматизация, Длиннопост

Датчик звука у меня KY-038.

Не знаю, что еще описать подробнее, чем есть. Отвечу в комментариях и приму критику и пожелания в комментариях.

Скетч, схема, и андроид-приложение были написаны за время обеденного перерыва, позднее был отлажен только уровень датчика звука.


Спасибо за внимание, надеюсь быть полезным.

Arduino & Pi

1.4K постов20.6K подписчик

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу

Вы смотрите срез комментариев. Показать все
3
Автор поста оценил этот комментарий
Когда у меня мелкий еще мелким был я просто звонил в свой скайп с телефона на комп с вебкой. Видимо у вас очень много свободного времени для подобных заморочек
раскрыть ветку (9)
1
DELETED
Автор поста оценил этот комментарий
Ага, и это при двух новорожденных-то.
раскрыть ветку (8)
Автор поста оценил этот комментарий

В комнате с мелкими нет компа, а все портабл-девайсы нужно держать на зарядке, тут я жду модуль зарядки литиевой батареи и прикручу аккум к этому всему добру. Насчет времени - я то не в декрете, в свой обед на работе написал приложение и скетч, дома только обкатал :)

раскрыть ветку (7)
DELETED
Автор поста оценил этот комментарий
У меня камера от розетки питается, никакого компа не нужно.
Короче, надо было вам не изобретать колесо, а изучить заранее рынок.
раскрыть ветку (6)
Автор поста оценил этот комментарий

А вам внимательно прочитать, о чем речь :) Тут товарищ пишет о компе с веб-камерой. Рынок изучен, цены ошеломительны, камера от розетки имеется. Но, как я уже писал, камера не выдаст просто алерт на повышенный уровень шума, а прислушиваться к динамику и к каждому в нем шороху на кухне при работающей вытяжке, стиралке и посудомойке - удовольствие сомнительное. Алерт эффективнее и слышно его намного лучше

раскрыть ветку (5)
DELETED
Автор поста оценил этот комментарий
Цена 1300 рублей ошеломительна? Тогда ладно.
раскрыть ветку (4)
Автор поста оценил этот комментарий

За компоненты ценой в 130? да) Радионяни у меня в городе начинаются от 2800, например :) И это в онлайн-магазинах с учетом доставки, всякие бэби-гипермаркеты я даже боюсь упоминать, там цены вообще заоблачные. Да, если бы я не вдавался во внутренности и не знал, сколько стоит рассыпуха и человекочасы, из которого это китайское поделие изготовлено, я может быть и проще отнесся к ценам :) Но тут я просто захотел сделать сам, цена не решающий фактор ) Все компоненты у меня были в наличии. Честно, меня просто как новоиспеченного отца повергают в шок цены на любые товары, где есть приписка "детское". Там все упрощено донельзя, нет никаких добавок, прибавок и компонентов, и это позиционируется как очень экологичное. Оно должно быть дешевле, ау! Но хуй там плавал там же есть приписка детское, надо задрать цену на порядок...

раскрыть ветку (3)
DELETED
Автор поста оценил этот комментарий
Заводить детей и жаловаться на цены по мне, так глупо. Я не из тех, кто беременеет, а потом думает) Не имей я средств, и детей бы у меня не было.
раскрыть ветку (2)
Автор поста оценил этот комментарий

Вы как-то очень переворачиваете всё, что вам пишут. Где я писал, что не имею средств? Я немного подгораю от цен, но прокормить свою семью я в состоянии, и детей делал осознанно. Если вас не бесит, когда вас наебывают посреди торгового зала, вперед, я вам своё мнение не навязываю, в отличие от вас же. Покупайте всё что вам нравится по цене в десятки раз выше, чем если бы просто подумать головой и сделать два движения руками в своё же удовольствие.

раскрыть ветку (1)
DELETED
Автор поста оценил этот комментарий
А я вас в виду и не имела, если что, просто выразила свою позицию) И да, я не могу сама сделать японские подгузники и импортные игрушки. Да и термоодежду и хорошую обувь делать не обучена так-то. Приходится платить.
А показатель уровня шума я ни хорошей покупкой, ни полезной поделкой не считаю, я уже про это писала)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку