Mundarija:

Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi: 4 qadam
Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi: 4 qadam

Video: Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi: 4 qadam

Video: Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi: 4 qadam
Video: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, Sentyabr
Anonim
Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi
Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi
Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi
Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi

* 2019 yilda Yahoo API -ni o'zgartirdi va u ishlamay qoldi. Men o'zgarishdan bexabar edim. 2020 yil sentyabr oyida ushbu loyiha OPENWEATHERMAP API -dan foydalanish uchun yangilandi Quyidagi yangilangan bo'limga qarang, ammo qolgan ma'lumotlar hali ham yaxshi. Yahoo -dagi o'zgarish haqida menga xabar berganingiz uchun tashakkur. *

Yaqinda men Cyntech WeatherHAT -ni sotib oldim, lekin buning uchun dasturiy ta'minot yo'qligidan biroz hafsalam pir bo'ldi.

HAT o'zi yaxshi qurilgan ko'rinadi, yomg'ir tomchilari ko'rinishidagi 6 ko'k LED, momaqaldiroq shaklidagi 6 to'q sariq LED, bulut shaklidagi 6 oq LED. Quyosh uchun 1 (menimcha, RGB LED) - u to'q sariq rangni aks ettiradi (shuning uchun men RGB ekanligimda xato qilishim mumkin). Va 6 ta WS2812 LED (bu RGB:-))

Cyntech -da boshlang'ich qo'llanma mavjud va bu juda yaxshi - HATni o'rnatish va ishlatish oson.

Men hech qanday dasturiy ta'minotni ko'rmaganimdan hayron bo'ldim (boshqa Cyntech tomonidan taqdim etilgan demo). Buni ishlatadigan hech kimni topa olmaganimdan hayron bo'ldim - Balki odamlar harorat va "har xil ma'lumotlarga ega" chiroyli displeyni xohlaydilar. Men uchun bir nechta LED -larni ko'rib, yomg'ir yoki momaqaldiroq yoki bulutli bo'lishini bilish juda yoqimli, agar menga ko'proq ma'lumot kerak bo'lsa, men planshetimga yoki telefonimga qarashim mumkin.:-)

Bir oz ko'proq - bu men birinchi marta pythondan foydalanyapman, men bunga unchalik yaxshi emasman. Ishonchim komilki, pitonni yaxshi biladigan odamlar menga buni yaxshiroq qilish yo'lini aytib berishadi.

Qani boshladik:

Bizga SD -karta kerak (kamida 8 gigabayt)

Raspberry PI (men Zero W dan foydalanayapman) Internetga kirishi kerak.

va bizga Cyntech ob -havo kerakHAT

Agar siz Raspberry PI Zero W -dan foydalansangiz, siz taxtaga sarlavhalar to'plamini lehimlashingiz kerak bo'ladi.

Aks holda, dasturiy ta'minotdan foydalanish va SD -kartani sozlash qobiliyati talab qilinadi.

1 -qadam: SD -kartani va Raspberry PI -ni o'rnating

SD -kartani va Raspberry PI -ni o'rnating
SD -kartani va Raspberry PI -ni o'rnating
SD -kartani va Raspberry PI -ni o'rnating
SD -kartani va Raspberry PI -ni o'rnating

Siz Raspbian-ning so'nggi versiyasini yuklab olishingiz kerak bo'ladi (Raspbian Stretch March 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Men ish stoli nashridan foydalandim, hatto siz men boshimni o'rnatmayman va ko'p narsalarni CLI (buyruq qatori interfeysi) dan ssh orqali bajaraman.

Bu erda topilgan sozlash qo'llanmasiga amal qiling:

www.raspberrypi.org/documentation/installa…

Etcher tugagandan so'ng, SD -kartani chiqarib oling va uni kompyuterga qayta joylashtiring.

* Agar siz boshsiz o'rnatishni rejalashtirmoqchi bo'lsangiz, bu qadamni quyida qilishingiz kerak

Raspberry PI -da SD -kartani ishlatishdan oldin biz SSH va WIFI -ni sozlashimiz kerak. Kartaning BOOT bo'limida tirnoqsiz "ssh" nomli fayl yarating. bu faylda hech narsa bo'lmasligi kerak. PI yuklanganda, u faylni ko'radi va SSH -ni yoqadi.

Shuningdek, biz "wpa_supplicant.conf" nomli fayl yaratishimiz kerak. Bu faylni wifi sozlamalari yordamida tahrir qilishimiz kerak.

Bu shunday ko'rinishi kerak:

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev

update_config = 1 tarmoq = {ssid = "yourwifiSSID" psk = "sizning wifipassword" skan_ssid = 1}

* Agar siz boshsiz o'rnatishni rejalashtirmoqchi bo'lsangiz, buni qilishingiz kerak

Bu amalga oshgandan so'ng, SD -kartani xavfsiz chiqarib oling va Raspberry PI -ga joylashtiring (PIda quvvat yo'qligiga ishonch hosil qiling).

WeatherHAT -ni ulang va Raspberry PI -ni yoqing.

2 -qadam: WeatherHAT kutubxonalarini o'rnating

WeatherHAT kutubxonalarini sozlash
WeatherHAT kutubxonalarini sozlash
WeatherHAT kutubxonalarini sozlash
WeatherHAT kutubxonalarini sozlash

Ushbu qadam uchun biz "Ishga tushirish" qo'llanmasiga amal qilamiz

guides.cyntech.co.uk/weatherhat/getting-sta…

Agar siz boshsiz o'rnatayotgan bo'lsangiz, ssh [email protected] manziliga o'tishni xohlaysiz

Agar sizda ssh mijozi bo'lmasa - PUTTY yaxshi.

Agar siz klaviatura va monitordan foydalansangiz - yuqoridagi ko'rsatmaga amal qilish yaxshidir, u sizni GUI ish stolidan boshlaydi.

Bu erda muhim qadamlar WS281x kutubxonasi va WeatherHAT kutubxonalarini o'rnatish va har biriga bog'liqlikdir.

sudo apt-get yangilanishi

sudo apt-get upgrade -y sudo apt-get install-essential python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git> git klon https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scon cd python sudo python setup.py ni o'rnatish

Endi biz I2C yoqilganligiga ishonch hosil qilishimiz kerak.

sudo raspi-config

Qo'llanma raspi-config-ning eski versiyasi uchun yozilgan va "Kengaytirilgan variantlar" ga aytilgan, menimcha "Interfeyslar" bilan almashtirilgan.

I2C -ni yoqgandan so'ng, siz qayta ishga tushirishingiz kerak bo'ladi.

Endi HATni sinovdan o'tkazish vaqti keldi

CD Ob -havo

sudo python cycle.py

Agar hamma narsa yaxshi bo'lsa, siz barcha xususiyatlarni va kamalakni ko'rishingiz kerak.

ctrl-z dasturni to'xtatadi.

*Maxsus eslatmalar: Raspberry PI 3 ning vaqtlari boshqacha ekanligini va kamalak to'g'ri ishlamasligini bilib oldim. Agar sizda bu muammo bo'lsa, uni qanday tuzatish kerak.

github.com/CyntechUK/WeatherHAT/issues/3

guides.cyntech.co.uk/raspberry-pi/assemblin…

Hammasi ishlagandan so'ng, biz keyingi bosqichga o'tishimiz mumkin.

Yangilanish: (2020 yil 6 -oktabr) Bu omborda mening getWeather.py skriptim bor, bu ajoyib yangilik, chunki qiziqish yana paydo bo'ldi va yangi narsalar bo'lishi shart.

3-qadam: Weather-api va GetWeather skriptini o'rnatish

Weather-api va GetWeather skriptlarini o'rnatish
Weather-api va GetWeather skriptlarini o'rnatish
Weather-api va GetWeather skriptlarini o'rnatish
Weather-api va GetWeather skriptlarini o'rnatish
Weather-api va GetWeather skriptlarini o'rnatish
Weather-api va GetWeather skriptlarini o'rnatish
Weather-api va GetWeather skriptlarini o'rnatish
Weather-api va GetWeather skriptlarini o'rnatish

Shunday qilib, men skript uchun CyntechUK -ga PULL so'rovini qo'ydim - umid qilamanki, ular so'rovni qabul qilishadi va siz mening omborimni yuklab olishni o'tkazib yuborishingiz mumkin. (ular mening kodimni kiritishni xohlamasligi mumkin)

(6 oktyabr, 2020) PULL so'rovi ma'qullandi, mening getWeather skriptim endi Weatherhat omboriga kiritilgan.

********* Agar xohlasangiz, bu ma'lumotdan foydalanishingiz mumkin, ammo getWeather.py ob -havo ma'lumoti omboriga kiritilgan ******************* *****************

Mening omborimni bu erda topishingiz mumkin:

github.com/kd8bxp/WeatherHAT/tree/getWeath…

va mening skriptim getWeather.py deb nomlanadi

Agar ular so'rovni qabul qilsalar, sizda bu skript bo'ladi - agar bo'lmasa, siz omborni klonlashingiz kerak bo'ladi.

uy katalogiga (/home/pi) yozing:

git klon https://github.com/kd8bxp/WeatherHAT.git getWeather

bu omborni getWeather deb nomlangan katalogga klonlaydi, keyin biz getWeather filialini tekshirishimiz kerak.

cd getWeather

git checkout getWeather

**********************************************************************

Siz ilgari klonlangan weatherHAT katalogiga CD yozishingiz kerak bo'ladi

Sizning joylashuvingiz uchun getWeather.py skriptini tahrir qilishimiz kerak.

nano getWeather.py

Siz boshlanadigan qatorni ko'rishingiz kerak

joylashuv va qidirish bilan tugaydi (45042) - Bu mening pochta indeksim, u siz o'ylagandek ishlamayotganini aniqladim.

va uning tepasida izoh berilgan chiziq shahar nomi bilan yaxshiroq ishlaydi. Bu, ehtimol siz foydalanmoqchi bo'lgan narsadir. Shunday qilib, pochta indeksiga (#) izoh qoldiring va sharh qoldiring va shahar nomini o'zgartiring.

*********** YAHOO OLDINING MA'LUMOTI - Endi kerak emas ***********

Yahoo ob-havo API-ni o'rash uchun ob-havo-api ishlashi uchun biz yana bitta kutubxonani o'rnatishimiz kerak.

pypi.python.org/pypi/weather-api/0.0.5

O'rnatish oson -

pip ob-havo-api-ni o'rnating

***********************************************************************************

Endi biz skriptni ishga tushirishimiz mumkin:

sudo python getWeather.py va

& Skriptni orqa fonda ishlashiga ruxsat beradi. Skript taxminan 5 daqiqa uxlaydi va keyin biror narsa o'zgarganligini Yahoo Weather -da tekshiradi - agar u displeyni yangilasa. 5 daqiqalik vaqtni o'zgartirish mumkin, bu skriptning pastki qismiga yaqin.

uxlash (60 * 5)

Siz har bir yuklashda skriptni ishga tushiradigan crontab ishini o'rnatishingiz mumkin (buni root sifatida ishlatish kerakligini unutmang).

foydalanish:

sudo crontab -e

kiriting:

@qayta yuklash python /home/pi/weatherHAT/getWeather.py

Menimcha, bu ishlashi kerak - men hali tizimimda cron -ni o'rnatmaganman.

Bu deyarli -

Aytganimdek, bu mening birinchi python dasturlarimdan biri va men bilaman, kim bilsa, buni qilishning yaxshiroq yo'lini ko'radi.

Men bu borada faqat cheklangan sinovlarni o'tkazdim - men hozirgacha "Qor" "Yomg'ir" va "Momaqaldiroq" ishlarini ko'rdim, Men qanday hal qilishni bilmayotgan ba'zi shartlar bor - men g'oyalarni ma'qullayman.

4 -qadam: Yangilangan ma'lumotlar: Openweathermap API

2020 yil sentyabr oyida men https://openweathermap.org API -dan foydalanish uchun skriptni yangiladim.

QAYD: Bu men uchun "tezkor" tuzatish edi va cheklangan sinovdan o'tkazildi - (So'nggi bir necha kun mobaynida bulutli edi va men faqat bulut va yomg'irli displeyni ko'rmoqdaman) - Men ishonamanki, men oson bo'lgan barcha shartlarni o'zlashtirdim. displey, ehtimol bu tuzatish qanchalik tez amalga oshirilgani uchun er -xotinni sog'indim. Aytgancha, agar sizda muammo bor deb o'ylasangiz, iltimos, izoh qoldiring va men buni ko'rib chiqaman - yoki sizni to'g'ri yo'nalishga yo'naltirishga harakat qiling. *

Siz yuqoridagi havola orqali API kalitiga ro'yxatdan o'tishingiz kerak bo'ladi, siz o'z shahringizni joylashtirish uchun skriptni tahrir qilganingizda kalit uchun joy ko'rasiz. Faqat nusxa ko'chiring va joylashtiring, shunda siz yaxshi bo'lishingiz kerak.

Boshqa eslatmalar:

Bu skript endi "Hozirgi ob -havo ma'lumoti API" dan foydalanadi, bu API haqida ma'lumotni bu erda topish mumkin:

openweathermap.org/current Shuni ta'kidlash kerakki, siz shahar, shtat va mamlakatdan foydalanishingiz mumkin.

IE: "Dayton" shahri "Dayton, OH, AQSh" ga aylanadi, shtat va mamlakat kodlari qanday katta harf bilan yozilganiga e'tibor bering. API faqat "Dayton, OH" dan foydalanishi mumkinligini aytadi, lekin men buni qilganimda skriptdan xatolar oldim - va bu tezkor tuzatish bo'lganligi sababli, men buning sababini o'rganmaganman. Shunday qilib, men "shahar, shtat, mamlakat" dan foydalanishni tavsiya qilaman.

Agar biron sababga ko'ra siz shahar nomidan yaxshi ma'lumot olmasangiz, siz shahar identifikatorini qidirishingiz yoki kenglik va uzunlik yoki pochta indeksidan foydalanishingiz mumkin. Har bir holatda, URLni o'zgartirish kerak bo'ladi, agar siz API veb -saytining o'ng tomonidagi havolani bossangiz, u URL nima bo'lishi kerakligini ko'rsatib beradi.

Skriptdagi URL manzilini ham o'zgartirish kerak.

Yana eslatmalar: 2020 yil 3 oktyabr

@Itsmedoofer, ular kutubxona python-so'rovlarini yangi yangilanish bilan o'rnatishlari kerakligini ta'kidladi. Men bunga muhtoj ekanligimga ishonchim komil emas (men uni yillar oldin o'rnatganman yoki pythonning turli xil versiyalari sukut bo'yicha turli kutubxonalarni o'rnatgan bo'lishi mumkin). Shunday qilib, agar skript python-so'rovlari haqida xato qilsa, uni tuzatish oson.

bu buyruqni CLIga kiriting: python -m pip o'rnatish so'rovlari

va siz yaxshi bo'lishingiz kerak.

Umid qilamanki, bu tezda tuzatish edi va ehtimol, bir kun kelib, men uni yaxshiroq tozalash ustida ishlashim mumkin.

Yangilanish (2020 yil 6 -oktabr) Github tortish so'rovi qabul qilindi, asl CyntechUK asl ombori endi bu skriptni o'z ichiga oladi. https://github.com/CyntechUK/WeatherHAT Boeerb foydalanuvchisi hozirda ko'rsatilmagan ba'zi shartlarni, shuningdek foydalanish uchun boshqa g'oyalarni ko'rsatish bo'yicha ba'zi fikrlarga ega. Shunday qilib, bu omborni kuzatib boring. Va umid qilamanki, voqealar sodir bo'ladi.

Yangilanish: (8 -oktabr, 2020 -yil) Ochiq ob -havo xaritasida APIni sozlash va ishlatish bo'yicha qisqa qo'llanma mavjud, https://openweathermap.org/appid Boshlash uchun yaxshi joy.

Tavsiya: