Buat Peranti Dumb Smart With Pilight dan HomeKit: 14 Langkah

Buat Peranti Dumb Smart With Pilight dan HomeKit: 14 Langkah

Isi kandungan:

Anonim

Hai sana! Dalam Pengajaran ini, anda akan belajar bagaimana untuk menukar 5 alat bisu menjadi yang pintar, semuanya untuk harga satu suis pintar komersial tunggal. Sedia? Kami akan bermula tidak lama lagi, tetapi pertama …

APAKAH INI?

Projek ini bertujuan untuk membantu sesiapa sahaja dan semua orang membuat rumah pintar dengan mudah. Ia menggunakan Pilight dan pelayan HomeKit yang ditulis dalam NodeJS.

MENGAPA DIY?

DIY adalah penyelesaian yang menyeronokkan untuk apa-apa, dan keseronokan membuat semata-mata membuatnya bernilai, pada pandangan saya.

Anda juga akan menyimpan sejumlah wang yang tidak masuk akal, jadi itu juga tambah.

Bekalan:

Langkah 1: Cari Peranti Dumb!

Ini mungkin mudah, tetapi sebenarnya tidak mudah. Peranti bodoh mesti memenuhi kriteria berikut:

1. Ia mestilah mempunyai kedudukan dan posisi mati (jadi komputer dengan butang "Hidup / Mati" tidak berfungsi kerana suis yang sama, tetapi lampu dengan suis "Hidup / Tidak" akan!)

2. Ia mesti dibuat lebih berguna dengan keupayaan untuk mengawal dengan telefon anda, tidak kurang!

3. Ia mesti TIDAK mengganggu jiran anda jika anda menghidupkannya:)

4. ITU HARUS MELIHAT BENAR-BENAR BAGAIMANA KEPADA ANDA MENAMBAH KANAK-KANAK ANDA BOLEH KAWALAN LIGHT ANDA DENGAN TELEPON ANDA. Serius. Itulah suatu keharusan.

Jadi, sebagai a TL; DR: Apa-apa sahaja dengan suis atau dail yang boleh kekal dalam kedudukan akan berfungsi.

Langkah 2: Perkakasan / Bahan

Berikut adalah bahan anda …

BreadBoard Plug-in tanpa solder, 830 point-point tie, 2 Power lanes, 200PTS, 16.5 x 5.4 x 0.85 cm ($ 10, tetapi dijual dengan harga $ 2.80 pada 3/25/2016) Anda boleh melangkau ini jika anda sudah mempunyai papan roti.)

50 PCS Jumper Wires 200mm M / F Male-to-Female ($ 12, tetapi dijual dengan harga $ 3.15 inc penghantaran pada 3/25/2016. Anda boleh melangkau ini jika anda sudah mempunyai kabel jumper.)

Switch Etekcity Wireless Remote Switch Switch untuk Peralatan Rumah Tangga (5Rx-2Tx) ($ 39.98, dijual dengan harga $ 29.98 pada 3/25/2016) Jika anda mempunyai beberapa suis yang boleh dikendalikan oleh alat kawalan jauh RF, anda boleh melangkau ini, tetapi ia tidak dijamin serasi jika anda berbuat demikian, saya ragu-ragu bahawa anda mempunyai beberapa yang terletak di sekitar … jika anda lakukan, teruskan dan gunakannya, tetapi pastikan ia sepadan dengan kekerapan pemancar / penerima! Saya sangat mengesyorkan ANDA MENDAPAT INI JIKA JIKA ANDA TIDAK SURE.)

433mhz Rf Transmitter & Kit Penerima untuk Raspberry Pi ($ 7.91, tidak dapat mencari kesepakatan yang lebih baik, jangan ragu untuk berbelanja! Saya ragu anda mempunyai salah satu dari ini yang terletak di sekitar … jika anda pergi ke hadapan dan menggunakannya, tetapi pastikan ia sepadan dengan kekerapan Outlet yang anda beli! Itulah suatu keharusan! Saya SANGAT MEREKOMENDASIKAN ANDA MENDAPAT INI JIKA ANDA TIDAK SURE.)

Inti projek: Raspberry Pi B + (Harus bekerja dengan mana-mana Raspberry Pi! Anda mungkin mempunyai salah satu yang digunakan atau berbaring di sekitar, mari kita gunakan!)

Anda juga memerlukan kabel usb mikro, kad sd, taip bergantung pada model Pi yang anda gunakan, dan dongle WiFi USB jika anda memerlukan sambungan wayarles.

Secara peribadi saya sudah mempunyai Raspberry Pi … Saya mempunyai kabel usb mikro … Saya mempunyai kad sd, dan saya mempunyai dongle WiFi.

Jadi harga projek ini untuk saya adalah $43.84, tidak termasuk cukai. (A tunggal (1) Belkin Wemo suis adalah $ 49.99, $ 6.15 lebih daripada LIMA suis kita akan membina.) Jadi kita membayar $8.77setiap suis apabila kita membina, sementara jika kami membeli Wemo, kami membayar $ 49,99 setiap suis.

Jumlah harga projek akan berubah berdasarkan apa yang anda miliki, tetapi item yang telah saya nyatakan harga adalah satu-satunya yang anda tidak mungkin.

Untuk tutorial ini, iPhone adalah yang terbaik untuk mengawal peranti anda.

Langkah 3: Perkakasan / Persediaan

Sebelum kita mula memuat turun program, kita perlu mendapatkan perkakasan kami.

Kita perlu wayar:

RECEIVER -> RASPBERRY PI

TRANSMITTER -> RASPBERRY PI

Langkah 4: Suis Jauh / Persediaan

Langkah ini agak mudah - suis datang dengan 2 alat kawalan jauh, dan 2 alat kawalan jauh datang dengan 2 bateri, satu untuk setiap jarak jauh.

Satu-satunya perkara yang perlu kita lakukan ialah memasang bateri ke salah satu alat kawalan jauh. Kami akan datang semula kemudian, jadi jangan kalah!

Langkah 5: Perisian / Persediaan - Nod

Kami akan memasang Node melalui buahnya.

Tutorial ini mengandaikan bahawa anda sudah memasang Raspbian di Raspberry Pi anda, dan tahu bagaimana SSH ke dalamnya. Jika anda tidak tahu bagaimana untuk melakukannya, lawati pautan ini.

SSH ke Pi anda dan jalankan arahan ini untuk menambah repo adafa, yang mengandungi Node:

curl -sLS http://apt.adafruit.com/add | sudo bash

Kemudian sebenarnya memasang Node:

sudo apt-get install node

Akhir sekali, semak untuk memastikan ia dipasang dengan betul dengan berjalan:

nod -v

Jika semuanya kelihatan baik, mari teruskan!

Langkah 6: Perisian / Persediaan - Ketergantungan

Jadikan diri anda superuser dengan berjalan:

sudo su

Pasang beberapa kebergantungan:

apt-get install python-dev python-pip libavahi-compat-libdnssd-dev

Akhir sekali, pasang beberapa modul yang memerlukan node:

npm memasang -g node-gyp && npm memasang python-shell && npm install node-persist & & npm install srp && npm install mdns && npm install ed25519 && npm install curve25519 && npm install debug

Itu sahaja untuk persediaan Node - mari kita sediakan penantian!

Langkah 7: Perisian / Persediaan - Perjuangan

SSH ke Pi anda dan log masuk. Jalankan:

Jika ia meminta kata laluan, taipkannya. Kemudian, jalankan:

Anda harus melihat sekurang-kurangnya satu baris pada fail ini, seperti: "deb http://mirrordirector.raspbian.org/raspbian/ wheezy utama penyumbang tidak bebas rpi"

Di bawah baris terakhir fail itu, tambahkan:

Simpan dengan menekan CTRL + X, diikuti oleh Y untuk "ya, selamatkan."

Kemas kini pangkalan data pakej:

apt-get update

Dan akhirnya, pasang Pilight:

apt-get install pilight

Perjuangan kini perlu dipasang, dan sepatutnya bermula pada boot. Sesetengah orang mengalami masalah dengan permulaan automatik, jadi jika anda berfikir bahawa ia tidak bermula pada boot, sebagai root, jalankan:

dakwah peperangan

Langkah 8: Sniff Out RF Codes

Langkah seterusnya ialah menghidupkan kod RF.

Setiap butang di jauh mempunyai kod yang sepadan dengan suis yang berkaitan. Dalam gambar suis di atas, suis mempunyai kod umum 1502. Ia adalah suis ke-4 dalam pek 5, dengan itu 1502-4. Tetapi kita memerlukan kod RF, bukan kod umum. Untuk mendapatkannya, kami menghidu keluar kod RF.

Untuk menghidupkan suis dengan remote, anda hanya akan menekan butang "Aktif" ke-4. Jadi kita akan ambil kod RF yang dihantar apabila butang "On" ke-4 ditekan.

SSH ke Pi anda sekali lagi (atau teruskan sesi terakhir anda, jika anda tidak menutupnya) dan jalankan:

sudo-menerima

Sekiranya tidak ada kesilapan, lupakan teks yang digariskan. Sekiranya ada ralat mengenai "sesi sesi ssdp yang ditemui," anda akan mahu membaca teks yang digariskan.

Kesalahan "tiada sesi pseudo-ssdp dijumpai" bermakna "dakwah peperangan"tidak berjalan.Kemungkinan ia tidak bermula pada boot, dan anda perlu memulakan secara manual. Lakukan dengan menjalankan arahan"sudo-daemon'

Ambil jauh dengan bateri dari Langkah 4, dan bawa ia dekat dengan penerima.

Kami akan bermula dengan Tukar 1. Dengan menerima tentangan program masih berjalan, tekan butang "On" untuk menukar # 1.

Lihat output dari menerima tentangan program. Adakah ia menunjukkan apa-apa?

Ya! Ia berlaku! Ia sepatutnya kelihatan seperti ini!

"mesej": {

"id": "A3", "unit": 34, "state": "on"

}, "asal": "penerima", "protokol": clarus_switch ", "uuid": "SOMENUMBER", "mengulangi": 1

}

Sekarang, kita perlu memahami apa maksudnya, dan membenarkan diri kita untuk mengawalnya.

Maklumat yang kami perlukan untuk langkah seterusnya ialah ID, yang unit, dan juga protokol.

Langkah 9: Tulis RF Send Script

Menggunakan maklumat (id, unit) dari langkah terakhir, kami kini boleh menghantar isyarat RF.

Langkah 6 memberitahu saya bahawa protokol suis saya adalah clarus_switch, id itu A3, dan unit itu 34.

Dengan itu, kita boleh menulis skrip yang akan menghantar kod yang sama dari Raspberry Pi sebagai remote akan dihantar.

Pergi ke direktori yang anda ingin simpan skrip, kemudian jalankan:

nano Switch1_On.sh

… untuk membuat dan mengedit fail skrip Pada. Jika anda menggunakan suis # 2, maka anda boleh namakannya Switch2_On.sh atau sesuatu seperti itu.

Kemudian, letakkan ini dalam fail:

sudo pilight-send -p protocol -i id -u unit -t

… di mana protokol adalah protokol anda, id adalah id anda, dan unit adalah unit anda. "-t" bermaksud "Hidup."

Jadi jika ID dan UNIT anda sama dengan saya, skrip anda akan kelihatan seperti ini:

sudo pilight-send -p clarus_switch -i A3 -u 34 -t

Simpan fail dengan CTRL + X, diikuti oleh Y untuk "ya, simpan fail itu."

Buat fail boleh laku dengan berjalan:

sudo chmod + x Switch_On.sh

Seterusnya, kami akan mencipta skrip Off. Anda sebenarnya boleh menggunakan skrip yang sama dengan satu perubahan, jadi kami akan menyalin skrip dan mengeditnya. Melaksanakan kebenaran akan disalin juga, jadi kita tidak perlu menjalankan chmod sekali lagi.

cp Switch1_On.sh Switch1_Off.sh

nano Switch1_Off.sh

Fail harus diubah dari:

… kepada:

… di mana -f bermaksud menukar giliran OFF.

Langkah 10: Uji Skrip

Tahniah, awak buat langkah terakhir Bahagian 1 untuk tutorial ini. Sekarang kita dapat menguji skrip untuk memastikan ia berfungsi.

Tetapi pertama, kami memerlukan peranti bodoh kami dari Langkah 1!

Peranti bodoh saya adalah peminat. Saya beralih kepada kedudukan "ON" pada tetapan 1, supaya peminat sentiasa berjalan semasa ia mempunyai kuasa.

Seterusnya, saya memasukkannya ke RF Outlet # 1 (yang kami menulis skrip untuk), dan memasukkan soket ke dinding. Anda boleh mengesahkan bahawa saluran keluar berfungsi dengan normal dengan menjadikannya ON dan OFF dengan jarak jauh.

Dengan mengandaikan jarak jauh yang berfungsi dengan betul, akhirnya ada masa untuk mencuba skrip. SSH ke Pi anda lagi, atau terus sesi anda jika anda belum menutupnya, kemudian jalankan:

sudo./Switch1_On.sh

Adakah ia menghidupkan peranti bodoh anda? Ya? Peranti bodoh anda sekarang lebih pintar.

Sekarang, matikannya dengan berjalan:

sudo./Switch1_Off.sh

Off? Ya? Peranti anda sekarang lebih pintar.

Anda kini boleh menggunakan skrip ini untuk menghidupkan dan mematikan cawangan anda dan sebarang perkhidmatan yang boleh menjalankan fail.sh anda sekarang boleh digunakan untuk menghidupkan / mematikan peranti bodoh anda.

Tetapi bagaimana pula dengan menjadikannya lebih pintar?

Langkah 11: Integrasi HomeKit / Siri - Penyuntingan

HomeKit menyediakan platform yang sangat baik untuk inovasi dan automasi rumah, walaupun ia tidak begitu popular.

Kami akan bermula dengan mengkloning repo Git saya yang bercabang dari KhaosT. Saya membuat beberapa pengubahsuaian untuk tujuan tutorial ini, tetapi anda sentiasa dapat mencari asal di sini.

Untuk mengklon garpu saya dan masukkan direktori aksesori di dalamnya, jalankan:

git clone http://github.com/MiniguyBrendan/HAP-NodeJS.git

cd HAP-NodeJS / aksesori /

Terdapat beberapa perubahan yang perlu kita buat.

Kami perlu menjana nama pengguna rawak (dalam bentuk alamat MAC) untuk setiap peranti. Kita boleh lakukannya di sini.

Pastikan untuk melakukan perkara berikut di laman web tersebut:

Tetapkan format alamat MAC kepada yang mempunyai Colons (00:10: FA: 6E: 38: 4A)

Tetapkan Kes ke Atas

Mari edit Outlet_accessory.js default untuk Outlet # 1 supaya kami dapat menambah nama pengguna kami:

sudo nano Outlet_accessory.js

Cari baris yang mengatakan outlet.username = "1A: 2B: 3C: 4D: 5E: FF";

Tukar nilai nama pengguna kepada apa sahaja laman web yang dihasilkan. Sebagai contoh, saya mungkin mengubahnya untuk dibaca:

… jika itu adalah apa yang penjana memberi saya.

Juga, pada baris dengan PythonShell.run ('light1.py', fungsi (err) { dan PythonShell.run ('light0.py', function (err) {

… perhatikan nama fail "light1.py" dan "light0.py." Anda boleh menggantikan "light1" atau "light0" dengan "fan1" atau "fan0", jika, sebagai contoh, peranti bodoh anda adalah peminat. Jika anda memilih untuk menggantikan nilai lalai, jangan lupa apa yang anda ubah ke!

Langkah 12: Integrasi HomeKit / Siri - Python

Kini, kita perlu skrip Python yang menjalankan script.sh kita. "Eww, itu tidak cekap," anda mungkin berfikir. Ya, anda betul. Running files.sh dengan Node telah menjadi jerawatan pada Raspberry Pi saya, jadi YMMV. Oleh itu, kami akan menjalankan fail.sh melalui skrip python.

Jika anda masih berada di folder "aksesori", kembali ke akar folder HAP-NodeJS:

cd..

Seterusnya, buat fail python untuk memanggil skrip "Switch1_On.sh" kami.

sudo nano light1.py

Dan tulis yang berikut:

import subprocess

subprocess.Popen ('sh', 'yourdirectory /Switch1_On.sh ')

… di mana your direktori adalah direktori di mana anda menyimpan fail.sh anda.

Simpan fail dengan menaip CTRL + X dan Y untuk "ya, selamatkan ini!"

Sekali lagi, kita boleh meniru fail ini untuk skrip Off:

sudo cp light1.py light0.py

Kemudian editnya …

sudo nano light0.py

… dan ubah " Switch1_On.sh "kepada" Switch1_Off.sh '

Simpan dengan CTRL + X, kemudian Y untuk "ya, saya benar-benar mahu menyelamatkan, terima kasih."

Langkah 13: Integrasi HomeKit / Siri - Npm

Untuk benar-benar menjalankan pelayan HomeKit, kita perlu membina semula projek Node. Ia akan mengambil sedikit masa untuk menyelesaikan, cuba bersabar! Jalankan:

npm membina semula

Dan sekarang, akhirnya, kita boleh cuba menjalankan pelayan itu sendiri!

sudo node BridgedCore.js

Jika anda telah menetapkan semuanya dengan betul, ia harus memulakan pelayan HomeKit. Kami sedia menyambungkan iPhone kami!

Langkah 14: Integrasi HomeKit / Siri - Penamat

Kami berada di rumah! Langkah terakhir ialah menyambungkan iPhone anda ke pelayan HomeKit anda, yang membolehkan anda mengawal peranti anda dengan Siri.

Kegemaran peribadi saya dari aplikasi HomeKit yang boleh digunakan untuk menubuhkan peranti baru: Eve elgato. Anda boleh memuat turunnya di iPhone atau iPad anda di sini.

Pastikan untuk membenarkannya mengakses Data Rumah anda, dan kemudian biarkan ia mencari peranti. Ia harus mengetahui peranti yang anda sediakan sebelum ini. Tambah peranti anda. Ikut arahan pada skrin. Jika anda ingin menukar nama peranti, lakukannya sekarang.

Apabila anda selesai, anda harus dapat mengawal peranti anda dengan nama yang anda tetapkan.

Cuba ia! Aktifkan Siri, dan katakan, "Hidupkan nama peranti"

… di mana nama peranti adalah nama yang anda berikan.

Adakah ia dihidupkan? Ya? Tahniah, awak baru buat rumah pintar!