Სარჩევი:

მარტივი ამინდის ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით: 4 ნაბიჯი
მარტივი ამინდის ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით: 4 ნაბიჯი

ვიდეო: მარტივი ამინდის ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით: 4 ნაბიჯი

ვიდეო: მარტივი ამინდის ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით: 4 ნაბიჯი
ვიდეო: MSC Meraviglia Full Ship Tour Tips Tricks & Review Award Winning Cruise Ship Vista Project 2024, სექტემბერი
Anonim
ამინდის მარტივი ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით
ამინდის მარტივი ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით
ამინდის მარტივი ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით
ამინდის მარტივი ჩვენება ჟოლოს PI და Cyntech WeatherHAT გამოყენებით

* 2019 წელს Yahoo– მ შეცვალა თავისი API და ამან შეწყვიტა მუშაობა. მე არ ვიცოდი ცვლილების შესახებ. 2020 წლის სექტემბერში ეს პროექტი განახლდა OPENWEATHERMAP API გამოსაყენებლად იხილეთ ქვემოთ განახლებული განყოფილება, თუმცა დანარჩენი ეს ინფორმაცია მაინც კარგია. მადლობა ყურებისთვის და მადლობა Yahoo ცვლილების შესახებ შემატყობინე. *

ცოტა ხნის წინ შევიძინე Cyntech WeatherHAT, მაგრამ ცოტა იმედგაცრუებული დავრჩი პროგრამული უზრუნველყოფის ნაკლებობით.

ქუდი, როგორც ჩანს, კარგად არის აგებული, 6 ცისფერი LED- ი წვიმის წვეთების სახით, 6 ნარინჯისფერი LED- ები ჭექა-ქუხილის სახით, 6 თეთრი LED- ები ღრუბლის სახით. 1 (რაც მე მჯერა არის RGB LED) მზისთვის - ის აჩვენებს ფორთოხალს (ასე რომ მე შეიძლება ვცდები, რომ ის არის RGB). და 6 WS2812 LED (ეს არის RGB:-))

Cyntech– ს აქვს დაწყების სახელმძღვანელო და ესეც კარგია - ადვილია HAT– ის დაყენება და გამოყენება.

ასე რომ, მე უბრალოდ გამიკვირდა, რომ მე ნამდვილად ვერ ვნახე რაიმე პროგრამული უზრუნველყოფა (სხვა Cyntech– ის მიერ მოწოდებული დემო). მეც გამიკვირდა, რომ ვერავინ ვიპოვე ეს ნამდვილად - იქნებ ადამიანებს სურთ "ლამაზი" ჩვენება ტემპერატურით და ყველა ამ სახის ინფორმაცია. ჩემთვის სასიამოვნოა მხოლოდ რამდენიმე LED- ის დათვალიერება და იცოდე - წვიმს, ან ჭექა -ქუხილი, ან მოღრუბლული - იმ მომენტში, თუ მეტი ინფორმაცია დამჭირდება, შემიძლია შევხედო ჩემს ტაბლეტს ან ტელეფონს.:-)

ცოტა მეტი - ეს მართლაც პირველად მე ვიყენებ პითონს, მე არავითარ შემთხვევაში არ ვარ კარგი. და დარწმუნებული ვარ, რომ ადამიანები, რომლებიც ნამდვილად იცნობენ პითონს, უკეთეს გზას მეუბნებიან ამის გასაკეთებლად.

Დავიწყოთ:

ჩვენ გვჭირდება SD ბარათი (მინიმუმ 8 გბ)

ჟოლოს PI (მე ვიყენებ Zero W- ს) მას უნდა ჰქონდეს ინტერნეტი.

და ჩვენ გვჭირდება Cyntech weatherHAT

თუ თქვენ იყენებთ Raspberry PI Zero W თქვენ ასევე უნდა შეგეძლოთ შეაერთოთ სათაურები დაფაზე.

წინააღმდეგ შემთხვევაში საჭირო უნარებია პროგრამული უზრუნველყოფის გამოყენების და SD ბარათის დაყენების შესაძლებლობა.

ნაბიჯი 1: დააყენეთ SD ბარათი და ჟოლოს PI

დააყენეთ SD ბარათი და ჟოლოს PI
დააყენეთ SD ბარათი და ჟოლოს PI
დააყენეთ SD ბარათი და ჟოლოს PI
დააყენეთ SD ბარათი და ჟოლოს 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 ქსელი = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}

* თქვენ ნამდვილად გჭირდებათ ამის გაკეთება, თუ თქვენ აპირებთ უთავო ინსტალაციის გაკეთებას

მას შემდეგ რაც გაკეთდება, უსაფრთხოდ ამოიღეთ SD ბარათი და ჩადეთ ჟოლოს PI (დარწმუნდით, რომ PI- ზე არ არის ძალა).

მიამაგრეთ weatherHAT და ჩართეთ ჟოლოს PI.

ნაბიჯი 2: შექმენით WeatherHAT ბიბლიოთეკები

შექმენით WeatherHAT ბიბლიოთეკები
შექმენით WeatherHAT ბიბლიოთეკები
შექმენით WeatherHAT ბიბლიოთეკები
შექმენით WeatherHAT ბიბლიოთეკები

ამ ნაბიჯისათვის ჩვენ მივყვებით ნაპოვნი დაწყების სახელმძღვანელოს

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

თუ თქვენ აკეთებთ უთავო ინსტალაციას, მოისურვებთ ssh [email protected]

თუ არ გაქვთ ssh კლიენტი - PUTTY კარგია.

თუ თქვენ იყენებთ კლავიატურას და მონიტორს - ზემოთ მოცემული სახელმძღვანელო კარგია, ის იწყება GUI დესკტოპზე.

აქ მნიშვნელოვანი ნაბიჯებია WS281x ბიბლიოთეკის და WeatherHAT ბიბლიოთეკების დაყენება, თითოეულზე დამოკიდებულებასთან ერთად.

sudo apt-get განახლება

sudo apt-get განახლება -y sudo apt-get ინსტალაცია-არსებითი 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- ის უფრო ძველი ვერსიისთვის და ამბობს goto to "Advanced Options" რომელიც შეიცვალა მე მჯერა "Interfaces"

I2C ჩართვის შემდეგ თქვენ უნდა გადატვირთოთ.

ახლა დროა შეამოწმოთ HAT

cd WeatherHAT

sudo python cycle.py

თუ ყველაფერი კარგად წავიდა, თქვენ უნდა ნახოთ ყველა თვისება და ცისარტყელა.

ctrl-z შეწყვეტს პროგრამას.

*სპეციალური შენიშვნები: გავიგე, რომ ჟოლოს PI 3 დრო განსხვავებულია და ცისარტყელა შეიძლება არ იმუშაოს სწორად. თუ თქვენ გაქვთ ეს პრობლემა აქ არის როგორ გაასწორონ ის.

github.com/CyntechUK/WeatherHAT/issues/3

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

როდესაც ყველაფერი მუშაობს, ჩვენ შეგვიძლია გავაგრძელოთ შემდეგი ნაბიჯი.

განახლება: (6 ოქტომბერი, 2020)

ნაბიჯი 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 სკრიპტი ახლა შედის ამინდის პროგნოზში.

********* მაინც შეგიძლიათ გამოიყენოთ ეს ინფორმაცია, თუ გნებავთ, თუმცა getWeather.py შეტანილია ამინდის ამინდის საცავში ახლა ******************* ******************

ჩემი საცავი შეგიძლიათ იხილოთ აქ:

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

და ჩემს სკრიპტს ეწოდება getWeather.py

თუ ისინი მიიღებენ გაყვანის მოთხოვნას, თქვენ უკვე გექნებათ ეს სკრიპტი - წინააღმდეგ შემთხვევაში თქვენ დაგჭირდებათ საცავის კლონირება.

თქვენს სახლის დირექტორიაში (/home/pi) ჩაწერეთ:

git კლონი https://github.com/kd8bxp/WeatherHAT.git getWeather

ეს იქნება კლონირების საცავი დირექტორიაში სახელწოდებით getWeather, შემდეგ ჩვენ უნდა შევამოწმოთ getWeather ფილიალი.

cd getWeather

git checkout getWeather

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

თქვენ დაგჭირდებათ cd weatherHAT დირექტორიაში, რომელიც ადრე იყო კლონირებული და

ჩვენ უნდა შევცვალოთ getWeather.py სკრიპტი თქვენი მდებარეობისთვის.

nano getWeather.py

თქვენ უნდა ნახოთ ხაზი, რომელიც იწყება

ადგილმდებარეობა და მთავრდება საძიებელით (45042) - ეს არის ჩემი საფოსტო კოდი, მე აღმოვაჩინე, რომ ის არ მუშაობს ისე კარგად, როგორც თქვენ გგონიათ

და ხაზი მის ზემოთ, რომელიც გამოთქმულია, უკეთესად მუშაობს ქალაქის სახელთან. ეს არის ის, რომ თქვენ ალბათ გსურთ გამოიყენოთ. ასე რომ დაწერეთ კომენტარი საფოსტო კოდზე (#) და დატოვეთ კომენტარი და შეცვალეთ თქვენი ქალაქის სახელი.

*********** ძველი YAHOO ინფორმაცია - აღარ არის საჭირო ***********

ჩვენ გვჭირდება კიდევ ერთი ბიბლიოთეკის დაყენება, რომ ის იმუშაოს, weather-api, რომელიც არის Yahoo ამინდის API– ს შესაფუთი.

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 ჩემს სისტემაზე.

ეს საკმაოდ ბევრია -

როგორც აღვნიშნე, ეს არის ჩემი ერთ – ერთი პირველი პითონის პროგრამა და დარწმუნებული ვარ, რომ ვინც უფრო მეტს იცნობს, დაინახავს ამის უკეთეს გზას.

მე მხოლოდ შეზღუდული ტესტირება გავაკეთე ამაზე - მე აქამდე მინახავს "თოვლი" "წვიმა" და "ჭექა -ქუხილი", არის პირობები, რომელთა შესახებ ჯერ არ ვიცი როგორ გავუმკლავდე - მივესალმები იდეებს.

ნაბიჯი 4: განახლებული ინფორმაცია: Openweathermap API

2020 წლის სექტემბერში განვაახლე სკრიპტი, რომ გამოვიყენო https://openweathermap.org API.

შენიშვნა: ეს იყო ჩემთვის "სწრაფი" გამოსავალი და შეზღუდული ტესტირება - (ბოლო რამდენიმე დღის განმავლობაში მოღრუბლული იყო და რასაც ვხედავ მხოლოდ ღრუბლისა და წვიმის ჩვენებაა) - მიუხედავად იმისა, რომ მე მჯერა, რომ დავიჭირე ყველა ის პირობა, რაც ადვილია ჩვენება, ეს შესაძლებელია, რომ მე მენატრება წყვილი იმის გამო, თუ რამდენად "სწრაფად" გაკეთდა ეს გამოსწორება. როგორც ითქვა, თუ ფიქრობთ, რომ არსებობს პრობლემა, გთხოვთ დატოვეთ კომენტარი და დრო დაუშვებს, მე ამას ჩავხედავ - ან შეეცადეთ მიუთითოთ თქვენ სწორი მიმართულებით. *

თქვენ უნდა დარეგისტრირდეთ API ღილაკზე ზემოთ მოცემული ბმულის გამოყენებით, როდესაც თქვენ სკრიპტს შეცვლით თქვენი ქალაქის განთავსებისთვის, თქვენ ნახავთ ადგილს გასაღებისთვის. უბრალოდ დააკოპირეთ და ჩასვით და თქვენ კარგად იქნებით.

სხვა შენიშვნები:

ეს სკრიპტი იყენებს "მიმდინარე ამინდის მონაცემების API" ინფორმაციას ამ API– ს შესახებ აქ:

openweathermap.org/current ერთი რამ უნდა აღინიშნოს, რომ თქვენ შეგიძლიათ გამოიყენოთ ქალაქი, შტატი და ქვეყანა.

IE: ქალაქი "დეიტონი" ხდება "დეიტონი, ოჰ, აშშ" შეამჩნიეთ, თუ როგორ არის სახელმწიფო და ქვეყნის კოდები ორივე დიდი, ეს აუცილებელია. API ამბობს, რომ მას შეუძლია გამოიყენოს მხოლოდ "დეიტონი, ოჰ", მაგრამ მე მივიღე შეცდომები სკრიპტიდან, როდესაც ეს გავაკეთე - და რადგან ეს იყო სწრაფი გამოსწორება, მე არ განვიხილე რატომ. ასე რომ, მე გირჩევთ გამოიყენოთ "ქალაქი, სახელმწიფო, ქვეყანა"

თუ რაიმე მიზეზის გამო არ იღებთ კარგ ინფორმაციას ქალაქის სახელის გამოყენებით, ასევე შეგიძლიათ მოიძიოთ ქალაქის ID, ან გამოიყენოთ გრძედი და გრძედი ან საფოსტო კოდი. თითოეულ შემთხვევაში URL უნდა შეიცვალოს, თუ დააწკაპუნებთ ბმულს API ვებსაიტის მარჯვენა მხარეს, ის მოგცემთ მაგალითს, თუ როგორი უნდა იყოს URL.

თქვენ უნდა შეცვალოთ URL სკრიპტშიც.

კიდევ უფრო მეტი შენიშვნა: 3 ოქტომბერი, 2020 წ

@Itsmedoofer– მა აღნიშნა, რომ მათ სჭირდებათ ბიბლიოთეკის პითონის მოთხოვნების დაყენება ახალი განახლებით. დარწმუნებული არ ვარ, რომ ეს მჭირდებოდა (ასევე შესაძლებელია, რომ წლების წინ მქონდეს დაინსტალირებული, ან პითონის სხვადასხვა ვერსიები სხვადასხვა ბიბლიოთეკას სტანდარტულად აყენებდეს). ასე რომ, თუ სკრიპტი იძლევა შეცდომას პითონის მოთხოვნებთან დაკავშირებით, მისი გამოსწორება მარტივია.

ჩაწერეთ ეს ბრძანება CLI– ში: python -m pip ინსტალაციის მოთხოვნები

და შენ კარგი უნდა იყო

ვიმედოვნებთ, რომ ეს მას შემდეგ არის, ეს იყო სწრაფი გამოსწორება და შესაძლოა ერთ დღესაც ნებართვით შემეძლოს ვიმუშაო მის გაწმენდაზე უკეთესად.

განახლება (6 ოქტომბერი, 2020) github– ის მოთხოვნა მიღებულია, CyntechUK– ის ორიგინალური საცავი ახლა მოიცავს ამ სკრიპტს. https://github.com/CyntechUK/WeatherHAT მომხმარებელს ბოერბს აქვს გარკვეული იდეები, თუ როგორ უნდა აჩვენოს ზოგიერთი პირობა, რომელიც ამჟამად არ არის ნაჩვენები, ისევე როგორც გამოყენების სხვა იდეები. ასე რომ თვალი ადევნეთ იმ საცავს. და იმედია მოვლენები მოხდება.

განახლება: (2020 წლის 8 ოქტომბერი) ღია ამინდის რუქას აქვს მოკლე სახელმძღვანელო API– ს დაყენებისა და გამოყენების შესახებ, https://openweathermap.org/appid დასაწყებად კარგი ადგილი.

გირჩევთ: