Isi kandungan:

Stesen Cuaca Internet Raspberry Pi: 5 Langkah (dengan Gambar)
Stesen Cuaca Internet Raspberry Pi: 5 Langkah (dengan Gambar)

Video: Stesen Cuaca Internet Raspberry Pi: 5 Langkah (dengan Gambar)

Video: Stesen Cuaca Internet Raspberry Pi: 5 Langkah (dengan Gambar)
Video: Tutorial Internet of Things pada Raspberry PI dan NodeMCU: Part 1 - Hardware dan Dasar Pemrograman 2024, Julai
Anonim
Stesen Cuaca Internet Raspberry Pi
Stesen Cuaca Internet Raspberry Pi
Stesen Cuaca Internet Raspberry Pi
Stesen Cuaca Internet Raspberry Pi

*** Kemas kini ***

Instructable ini telah ketinggalan zaman. Perkhidmatan cuaca untuk data cuaca, yang digunakan dalam Instructable ini, tidak lagi berfungsi. Walau bagaimanapun, ada projek alternatif yang pada dasarnya melakukan perkara yang sama (hanya lebih baik - Instructable ini selalu hanya hack). Jadi, inilah pautan yang ingin anda ikuti:

https://piweatherrock.technicalissues.us/

Terima kasih banyak pergi ke Gene Liverman di PiWeatherRock kerana mengambil bahagian dalam projek ini.

Instructable ini akan menunjukkan kepada anda cara membina stesen cuaca berasaskan Raspberry Pi yang sangat hebat. Sebenarnya, untuk memanggil bangunan ini sebagai "stesen cuaca" adalah sedikit pernyataan yang kurang jelas. Bangunan ini dapat diperluas dengan mudah untuk memberikan lebih banyak daripada sekadar cuaca. Walau bagaimanapun, ia adalah permulaan yang baik dan kelihatan sangat keren di meja saya.

Keluarga kami (OK, kebanyakan saya) telah menikmati iPad keluarga di kaunter dapur, ketika tidak digunakan, dengan tenang menunjukkan keadaan cuaca di luar semasa. Walau bagaimanapun, sangat menyakitkan untuk memuat dan memunggah iPad masuk dan keluar dari casing buaian arked. Selain itu, ketika saya melihat cuaca, saya dapati seseorang telah mengambil paparan iPad / cuaca. Apa yang diperlukan adalah paparan counter-top yang tetap bahawa anak-anak tidak akan meleret seperti iPad.

Langkah 1: Gen 1 - Stesen Cuaca Lunchbox Pi

Gen 1 - Stesen Cuaca Lunchbox Pi
Gen 1 - Stesen Cuaca Lunchbox Pi
Gen 1 - Stesen Cuaca Lunchbox Pi
Gen 1 - Stesen Cuaca Lunchbox Pi

Pemikiran pertama saya adalah menggunakan paparan video komposit. Saya mengambil gambar yang ada di Ebay dengan harga $ 22 dolar - hanya cari di "4.3 Inch TFT LCD Car Rear View Monitor Monitor Car Monitor". Paparan mempunyai resolusi yang dilaporkan 656 x 416 piksel yang menantang menjadikan paparan banyak maklumat berguna sebagai cabaran! Paparan memerlukan 12Vdc sebagai voltan bekalan. Raspberry Pi, tentu saja, memerlukan 5Vdc sebagai voltan bekalan. Untuk menyelesaikannya, saya membeli pengecas kereta USB yang murah dari Amazon. Dengan harga sekitar $ 6 dolar, saya dapati penukar kereta 5Vdc by 2 Amp. Oleh itu, kotak makan tengah hari mempunyai bekalan kuasa kutil dinding 12Vdc luaran. 12Vdc mengaktifkan paparan secara langsung. 12Vdc juga menuju ke pengecas kereta USB yang menurunkan voltan ke 5Vdc yang dikawal selia. Sebagai penggodam terakhir, saya memasangkan sepasang wayar secara langsung antara pengecas kereta dan Raspberry Pi - bukan idea terbaik saya.

Walaupun semuanya berfungsi, saya tidak begitu berpuas hati dengan kualiti video pada paparan komposit. Font kecil di paparan lebih kabur daripada yang saya mahukan. Selain itu, sementara kotak makan tengah hari pada mulanya kelihatan comel kemudian kelihatannya agak murahan.

Langkah 2: Gen 2 - Monitor HDMI + Laser Cut Plexiglass Arcade Case

Gen 2 - Monitor HDMI + Laser Cut Plexiglass Arcade Case
Gen 2 - Monitor HDMI + Laser Cut Plexiglass Arcade Case
Gen 2 - Monitor HDMI + Kes Pemotongan Laser Plexiglass Arcade
Gen 2 - Monitor HDMI + Kes Pemotongan Laser Plexiglass Arcade
Gen 2 - Monitor HDMI + Laser Cut Plexiglass Arcade Case
Gen 2 - Monitor HDMI + Laser Cut Plexiglass Arcade Case

Kembali ke eBay saya menjumpai monitor bingkai terbuka HDMI bernilai $ 54 dolar dengan paparan 800x600. Secara definisi, bingkai terbuka apa pun memerlukan bingkai untuk dipasang. Oleh kerana kelucuan kotak makan tengah hari sudah lama, sudah tiba masanya beberapa akrilik memotong laser. Ruang penggodam tempatan saya i3Detroit mempunyai pemotong 150 watt yang sangat bagus yang dapat membuat daging cincang 4.5 mm akrilik.

Saya meletakkan kotak arked saya secara longgar pada kotak arked iPad. Sekiranya saya pernah membuat reka bentuk Gen 3, pasti akan menyertakan dulang yang boleh ditanggalkan / diluncurkan untuk Pi. Ternyata, ini adalah sakit besar di leher ketika mencuba memasukkan barang ke dalam dan ke luar Pi kerana tidak banyak ruang di antara Pi dan dinding sisi.

Monitor HDMI juga memerlukan suapan 12Vdc. Jadi, saya menggunakan cara yang sama untuk menggunakan pengecas kereta USB sekali lagi. Namun, kali ini, saya memotong kabel USB lama sehingga kabel pemateri pada Pi tidak diperlukan.

Sekiranya ada yang berminat dengan arked, hantar komen di bawah dan saya akan memuat naik fail DXF. Atau, failnya ada di laman web saya di ph-elec.com.

Langkah 3: Persediaan Pi

Persediaan Pi
Persediaan Pi

Untuk menyiapkan Raspberry Pi baru dengan perisian yang diperlukan tidaklah sukar. Semua perisian ditulis dalam Python dengan hanya satu modul Python yang ditambahkan. Modul Python tambahan dipanggil "pywapi". Berikut adalah pautan di mana anda boleh memuat turun modul. Modul ini memudahkan anda mendapatkan cuaca masa nyata dari Yahoo, Weather.com atau NOAA.

Perkara pertama yang pertama, berikut adalah senarai semak untuk menyediakan Raspberry Pi mentah:

  1. Muat turun Raspbian terbaru (Debian Wheezy). Buka zip untuk mendapatkan fail.img.
  2. Tulis ke kad SD dengan "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of = / dev / sdb"
  3. Perintah dd memakan masa sekitar lima minit. Setelah selesai, jalankan "sync" untuk menyiram paip.
  4. Pasang kad SD di Pi dan but semula. Pastikan ada sambungan Ethernet ke Pi.
  5. Dengan menggunakan halaman "Attached Devices" pada penghala, cari alamat IP Pi baru.
  6. Log masuk ke Pi menggunakan "ssh [email protected]. ???" di mana ??? adalah nombor IP dari atas. Kata laluan akan menjadi "raspberry".
  7. Pada Pi, gunakan perintah "raspi-config" untuk menetapkan lalai.

    1. Hidupkan but automatik ke GUI.
    2. Tetapkan nama hos ke sesuatu seperti "MyPi".
  8. Pasang VNC pada Pi dengan "sudo apt-get install tightvncserver".

    Jalankan "tightvncserver" yang menetapkan kata laluan

  9. Kembali ke kotak Linux yang besar, gunakan "Remote Desktop" untuk melihat desktop Pi GUI.

    1. Tetapkan Protokol ke "VNC" dan nombor IP ke "192.168.1.???". Perhatikan ": 1" di hujung nombor IP.
    2. Tekan butang sambung dan berikan kata laluan VNC.
    3. Bingo, desktop GUI Pi yang jauh!

      Ini menjimatkan menyeret monitor, papan kekunci, dan tetikus untuk menyambung ke Pi baru

    4. Di desktop, jalankan ikon persediaan WiFi. Sediakan WiFi Pi / USB baru untuk menyambung ke rangkaian.
    5. Tutup sambungan VNC - kami kini sudah selesai dengan desktop jauh.
  10. Kembali ke tetingkap ssh, reboot Pi dengan "sudo reboot". Putuskan sambungan kabel Ethernet kerana WiFi kini disiapkan.
  11. Kembali ke penghala rumah, cari nombor IP baru yang digunakan Pi dengan WiFi.
  12. Dengan menggunakan ssh, log masuk menggunakan nombor IP baru. Kali ini sambungan akan melalui WiFi.
  13. Dengan menggunakan File Manger di Linux, sambungkan ke Pi menggunakan perintah "sambungkan ke pelayan".

    Alamat pelayan adalah "sftp: //192.168.1. ??? / home / pi"

  14. Penyediaan asas selesai.

Seterusnya, pywapi perlu dimuat turun dan dipasang. Sekali lagi, ini tidak terlalu sukar dengan langkah-langkah berikut:

  1. Muat turun yang terkini dari sini. Ekstrak arkib ke direktori baru.
  2. Dengan menggunakan File Manger, salin direktori ke direktori utama Pi.
  3. Dengan menggunakan ssh, lakukan perkara berikut pada Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py pasang
  4. Selesai.

Kemas kini, saya lupa dua menyebut dua perkara lain:

  1. Pada Pi jalankan arahan berikut:

    1. sudo apt-get install avahi-daemon

      Ini membolehkan menyambung ke Pi dengan nama. Jadi, pada komputer utama anda boleh menyambung sebagai "ssh [email protected]" dan bukannya menggunakan nombor IP. Dengan banyak Pi di rangkaian, mudah membuat mereka keliru kecuali disebut dengan nama

    2. sudo raspi-config

      1. Cari dan jalankan pilihan ke-4 yang disebut "Pengantarabangsaan Pilihan" dan tetapkan zon waktu anda.
      2. Dengan zona waktu yang ditetapkan dan ntpd (daemon protokol masa rangkaian) menjalankan Pi akan sentiasa menunjukkan masa yang tepat dalam beberapa milisaat! Harus menyukainya.
  2. OK, sekarang kita selesai lagi.

Langkah 4: Kod Sumber

Kod sumber
Kod sumber

Semua kod sumber untuk paparan cuaca kecil ini berdasarkan pada Python, PyGame, dan Pywapi. Semua perisian sumber terbuka / percuma.

PyGame digunakan untuk melakukan semua perkara GUI. Perkara yang sangat mengagumkan. Menggunakan PyGame, keseluruhan paparan dibina semula sekali sesaat. Di bahagian atas kod sumber saya, anda akan menemui bahagian yang membolehkan penyesuaian untuk ukuran paparan yang berbeza. Terdapat satu bahagian untuk paparan video komposit kecil dan bahagian kedua untuk paparan HDMI yang lebih besar. Saya hanya mengulas salah satu daripada dua bahagian berdasarkan ukuran paparan yang saya perlukan.

Untuk menjalankan kod sumber saya, hanya buka zip lampiran dan salin keseluruhan direktori ke Pi menggunakan File Manage. Setelah disalin, mulakan kod menggunakan perintah ssh berikut:

  1. cd Cuaca
  2. sudo python weather.py

Perintah sudo diperlukan agar Python dapat mengawal / membaca pin GPIO. Mungkin ada jalan keluar dari sekatan ini tetapi ia menghindarkan saya.

Setelah semuanya berfungsi menggunakan ssh, sudah tiba masanya cuaca bermula dengan reboot secara automatik. Ini juga sangat mudah dilakukan.

  1. Dengan menggunakan ssh, jalankan "sudo vi /etc/rc.local"
  2. Tepat sebelum baris terakhir, yang mengatakan "keluar 0", tambahkan yang berikut ke baris.

    1. cd / rumah / pi / Cuaca
    2. sudo python weather.py &> err.log

Ini secara automatik akan memulakan aplikasi cuaca pada Pi setelah reboot. Sekiranya kemudian anda ingin mematikannya, cukup gunakan ssh untuk mengedit fail dan tambahkan watak komen "#" di hadapan kedua baris dan but semula.

Perhatikan, kod sumber saya adalah peretasan besar dan saya tidak begitu bangga dengannya. Tetapi, jika saya menunggu sehingga dapat dipersembahkan, ia tidak akan pernah dipersembahkan. Jadi, ambil atau tinggalkan saja jangan menangis kerana saya mempunyai kulit yang sangat nipis.

Beberapa perkara lain yang perlu diberi perhatian mengenai kod saya. Dikebumikan di sana anda akan melihat beberapa kod untuk bercakap dengan peranti X10. Ini adalah usaha saya untuk mengawal lampu tiang luar saya yang terdapat di alamat A3. Saya hanya mahu lampu menyala pada waktu senja dan padam pada waktu subuh. Nampaknya cukup mudah dan saya fikir saya berjaya. Menggunakan dongle USB-ke-RS232 pada Pi saya telah menghubungkan modul CM11A X10. CM11A adalah modul makro X10 lama. CM11A juga mempunyai port RS232 yang membolehkan kawalan bas X10. Nampaknya masih ada bug kerana lampu tiang lampu tidak mendapat mesej!

Juga diperhatikan, pada paparan yang lebih besar terdapat celah terbuka yang bagus di sebelah kanan paparan. Rancangan saya adalah menambah beberapa lampu status di kawasan itu. Saya bermain dengan beberapa radio IEEE802.15.4 dan outputnya suatu hari akan muncul di tempat terbuka itu.

Untuk kemas kini terkini dan terhebat, sila lawati laman web saya di ph-elec.com.

Baiklah, beritahu saya di bahagian komen di bawah sebarang pertanyaan yang anda ada.

Terima kasih, Jim.

Oh, dan jangan lupa untuk memilih saya! Terima kasih sekali lagi.

BTW: Selalu ada lebih banyak maklumat di laman web saya: www.ph-elec.com

Langkah 5: Kemas kini Metrik

Dilampirkan adalah versi baru yang membolehkan paparan metrik atau imperial.

Semoga ini dapat membantu, Jim

Disyorkan: