Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Уникальная игра, объединяющая популярные механики Match3 и пошаговые бои!

Магический мир

Мидкорные, Ролевые, Три в ряд

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Arduino + Погода

С этим тегом используют

Электроника Ardublock Самоделки YouTube Своими руками Вертикальное видео Видео ВК Снег Весна Зима Дождь Фотография Юмор Санкт-Петербург Все
11 постов сначала свежее
6
cozy
8 лет назад

Weather widget на NodeMCU или ESP8266⁠⁠

Отступление

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


Захотелось сделать что-то своими руками полезного. На instructables нашелся отличный пост по тому как сделать погодный виджет на базе esp8266 или nodemcu.

На nodemcu проще - плата, oled, 4 провода и готово. На esp8266 сложнее, но и интереснее.

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


По ссылке http://www.instructables.com/id/ESP8266-Weather-Widget/ описано все подробно и проблем возникнуть не должно. Сделав все по инструкции мы получим окна с текущей датой и временем, окно с текущей погодой, прогноз на три дня, давление, осадки и влажность.

Единственный момент - в этой инструкции перепутаны SDA и SCL пины. Подключить нужно в обратном порядке.


Чтобы добавить дополнительных экранов нужно:


В коде указать нужное кол-во экранов в переменной и дописать drawFrame{N} в следующем месте:

void (*frameCallbacks[])(int x, int y) = {drawFrame1, drawFrame2, drawFrame3, drawFrame4};

int numberOfFrames = 4;


Далее в программе в соответствующих функциях дополнить своим кодом:

void drawFrame4(int x, int y) {...}


Загруженность трафиком, время рассвета и заката я получал с помощью thingspeak.com

Делал все по этой инструкции: https://www.youtube.com/watch?v=4vKxGHGYOtI


В двух словах: портал парсит страницу, выдерает нужный кусок данных и отдает через свой API. Все что оставалось, так это почистить немного данные от мусора (в видео об этом сказано) и вывести на экран.


Парсил я страницу городского портала. На ней, к слову, было много полезной инфы: курсы валют, погода, погода по ощущению и т.д.


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


String sunset()

{

String result;

HTTPClient http;

const char kUrl[] = "api.thingspeak.com";

const char kPath[] = "/apps/thinghttp/send_request?api_key=my_apikey_here";

http.begin(kUrl,80,kPath);

int httpCode = http.GET();

if(httpCode == 200) {

String payload = http.getString();

int i = 0;

while (payload.charAt(i) != ':') // Character before required data starts.

i++;

String sunr = payload.substring(i-2,i+3);

payload = payload.substring(i+2);

int j = 0;

while (payload.charAt(j) != ':') // Character after required data ends.

j++;

String suns = payload.substring(j-2, j+3);

result = sunr+"-"+suns;

}

return (result);

}



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

Weather widget на NodeMCU или ESP8266 Arduino, Esp8266, Nodemcu, Видео, Длиннопост, Погода, Виджет
Weather widget на NodeMCU или ESP8266 Arduino, Esp8266, Nodemcu, Видео, Длиннопост, Погода, Виджет
Weather widget на NodeMCU или ESP8266 Arduino, Esp8266, Nodemcu, Видео, Длиннопост, Погода, Виджет
Weather widget на NodeMCU или ESP8266 Arduino, Esp8266, Nodemcu, Видео, Длиннопост, Погода, Виджет
Weather widget на NodeMCU или ESP8266 Arduino, Esp8266, Nodemcu, Видео, Длиннопост, Погода, Виджет
Weather widget на NodeMCU или ESP8266 Arduino, Esp8266, Nodemcu, Видео, Длиннопост, Погода, Виджет
Показать полностью 6 1
[моё] Arduino Esp8266 Nodemcu Видео Длиннопост Погода Виджет
0
194
AlNinyo
AlNinyo
9 лет назад

Погодная станция на Ардуино⁠⁠

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


Наконец-то дошли руки до переделки погодной станции. Прошлый вариант по целому ряду причин оказался не жизнеспособен. К сожалению, пока не удалось разобраться с ESP8266, поэтому всё на проводах и локально, без выгрузки данных в Сеть (очень хочется это когда-нибудь сделать).


Итак, попробую в двух словах рассказать, что у меня и как получилось. Имхо, любой нормальный ардуинщик должен пройти через свою погодную станцию :) Я - не исключение.


Началось всё со схемы. К сожалению, во Fritzing’е нужных элементов не оказалось, поэтому схему пришлось рисовать вручную:

Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост

Сразу скажу, что в итоге в этой схеме оказалась только одна проблема: DS18B20 отказался работать на 13-м пине и пришлось его переключить на 12. Тут же слева видно подготовленную ради такого дела небольшую плату с кроваткой, для удобного подключения компонентов и вытаскивания Ардуинки при необходимости. Эта же плата с обратной стороны выглядит так (правда, в конце я ещё соединил штырьки +5V и GND так, как подписано с лицевой стороны платы):

Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост

Проверка компонентов проходила нормально:

Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост

Правда, часы DS1307 чуть не подорвали мою веру в этот мир :) Сначала они работали нормально, а потом, на этапе предварительной сборки всех компонентов и тестирования итогового скетча, они отказались работать нормально. Всё дело оказалось в переделанных мною названиях месяцев (англ -> рус). В конце концов я это понял и всё заработало.


После тестрирований и допиливания скетча, наконец-то приступил к окончательной сборке устройства. Правда, сначала пришлось сгонять в магазин и купить новый клеевой пистолет, т.к. предыдущий благополучно умер в "Камчатке", да гнездо mini-USB для подключения питания. Устройство стало выглядеть вот так:

Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост
Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост

Немного пришлось помучиться, упихивая всё это аккуратно. В итоге получилось не так страшно, как выглядет на фотке :) На передней части устройства расположен экран, сзади выведены разъёмы для подключения датчиков:

Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост

Датчик BMP180 выведен на балкон (надо будет его, всё же, совсем на улицу выставить, а то на балконе на 2-3 градуса теплее улицы получается) и подключается к устройству с помощью 4-х проводов, вытащенных из "витой пары". Надеюсь, когда-нибудь у меня получится этот датчик подключить без проводов...


В итоге устройство стало выглядеть вот так:

Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост

Слева от часов каждую чётную секунду показывается либо иконка солнышка, либо Луны (чОрный кружок, обе иконки сам нарисовал, как и знак градуса), в зависимости от часа. К сожалению, из-за конструктивных особенностей изначального корпуса, провод питания торчит сбоку. Надо будет попробовать гнездо питания аккуратно переставить на заднюю панель. А оставшуюся дырочку закрыть кнопкой включения подсветки экрана.


Ещё очень хочется найти/сделать крупный шрифт для экрана, чтобы числа выводились покрупнее. С помощью библиотеки LCD5110_Graph, в которой крупные цифры есть, вывести всё как надо не получилось (там кириллицы нет и ещё кое-что не сработало), а на её доработку пока нет ни времени, ни знаний.


Скетч можно взять здесь (комментарии присутствуют): http://pastebin.com/ARQShNrc


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

Скетч со вторым экраном можно взять здесь: http://pastebin.com/s7t4f0ZM

Погодная станция на Ардуино Arduino, Своими руками, Моё, Погода, Очумелые ручки, Длиннопост

Надеюсь, я вас не сильно утомил очередным "шедевром". Если кому-то интересно, у меня на сайте есть ещё пара статей на тему моих очумелых ручек. Заходите в гости, если что (чтобы не обвиняли в рекламе: адрес - как мой ник, только .ru добавить)


Спасибо за внимание!

Показать полностью 8
[моё] Arduino Своими руками Моё Погода Очумелые ручки Длиннопост
92
30
dockarpov
dockarpov
9 лет назад

Домашняя метеостанция на Arduino⁠⁠

Домашняя метеостанция на Arduino
Показать полностью 1
[моё] Arduino Погода Метеостанция Дом Длиннопост
41
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии