Система полуумного дома
Получение температуры...
Получение влажности...
Давненько не было статей, дело в том что местами я заигрался в игры (недавно прошёл Assassin’s Creed Odyssey с дополнениями), а потом вообще пошла сессия в универе. Кстати окончил с одной тройкой (преподу не понравились мемасики в курсовике).
Суть не в этом, купил я себе небезизвестную книжку "Грокаем алкгоритмы", прочёл. Книга оказалась вполне годная, но все примеры были написаны на питоне. Я его хоть и не знаю, но синтаксис с первого взгляда оказался вполне понятен. И тогда я решил изучить этот язык программирования.
Как пособие приобрел на озоне книгу "Изучаем Python" Марка Лутца. На момент написания статьи я еще не прочитал (остановился на 300 странице). По поводу книги могу сказать что написана двольно странно. 300 страниц - а я еще только изучаю переменные (в подробностях). До операторов, условностей и циклов еще как до китая раком. А потом по рекламке решил записаться на трехденвный бесплатный интенсив от Skillbox (кстати сегодня первый день будет). И чтобы иметь хоть какую-то базу, которая книга дает крайне медленно я решил посмотреть видео Учим Python за 1 час от Хауди Хо.
В ходе видео автор написал погодную программку, которая меня очень заинтересовала. Сходу повторить ее не получилось. Как я понял изменилась версия и пришлось курить мануал (хоть с английскиму меня пока не очень. но знаний для этого вполне хватило). И вроде даже получилось, а потом пришла идея, а почему бы не интегрировать скрипт на пайтоне в свою вебстраницу - типо как к умному дому, но при этом без своих внешних устройств.
И после этой идеи пришлось намучится. Если вкратце, то у сервера нет прав на запуск пайтона - надо предоставить. Но и после этого скрипт не запустился, для каждого пользователя надо устанавливать свою библиотеку через pip - бред конечно но как-то так. Ну а после всё пошло. В php коде прописан банальный shell_exec, где запускается скрипт и эхом выводится всё на страницу, а сам код пайтона вот:
from pyowm import OWM
from pyowm.utils.config import get_default_config
config_dict = get_default_config()
config_dict['language']='ru'
owm = OWM('Ваш API-ключ с сайта сервиса', config_dict)
mgr = owm.weather_manager()
observation = mgr.weather_at_place('Sosnovyy Bor,RU')
w = observation.weather
wind = w.wind()
vlazhnict = w.humidity;
temper = w.temperature('celsius')
print('<p>Сейчас в <span style="color: #008080;">Сосновом Бору</span> ' + w.detailed_status + '</p>')
print('<p>Скорость ветра <span style="color:#008080;">' + str(wind['speed']) + ' м/с</span></p>' )
print('<p>Влажность <span style="color:#008080;">' + str(vlazhnict) +'%</span></p>')
print('<p>Температура <span style="color:#008080;">' + str(temper['temp']) + '°C</span></p>')
Да мой город - это Сосновый Бор =))) Запуск кода через терминал выглядит довольно стрёмно:
Но в браузере в боковой колонке вывод данной программы вполне вписался =)))
Оооо, совсем забыл, есть начатый проект. На балконе повесил еспшку с модулем dht22, запитан от аккума 18650, а тот в постоянном подзаряде от солнечных батарей. Как допилю так обязательно напишу отчет. Ну а пока он сильно глючит.
На этом всё, пожелаю себе успехов в языке и скорейших доходов от работы в области IT.
Hopyor написал:
Круто, молодец, так держать! :)mcfirsachy написал к публикации QUAD405 из поднебесной cледующее:
Кто дочитал до конца - извините за огромное количество ошибок =)))) Хотелось бы добавить что на выпрямителе стоит защита акустики - подключение колонок с задержкой.Сейчас в Сосновом Бору пасмурно
Скорость ветра 6.67 м/с
Влажность 90 %
Температура -9.73 °C
Получение температуры...
Получение влажности...