Cara saya: bagaimana saya menolak untuk membeli gateway noolite dan menggantinya dengan sepeda saya



Kisah ini dimulai satu setengah tahun yang lalu, ketika unit kontrol pencahayaan β€œnoolite” jatuh ke tangan saya (yah, begitu saya mendapatkannya, saya membelinya sendiri, saya memiliki kelemahan untuk semua jenis perangkat keras yang menarik). Kemudian yang saya miliki adalah dua blok seri SB dan adaptor MTRF-64. Blok seri ini menarik saya oleh fakta bahwa mereka dapat tertanam di kabel rumah tanpa secara signifikan mengulanginya: Saya mengambil sebuah saklar dan memasukkan blok di tempatnya, dan menggantung tombol pada kabel yang khusus dilepas dari blok. Dalam konfigurasi ini, lampu dapat dikontrol baik dari saluran radio dan, menurut klasik, sebuah saklar. Ada, tentu saja, satu minus: blok dari seri ini tidak mendukung umpan balik, tapi saya ingin, karena di MTRF-64 itu, tapi oh well. Tapi kemudian saya menolak untuk membeli gateway yang mendukung adaptor, potensinya lebih luas dari gateway.

Setelah banyak berkedip dengan kandil, ada keinginan untuk membawa semuanya ke beberapa penyebut yang sama, tetapi, tampaknya, potongan-potongan besi menarik menutupi keinginan ini, karena balok dikirim ke kotak yang jauh. Jadi mereka akan ada di sana jika, sampai baru-baru ini, saya tidak memperhatikan mereka lebih tepatnya pada lapisan debu tebal yang tidak senonoh pada mereka .


Blok daya SB-1-150 dan MTRF-64

Segera sebuah gambar muncul di kepala saya di mana saya mematikan lampu sebelum tidur tanpa turun dari tempat tidur, atau menggunakan skrip "Saya akan pergi" dengan satu klik tombol untuk mematikan semua yang harus dimatikan jika saya tidak ada.

Akhirnya, diputuskan untuk bertindak. Mengapa saya mulai memukau sepeda saya dan tidak langsung membeli sistem yang sudah jadi? Hanya karena saya ingin melakukan sesuatu dengan tangan saya sendiri. Anda tahu perasaan ini ketika Anda menyatukan sesuatu, dan itu berhasil. Plus, saya akhirnya mulai belajar beberapa bahasa berorientasi objek menggunakan contoh proyek nyata (saya memilih python 3).

Ide


Sederhana - kontrol lampu dan peralatan dari mana saja di rumah. Sebagai perangkat kontrol utama dipilih Raspberry Pi model B + bersamaan dengan MTRF-64. Karena kurangnya pengalaman dalam mengembangkan aplikasi seperti itu, diputuskan untuk memulai dengan sesuatu yang sederhana. Jadi saya sampai pada implementasi bot Telegram.


Raspberry Pi B + dan MTRF-64

Bagi saya sendiri, saya memutuskan bahwa untuk pertama kalinya fungsi bot berikut cukup untuk saya:

  • Kontrol lampu dan peralatan rumah tangga;
  • Dukungan untuk perangkat yang dapat dimmable (lampu, kap, dll.);
  • Distribusi perangkat menurut ruang;
  • Mendukung skrip untuk mengelola sekelompok perangkat dengan cepat;
  • Menambahkan pengguna dan mendistribusikannya ke dalam grup: pemilik (dapat mengontrol perangkat di rumah, memiliki akses ke pengaturan rumah), tamu (dapat mengontrol perangkat di rumah, tidak memiliki akses ke pengaturan rumah), pelanggan (tunggu sampai pemilik mengundang mereka ke rumah) .

Instalasi


Untuk memulai, unduh sistem operasi untuk pai raspberry kami. Saya lebih suka yang resmi untuk selendang Raspbian ini. Lebih mudah mengunggah gambar ke CD menggunakan utilitas Win32DiskImager.

Di sini saya menunggu tangkapan kecil
Faktanya adalah saya terbiasa bekerja dengan raspberry dari jarak jauh, tetapi karena fakta bahwa dalam versi terbaru dari akses SSH Raspbian dinonaktifkan secara default, saya harus mendekati menggunakan adaptor USB-UART



1. Hubungkan semuanya dan masuk:

login: pi password: raspberry 

2. Untuk memulai, disarankan untuk memastikan bahwa Anda menggunakan versi program terbaru. Anda mungkin berpikir: kami baru saja mengunduh kit distribusi, di mana segar? Tapi tidak ...

 sudo apt-get update sudo apt-get -y dist-upgrade 

3. Kami menginstal manajer paket pip3 dan git:

 sudo apt-get install -y python3-pip git 

4. Unduh perpustakaan yang diperlukan agar bot berfungsi. Saya menggunakan pustaka pyTelegramBotAPI, yang menangani semua nuansa mengirim dan menerima permintaan HTTP, memungkinkan saya untuk berkonsentrasi langsung pada logika:

 sudo pip3 install pytelegrambotapi pyserial 

5. Unduh bot:

 sudo git clone https://github.com/DZimasik/nooBot.git 

Sebelum memulai bot, Anda harus mendaftarkannya, mis. dapatkan id uniknya (token). Bot khusus lain akan membantu kami melakukan ini - @BotFather . Cukup kirim dia / newbot dan dia meminta untuk membuat nama untuk bot baru kami, nama ini akan ditampilkan dalam daftar kontak Telegram. BotFather lebih lanjut menawarkan untuk membuat nama pengguna bot yang unik. Satu-satunya batasan adalah bahwa nama pengguna harus diakhiri dengan "bot". Nama pengguna juga digunakan untuk mencari bot di antara banyak bot lainnya.

Pada prinsipnya, ini sudah cukup untuk memulai. Beberapa perfeksionis di sini dapat meminta bot avatar atau menulis pesan sambutan. Setelah semuanya dimasukkan, BotFather akan mengembalikan token:



6. Tambahkan token ke file config.py

 sudo nano /home/pi/nooBot/config.py 

 token = '_' # Insert your token from BotFather 

7. Akhirnya, Anda dapat memulai bot:

 sudo python3 /home/pi/nooBot/noobot.py 

Kirim ke bot kami / mulai . Jika token dimasukkan dengan benar, keyboard akan muncul dan kita akan melihat pesan:


Rencanakan masa depan


Pada tahap ini, saya mengontrol cahaya di kamar tidur dan aula, tetapi di masa depan saya berencana untuk membeli lebih banyak unit daya (kali ini dengan umpan balik) dan mengalihkan semua pencahayaan saya ke remote control. Ada juga rencana untuk menambahkan dukungan umpan balik ke bot sehingga akan mungkin untuk mengetahui status perangkat dan parameter sensor di rumah, berada di luarnya.

Itu saja untuk saat ini. Saya akan senang mendengar pendapat Anda. Baik untuk semua!

Tautan yang bermanfaat:

Source: https://habr.com/ru/post/id414829/


All Articles