• Нравится 2
  • Лучшее 1
Перейти к публикации

Гроубокс с датчиками температуры и влажности с передачей данных на комп без проводов

Оцените эту тему


mik

Рекомендованные сообщения

Я не буду описывать полностью весь процесс подключения, есть тут статьи готовые, например: 

 Я расскажу о модификациях, как сделать еще круче)  

 

Ардуино вещь хорошая, но не так давно в китайских магазинах появилась очень крутая вещь – контроллер на базе ESP32 с дисплеем и файфаем. А потом еще более крутая – файфай, дисплей и модуль резервного питания (хотя не очень это актуально в этих рамках).  Выглядит вот так:

Скрытый текст

ÐаÑÑинки по запÑоÑÑ Esp32 oledÐаÑÑинки по запÑоÑÑ Ttgo esp32 0.96 '

 

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

И это круто! Т.к. данные можно передавать на комп по вайфаю и не тянуть сетевой провод от гроубокса. Можно, конечно, взять ардуино, прицепить к ней дисплей и вайфай модуль, но это хренова туча проводов и резисторов, а тут из коробки и всё красивенько. И что вдвойне круто – можно сэкономить на модуле часов, его покупать не обязательно, т.к. по вайфаю можно считать время из интернета при запуске.

Нам так же понадобятся релюха и сами датчики температуры/влажности/чего захотите. Я выбрал DHT11 и ds18b20, они не дорогие, но можно и любые другие. (для тех, кто не в теме – реле – это такая хрень, которая, грубо говоря, может замкнуть или разомкнуть провода и, таким образом, например, включить или выключить свет. DHT11 – измеряет влажность и температуру, но не водонепроницаем. ds18b20 есть в водонепроницаемом исполнении, но измеряет только температуру).

Не скажу, что прям ОЧЕНЬ легко все, пару дней провозитесь, но в целом порох вхождения очень низкий и разобраться легко 

Скрытый текст

Реле: 
ÐаÑÑинки по запÑоÑÑ relay 4

 

DHT11:

ÐаÑÑинки по запÑоÑÑ DHT11

 

DS18B20:

ÐаÑÑинки по запÑоÑÑ DS18B20

 

 

Я покажу пример и на ds18b20 и на DHT11.

А дальше все просто – все соединяем, подключаем к компу, устанавливаем драйвера, поддержку ESP в среде ардуино и начинаем писать прошивку)

Скрытый текст

_MG_5547.thumb.jpg.c91005e5323661ff46ea6e0c39b50395.jpg_MG_5557.thumb.jpg.7c4becfb64034e26642d063419bafb89.jpg

Вот готовые прошивки c комментариями, там вроде все понятно. Как она работает:

1.       Коннектится к вайфаю и проверяет наличие интернета

2.       Если инет есть, то коннектится к серверу точного времени и получает точное время.

3.       Все действия логируются и отображаются на экране, так что если что-то пойдет не так, то вы увидите, что конкретно пошло не так.

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

5.       Раз в минуту опрашиваются датчики с выводом на экран температур.

Сами прошивки можно скачать тут: 

 

Тут вроде все легко и понятно.

Я накидал программу на python, которая опрашивает сервер и пихает полученные данные в эксель-файл. Потом по этой эксельке можно строить графики и анализировать их

Скрытый текст

import os
import urllib.request
import urllib.parse
import datetime

def create_folder(url, site):
    folder = os.getcwd() + '\Arch'
    # print(folder)
    if not os.path.exists(folder):
        os.makedirs(folder)
    return folder

def read_site_content(site_name):
    '''Функция, которая читает текст страницы из урл '''
    # Получим текст сайта.
    response = urllib.request.urlopen(site_name)
    html = response.read()
    # И попробуем решить проблему кодировки
    try:
        htmlText = str(html.decode('utf8'))
        return htmlText
    except UnicodeDecodeError:
        htmlText = str(html.decode('cp1251', 'ignore'))
        return htmlText

def get_site_name(site_name):
    '''
        Возващает netloc из ссылки вида
        <scheme>://<netloc>/<path>?<query>#<fragment>
    '''
    return urllib.parse.urlsplit(site_name)[1]

url = 'http://192.168.1.111'

content = read_site_content(url)
# теперь у нас есть строка вида Click <a href="/H">here</a> to turn the LED on pin 5 on.<br>Click <a href="/L">here</a> to turn the LED on pin 5 off.<br>t1 = 32.00(0)<br>h1 = 25.00(0)<br>t2 = 35.00(1)<br>h2 = 10.00(1)<br>t3 = 35.00(0)<br>h3 = 10.00(0)<br>
# распарсим ее
now = datetime.datetime.now()
content = content[138::]
# 18.02.2018  23:35:19
print (now.day.__str__() + '.' + now.month.__str__() + '.' + now.year.__str__() + ' ' + now.hour.__str__() + ':' + now.minute.__str__() + ':' + now.second.__str__() )
print (content)

folder = create_folder(url, get_site_name(url))

f = open(folder + r'\text.txt', 'a')
f.write(content)
f.close()

Сохраняете это как файл *.py , запихиваете в 

Войдите или зарегистрируйтесь для просмотра содержимого. Купить семена конопли.

 и получаете экзешник (скачивать готовые ехе файлы откуда-либо я не рекомендую, так что вот так по хардкорному)

 

Теперь с компа видно темперу и влажность и все сохраняется в файл 

 

В итоге мы получаем на компе файл Эксель с температурами и влажностями. В этом файле сделайте замену -1 на пустоту и можно строить графики: 

 

5ab4aee27a9cb_.thumb.PNG.a7de3e416f09075428ee0cc89c30ab88.PNG

пики на графике - это опрыскивание) Падает температура и взлетает не надолго влажность. Как высохнет - все возвращается 

Синий - температура, оранжевый - влажность 

Изменено пользователем mik
Ссылка на комментарий
Поделиться на других сайтах

Нормально бро! Руки растут откуда надо.

Ссылка на комментарий
Поделиться на других сайтах

6 часов назад, mik сказал:

 

 

Сами прошивки можно скачать тут: 

 

 

 

бро, что-то файлы прошивок не открываются

Ссылка на комментарий
Поделиться на других сайтах

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

Ссылка на комментарий
Поделиться на других сайтах

19 часов назад, 4lbmix сказал:

бро, что-то файлы прошивок не открываются

Только что скачал - открылось. Попробуй архиватор другой 

11.PNG

Ссылка на комментарий
Поделиться на других сайтах

19 часов назад, WhisperRasta сказал:

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

Думаю, что всё, других задач нет пока. Да переделывать-то не долго и не сложно, главное разок в тему въехать) 

Ссылка на комментарий
Поделиться на других сайтах

  • 11 месяцев спустя...

Вот это вообще классно!!!! Только Тьма пока для меня!!(( Сложно блин!

Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в теме...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...