Съдържание:

Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT: 4 стъпки
Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT: 4 стъпки

Видео: Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT: 4 стъпки

Видео: Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT: 4 стъпки
Видео: Marlin Firmware 2.0.x Explained 2024, Ноември
Anonim
Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT
Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT
Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT
Прост дисплей за времето с помощта на Raspberry PI и Cyntech WeatherHAT

* През 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

Задайте SD картата и Raspberry PI
Задайте SD картата и Raspberry PI
Задайте SD картата и Raspberry PI
Задайте 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

Настройте библиотеките на WeatherHAT
Настройте библиотеките на WeatherHAT
Настройте библиотеките на WeatherHAT
Настройте библиотеките на 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

Инсталиране на Weather-api и GetWeather Script
Инсталиране на Weather-api и GetWeather Script
Инсталиране на Weather-api и GetWeather Script
Инсталиране на Weather-api и GetWeather Script
Инсталиране на Weather-api и GetWeather Script
Инсталиране на Weather-api и GetWeather Script
Инсталиране на Weather-api и GetWeather Script
Инсталиране на 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 Добро място за начало.

Препоръчано: