Как я делал удаленное управление теплом в гараже.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Для обогрева своего гаража, я использую 2 "конвектора". Один конвектор включен постоянно на +5 градусов, для поддержания плюсовой температуры, второй "конвектор" включается по необходимости.


Раньше приходилось бегать, включать его, уходить домой, ждать час-два пока температура поднимется до комфортных +20, но это быстро надоело, одолела лень и я решил применить максимально бюджетный вариант удаленного включения на Arduino.


Что необходимо было купить:

Arduino nano: https://ru.aliexpress.com/item/Freeshipping-1PCS-Nano-3-0-co...

146 руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Модуль ENC28J60: https://ru.aliexpress.com/item/2PCS-ENC28J60-Ethernet-LAN-Ne...

165 руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Датчик температуры DHT22: https://ru.aliexpress.com/item/1pcs-DHT22-digital-temperatur...

151руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Реле: https://ru.aliexpress.com/item/5PCS-LOY-1-Channel-5V-Relay-M...

40руб

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Коротко о подключении всего этого барахла.


Модуль ENC28J60:

VCC к 5V

GND к GND

SCK к Pin 13

SO к Pin 12

ST к Pin 11

CS к Pin 10


Реле:

S к Pin 2

Vcc к 5V

GND к GND


Датчик температуры DHT22:

Vcc к 3.3V

GND к GND

DATA к Pin4

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Здесь все понятно без схем, если не понятно, в интернете есть масса материала о том, как подключать эти модули. А вот готового скетча, я не нашел, да и искать было лень… Проще было найти скетч управления реле и скетч вывода данных с датчика, скрестить их и набросать страницу, чтоб ей было удобно управлять с телефона и обычного ПК.


Что из этого вышло:


#include "DHT.h"

#include <EEPROM.h>

#define DHTPIN 4

#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

#include <EtherCard.h>

static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 }; // MAC Address должен быть уникальным в локальной сети

static byte myip[] = { 192,168,1,222 }; // Постоянный IP адресс нашей страницы

byte Ethernet::buffer[1000];

BufferFiller bfill;

// Начальные данные

int LedPins[] = {

2,3,5,6,7,8,9};

int t=0;

int h=0;

boolean PinStatus[7];

const char http_OK[] PROGMEM =

"HTTP/1.0 200 OK\r\n"

"Content-Type: text/html\r\n"

"Pragma: no-cache\r\n\r\n"

"\r\n"

"<meta charset='UTF-8'>"

"<meta name='viewport' content='width=device-width, initial-scale=1.0'>"

"<meta http-equiv='refresh' content='10'/>";

const char http_Found[] PROGMEM =

"HTTP/1.0 302 Found\r\n"

"Location: /\r\n\r\n";

const char http_Unauthorized[] PROGMEM =

"HTTP/1.0 401 Unauthorized\r\n"

"Content-Type: text/html\r\n\r\n"

"<h1>401 Unauthorized</h1>";

// Подключаем Ethernet порт HR911105A и датчик DHT22

void setup () {

if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0)

Serial.println( "Failed to access Ethernet controller");

ether.staticSetup(myip);

for(int i = 0; i <= 7; i++)

{

pinMode(LedPins[i],OUTPUT);

PinStatus[i]=EEPROM.read(i);

digitalWrite(LedPins[i],PinStatus[i]);

}

dht.begin();

}

// Получаем данные от DHT22

static void ReadDHT22()

{

h = dht.readHumidity();

t = dht.readTemperature();

}

// Оформление Web страницы

static word homePage() {

bfill = ether.tcpOffset();

bfill.emit_p(PSTR("$F"

"<title>Гараж</title>"

"<p style=\"text-align: center;\"><br />Конвектор: <br> <span style=\"font-size: 4em;\"><a href=\"?ArduinoPIN2=$F\">$F</a></span>"),

http_OK,

PinStatus[0]?PSTR("off"):PSTR("on"),

PinStatus[0]?PSTR("<font color=\"green\"><b>ON</b></font>"):PSTR("<font color=\"red\">OFF</font>"));

bfill.emit_p(PSTR(

"<br><br>Температура: <br> <span style=\"font-size: 4em;\">$D C</span> <br /><br />Влажность:<br> <span style=\"font-size: 4em;\"> $D %</span></p>"),t, h);

return bfill.position();

}

void loop () {

delay(1); // Задержка

word len = ether.packetReceive();

word pos = ether.packetLoop(len);

if (pos) // check if valid tcp data is received

{

ReadDHT22();

bfill = ether.tcpOffset();

char *data = (char *) Ethernet::buffer + pos;

if (strncmp("GET /", data, 5) != 0) {

bfill.emit_p(http_Unauthorized);

}

else {

data += 5;

if (data[0] == ' ') {

homePage();

}

else if (strncmp("?ArduinoPIN2=on ", data, 16) == 0) {

PinStatus[0] = true;

digitalWrite(LedPins[0],PinStatus[0]);

EEPROM.write(0,PinStatus[0]); // записываем в ячейку EEPROM №0, текущее состояние LedPins[0].

bfill.emit_p(http_Found);

}

else if (strncmp("?ArduinoPIN2=off ", data, 17) == 0) {

PinStatus[0] = false;

digitalWrite(LedPins[0],PinStatus[0]);

EEPROM.write(0,PinStatus[0]);

bfill.emit_p(http_Found);

}

else {

// Page not found

bfill.emit_p(http_Unauthorized);

}

}

ether.httpServerReply(bfill.position()); // send http response

}

}


Коротко о данном скетче:

В память ардуины (EEPROM) сохраняется информация о последнем положении кнопки реле, перебои со светом нам не страшны, положение кнопки всегда отражает реальное состояние реле, не будет такого, что на странице выводится OFF а на самом деле ON.


Далее подключаю сборку к локалке, для питания использую старую зарядку от мобильного телефона.


Вызываю страницу по IP адресу, который мы задали в начале скетча: http://192.168.1.222


Получаю страницу с данными:

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Всё открывается, данные с датчика верные, реле на нажатие кнопки реагирует, положение запоминает.


Далее нужен корпус. Можно заколхозить из какого-нибудь пластикового контейнера, или заказать на али типовой пластиковый корпус для подобного барахла, или купить распределительную коробку в электротоварах, но мне лень выходить из дома, поэтому, я по-быстрому накидал в солиде уродца и распечатал его на 3D принтере.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост
Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост
Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Собрал все в корпус, закрепил модули термоклеем.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Когда моделировал корпус, особо головой не думал, по этому реле почему-то сделал по середине… Лучше было его разместить с краю. Ну да ладно, и так сойдет…

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Притащил все в гараж, подключил, проверил. Вывел двойную розетку т.к. одинарной под руками не было.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Вывел датчик DHT22 примерно на среднюю высоту стены, т.к. конвекторы сильно греют потолок, а пол помещения долго остается прохладным.


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

Провел интернет в гараж. Купил недорогую направленную Wi-Fi антенну, поставил её на карниз пока вот так, летом если дойдут руки и не будет лень сделаю нормальный кронштейн.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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


Теперь гараж с домом у нас в одной сети и самое время настроить виртуальный сервер на домашнем роутере.


Прописываем порт который мы открываем например 7777, прописываем IP нашей системы 192.168.1.222, прописываем порт по которому будет доступна наша страница, для доступа из браузера порт 80.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

При наличии статического IP адреса от провайдера, наша система теперь доступна откуда угодно по адресу http://нашip:порт


Если провайдер не предоставляет статический IP, можно сделать и другими способами, но для этого потребуется всегда включенный ПК в доме.


У меня есть статика и зарегистрированный домен, к поддомену которого, я привязал свою систему и мне нет необходимости помнить свой IP для доступа к управлению.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

Не знаю, как на андроиде, а на айфоне можно вывести закладку на экран, она будет доступна как приложение, тем самым мы имеем быстрый доступ к нашей системе без лишних телодвижений и рытья в закладках.

Как я делал удаленное управление теплом в гараже. Гараж, Мастерская, Arduino, Удаленный доступ, Скетч, Длиннопост

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


Спасибо за внимание. Если есть вопросы, готов ответить )

Arduino & Pi

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

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

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

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

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

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

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

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

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

Вы смотрите срез комментариев. Показать все
57
Автор поста оценил этот комментарий

я понял, умная розетка с управлением по GSM - слишком простой вариант ))

раскрыть ветку (27)
31
Автор поста оценил этот комментарий

Еврейская жилка не хочет платить за симку и смски )))

раскрыть ветку (24)
5
Автор поста оценил этот комментарий
@Zaibatsu слушай дружище, а не мог бы ты посоветовать на Али комплекты или компоненты, чтоб собрать радиоуправляемый включатель(метров на 10-20, например). Хочу при подъезде к дому свет врубать. Ничего такого в продаже не вижу в наших краях. Знаю, что дело скорее всего плевое.
раскрыть ветку (17)
5
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (3)
3
Автор поста оценил этот комментарий

Набор № 1-1 бежевый-nooLite

Система дистанционного радиоуправления освещением nooLite: блок SN111-200 с пультом PU212-1 c регулировкой освещенности для ламп накаливания (Набор №1-1). Сделано В России.

2767 p

а на али 500руб

раскрыть ветку (2)
1
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (1)
Автор поста оценил этот комментарий

написал больше для тех кто ищет подобное

1
Автор поста оценил этот комментарий

вот например https://ru.aliexpress.com/item/High-Quality-New-220V-10A-1-Single-channel-Wireless-Relay-Remote-Control-Switch-315MHz-Waterproof-Remote/32512460014.html?spm=2114.13010608.0.0.FjiYQW

раскрыть ветку (5)
2
Автор поста оценил этот комментарий

Хорошая вещь, однако. Но башку чуть не сломал, пока читал следующее:

этот мини AC22OV приемника является отличным продуктом. его размер мини. редко AC Приемник доска может быть такой маленький. хотя он мал, однако его производительность является совершенным, чем больше общие конденсаторы платы Приемника. он использует фильм cap гораздо безопаснее, чем обычные конденсаторы. фильм cap является в отличие от обычных конденсаторов, после внешний источник питания отсоединен заряда власть будет оставаться в течение длительного времени, если вы прикоснуться к ней будет получить удар током, фильм крышка не имеет такой проблемы. хотя фильм cap становятся недействительными. это не приведет к поражению электрическим током...

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

This mini AC22OV Receiver board is an excellent product. Its size is mini. Seldom AC Receiver board can be such small. Although it is small, however its performance is perfect than bigger common capacitors Receiver board. It uses film cap is much safer than common capacitors. Film cap is unlike common capacitors, after the external power supply is disconnected the charge power will remain for a long time , if you touch it will get an electric shock, film cap will not has this kind problem. Although the film cap become invalid .it will not lead to electric shock, and will not endanger the personal safety.


Актуальное описание всегда на английском языке.

DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (1)
Автор поста оценил этот комментарий
Дома буду - сфоткаю
Автор поста оценил этот комментарий

сеньк ю! токма не ясно какой там метраж. Но 500 руб вполне себе недорого - дайте две

Автор поста оценил этот комментарий

http://www.tinko.ru/p-215081.html
Есть определенная помехозащищенность, кодированный сигнал, 250м в прямой видимости. Но ставить только на управление.

Автор поста оценил этот комментарий

Можно и на ардуине, но проще какой нибудь готовый модуль применить, вот как подсказывают sonoff какой нибудь... А то с ардуиной много лишний телодвижений будет и лишних проводов-соединений.

раскрыть ветку (1)
Автор поста оценил этот комментарий

радио надо бы - фая - нет вайфая понимаешь

Автор поста оценил этот комментарий
sonoff воркает по wi-fi
раскрыть ветку (2)
Автор поста оценил этот комментарий

вай-вая пока нет - не подвел инет... но спасибо - может пригодится как появится

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

есть sonoff и wi-fi и с радио, стоит по дороже, но типа универсально. На али напиши sonoff rf

Автор поста оценил этот комментарий

Кстати дешевле было бы сразу использовать Wi-Fi модуль для ардуинки, стоит примерно столько же сколько Ethernet модуль и при этом меньше проводов, и не надо ставить точку доступа, а еще можно прямо этот модуль прошить и вообще обойтись без ардуинки

Для справки ESP8266

Автор поста оценил этот комментарий
3д принтер ручной сборки ?
раскрыть ветку (2)
1
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
Давно собирался собрать , да руки не доходили . Буду благодарен за и подпишусь.
Автор поста оценил этот комментарий
А за интернет? Это насколько тебе было лень поискать более простой путь и так заморочиться. Посмотри на том же али, умный дом от xiaomi, стоит не дорого
раскрыть ветку (1)
Автор поста оценил этот комментарий

Интернет приходит из дома, там он так и так будет. А на xiaomi дорого и не так интересно.

2
Автор поста оценил этот комментарий

я из ЛЛ. Дайте ссылку на розетку с GSM

а я ваще лорд ЛЛ, поэтому если есть еще ЖСМ сигнализация в машину с автозаводом, то ваще больщущее спасибо скажу!

ТАкже я посол лиги наглости и хотел попросить накидать еще интересных гаджетов для лордов ЛЛ с удаленным управлением.

все заскриптую, автоматизирую и буду megusta


авансом спасибо и зеленый треугольник

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