Daftar Isi:
- Langkah 1: Blinkty Pi
- Langkah 2: Berbicara Kode
- Langkah 3: Pusat Pemberitahuan
- Langkah 4: Opsi Audio
- Langkah 5: Pemasangan Retro
- Langkah 6: Pekerjaan Kasus
- Langkah 7: Waktu Radio
Video: Pi Zero Talking Radio: 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Ini adalah radio meja DeWald akhir 1940-an yang saya berikan kehidupan baru menggunakan Raspberry Pi Zero, sebuah Blinkt! Strip LED dan sepasang Speaker PC. Itu membacakan pemberitahuan dari berbagai layanan yang terhubung ke internet menggunakan mesin text-to-speech (TTS) Pyvona dan integrasi IF This Then That (IFTTT). LED sangat terang, dan menyalakan tombol radio dengan warna berbeda tergantung pada kata kunci dalam teks notifikasi, misalnya "youtube" = Merah.
Saya mengambil radio kecil yang manis ini di obral mobil selama musim panas seharga £3 - Saya langsung terpesona oleh ukurannya yang ringkas dan desain klasiknya, dan berhasil melihat potensinya melalui eksterior yang pudar akibat sinar matahari dan banyak retakan! Saya sudah lama ingin menciptakan "sesuatu yang layak untuk ruang tamu" dan ini adalah titik awal yang ideal. Saya telah bereksperimen dengan notifikasi text-to-speech sebelumnya di proyek Rabbit Pi dan berharap untuk membangun apa yang telah saya pelajari untuk membuat sesuatu yang "berfungsi" setiap hari.
Jika Anda tidak dapat melihat video yang disematkan itu di:
Langkah 1: Blinkty Pi
Saya mengambil Pi Zero pertama saya baru-baru ini dan langsung kagum dengan ukurannya yang kecil! Setelah menyolder di header GPIO dan menghubungkan adaptor yang pertama siap digunakan. Awalnya saya berencana untuk membuat Rabbit Pi yang lebih baik tetapi setelah beberapa saat ini terasa lebih seperti pekerjaan daripada kesenangan, jadi saya mengesampingkannya - meskipun tidak sebelum saya mulai bereksperimen dengan Unicorn pHAT, matriks 4x8 LED yang dapat diprogram, yang merupakan tumpukan mutlak menyenangkan! Satu-satunya downside adalah bahwa menggunakan pHAT memperumit pengaturan audio, dan saya ingin membuat proyek saya berikutnya benar-benar sederhana.
Semuanya jatuh ke tempatnya di Cambridge Raspberry Jam pada bulan September ketika saya melihat Blinkt! dijual di kios Pimoroni - ini seperti pHAT Unicorn tetapi dengan satu baris 8 LED, berukuran sempurna agar sesuai dengan header GPIO pi zero. Itu datang dengan banyak dokumentasi dan contoh dan siap & berjalan dalam waktu singkat - sekarang saatnya untuk mulai menyusun sisa kode.
Langkah 2: Berbicara Kode
Saya mulai dengan salinan kode utama dari Rabbit Pi, karena ini sudah memiliki kredensial text-to-speech Ivona saya yang tersimpan di dalamnya. Anda perlu menyiapkan akun pengembang Ivona sebelum menggunakan layanan ini, tetapi prosesnya mudah seperti yang telah saya dokumentasikan sebelumnya.
Langkah selanjutnya adalah menginstal Pyvona, pembungkus Python untuk diintegrasikan dengan layanan Ivona TTS, yang sangat mudah (pip install pyvona).
Dengan ini di tempat saya mulai mengubah kode Rabbit Pi, mengambil referensi untuk kontrol motor dan selfie-taking untuk meninggalkan saya hanya dengan bit yang membacakan pemberitahuan dari baris Subyek pesan Gmail. Perkembangan kritis dengan kode ini adalah menambahkan serangkaian pernyataan IF untuk mencari kata kunci tertentu dalam pesan, sehingga Blinkt! akan bersinar warna yang berbeda tergantung pada pesan.
Ini butuh beberapa saat karena saya masih menemukan kaki saya dengan Python, tetapi setelah menentukan kata kunci saya ("Mendung", "Matahari Terbenam", "Hujan", "Facebook", "Twitter", "Youtube" dan "Sunny") Saya bisa mengendalikan Blinkt! warna tergantung pada teks yang dibacakan.
Kode sederhana, jika tidak elegan, yang saya gunakan ada di GitHub, meskipun saya telah menambahkan lebih banyak kata kunci dan warna! Saya mengujinya di luar casing menggunakan speaker bertenaga baterai - lebih lanjut tentang pengaturan audio nanti. Langkah terakhir adalah mengatur skrip python, radiot.py, untuk dijalankan saat startup.
Langkah 3: Pusat Pemberitahuan
Sekarang Pi dapat membacakan pesan dengan andal dan memancarkan warna yang berbeda, saya perlu mengatur pemberitahuan sehingga mereka akan datang secara spontan - saya ingat dalam kartun Tom & Jerry lama, radio hanya akan menyala sesekali (Jerry's Diary (1949) - periode yang sama dengan radio!) dan ini adalah efek yang saya cari, bahwa itu akan duduk di sudut dan terlihat bagus, kadang-kadang menyala dan membacakan pemberitahuan yang tidak akan saya angkat di telepon saya.
Pertama saya membuat akun Gmail terpisah untuk menerima email notifikasi - ini berarti saya tidak akan dibombardir dengan notifikasi email baru atau mengotori kotak masuk saya yang sudah ada dengan ratusan pesan yang dibuat secara otomatis.
Selanjutnya saya beralih ke IFTTT (JIKA Ini Lalu Itu) untuk mengatur otomatisasi. Dengan IFTTT Anda dapat dengan mudah menghubungkan beberapa "Saluran" ke akun Anda dan mengaturnya untuk berinteraksi satu sama lain menggunakan "Resep", dalam hal ini menyalurkan beberapa media sosial dan tindakan dunia nyata ke dalam aliran email. Saya menyesuaikan bagian "Lalu Itu" dari Resep sehingga mereka semua akan mengirim email ke akun Gmail yang saya siapkan untuk pemberitahuan, dan menggunakan bagian "Bahan" untuk memastikan bahwa informasi utama akan disertakan dalam Subjek email, bagian yang dibacakan. Saat ini saya telah menyiapkan resep IFTTT berikut, tetapi ini terus ditambahkan!
- Setiap hari jam 9 malam kirim cuaca besok melalui email
- Setiap hari saat matahari terbenam, kirimkan tanggal & waktu melalui email
- JIKA saya ditandai di foto Facebook, kirim email
- JIKA ponsel saya dicolokkan / dicabut, kirim persentase baterai melalui email
- JIKA saya memasuki wilayah geografis mengirim email "MisterM telah tiba di tempat kerja!"
- JIKA saya mengunggah video YouTube, kirim email
- JIKA orang tertentu men-tweet, kirimkan melalui email
- JIKA acara kalender google mulai mengirimkannya melalui email
- JIKA cuaca saat ini berubah menjadi hujan, kirim email ("Awas, sebentar lagi hujan!"
- JIKA soket pintar dihidupkan atau dimatikan, kirim email
- JIKA pesan SMS baru diterima, kirimkan melalui email
- JIKA baterai ponsel turun di bawah 15% kirim email ("Charge your phone you idiot")
- JIKA saya memiliki pengikut Twitter baru atau mention kirim email
Ini adalah campuran yang hebat dari peristiwa harian yang dapat diprediksi dan pengumuman yang tidak terduga - favorit saya adalah pemberitahuan Matahari Terbenam, menarik saat ini tahun untuk melihat bagaimana waktunya berubah setiap hari. Notifikasi Twitter adalah yang paling menyenangkan, saat ini membacakan tweet baru dari "Beef & Dairy Network", "Masalah Sangat Inggris", "My Sweary Cat" dan "Henry Thoreau" (meskipun beberapa di antaranya dimatikan aplikasi IFTTT di perusahaan yang sopan). Mampu membaca akun Twitter tertentu membuatnya sangat fleksibel, dan ini dapat disesuaikan melalui IFTTT daripada harus memprogram ulang Pi setiap kali.
Langkah 4: Opsi Audio
Selanjutnya saya perlu memilah audio, dengan dua tantangan! Pertama bagaimana cara mengeluarkan audio dari Pi. Tidak seperti saudaranya yang lebih besar, Pi Zero tidak memiliki output audio 3.5mm, jadi saya perlu menggunakan semacam adaptor. Awalnya saya pikir saya akan menggunakan konektor HDMI ke VGA + Audio tetapi ini sepertinya berlebihan (dan saya membutuhkannya untuk proyek lain!), Jadi saya menggunakan adaptor audio USB yang murah. Ini cukup mudah diatur, hanya kasus pengaturan kartu suara USB sebagai perangkat ALSA default pada Pi. Ini berarti saya perlu memasukkan hub USB untuk menampung adaptor WiFi, tetapi saya berhasil membongkar dan menggunakan kembali yang lama yang saya miliki.
Kedua, saya perlu memilih kombinasi amplifier/speaker yang akan memberikan kualitas suara yang bagus dan terus menyala. Saya sebelumnya telah menggunakan speaker bertenaga baterai tetapi membutuhkan pengisian daya secara teratur ini tidak akan baik untuk penggunaan "selalu aktif", juga mereka sering memiliki desis latar belakang yang terlihat. Saya juga telah mengkanibal ipod dock lama di masa lalu, tetapi ini cenderung memiliki "fitur" hemat daya dan dimatikan setelah beberapa menit hening.
Saya menggunakan sesuatu yang baru pada akhirnya, sepasang speaker PC dengan harga murah £6,99. Saya tidak berharap terlalu banyak tetapi kualitas suaranya benar-benar baik, tanpa desisan atau waktu habis. Bonus tambahan dari speaker PC adalah bahwa mereka menyertakan tombol on/off dan tombol volume, yang saya harap dapat terhubung ke kontrol asli radio. Semuanya bekerja di bangku, jadi sekarang saatnya untuk memasukkannya ke dalam kasing!
Langkah 5: Pemasangan Retro
Ketika saya pertama kali membawa pulang radio, saya menghapus sirkuit asli yang, di tempat-tempat secara harfiah, bersulang. Saya terkesan dengan konstruksi aslinya, itu jelas dirancang agar mudah dibongkar dan diperbaiki karena setelah melepaskan beberapa baut, seluruh rakitan meluncur keluar pada semacam sasis. Saya memutuskan untuk menggunakan pendekatan yang sama dan menyatukan komponen-komponen baru di atas dasar yang kemudian dapat dimasukkan ke dalam casing dan diamankan seperti aslinya.
Saya mulai dengan rak kayu tipis dari rak DVD tua, memotongnya sesuai ukuran dan mengebor lubang untuk baut casing. Selanjutnya saya membongkar speaker, memotong kotak plastik dengan gergaji besi dan alat putar. Speaker yang sekarang ramping dipasang pada dasar kayu dengan braket 90 derajat yang terbuat dari Meccano. Rangkaian penguat berikutnya - karena keterbatasan ruang, sayangnya ini perlu dipasang terbalik dan dinaikkan sekitar satu inci di atas alas. Saya harus membangun semacam susunan pilar untuk menopang dan mengamankan papan, tetapi terjebak dengan cara melakukannya dengan rapi. Solusi ideal tepat di bawah hidung saya - pensil warna! Saya memotong bagian pensil sesuai ukuran, lalu memasangnya ke dalam lubang yang dibor di dasarnya. Hal yang sempurna tentang menggunakan pensil warna adalah bahwa "timbal" di tengah dapat dengan sangat mudah dibor, meninggalkan lubang yang nyaman untuk sekrup papan sirkuit.
Saya menggunakan kombinasi potongan Meccano dan Lego untuk membuat braket untuk menopang Pi itu sendiri, dan merapikan kabelnya dengan pengikat kabel. Saklar volume dan on/off terpisah lebih jauh pada papan sirkuit speaker daripada lubang di kotak radio (Anda tidak dapat memiliki semuanya) jadi saya memperluasnya menggunakan bagian dari tongkat balon plastik berlubang.
Langkah 6: Pekerjaan Kasus
Seperti yang saya sebutkan sebelumnya, casing radio berada dalam kondisi yang mengerikan, jadi saya menambal lubang & retakan terburuk menggunakan polyfilla dan mengampelasnya ke mana-mana. Saya memutuskan untuk tetap menggunakan warna krem yang bagus untuk catnya, untuk dikoordinasikan dengan warna coklat pada tuning dial. Cat tersebut diklaim sebagai "primer & paint in one" tetapi saya memberikannya beberapa lapis primer terlebih dahulu agar aman. Kenop-kenopnya membutuhkan sedikit penggosokan (60+ tahun kotoran!) tetapi keluar dengan baik - saya baru saja mengamankan kenop penyetelan krim asli ke dial itu sendiri dengan baut karena tidak terhubung ke komponen apa pun.
Setelah cat mengeras, inilah saatnya untuk menyatukan semuanya - biasanya bagian dari proyek yang paling menguji kesabaran saya! Kali ini berjalan sangat lancar, karena semua konstruksi yang sulit sudah dilakukan di pangkalan, yang harus saya lakukan hanyalah memasukkan rakitan ke dalam kasing, kencangkan dengan baut dan paskan kenopnya.
Sampul belakang radio hilang jadi saya membuat yang baru dari bingkai foto lama, mengecatnya dengan warna krem yang sama.
Langkah 7: Waktu Radio
Ini adalah proyek yang sangat menyenangkan untuk dibangun, bagus untuk menjaga semuanya tetap sederhana dan fokus untuk membuatnya sebersih mungkin. Kadang-kadang saya tergoda untuk menambahkan mikrofon untuk integrasi Alexa, dan bahkan secara serius mempertimbangkan untuk membuat Chromecast Audio (untuk podcast favorit saya baru dalam gaya radio lama), tetapi saya senang saya membuatnya tetap sederhana dan Saya senang dengan hasilnya.
Sekarang dipasang di speaker di sudut ruang tamu, menyala dan berbicara sesekali seperti yang saya harapkan. Satu-satunya kelemahan kecil adalah bahwa dial tembus pandang berwarna krem & coklat membuat lebih sulit untuk memamerkan rentang warna cemerlang dari Blinkt! Cukup jelas untuk pemberitahuan matahari terbenam (oranye) dan pesan teks (ungu) tetapi cuacanya agak mirip - saya hanya perlu bereksperimen dengan kode warna RGB yang berbeda, saya pikir!
Jika Anda menyukai proyek ini dan ingin melihat lebih banyak, Anda dapat melihat situs web saya untuk pembaruan proyek yang sedang berlangsung di bit.ly/OldTechNewSpec, bergabunglah di Twitter @OldTechNewSpec atau berlangganan saluran YouTube yang sedang berkembang di bit.ly/oldtechtube - berikan beberapa Teknologi Lama Anda dengan Spek Baru!
Hadiah Kedua dalam Kontes Pembuat IoT
Direkomendasikan:
Astrophotography Dengan Raspberry Pi Zero.: 11 Langkah (dengan Gambar)
Astrophotography Dengan Raspberry Pi Zero.: Saya telah membuat dua proyek kamera berbasis Raspberry Pi sebelumnya [1] [2]. Ini, ide kamera ketiga saya, adalah proyek Raspberry Pi Zero pertama saya. Ini juga pertama kalinya saya pergi ke Astrophotography! Didorong oleh 'Supermoon' baru-baru ini, saya ingin mendapatkan saudara laki-laki saya
Shake Detecting Talking Hat Dengan Circuit Playground Express: 12 Langkah (dengan Gambar)
Shake Detecting Talking Hat With Circuit Playground Express: Tutorial mudah dan cepat ini mengajarkan Anda cara membuat topi berbicara! Itu akan merespons dengan jawaban yang diproses dengan hati-hati ketika Anda 'mengajukan' sebuah pertanyaan, dan mungkin itu dapat membantu Anda memutuskan apakah Anda memiliki kekhawatiran atau masalah. Di kelas Wearable Tech saya, saya
Ted the Talking Toaster: 6 Langkah (dengan Gambar)
Ted the Talking Toaster: Percakapan dengan pemanggang roti selalu satu sisi. Sampai sekarang, temui Ted si Pemanggang Roti yang berbicara! Di bawah ikhtisar konten: Video proyek Pemanggang Roti Elektronik Obrolan/Voice bot Remo.tv Dominasi dunia
Talking Clock Bilingual (EN+PT): 5 Langkah (dengan Gambar)
Talking Clock Bilingual (EN+PT): The Talking Clock 2 (Bilingual) adalah versi baru dari Talking Clock yang telah saya terbitkan beberapa waktu lalu. Kode telah diperbarui untuk mendukung dua bahasa (Inggris/Portugis) dan fitur baru diperkenalkan ke kode: Mode 1: Atur waktu (jam & pagi
Talking Baymax Display untuk Kantor Dokter Anak: 10 Langkah (dengan Gambar)
Talking Baymax Display untuk Kantor Dokter Anak: “Halo. Saya Baymax, pendamping perawatan kesehatan pribadi Anda.” - BaymaxDi kantor dokter anak setempat, mereka telah menerapkan strategi yang menarik dalam upaya membuat lingkungan medis tidak terlalu membuat stres dan lebih menyenangkan bagi anak-anak. Mereka telah mengisi e