Isi kandungan:

Raspberry Pi RF Soket Utama yang Dikendalikan Jauh (Palam Kuasa): 6 Langkah
Raspberry Pi RF Soket Utama yang Dikendalikan Jauh (Palam Kuasa): 6 Langkah

Video: Raspberry Pi RF Soket Utama yang Dikendalikan Jauh (Palam Kuasa): 6 Langkah

Video: Raspberry Pi RF Soket Utama yang Dikendalikan Jauh (Palam Kuasa): 6 Langkah
Video: #130 TEA5767 FM Radio 📻 Module for your Arduino (Cheap!) 2024, Julai
Anonim
Soket Utama Raspberry Pi RF Kawalan Jauh (Palam Kuasa)
Soket Utama Raspberry Pi RF Kawalan Jauh (Palam Kuasa)
Soket Utama Raspberry Pi RF Kawalan Jauh (Palam Kuasa)
Soket Utama Raspberry Pi RF Kawalan Jauh (Palam Kuasa)
Soket Utama Raspberry Pi RF Kawalan Jauh (Palam Kuasa)
Soket Utama Raspberry Pi RF Kawalan Jauh (Palam Kuasa)
Raspberry Pi RF Soket Utama yang Dikendalikan Jauh (Palam Kuasa)
Raspberry Pi RF Soket Utama yang Dikendalikan Jauh (Palam Kuasa)

Kawal soket utama 433MHz (outlet dinding) dengan murah menggunakan Raspberry Pi. Pi dapat mempelajari output kod kawalan dari alat kawalan jauh soket dan menggunakannya di bawah kawalan program untuk mengaktifkan mana-mana atau semua soket jauh di seluruh rumah.

Reka bentuknya tidak bergantung pada sambungan internet luaran (iaitu) 'Internet of Things' dan oleh itu (IMHO) jauh lebih selamat daripada pengawal berasaskan web. Yang mengatakan, saya memang mencuba integrasi dengan Google Home tetapi dengan cepat kehilangan kehendak untuk hidup ketika perintah kadang-kadang memerlukan beberapa puluhan saat untuk dilaksanakan atau tidak pernah dilaksanakan sama sekali.

Aplikasi yang jelas pada waktu Krismas adalah mengawal lampu pokok Krismas dan (jika anda cenderung seperti itu) di luar lampu paparan. Walaupun itu adalah penggunaan yang mudah, dengan membina Instructable ini, anda akan mempunyai pengawal soket super fleksibel yang dapat bertindak balas terhadap input sensor dan peranti lain di rangkaian rumah anda, seperti Raspberry Pis yang menjalankan Linux Motion.

Sebagai contoh, saya mempunyai satu set lampu dapur yang menyala ketika kamera yang menjalankan 'Motion' mengesan pergerakan di dapur dan kemudian mematikannya setelah lima minit tidak melakukan aktiviti. Ia berfungsi dengan baik!

Dengan 'Tasker' dan 'AutoTools SSH' dari gedung Google Play, anda boleh menyiapkan pelbagai jenis alat kawalan jauh berasaskan telefon mewah.

Projek ini bergantung pada papan penerima dan pemancar 433MHz yang murah yang banyak terdapat di eBay. Ini sesuai dengan (sekurang-kurangnya di UK) soket elektrik jarak jauh 433MHz yang dijual dengan alat kawalan jauh. Projek saya merangkumi penerima sehingga set arahan kawalan jauh yang baru dapat digabungkan dengan mudah dan cepat. Satu perkara yang perlu diperhatikan - soket jarak jauh yang tersedia di UK nampaknya terdapat dalam dua pilihan - yang mempunyai pengenalan diri yang diprogramkan oleh suis pada soket dan yang bergantung pada pengaturcaraan dari alat kawalan jauh. Projek ini sesuai dengan kedua-duanya tetapi yang pertama tidak kehilangan identiti mereka dalam pemotongan kuasa dan oleh itu lebih disukai.

Projek ini menggunakan casing penghala lama - saya mempunyai beberapa dari ini dan mereka sangat mempunyai kebanyakan penyambung luaran yang diperlukan, seperti kuasa, ethernet, USB dan antena. Apa yang anda gunakan bergantung pada apa yang anda ada sehingga Instructable ini mungkin lebih berguna sebagai panduan umum dan bukannya set arahan langkah demi langkah.

Walaupun tidak begitu diperlukan untuk projek ini, saya juga menambah kipas penyejuk dan papan pengawal. Tanpa kipas, Pi boleh menjadi cukup panas (sekitar 60 ° C). Butiran boleh diberikan dalam Instructable kemudian.

Saya harus menyebut bahawa saya bukan pengaturcara. Perisian ini (kebanyakannya) ditulis dalam Python dan barang pintar disalin dari orang yang tahu apa yang mereka lakukan. Saya telah mengetahui sumber yang saya boleh - jika saya terlepas, sila beritahu saya dan saya akan membetulkan teksnya.

The Instructable mengandaikan beberapa kemampuan pematerian dan keakraban yang lewat dengan Python, Bash dan bercakap dengan Pi anda melalui SSH (walaupun saya akan berusaha menjadikan arahannya selengkap yang boleh dilaksanakan). Ia juga ditulis dalam Bahasa Inggeris Inggeris, jadi jika anda membaca di seberang kolam, abaikan huruf tambahan dengan kata-kata dan nama-nama ganjil untuk perkara (seperti 'soket utama', yang akan anda ketahui sebagai sesuatu seperti 'outlet dinding').

Sebarang komen, cadangan penambahbaikan & penggunaan dll juga sangat dialu-alukan!

Langkah 1: Penyediaan Kes

Penyediaan Kes
Penyediaan Kes
Penyediaan Kes
Penyediaan Kes
Penyediaan Kes
Penyediaan Kes

Saya menggunakan penghala TP-Link TD-W8960N lama untuk projek ini. Ini ukuran yang bagus dan setelah saya mengetahui cara memasukkannya, cukup mudah untuk dikerjakan.

Saya juga mengekalkan bekalan kuasa 12v @ 1A penghala, yang sedikit dikuasakan tetapi dalam praktiknya OK untuk aplikasi ini.

Membuka casing adalah masalah melepaskan dua skru di bahagian bawah casing dan kemudian menggunakan alat mencongkel di sekitar tepi casing untuk memudahkan klip terbuka. Kedua-dua skru berada di bawah kaki getah di bahagian belakang casing (lihat anak panah merah). Klip yang paling sukar untuk dibuka adalah yang ada di bahagian depan tetapi saya mempunyai kepercayaan dan mereka membongkok ke alat pembongkaran saya.

Setelah casing terbuka, lepaskan kedua mur pada penyambung antena dan papan litar dapat diangkat keluar.

Oleh kerana anda akan menggunakan kedua-dua antena kemudian, lepaskan plumbum pujuk pada papan litar dan letakkan pada satu sisi.

Sekiranya anda merasa berani (seperti saya), anda boleh mengeluarkan suis tekan, soket dc dan soket RJ45 dari papan litar. Cara terbaik yang saya dapati untuk melakukan ini adalah dengan mengepit papan di alat naib dan menggunakan haba dari senapang panas sambil memberi hadiah dengan alat pembuka sarung nipis atau pemutar skru. Logiknya ialah semua sambungan solder dicairkan pada masa yang sama, mengurangkan tekanan haba keseluruhan pada kotak plastik komponen berbanding dengan menggunakan besi pematerian pada setiap persimpangan. Teori itu sekurang-kurangnya. Dalam praktiknya, keberuntungan terlibat! Berapa banyak haba untuk digunakan adalah pertimbangan tetapi berhati-hati dan salah di sisi terlalu sedikit. Sekiranya semuanya berjalan lancar, anda akan mendapat komponen yang boleh digunakan yang ditunjukkan dalam foto (namun anda akan melihat tombol suis lebur dan jalur soket RJ45 yang sedikit cacat!).

Jika tidak, ke internet untuk membeli bit anda.

Langkah 2: Senarai Bahagian

Raspberry Pi - Saya mengesyaki ada apa-apa rasa tetapi saya menggunakan 3B +

Papan pemancar 433MHz - cari eBay untuk '433MHz RF Transmitter with Receiver Kit for Arduino Arm Mcu Wireless' atau yang serupa

Papan penerima 433MHz - ditto. Biasanya £ 1.98 setiap pasangan

Pengatur LM2596 Buck - eBay, biasanya £ 1.95. Untuk menukar kuasa 12v menjadi 5v untuk Pi

Pipa ringan - cari di eBay untuk 'Fiber Optic Cable - 0.25 / 0.5 / 0.75 / 1 / 1.5 / 2 / 2.5 / 3mm Dia - Light Guide' - Saya menggunakan paip 2mm tetapi 1.5mm lebih senang digunakan (saya membayar £ 2.95 untuk 1m)

Suis togol mini tiang 2 (senang dimiliki tetapi pilihan)

Soket USB 180 ° jenis solderable - melalui eBay, saya membayar £ 1.90 untuk sepuluh

Suis tolak dwi tiang (senang dimiliki tetapi pilihan) - Saya mendapatkannya dari papan modem / penghala

Soket RJ45 - dipulihkan dari papan modem / penghala

Soket kuasa DC - melalui eBay (Soket Jack Wanita Bekalan Daya DC 10X Penyambung Pemasangan Panel 5.5 x 2.1mm £ 0.99)

Antena 430MHz - menukar antena 2GHz modem / penghala

Bekalan kuasa 12v dc 12W (minimum) - idealnya, ini akan disertakan dengan modem / penghala. Sekiranya tidak, anda perlu memastikan soket kuasa dc di atas sesuai dengan yang anda gunakan. Keperluan 12v ditentukan oleh pemancar 433MHz

Bahagian untuk mod kipas penyejuk akan diperincikan dalam Instructable kemudian.

Langkah 3: Bahan habis pakai dan Alat

Anda memerlukan bahan habis pakai berikut:

Pateri (seperti yang diperlukan)

Gam lebur panas (seperti yang diperlukan)

Sambungan wayar - (mis.) 22 & 24AWG (seperti yang diperlukan)

Lengan pengecutan panas (seperti yang diperlukan)

Kucing Berkorban. 5 kabel patch ethernet

Kabel patch USB 2 berkorban.

Alat:

Pelucut wayar

Pemotong wayar (lebih baik pemotong flush)

Alat hadiah

Pemutar skru yang sesuai untuk mencabut casingnya.

Besi pematerian

Pistol gam

Pengering rambut (untuk menekuk paip ringan dan untuk sebarang gangguan pendandan rambut yang tidak sempurna)

Penerima komunikasi FM 433MHz (pilihan - untuk menyelesaikan masalah pemancar) - (misalnya) AR1000

Langkah 4: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Cara anda memasang Pi dan papan sampingan bergantung pada kes yang anda gunakan. Foto menunjukkan apa yang saya buat.

Pi duduk dengan kasar di tengah-tengah casing, memungkinkan ruang yang cukup untuk digunakan oleh pelbagai penyambung (perhatikan bahawa HDMI tidak digunakan kerana Pi dikomunikasikan dengan SSH (iaitu) 'tanpa kepala'.

Saya melekatkan Pi ke pangkal menggunakan beberapa pengikat plastik yang selamat (lihat foto). Oleh kerana kotak itu tidak bertujuan untuk penggunaan mudah alih, anda boleh melepaskannya hanya dengan menggunakan dua pengikat. Anda boleh menggunakan skru 2.5mm dengan pelekat atau gam lebur panas (yang pernah saya gunakan pada masa lalu) dengan mudah - pastikan anda tidak menggunakan terlalu banyak dan elakkan komponen pemasangan permukaan di bahagian bawah kerana anda pasti akan mempunyai untuk membuang papan pada suatu masa (undang-undang pembinaan pertama - anda perlu membongkarnya)).

Saya menggunakan gam panas untuk membetulkan pelbagai papan di sisi casing. Pertimbangan yang sama seperti di atas berlaku.

Setelah semuanya di tempat, anda boleh menyambung semuanya.

Gambarajah blok menunjukkan skema pendawaian yang saya gunakan. Perhatikan bahawa saya menggunakan suis togol pilihan untuk menukar kuasa antara papan pemancar dan penerima - mungkin ada sedikit risiko untuk melakukannya tetapi saya tidak mahu menggoreng penerima semasa menghantar.

Saya juga terfikir bahawa tombol tekan boleh digunakan untuk mematikan Pi dengan anggun (ada sejumlah reka bentuk yang tersedia di internet). Saya tidak peduli - dalam kes ini ia berfungsi sebagai suis hidup / mati kuasa sederhana. Saya hanya perlu berhati-hati untuk mematikan Pi melalui SSH sebelum menekan suis.

Anda akan perhatikan paip cahaya yang digunakan untuk menyalurkan cahaya dari dua LED pada Pi dan dari LED status bekalan kuasa ke bahagian depan casing. Saya menggunakan haba dari pengering rambut untuk membengkokkan paip (anda pasti TIDAK mahu menggunakan senapang panas!). Ini sangat percubaan dan kesilapan tetapi bermanfaat pada akhirnya kerana anda dapat melihat secara langsung apa yang LED memberi isyarat daripada bergantung pada perisian dan LED luaran. Sudah tentu pilihan anda. Memotong paip dilakukan dengan sepasang pemotong wayar yang tajam (pemotong flush adalah yang terbaik) tetapi anda juga boleh menggunakan gunting tajam. Sekali lagi, gam cair panas boleh digunakan untuk memasang paip di tempatnya tetapi berhati-hatilah dengan hanya menggunakan sedikit - yang sejuk dengan cepat - kerana gam dapat memutarbalikkan paip.

Sebaik-baiknya anda harus mengubah suai antena. Mereka biasanya berukuran untuk beroperasi pada 2GHz dan akan membuat antena yang sangat tidak efisien ketika digunakan pada 433MHz.

Untuk melakukan ini, anda harus terlebih dahulu melepaskan penutup antena untuk membuka wayar antena. Saya rasa saya bernasib baik kerana penutupnya keluar dari setiap antena dengan sedikit hadiah.

Potong di tempat yang ditunjukkan untuk melepaskan antena 2GHz yang asal dan dedahkan kapak bersama. Akses inti dalaman dengan berhati-hati, lepaskan jalinan dengan baik dan pateri pada wayar baru seperti yang ditunjukkan. Panjang wayar baru kira-kira 1/4 panjang gelombang 433MHz (iaitu) panjang = 0.25 * 3E8 / 433E6 = 17cm. Bahagian bawah boleh dililit menggunakan bit gerudi kecil atau serupa untuk membolehkan keseluruhan panjang masuk ke penutup antena.

Sebelum memasang semula, periksa tidak ada litar pintas antara kenalan antena dalam dan luar.

Saya hanya mengubah antena pemancar sebagai penerima 'pekak' mungkin menguntungkan ketika mempelajari kod kawalan jauh RF (lihat kemudian).

Sambungan ethernet dibuat dengan memasang kabel untuk korban. 5 kabel sambungan ke soket RJ45 diselamatkan dari modem. Potong kabel agar sesuai dengan jarak antara soket Pi ethernet dan soket RJ45 dan lengkapkan lapan wayar. Gunakan penguji kesinambungan untuk memastikan anda memasang kabel kabel pin 1 ke pin soket 1 dan lain-lain. Cara mudah untuk melakukan ini adalah dengan menyambungkan penyambung ke soket yang anda kabelkan dan berdering di antara kenalan soket dan hujung kabel kosong. Oleh kerana hanya satu daripada empat soket RJ45 luaran yang digunakan, tandakan soket berwayar dengan sewajarnya untuk mengelakkan kesalahan yang memalukan di kemudian hari.

Begitu juga, penyambung USB disambungkan menggunakan kabel tambalan USB 2 yang berkorban, pin berwayar 1 hingga pin 1 dan lain-lain. Penyambung USB di luar terpasang panas pada tempatnya, menggunakan lubang pada casing yang ditinggalkan oleh soket saluran telefon.

Langkah 5: Nota Pemancar

Nota Pemancar
Nota Pemancar
Nota Pemancar
Nota Pemancar
Nota Pemancar
Nota Pemancar

Papan pemancar dan penerimaan 433MHz yang saya gunakan ada di mana-mana di internet dan kerana harganya sangat murah, saya memesan dua pasang masing-masing (untuk membolehkan percubaan percubaan). Saya mendapati bahawa penerima boleh dipercayai tetapi pemancar yang saya gunakan perlu diubah suai agar berfungsi dengan baik.

Litar pemancar FS1000A yang saya beli * ditunjukkan dalam rajah. Saya mendapati secara percubaan dan ralat bahawa kapasitor 3pF perlu dipasang pada kedudukan C1 SoT (pilih pada ujian) agar perkara itu dapat berfungsi. Oleh kerana saya mempunyai penerima jalur lebar yang meliputi 430MHz, agak mudah untuk menyelesaikan masalah ini. Bagaimana anda boleh menguji tanpa penerima adalah soalan menarik….

* Nota: Saya membeli banyak pemancar kedua setelah saya tidak dapat bekerja dua yang pertama. Semua ini hilang gegelung pemungut. Hmmm!

Saya mempunyai kapasitor 3pF di kotak sampah saya tetapi ini tidak akan berlaku bagi kebanyakan orang yang saya rasa dan dalam mana-mana, nilai yang diperlukan mungkin lebih banyak, katakan 7pF. Penggantian minyak mentah boleh dibuat dengan dua bit wayar berpintal (kabel pasangan terpintal kenalan saya mempunyai kapasiti sekitar 100pF per kaki untuk memberi anda panduan panjang) tetapi ia tidak digalakkan kerana masalah lain boleh timbul. Semoga anda bernasib baik dan anda tidak akan menghadapi masalah seperti itu. Anda selalu boleh membeli pemancar buatan yang lebih mahal (dan mungkin).

Perhatikan juga frekuensi pemancar tidak terlalu tepat atau stabil tetapi dalam praktiknya cukup baik untuk mengendalikan soket jauh.

Perlu diketahui juga bahawa lubang bersalut bersebelahan dengan kata 'ANT' pada pemancar BUKAN sambungan antena - ia adalah di sudut tanpa tanda (lihat foto). Ini adalah kesilapan pertama yang saya buat….

Sambungan pin yang bertanda 'ATAD' semestinya betul-betul membaca 'DATA' sudah tentu.

Langkah 6: Gambaran Keseluruhan Perisian

Gambaran Keseluruhan Perisian
Gambaran Keseluruhan Perisian

Harap diingat bahawa saya bukan pengaturcara. Seperti yang dinyatakan sebelum ini, barang pintar adalah kod orang lain tetapi saya cukup tahu untuk mencubitnya dan menyesuaikannya agar dapat berfungsi bersama. Ini juga Instructable pertama yang saya terbitkan dengan kod, jadi maaf jika saya salah! Sekiranya anda mempunyai sebarang pertanyaan, ingatlah …

Perisian asas yang saya gunakan adalah seperti berikut:

  • Raspbian Stretch Lite
  • PiGPIO (perpustakaan yang hebat untuk memandu servos dll)
  • _433.py code (untuk mengekod dan menyahkod kod kawalan RF) - dihubungkan ke dari laman web PiGPIO.
  • Python3 (dilengkapi dengan Raspbian)

Perisian tambahan yang saya gunakan:

  • pyephem (mengira waktu subuh dan senja - berguna untuk menukar cahaya)
  • 'Tasker' dan 'AutoTools SSH' yang sangat baik untuk membuat alat kawalan jauh pada telefon Android saya - lihat foto (kedua-duanya tersedia di gedung Google Play). [Cara membuat 'adegan' Tasker berada di luar ruang lingkup Instructable ini kerana terdapat keluk pembelajaran yang cukup curam tetapi saya dengan senang hati membincangkan apa yang saya buat]

Kod saya sendiri (dalam Python). Kasar tetapi berfungsi:

  • tx.py - menu dan / atau perisian argumen baris perintah yang menghantar kod yang sesuai ke pemancar 433MHz.
  • fajar-senja - mengira waktu subuh & senja di lokasi saya dan mengemas kini crontab pengguna (digunakan untuk lampu pokok Krismas dll.)

Kod peribadi di atas boleh diakses melalui GitHub:

Fungsi projek disediakan oleh kod PiGPIO dan _433.py. Yang terakhir ini memiliki fungsi penerimaan yang mendengarkan perintah kawalan jauh dari alat kawalan jauh RF 433MHz Anda dan menyahkod denyutan masa, menghasilkan output yang dapat disimpan untuk digunakan kemudian oleh fungsi transmisi. Ini membolehkan sistem mempelajari alat kawalan jauh RF 433MHz 'normal'. Pada prinsipnya ia juga dapat digunakan untuk mempelajari alat kawalan jauh RF tetangga anda. Saya sangat menasihati perkara ini kerana jiran jarang melihat sisi lucu dari bunyi loceng pintu secara rawak. Saya tidak akan.

Persediaan

Oleh kerana Pi dalam aplikasi ini dijalankan 'tanpa kepala' (iaitu) tanpa monitor atau papan kekunci, anda perlu bercakap dengannya melalui ssh. Terdapat banyak panduan yang tersedia mengenai cara menyiapkan Pi tanpa kepala tetapi untuk memastikan semuanya mudah, saya akan menganggap anda memulakan Pi terlebih dahulu dengan monitor & papan kekunci. Setelah boot, mulakan terminal dan masukkan 'sudo raspi-config'. Pilih '5. Pilihan antara muka 'dan kemudian' P2 SSH '. Aktifkan pelayan ssh dan tutup raspi-config (yang mungkin akan berakhir dengan but semula).

Koms seterusnya dengan Pi kemudian dapat dilakukan dari terminal jauh melalui ssh. Perhatikan bahawa kod tersebut tidak memerlukan alamat IP LAN tetap untuk Pi tetapi ia pasti membantu (dan semestinya diperlukan jika anda menggunakan kawalan Tasker). Sekali lagi, terdapat banyak tutorial dalam talian yang merangkumi cara melakukannya. Penghala rumah saya membolehkan saya memberikan alamat IP tetap ke alamat MAC Pi, jadi saya melakukannya dengan cara itu, bukannya dengan mengedit persediaan Pi.

Memasang PiGPIO:

ssh ke dalam Pi dan masukkan arahan berikut:

sudo apt kemas kini

sudo apt pasang pigpio python-pigpio python3-pigpio

sudo apt pasang git

klon git

sudo apt pasang python3-RPi. GPIO

Untuk menjalankan PiGPIO semasa boot:

crontab -e

tambah baris berikut:

@reboot / usr / local / bin / pigpiod

Dapatkan kod Python untuk menghantar dan menyahkod kod jauh 433MHz RF:

wget

unzip _433_py.zip

Pindahkan _433.py yang tidak dizip ke direktori yang sesuai (contohnya) ~ / perisian / aplikasi

Menaip (dalam direktori itu)

_433.py

meletakkan Pi ke mod 433 rx, menunggu kod kawalan jauh RF demodulasi pada GPIO pin 38.

Dengan penerima 433MHz yang tersambung, apabila alat kawalan jauh 433MHz digunakan di dekatnya, data seperti berikut akan dilihat di skrin:

kod = 5330005 bit = 24 (jurang = 12780 t0 = 422 t1 = 1236)

Data ini digunakan dalam program Python anda untuk meregenerasi transmisi dari alat kawalan jauh.

Untuk memasukkan data ini ke fail untuk digunakan kemudian, jalankan:

_433.py> ~ / perisian / aplikasi / remotata.txt

Setelah mendapat data, langkah seterusnya adalah menggunakannya untuk mengedit kod 'tx.py' yang dapat anda salin dari repositori GitHub saya. Kod ini menggunakan data untuk menghasilkan bentuk gelombang yang difahami oleh soket jauh yang akan dihantar oleh pemancar 433MHz. Semoga suntingan yang diperlukan dapat dilihat dengan jelas dan selebihnya terpulang kepada anda…..

Disyorkan: