Daftar Isi:

Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!: 6 Langkah (dengan Gambar)
Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!: 6 Langkah (dengan Gambar)

Video: Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!: 6 Langkah (dengan Gambar)

Video: Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!: 6 Langkah (dengan Gambar)
Video: 6 TANDA TERNYATA ANDA BUKAN PEMALAS,TAPI LELAH SECARA MENTAL 2024, November
Anonim
Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!
Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!
Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!
Menjaga Bayi Anda Tetap Sejuk Musim Panas Ini - Mengontrol Penggemar Bodoh Dengan Hal-Hal Cerdas!

Pada dua minggu yang lalu pada saat menulis ini, saya menjadi ayah dari bayi laki-laki yang luar biasa!

Dengan perubahan musim, hari-hari semakin panjang dan suhu semakin hangat, saya pikir akan lebih baik untuk memiliki semacam monitor di kamar bayi untuk memeriksa seberapa panas di sana!

Saya belum pernah bermain-main dengan banyak python selama bertahun-tahun tetapi ingin kembali ke sana sejak tahun pertama saya di universitas hampir 5 tahun yang lalu sekarang! Karena itu saya pikir akan lebih baik untuk mendokumentasikan apa yang saya lakukan, untuk membantu saya nanti, juga membantu orang lain yang ingin melakukan hal yang sama!

Menggunakan Raspberry pi, Enviro pHAT, dan colokan kasa TP-link pintar, Anda dapat mengontrol colokan menggunakan kerangka kerja IFTTT! ini sangat mudah dilakukan dan Anda bahkan dapat memodifikasi panduan ini untuk mengontrol apa pun melalui berbagai sensor dan perangkat berbeda! Semoga Anda menemukan ini berguna. Jika Anda menyukai instruksi ini, jangan lupa untuk memilih kiriman saya dalam kontes sensor!:D (maaf bertanya), ini pertama kalinya saya melakukan ini dan ingin memiliki kemungkinan memenangkan sesuatu untuk semua waktu yang saya lakukan

** EDIT ** Selama beberapa hari ke depan saya akan melihat mendorong data ini ke papan Grafana, jika menurut Anda ini akan baik, beri tahu!:D

Mari kita langsung ke dalamnya…

Perlengkapan

  1. Pi Raspberry apa pun akan melakukannya tetapi saya memilih Zero W karena itulah yang harus saya berikan dalam undian saya, ia juga memiliki faktor bentuk terkecil juga dengan WiFi diaktifkan secara default! - Raspberry PI Nol dengan
  2. Kartu SD, setiap orang memiliki preferensi berbeda dalam hal ini, tetapi saya menggunakan salah satunya! - Kartu Micro-SD
  3. Jika Anda buntu, berikut adalah dokumentasi resmi yang didukung untuk kartu SD -kartu SD yang didukung resmi
  4. Kabel jumper (akan dijelaskan nanti) - Kabel jumper
  5. Enviro pHAT untuk semua sensor yang luar biasa! - Envrio-pHAT
  6. Steker pintar, saya telah menggunakan TP-Link karena Anda tidak memerlukan hub mewah untuk membuatnya bekerja di luar kotak! - Steker Cerdas!
  7. Kipas bodoh untuk dikendalikan, Anda dapat menggunakan kipas apa pun, saya baru saja menemukan kipas di amazon, tetapi kipas soket dinding apa pun akan berfungsi dengan baik - Kipas bodoh
  8. Besi solder, tetapi jika Anda tidak ingin menggunakan besi solder, Anda bisa mendapatkan klik di header untuk PI dan pHAT Anda - GPIO-hammer-header

Agar koneksi antara TP-link kasa dan IFTTT berfungsi, Anda harus memiliki akun TP-link kasa dan IFTTT sebelum memulai instruksi ini. Saat Anda menerima steker cerdas TP-link, instruksi yang disertakan dengan steker cerdas akan memandu Anda melalui proses penyiapan termasuk cara memberi nama steker Anda dan fungsi dasarnya

Setelah Anda memiliki semua daftar belanja, saatnya untuk merakit semuanya!

Langkah 1: Menyiapkan Pi Raspberry Anda

Mencitrakan kartu micro-SD AndaDapatkan gambar Raspbian terbaru dan terbaik, versi lite akan baik-baik saja, jika tidak lebih baik untuk nol w! -

Tulis gambar ini ke kartu SD, Anda akan memerlukan pembaca untuk ini dan imager, saya menggunakan etsa -

Setup Wifi (opsional)Jika PI Anda memiliki WIFI bawaan, mengapa tidak mengaturnya sekarang untuk menghemat banyak masalah dengan konsol nanti!

Setelah pi Anda dicitrakan, drive telah dikeluarkan. Putuskan sambungan dan sambungkan kartu SD sehingga terdeteksi oleh mesin Anda lagi. Partisi boot akan muncul.

Buat file kosong bernama wpa_supplicant.conf di dalam partisi boot pi Anda, di sini tempatkan di bawah ini di file baru ini:

jaringan={

ssid="YOUR_SSID" psk="YOUR_WIFI_PASSWORD" key_mgmt=WPA-PSK }

Mengaktifkan SSH pada PI pilihan Anda (opsional)

Secara default, gambar Raspbian yang bersih akan menonaktifkan ssh. Anda perlu mem-boot sistem, menghubungkan keyboard dan tampilan ke Pi dan kemudian mengaktifkan ssh. Langkah ini akan mengaktifkan ssh pada boot pertama. Di partisi boot, buat file baru bernama ssh. File kosong dengan nama persis seperti itu.

Setelah menyelesaikan dua langkah opsional, PI Anda akan secara otomatis terhubung ke WIFI Anda dan SSH diaktifkan secara default.

Setelah Anda mencitrakan dan mengonfigurasi kartu micro-SD, Anda dapat memasukkannya ke PI atau pilihan Anda dan menyalakannya!

Memperbarui PIO Setelah Anda mem-boot PI, Anda dapat menemukan alamat IP PI Anda dalam pengaturan router nirkabel Anda. Kebanyakan router berbeda jadi sayangnya ini akan sulit untuk menulis panduan untuk ini!

Setelah Anda memiliki IP PI Anda, sambungkan melalui SSH dan masuk dengan yang berikut:

Nama pengguna: pi

Kata sandi: raspberry

Setelah Anda memiliki sesi SSH aktif dengan PI Anda, Anda ingin memperbaruinya, cukup jalankan di bawah ini dengan Y atau N yang sesuai selama memperbaruinya:

sudo apt-get update

sudo apt-get upgrade

selalu baik untuk mem-boot ulang PI setelah pembaruan baru apa pun telah diinstal untuk memastikannya berjalan kembali dengan pembaruan terbaru, ini dapat dicapai dengan

sudo reboot -n

Sekarang PI sudah siap, saatnya beralih ke langkah berikutnya!

Langkah 2: Menyiapkan Enviro PHAT

Menyiapkan PHAT Enviro Anda
Menyiapkan PHAT Enviro Anda
Menyiapkan PHAT Enviro Anda
Menyiapkan PHAT Enviro Anda

Menghubungkan Enviro pHAT

Setelah Anda memiliki semua pi Anda, Anda dapat menghubungkan Enviro pHAT Anda ke PI pilihan Anda!

***Untuk memastikan Anda tidak merusak PI atau pHAT Anda, pastikan Anda mematikannya terlebih dahulu***

Di sini saya menggunakan jumper lead karena Anda bisa mendapatkan thermal washout dari CPU yang menjadi panas di bawah Enviro pHAT. Panas ekstra ini dapat mengubah pembacaan suhu yang akan Anda dapatkan nanti. Karena itu saya telah menggunakan 5 lead jumper pada pin di bawah ini:

  • Pin 3 – GPIO2 (SDA I2C)
  • Pin 5 – GPIO3 (SCL I2C)
  • Pin 7 – GPIO4
  • Pin 6 – Tanah
  • Pin 4 - 5V

Silakan periksa diagram pengkabelan di bagian atas langkah ini untuk referensi visual atau tautan di bawah ini:

pinout.xyz/pinout/enviro_phat

(maaf tentang pekerjaan cat yang jelek)

Saat memasang kabel pHAT Anda, pastikan Anda mengaturnya dengan benar atau Anda berpotensi merusaknya!!! Untuk melakukan ini, saya memiliki pengaturan saya sehingga header ANALOG IN mengarah ke slot kartu SD, ini kemudian dibalik dalam gambar saya agar pas dengan "operator" saya.

Menginstal dependensi

Nyalakan kembali PI Anda dan SSH kembali

Setelah kembali ke PI Anda, jalankan yang berikut ini untuk menginstal paket dan perangkat lunak yang diperlukan untuk Enviro pHAT Anda:

curl https://get.pimoroni.com/envirophat | pesta

Pastikan untuk menekan Y atau N saat diperlukan.

Setelah instalasi selesai, pastikan untuk me-restart PI Anda…

sudo reboot -n

Menguji pHAT

Untuk memastikan bahwa pHAT Anda terhubung dengan benar, Anda dapat masuk ke modul python dan menjalankan beberapa perintah dengan meletakkan kembali ke PI Anda dan mengetik python, sekali dalam modul python ketik di bawah ini:

dari cuaca impor envirophat

cetak(cuaca.suhu())

Ini akan menunjukkan kepada Anda pembacaan seperti di bawah ini:

>> dari cuaca impor envirophat

>> print(cuaca.temperature()) 24.0806166987

Penyelesaian masalah

Jika Anda mendapatkan sesuatu seperti kesalahan di bawah ini:

Traceback (panggilan terakhir terakhir): File "", baris 1, di File "/usr/lib/python2.7/dist-packages/envirofat/bmp280.py", baris 134, dalam suhu self.update() File " /usr/lib/python2.7/dist-packages/envirophat/bmp280.py", baris 169, dalam pembaruan jika self._read_byte(REGISTER_CHIPID) == 0x58: # periksa id sensor 0x58=File BMP280 "/usr/lib/ python2.7/dist-packages/envirophat/bmp280.py", baris 116, di _read_byte kembalikan self.i2c_bus.read_byte_data(self.addr, daftar) IOError: [Errno 121] Kesalahan I/O jarak jauh

Anda kemudian dapat menjalankan:

sudo i2cdetect -y 1

Ini akan menjalankan pemeriksaan diagnostik pada koneksi/kabel Anda dan Anda akan mencari sesuatu seperti di bawah ini:

pi@raspberrypi:~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 abcdef 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- 1d -- -- 20: -- -- -- -- -- -- -- - - -- 29 -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 50: -- -- -- -- -- -- -- - - -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - 70: -- -- -- -- -- -- -- 77

Jika tidak, maka Anda harus kembali dan memeriksa kabel Anda lagi, silakan periksa diagram pengkabelan dan coba lagi!

Memasang skrip pi-baby-cooler.py

Jika semuanya baik-baik saja dan Anda berhasil mendapatkan pembacaan suhu, maka kita dapat melanjutkan dan menginstal paket baby-cooler.py!

Karena bagaimana instruksi menangani tautan, saya telah melampirkan skrip.py di header langkah di atas… Untuk menyalin ini ke PI Anda, saya sarankan menggunakan sesuatu seperti WinSCP:

winscp.net/eng/download.php

WinSCP adalah klien SFTP dan klien FTP populer untuk Microsoft Windows! Salin file antara komputer lokal dan server jarak jauh menggunakan protokol transfer file FTP, FTPS, SCP, SFTP, WebDAV atau S3.

WinSCP mudah digunakan, cukup sambungkan ke PI Anda menggunakan alamat IP PI Anda lalu seret dan lepas file.py ke tempat Anda ingin menjalankannya, bagi saya ini dari /home/pi.

Sekarang skrip.py ada di PI Anda, saatnya beralih ke pengaturan akun / koneksi IFTTT Anda

Langkah 3: Mengatur Akun/koneksi IFTTT Anda

Mengatur Akun/koneksi IFTTT Anda
Mengatur Akun/koneksi IFTTT Anda
Mengatur Akun/koneksi IFTTT Anda
Mengatur Akun/koneksi IFTTT Anda
Mengatur Akun/koneksi IFTTT Anda
Mengatur Akun/koneksi IFTTT Anda

Selanjutnya kita akan melihat mendapatkan token IFTTT, ini akan digunakan saat memanggil fungsi panas/dingin dalam skrip untuk menyambungkan ke colokan kasa dan menghidupkan/mematikan kipas.

Membuat Webhook

Buka https://ifttt.com/ dan buat akun jika Anda belum memilikinya.

Setelah Anda masuk, di dalam bilah pencarian, cari: TP-link kasa

Setelah dimuat, klik layanan lalu TP-link kasa. Anda kemudian perlu menghubungkan akun kasa Anda ke akun IFTTT Anda, masuk ke akun kasa Anda melalui IFTTT untuk membuat koneksi.

Setelah menautkan akun Anda klik "Applet Saya" lalu applet baru, lalu klik "+ini" dan cari webhook.

Klik, "Terima permintaan web", di dalam nama acara ketik hot (ini bisa apa saja yang Anda inginkan tetapi Anda harus memperbarui ini nanti dalam skrip pi-baby-coller.py atau ini tidak akan berfungsi, saya telah menggunakan hot untuk mengubah kipas hidup dan dingin untuk mematikan kipas, lalu klik buat pemicu.

Selanjutnya kita perlu menautkan pemicu baru Anda ke akun Kasa Anda, klik "+ itu" dan cari kasa, klik TP-link kasa lalu klik "hidupkan", setelah ini pilih perangkat yang ingin Anda nyalakan, lalu klik buat tindakan. Tinjau tindakan dan klik selesai jika benar.

**********

Ingat jika Anda telah memilih nama Acara lain selain "panas" dan "dingin", Anda perlu mencatatnya untuk nanti dan memperbarui skrip! Kalau tidak, skrip.py tidak akan berfungsi

**********

Setelah kami membuat kait web pertama kami, ulangi proses untuk "dingin", tetapi kali ini Anda memilih matikan daripada menghidupkan saat memilih tindakan + itu.

Setelah kami memiliki dua webhook acara di bagian akun applet saya, klik layanan dan cari webhook lalu klik itu. Di dalam sini Anda akan melihat tombol dokumentasi (kanan atas), klik itu. Di sinilah Anda akan menemukan kunci token IFTTT Anda. sementara di sini buat catatan kunci Anda (Anda akan membutuhkannya nanti), saya telah mengedit milik saya di dalam gambar jika tidak, siapa pun akan dapat menghidupkan atau mematikan colokan pintar saya.

Menguji webhook

Sekarang kami telah membuat dua webhook yang terhubung ke akun kasa kami, kami dapat menguji apakah mereka berfungsi atau tidak!

Dalam PI Anda, Anda dapat memasukkan yang berikut ini:

curl -X POST

Di mana dikatakan "panas" Anda perlu menambahkan nama acara Anda, jika Anda membiarkannya sebagai "panas" biarkan saja. Di mana dikatakan / Anda … Anda harus mengganti ini dengan kunci token IFTTT Anda. Tekan enter dan Anda akan mendengar bunyi klik relai colokan pintar Anda menyalakan steker. Jika Anda tidak dapat mendengarnya, Anda dapat memeriksa aplikasi Kasa untuk memeriksa status colokan Anda.

Sekarang kita memiliki dependensi untuk Enviro pHAT kita yang terinstal dan sekarang memiliki pengaturan IFTTT, saatnya untuk menyelesaikan dengan memodifikasi kode.

Langkah 4: Mengedit Script

Mengedit Script
Mengedit Script

Nama acara dan IFTTT TOKENSKembali ke pi Anda, eskalasikan ke lokasi skrip pi-baby-cooler.py Anda, bagi saya di /home/pi (folder rumah saya) dan edit file menggunakan nano:

nano pi-baby-cooler.py

Di dalam finder di mana dikatakan def turn_off()

def turn_off():

# Atur kata pemicu Anda - mis. "dingin" - dan token IFTTT Webhook di bawah. TRIGGER_WORD = "cold" TOKEN = "TOKEN IFTTT ANDA PERGI DI SINI" request.post("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format(trigger_word=TRIGGER_WORD, token=TOKEN)) print("Kipas mati!"):

Ini adalah fungsi untuk mematikan kipas angin. Ini dilakukan dengan mengirimkan webhook ke IFTTT yang memicu tplink HS100 untuk dimatikan. Jika Anda telah membuat pemicu bekerja dalam akun IFTTT Anda sama seperti "dingin", Anda dapat membiarkannya, dan cukup ganti token yang Anda dapatkan dari dokumentasi webhooks sebelumnya. Jika Anda memang memilih nama acara yang berbeda, ganti kata ini di sini.

Setelah menempelkan token IFTTT Anda, buka bagian berikutnya di mana dikatakan def turn_on()

def turn_on():# Atur kata pemicu Anda - mis. "panas" - dan token IFTTT Webhook di bawah. TRIGGER_WORD = "hot" TOKEN = "TOKEN IFTTT ANDA MASUK DI SINI" request.post("https://maker.ifttt.com/trigger/{trigger_word}/with/key/{token}".format(trigger_word=TRIGGER_WORD, token=TOKEN)) print("Kipas aktif!")

Fungsi ini kebalikan dari off, menyalakan smart plug TP-link!

Jika Anda telah membuat pemicu bekerja dalam akun IFTTT Anda sama seperti "panas", Anda dapat membiarkannya, dan cukup ganti token yang Anda dapatkan dari dokumentasi webhooks sebelumnya. Jika Anda memang memilih nama acara yang berbeda, ganti kata ini di sini.

Segala sesuatu yang lain sudah dikodekan, jadi Anda tidak perlu mengubah kode apa pun selain TRIGGER_WORD, TOKEN dan beberapa penyesuaian suhu yang berikutnya!

Mengubah suhu

Selanjutnya, temukan di mana dikatakan # Variabel lokal.

coba: # Variabel lokal. state = 0 # Mengatur status sakelar rendah = 20 # Nilai rendah untuk tingkat suhu (celcius). tinggi = 24 # Nilai tinggi untuk tingkat suhu (celcius). periode = 120 # Penundaan, dalam detik, di antara panggilan.

Variabel status adalah bagaimana pi mengetahui apakah steker menyala atau tidak, ini diperbarui nanti jika terlalu panas (24+*c maka status diubah nanti menjadi 1), ini juga akan diaktifkan ke webhook dan berubah colokan pintar!

Variabel rendahnya adalah seberapa keren ruangan yang saya inginkan sebelum steker dimatikan. Jika Anda ingin ruangan lebih hangat, cukup ubah ini ke nilai yang lebih tinggi. Jika Anda ingin lebih keren, turunkan nilainya.

Variabel tinggi adalah suhu maksimum yang saya inginkan untuk ruangan sebelum saya ingin kipas masuk dan mulai mendinginkan ruangan. Jika Anda ingin kipas menyala sebelum ini, cukup turunkan nilainya, atau jika Anda ingin lebih hangat maka tinggikan nilainya.

Variabel periode adalah durasi dalam detik di antara pemeriksaan suhu, jika Anda ingin skrip pi lebih jarang memeriksanya maka lebih tinggi angkanya jika Anda ingin mempersingkat waktu, turunkan angkanya.

Setelah Anda membuat perubahan, simpan dan keluar dari nano

CTRL + x

Langkah 5: Menggunakan Script

Menggunakan Script
Menggunakan Script

Menjalankan skrip secara lokal

Ada beberapa cara untuk menjalankan script ini, Anda dapat terhubung melalui SSH dan ketik berikut ini:

sudo python /pi-baby-cooler.py

Ini akan menjalankan skrip sesuai permintaan, ini hanya akan berfungsi selama ada sesi SSH aktif ke PI. Cara lain adalah dengan menggunakan layar, layar tidak diinstal secara default, saya rasa tidak, jadi layar sudo apt install harus digunakan.

Berikut adalah tutorial yang bagus tentang cara menggunakan layar dengan benar:

Screen atau GNU Screen adalah terminal multiplexer. Dengan kata lain, ini berarti Anda dapat memulai sesi layar dan kemudian membuka sejumlah jendela (terminal virtual) di dalam sesi itu. Proses yang berjalan di Layar akan terus berjalan ketika jendelanya tidak terlihat meskipun Anda terputus.

Mengotomatiskan untuk berjalan saat boot

Cara lainnya adalah mengedit file boot di /etc/rc.local untuk melakukan ini menggunakan nano.

sudo nano /etc/rc.local

Mengedit file ini akan membuat skrip berjalan saat boot. artinya itu akan selalu berjalan ketika PI aktif, ini juga cara saya menjalankan 90% skrip saya di PI lain.

Jika Anda telah menggunakan rc.local, maka Anda dapat menjalankan perintah di bawah ini untuk memeriksa untuk melihat apa yang sedang berjalan di PI. Ini berguna untuk memecahkan masalah nanti untuk melihat apakah skrip berfungsi sama sekali atau tidak:

ps -aef | grep python

Langkah 6: Selesai

Yah… Terima kasih jika Anda masih di sini dan mencapai titik ini!

Maaf sudah cukup lama, ini adalah instruksi pertama saya dan tidak yakin apa yang harus ditulis.

Seperti yang saya sebutkan di awal, instruksi ini memiliki banyak aplikasi berbeda dengan menggunakan panas untuk memicu steker pintar! Anda bisa mendinginkan ruangan di rumah/flat/apartemen/garasi/gudang. Anda bahkan dapat memodifikasi IFTTT untuk memicu perangkat pintar apa pun yang dapat dikontrol melalui IFTTT, tidak hanya perangkat kasa TP-link.

Saya akan senang mendengar jika Anda telah mencoba instruksi ini atau bahkan jika menurut Anda menarik, silakan tinggalkan saya komentar di bawah!

Jika Anda memiliki pertanyaan, pastikan untuk meninggalkannya di bawah dan saya akan mencoba yang terbaik untuk menjawabnya!

Kontes Sensor
Kontes Sensor
Kontes Sensor
Kontes Sensor

Runner Up dalam Kontes Sensor

Direkomendasikan: