Isi kandungan:
- Langkah 1: Tetapkan Kad SD dan Raspberry PI
- Langkah 2: Siapkan Perpustakaan WeatherHAT
- Langkah 3: Memasang Weather-api dan Skrip GetWeather
- Langkah 4: Maklumat Dikemas kini Untuk: Openweathermap API
Video: Paparan Cuaca Sederhana Menggunakan Raspberry PI dan Cyntech WeatherHAT: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
* Pada tahun 2019 Yahoo mengubahnya API, dan ini berhenti berfungsi. Saya tidak menyedari perubahan itu. Pada bulan September 2020 projek ini telah dikemas kini untuk menggunakan OPENWEATHERMAP API Lihat bahagian yang dikemas kini di bawah ini, selebihnya maklumat ini masih bagus. Terima kasih kerana melihat, dan terima kasih kerana memberitahu saya mengenai perubahan Yahoo. *
Baru-baru ini saya memperoleh Cyntech WeatherHAT, tetapi saya sedikit kecewa dengan kekurangan perisian untuknya.
HAT itu sendiri nampaknya dibina dengan baik, dengan 6 LED biru dalam bentuk titisan hujan, 6 LED oren dalam bentuk petir petir, 6 LED putih dalam bentuk awan. 1 (Yang saya percaya adalah LED RGB) untuk SUN - ia memaparkan warna jingga (jadi saya mungkin salah kerana ia adalah RGB). Dan 6 LED WS2812 (Ini adalah RGB:-))
Cyntech memang mempunyai panduan untuk memulakan, dan walaupun itu bagus - senang memasang dan menggunakan HAT.
Oleh itu, saya terkejut kerana tidak benar-benar melihat perisian (selain demo yang disediakan oleh Cyntech). Saya sama-sama terkejut kerana tidak menemui orang yang benar-benar menggunakan ini - Mungkin orang mahukan paparan "mewah" dengan suhu, dan semua maklumat semacam itu. Bagi saya, senang melihat beberapa LED dan mengetahui - Hujan, atau Badai Petir, atau Mendung - Pada ketika itu jika saya memerlukan lebih banyak maklumat, saya dapat melihat tablet atau telefon saya.:-)
Sedikit lagi - ini adalah kali pertama saya menggunakan python, saya tidak mahir. Dan saya yakin bahawa orang yang benar-benar mengenali ular sawa akan memberitahu saya cara yang lebih baik untuk melakukan ini.
Mari kita mulakan:
Kami memerlukan kad SD (sekurang-kurangnya 8gb)
Raspberry PI (saya menggunakan Zero W) ia memerlukan akses internet.
dan kita memerlukan cuaca CyntechHAT
Sekiranya anda menggunakan Raspberry PI Zero W, anda juga perlu menyisipkan sekumpulan header ke papan.
Jika tidak, kemahiran yang diperlukan adalah kemampuan untuk menggunakan perisian dan menyediakan kad SD.
Langkah 1: Tetapkan Kad SD dan Raspberry PI
Anda perlu memuat turun Raspbian terbaru (pada masa yang boleh diarahkan ini iaitu Raspbian Stretch Mac 2018 (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Saya menggunakan edisi desktop, walaupun anda menjalankan setup saya tanpa kepala, dan melakukan banyak perkara dari CLI (antara muka baris perintah) melalui ssh.
Ikuti panduan persediaan yang terdapat di sini:
www.raspberrypi.org/documentation/installa…
Setelah Etcher selesai, keluarkan kad SD, dan masukkan semula ke dalam komputer.
* Anda benar-benar hanya perlu melakukan langkah ini di bawah jika anda berhasrat melakukan pemasangan tanpa kepala
Kita perlu menyiapkan SSH dan WIFI sebelum kita menggunakan kad SD di Raspberry PI. Dalam partition BOOT kad, buat fail bernama "ssh" tanpa tanda petik. tiada apa-apa yang ada dalam fail itu. Apabila PI boot, ia akan melihat fail itu, dan menghidupkan SSH.
Kita juga perlu membuat fail bernama "wpa_supplicant.conf". Kami perlu mengedit fail ini dengan tetapan wifi anda.
Ia kelihatan seperti ini:
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = 1 network = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* Anda benar-benar hanya perlu melakukan ini jika anda berhasrat melakukan pemasangan tanpa kepala
Setelah selesai, keluarkan kad SD dengan selamat dan masukkan ke Raspberry PI (pastikan tidak ada kuasa pada PI).
Pasang cuacaHAT, dan hidupkan Raspberry PI.
Langkah 2: Siapkan Perpustakaan WeatherHAT
Untuk langkah ini kita akan mengikuti Panduan Bermula yang dijumpai
guides.cyntech.co.uk/weatherhat/getting-sta…
JIKA anda melakukan pemasangan tanpa kepala, anda mahu ssh [email protected]
Sekiranya anda tidak mempunyai pelanggan ssh - PUTTY adalah bagus.
Sekiranya anda menggunakan papan kekunci dan monitor - panduan di atas bagus untuk diikuti, ia akan memulakan anda di desktop GUI.
Langkah penting di sini adalah memasang perpustakaan WS281x dan perpustakaan WeatherHAT, bersama dengan pergantungan untuk masing-masing.
sudo apt-get kemas kini
sudo apt-get upgrade -y sudo apt-get install build-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 scons cd python sudo python setup.py pasang
Sekarang kita perlu memastikan I2C dihidupkan.
sudo raspi-config
Panduan ini ditulis untuk versi raspi-config yang lebih lama dan mengatakan untuk pergi ke "Advanced Options" yang telah digantikan oleh saya percaya "Interfaces"
Sebaik sahaja anda menghidupkan I2C, anda perlu menghidupkan semula.
Kini tiba masanya untuk menguji HAT
cd WeatherHAT
sudo python cycle.py
Sekiranya semuanya berjalan lancar anda harus melihat semua ciri dan pelangi.
ctrl-z akan menghentikan program.
* Nota Khas: Saya mengetahui bahawa jangka masa Raspberry PI 3 berbeza dan pelangi mungkin tidak berfungsi dengan betul. JIKA anda mempunyai masalah ini di sini adalah cara memperbaikinya.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Setelah semuanya berfungsi, kita dapat terus ke langkah seterusnya.
Kemas kini: (6 Okt 2020) Repositori ini sekarang mengandungi skrip getWeather.py saya, ini adalah berita hebat, kerana minat telah mencetuskan lagi, dan perkara baru pasti akan berlaku.
Langkah 3: Memasang Weather-api dan Skrip GetWeather
Oleh itu, saya mengemukakan permintaan PULL ke CyntechUK untuk skrip saya - mudah-mudahan mereka akan menerima permintaan itu, dan anda boleh melangkau memuat turun repositori saya. (mereka mungkin tidak mahu memasukkan kod saya engkau)
(6 Okt 2020) Permintaan PULL telah disetujui, skrip getWeather saya kini disertakan dalam repositori Weatherhat.
********* Anda masih boleh menggunakan maklumat ini jika anda mahu, namun getWeather.py telah dimasukkan ke dalam repositori cuaca sekarang ******************* *****************
Tempat simpanan saya boleh didapati di sini:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
dan skrip saya dipanggil getWeather.py
JIKA mereka menerima permintaan tarik, anda sudah mempunyai skrip ini - jika tidak, anda perlu mengklon repositori.
dalam direktori rumah anda (/ rumah / pi) taip:
git klon https://github.com/kd8bxp/WeatherHAT.git getWeather
ini akan mengklon repositori ke dalam direktori bernama getWeather, seterusnya kita perlu memeriksa cawangan getWeather.
cd getWeather
git checkout getWeather
**********************************************************************
Anda perlu memasukkan ke direktori WeatherHAT yang telah diklon sebelumnya dan
Kami perlu mengedit skrip getWeather.py untuk lokasi anda.
nano getWeather.py
Anda harus melihat garis yang bermula dengan
lokasi dan diakhiri dengan pencarian (45042) - Ini adalah kod pos saya, saya dapati ia tidak berfungsi seperti yang anda fikirkan
dan garis tepat di atasnya yang dikomentari berfungsi lebih baik dengan nama bandar. Itulah yang mungkin anda mahu gunakan. Jadi Komen garis poskod (#) dan komen dan ubah nama bandar anda.
*********** MAKLUMAT YAHOO LAMA - Tidak diperlukan Lagi ***********
Kita perlu memasang satu lagi perpustakaan untuk berfungsi, cuaca-api yang merupakan pembungkus untuk API cuaca Yahoo.
pypi.python.org/pypi/weather-api/0.0.5
Pemasangannya mudah -
pip memasang cuaca-api
***********************************************************************************
Sekarang kita boleh menjalankan skrip:
sudo python getWeather.py &
& Akan membiarkan skrip berjalan di latar belakang. Skrip ini berlangsung selama kira-kira 5 minit, dan kemudian memeriksa Yahoo Weather jika ada yang berubah - jika demikian ia mengemas kini paparan. Masa 5 minit boleh diubah, ia berada di bahagian bawah skrip.
tidur (60 * 5)
Anda boleh menyiapkan tugas crontab (ingat ini perlu dijalankan sebagai root) yang akan memulakan skrip pada setiap boot.
gunakan:
sudo crontab -e
masukkan:
@reboot python /home/pi/weatherHAT/getWeather.py
Saya rasa itu mesti berfungsi - saya belum menyiapkan cron pada sistem saya.
Itu cukup banyak -
Seperti yang saya nyatakan ini adalah salah satu program python pertama saya, dan saya yakin seseorang yang mengetahui lebih banyak akan melihat cara yang lebih baik untuk melakukan ini.
Saya hanya melakukan ujian terhad ini - saya telah melihat "Salji" "Hujan" dan "Ribut Petir" setakat ini, Terdapat beberapa syarat yang saya belum pasti boleh dikendalikan - saya mengalu-alukan idea.
Langkah 4: Maklumat Dikemas kini Untuk: Openweathermap API
Pada bulan September 2020, saya mengemas kini skrip untuk menggunakan API
CATATAN: Ini adalah pembaikan "cepat" bagi saya, dan diuji terhad - (Ini telah mendung sejak beberapa hari kebelakangan ini, dan yang saya lihat hanyalah paparan awan dan hujan) - Walaupun saya percaya bahawa saya menangkap semua keadaan yang mudah paparan, ada kemungkinan saya merindui pasangan kerana "cepat" pembaikan ini dilakukan. Oleh itu, jika anda fikir ada masalah, sila tinggalkan komen dan masa membenarkan saya akan memeriksanya - atau cuba menunjuk anda ke arah yang betul. *
Anda perlu mendaftar kunci API menggunakan pautan di atas, apabila anda mengedit skrip untuk meletakkan bandar anda, anda akan melihat tempat untuk kunci tersebut. Cukup salin dan tampalkannya, dan anda pasti baik.
Catatan lain:
Skrip ini sekarang menggunakan maklumat "API data cuaca semasa" mengenai API itu boleh didapati di sini:
openweathermap.org/current Satu perkara yang perlu diperhatikan ialah anda boleh menggunakan bandar, negeri, dan negara.
IE: bandar "Dayton" menjadi "Dayton, OH, US" perhatikan bagaimana kod negara dan negara keduanya huruf besar, ini diperlukan. API mengatakan ia boleh menggunakan hanya "Dayton, OH" tetapi saya mendapat ralat dari skrip ketika saya melakukan ini - dan kerana ini adalah pembaikan cepat, saya belum meneliti alasannya. JADI, saya cadangkan menggunakan "bandar, negeri, negara"
JIKA atas sebab tertentu anda tidak mendapat maklumat yang baik menggunakan nama bandar, anda juga dapat mencari ID Bandaraya, atau menggunakan garis lintang dan garis bujur atau poskod. Dalam setiap kes, URL perlu diubah, jika anda mengklik pada pautan di sebelah kanan laman web API, ini akan memberikan contoh tentang URL yang seharusnya.
Anda juga perlu menukar URL dalam skrip.
Lebih banyak lagi nota: 3 Okt 2020
@Itsmedoofer menunjukkan bahawa mereka perlu memasang python-request perpustakaan dengan kemas kini baru. Saya tidak pasti bahawa saya memerlukannya, (mungkin juga saya memasangnya sejak bertahun-tahun yang lalu, atau versi python yang berbeza memasang perpustakaan yang berbeza secara lalai). Oleh itu, jika skrip memberikan ralat mengenai permintaan python, mudah untuk diperbaiki.
taip perintah ini ke dalam permintaan pemasangan pip CLI: python -m
dan anda semestinya baik.
Mudah-mudahan ini dapat dilakukan sejak ini, ini adalah penyelesaian yang cepat, dan mungkin satu hari yang memungkinkan saya dapat berusaha membersihkannya sedikit lebih baik.
Kemas kini (6 Okt 2020) Permintaan tarik github diterima, repositori asal CyntechUK yang asli kini merangkumi skrip ini. https://github.com/CyntechUK/WeatherHAT Pengguna Boeerb mempunyai beberapa idea mengenai cara memaparkan beberapa syarat yang tidak dipaparkan pada masa ini, serta beberapa idea lain untuk digunakan. Oleh itu, perhatikan repositori itu. Dan semoga perkara akan berlaku.
Kemas kini: (8 Okt 2020) Open Weather Map mempunyai tutorial ringkas mengenai penyediaan dan penggunaan API, https://openweathermap.org/appid Tempat yang baik untuk bermula.
Disyorkan:
Waktu Paparan Arduino pada Paparan LED TM1637 Menggunakan RTC DS1307: 8 Langkah
Waktu Paparan Arduino pada Paparan LED TM1637 Menggunakan RTC DS1307: Dalam tutorial ini kita akan belajar bagaimana memaparkan waktu menggunakan modul RTC DS1307 dan Paparan LED TM1637 dan Visuino. Tonton video
Paparan LCD I2C / IIC - Gunakan LCD SPI ke Paparan LCD I2C Menggunakan Modul SPI hingga IIC Dengan Arduino: 5 Langkah
Paparan LCD I2C / IIC | Gunakan LCD SPI ke Paparan LCD I2C Menggunakan Modul SPI hingga IIC Dengan Arduino: Hai kawan kerana SPI LCD 1602 biasa mempunyai terlalu banyak wayar untuk disambungkan sehingga sangat sukar untuk menghubungkannya dengan arduino tetapi ada satu modul yang tersedia di pasaran yang boleh menukar paparan SPI menjadi paparan IIC jadi anda hanya perlu menyambungkan 4 wayar
Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar)
Stesen Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stesen Cuaca yang Lain Sesuai): Semasa saya membeli stesen cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya semasa saya tiada. Semasa saya pulang dan menyiapkannya, saya menyedari bahawa saya mesti mempunyai paparan yang disambungkan ke komputer atau membeli hab pintar mereka
Suhu Paparan pada Modul Paparan LED P10 Menggunakan Arduino: 3 Langkah (dengan Gambar)
Suhu Paparan pada Modul Paparan LED P10 Menggunakan Arduino: Dalam tutorial sebelumnya telah diberitahu bagaimana cara memaparkan teks pada Modul P10 Paparan LED Dot Matrix menggunakan Konektor Arduino dan DMD, yang dapat anda periksa di sini. Dalam tutorial ini kita akan memberikan tutorial projek yang mudah dengan menggunakan modul P10 sebagai tampilan med
Teks Paparan pada Paparan LED P10 Menggunakan Arduino: 5 Langkah (dengan Gambar)
Teks Paparan di Paparan LED P10 Menggunakan Arduino: Dotmatrix Display atau lebih sering disebut sebagai Running Text sering dijumpai di kedai sebagai alat untuk mengiklankan produk mereka, praktikal dan fleksibel dalam penggunaannya yang mendorong pelaku perniagaan menggunakannya sebagai nasihat iklan. Kini penggunaan Dot