Съдържание:
- Стъпка 1: Задайте SD картата и Raspberry PI
- Стъпка 2: Настройте библиотеките на WeatherHAT
- Стъпка 3: Инсталиране на Weather-api и GetWeather Script
- Стъпка 4: Актуализирана информация за: Openweathermap API
Видео: Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
* През 2019 г. Yahoo промени своя API и това спря да работи. Не знаех за промяната. През септември 2020 г. този проект беше актуализиран, за да използва API на OPENWEATHERMAP Вижте актуализирания раздел по -долу, останалата част от тази информация обаче все още е добра. Благодаря, че потърсихте и благодаря, че ме уведомихте за промяната в Yahoo. *
Наскоро придобих Cyntech WeatherHAT, но бях малко разочарован от липсата на софтуер за него.
ШАПКАТА, която е самостоятелно, изглежда добре изградена, с 6 сини светодиода под формата на дъждовни капки, 6 оранжеви светодиода под формата на гръм, 6 бели светодиода под формата на облак. 1 (Това, което вярвам, е RGB LED) за СЛЪНЦЕТО - показва оранжево (така че може да греша, че е RGB). И 6 светодиода WS2812 (Това са RGB:-))
Cyntech има ръководство за стартиране и дори това е добре - лесно е да инсталирате и използвате HAT.
Така че бях просто изненадан да не видя никакъв софтуер (освен демото, предоставено от Cyntech). Бях също толкова изненадан, че не открих някой наистина да използва това - Може би хората искат „фантастичен“дисплей с температури и цялата такава информация. За мен е хубаво просто да погледна няколко светодиода и да разбера - вали ли дъжд или гръмотевична буря или облачно - в този момент, ако имам нужда от повече информация, мога да погледна моя таблет или телефон.:-)
Още малко - това е наистина първият ми път, когато използвам python, в никакъв случай не съм добър в това. И съм сигурен, че хората, които наистина познават python, ще ми кажат по -добър начин да направя това.
Да започваме:
Нуждаем се от SD карта (поне 8 GB)
Raspberry PI (използвам Zero W) трябва да има достъп до интернет.
и имаме нужда от времето CyntechHAT
Ако използвате Raspberry PI Zero W, ще трябва също да можете да запоявате набор от заглавки към дъската.
В противен случай необходимите умения са възможността за използване на софтуер и настройка на SD картата.
Стъпка 1: Задайте SD картата и Raspberry PI
Ще трябва да изтеглите най-новия Raspbian (по време на тази инструкция, който е Raspbian Stretch март 2018 г. (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Използвах настолното издание, дори и аз изпълнявам настройката си без глава и правя повечето неща от CLI (интерфейс на командния ред) през ssh.
Следвайте ръководството за настройка, намерено тук:
www.raspberrypi.org/documentation/installa…
След като Etcher свърши, извадете SD картата и я поставете отново в компютъра.
* Наистина трябва да направите тази стъпка по -долу само ако планирате да извършите безглавна инсталация
Трябва да настроим SSH и WIFI, преди да използваме SD картата в Raspberry PI. В BOOT дяла на картата създайте файл с име "ssh" без кавички. нищо не трябва да бъде в този файл. Когато PI се стартира, той ще види този файл и ще включи SSH.
Също така трябва да създадем файл, наречен "wpa_supplicant.conf". Трябва да редактираме този файл с вашите настройки за wifi.
Трябва да изглежда така:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
update_config = 1 network = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* Наистина трябва да направите това само ако планирате да извършите безглавна инсталация
След като това стане, извадете безопасно SD картата и поставете Raspberry PI (уверете се, че няма захранване на PI).
Прикрепете weatherHAT и включете Raspberry PI.
Стъпка 2: Настройте библиотеките на WeatherHAT
За тази стъпка ще следваме намереното Ръководство за начало
guides.cyntech.co.uk/weatherhat/getting-sta…
АКО правите безглавна инсталация, ще искате да изпратите ssh [email protected]
Ако нямате ssh клиент - PUTTY е добър.
Ако използвате клавиатура и монитор - горното ръководство е добро за следване, то ви стартира на работния плот с графичен интерфейс.
Важните стъпки тук са да инсталирате библиотеката WS281x и библиотеките WeatherHAT, заедно със зависимостта за всяка.
sudo apt-get update
sudo apt-get upgrade -y sudo apt-get install build-bistven python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git> git clone https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py install
Сега трябва да се уверим, че I2C е включен.
sudo raspi-config
Ръководството е написано за по-стара версия на raspi-config и казва да отидете на „Разширени опции“, което е заменено с „Вярвам“, „Интерфейси“
След като включите I2C, ще трябва да рестартирате.
Сега е време да тествате HAT
cd WeatherHAT
sudo python cycle.py
Ако всичко вървеше добре, трябва да видите всички функции и дъга.
ctrl-z ще спре програмата.
*Специални бележки: Научих, че времето на Raspberry PI 3 е различно и дъгата може да не работи правилно. АКО имате този проблем, ето как да го отстраните.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
След като всичко работи, можем да продължим към следващата стъпка.
Актуализация: (6 октомври 2020 г.) Това хранилище вече съдържа моя скрипт getWeather.py, това е страхотна новина, тъй като интересът отново се възбуди и неизбежно ще се случат нови неща.
Стъпка 3: Инсталиране на Weather-api и GetWeather Script
И така, пуснах PULL заявка до CyntechUK за моя скрипт - надявам се, че те ще приемат заявката и можете да пропуснете изтеглянето на моето хранилище. (може да не искат да включат моя код ти)
(6 октомври 2020 г.) Заявката PULL беше одобрена, моят скрипт getWeather вече е включен в хранилището Weatherhat.
********* Все още можете да използвате тази информация, ако желаете, обаче getWeather.py вече е включен в хранилището на weatherhat ******************* *****************
Моето хранилище може да се намери тук:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
и моят скрипт се нарича getWeather.py
Ако приемат заявката за изтегляне, вече ще имате този скрипт - ако не, ще трябва да клонирате хранилището.
във вашата домашна директория (/home/pi) въведете:
git clone https://github.com/kd8bxp/WeatherHAT.git getWeather
това ще клонира хранилището в директория, наречена getWeather, след това трябва да проверим клона getWeather.
cd getWeather
git checkout getWeather
**********************************************************************
Ще трябва да влезете в компактдиск в директорията на weatherHAT, която беше клонирана по -рано и
Трябва да редактираме скрипта getWeather.py за вашето местоположение.
nano getWeather.py
Трябва да видите ред, който започва с
местоположение и завършва с търсене (45042) - Това е моят пощенски код, установих, че не работи толкова добре, колкото си мислите
а редът точно над него, който е коментиран, работи по -добре с името на град. Това е този, който вероятно искате да използвате. Затова коментирайте реда на пощенския код (#) и разкоментирайте и променете името на града си.
*********** СТАРА ИАГО ИНФОРМАЦИЯ - Не се изисква повече ***********
Трябва да инсталираме още една библиотека, за да работи това, weather-api, който е обвивка за метеорологичния API на Yahoo.
pypi.python.org/pypi/weather-api/0.0.5
Инсталацията е лесна -
pip инсталирайте weather-api
***********************************************************************************
Сега можем да стартираме скрипта:
sudo python getWeather.py &
& Ще позволи на скрипта да работи във фонов режим. Скриптът спи за около 5 минути и след това проверява Yahoo Weather дали нещо се е променило - ако е така, той актуализира дисплея. Времето от 5 минути може да бъде променено, това е близо до дъното на скрипта.
сън (60 * 5)
Можете да настроите задание за crontab (не забравяйте, че това трябва да се изпълнява като root), което ще стартира скрипта при всяко зареждане.
използвайте:
sudo crontab -e
въведете:
@reboot python /home/pi/weatherHAT/getWeather.py
Мисля, че това трябва да работи - все още не съм настроил cron на системата си.
Това е почти всичко -
Както казах, това е една от първите ми програми за python и съм сигурен, че някой, който знае повече, ще види по -добър начин да направи това.
Правил съм само ограничени тестове по този въпрос - досега съм виждал „Сняг“, „Дъжд“и „Гръмотевична буря“да работят, Има някои условия, с които все още не съм сигурен как да се справя - приветствам идеите.
Стъпка 4: Актуализирана информация за: Openweathermap API
През септември 2020 г. актуализирах скрипта, за да използвам https://openweathermap.org API.
ЗАБЕЛЕЖКА: Това беше „бързо“решение за мен и ограничено тествано - (През последните няколко дни беше облачно и виждам само облака и дъжда) - Въпреки че вярвам, че улових всички условия, които са лесни за дисплей, възможно е да съм пропуснал няколко поради колко бързо е направено това поправяне. Като се има предвид това, ако смятате, че има проблем, моля, оставете коментар и позволете време да го разгледам - или да се опитам да ви насоча в правилната посока. *
Ще трябва да се регистрирате за API ключ чрез горната връзка, когато редактирате скрипта, за да поставите града си, ще видите място за ключа. Просто го копирайте и поставете и трябва да сте добри.
Други бележки:
Този скрипт сега използва "API за текущи данни за времето" за този API може да се намери тук:
openweathermap.org/current Едно нещо, което трябва да се отбележи, е, че можете да използвате град, щат и държава.
IE: градът „Дейтън“става „Дейтън, Охайо, САЩ“забележете как кодовете на щата и държавата са главни, това се изисква. API казва, че може да използва само „Дейтън, Охайо“, но получих грешки от скрипта, когато направих това - и тъй като това беше бързо решение, не разгледах защо. И така, препоръчвам да използвате „град, държава, държава“
АКО по някаква причина не получавате добра информация с името на града, можете също да потърсите идентификатора на града или да използвате географска ширина и дължина или пощенския код. Във всеки случай URL адресът ще трябва да бъде променен, ако кликнете върху връзката от дясната страна на уебсайта на API, той ще даде пример за това какъв трябва да бъде URL адресът.
Трябва също да промените URL адреса в скрипта.
Още повече бележки: 3 октомври 2020 г
@Itsmedoofer посочи, че те трябва да инсталират библиотечните python-заявки с новата актуализация. Не съм сигурен, че имах нужда от това (също е възможно да съм го инсталирал преди години или различни версии на python да инсталират различни библиотеки по подразбиране). Така че, ако скриптът дава грешка относно заявките на python, е лесно да се поправи.
въведете тази команда в CLI: python -m pip install requests
и трябва да си добър.
Надявам се, че това е така, тъй като това беше бързо решение и може би един ден ми позволи да работя по почистването му малко по -добре.
Актуализация (6 октомври 2020 г.) Заявката за изтегляне на github беше приета, оригиналното хранилище на CyntechUK вече включва този скрипт. https://github.com/CyntechUK/WeatherHAT Потребителят Boeerb има някои идеи как да покаже някои от условията, които в момента не се показват, както и някои други идеи за използване. Така че следете това хранилище. И дано нещата се случат.
Актуализация: (8 октомври 2020 г.) Open Weather Map има кратък урок за настройка и използване на API, https://openweathermap.org/appid Добро място за начало.
Препоръчано:
Дисплей за прогноза за времето в арт деко: 9 стъпки (със снимки)
Дисплей за прогноза за времето в арт деко: Здравейте приятели, в тази инструкция ще видим горещо, за да изградим този дисплей за прогноза за времето. Той използва мини платка Wemos D1 заедно с 1,8”цветен TFT екран за показване на прогнозата за времето. Също така проектирах и отпечатах 3D корпус за
Система за наблюдение на времето с помощта на Raspberry Pi3 и DHT11 сензор: 4 стъпки
Система за наблюдение на времето с помощта на сензор Raspberry Pi3 и DHT11: В този урок ще ви покажа как да свържете DHT11 към Raspberry Pi и да изведете показанията за влажност и температура към LCD. Сензорът за температура и влажност на DHT11 е хубав малък модул което осигурява цифрова температура и влажност
Матричен дисплей за времето: 4 стъпки (със снимки)
Weather Matrix Display: За проекта ще ви покажа как да създадете мини дисплей за състоянието на времето от матричен дисплей 8x8. Ще използвам Genuino MKR1000 за извличане на температура, влажност и състояние на времето в рамките на избрано място. Показване на състоянието за показване на миг
Показване на времето и времето на Arduino 3 в 1: 11 стъпки
Arduino 3-в-1 дисплей за времето и времето: Харесвам PIC микроконтролерите и харесвам програмирането на асемблер. Всъщност през последните няколко години публикувах около 40 проекта на моя уебсайт въз основа на тази комбинация. Наскоро поръчах някои части от един от любимите ми американски
Как да направите часовник в реално време с помощта на Arduino и TFT дисплей - Arduino Mega RTC с 3,5 -инчов TFT дисплей: 4 стъпки
Как да си направим часовник в реално време, използвайки Arduino и TFT дисплей | Arduino Mega RTC с 3,5-инчов TFT дисплей: Посетете моя канал в Youtube. Въведение:- В този пост ще направя „Часовник в реално време“, използвайки 3,5-инчов TFT сензорен LCD, Arduino Mega 2560 и DS3231 RTC модул … .Преди да започнете … проверете видеоклипа от моя канал в YouTube .. Забележка:- Ако използвате Arduin