Isi kandungan:

Edison Menjadikan Saya Kopi (kod): 3 Langkah
Edison Menjadikan Saya Kopi (kod): 3 Langkah

Video: Edison Menjadikan Saya Kopi (kod): 3 Langkah

Video: Edison Menjadikan Saya Kopi (kod): 3 Langkah
Video: REAKSI ANAK INDOMARET! Ga di Per-panjang Kontrak nya 🤣 (INI REAKSI MEREKA GUYS!) 2024, Julai
Anonim
Edison Menjadikan Saya Kopi (kod)
Edison Menjadikan Saya Kopi (kod)

Projek ini akan membolehkan anda mencetuskan tindakan (seperti menghidangkan kopi) sebaik sahaja pelanggan WiFi dikesan dalam rangkaian WiFi (seperti ketika anda atau pekerja anda sampai ke pejabat anda).

Langkah 1: Sediakan Intel Edison anda

Sediakan Intel Edison Anda
Sediakan Intel Edison Anda

Sambungkan dua kabel usb dari komputer anda ke papan Edison (satu untuk kuasa, satu untuk data bersiri). Di OSX, buka sambungan bersiri ke papan dari terminal anda: screen /dev/tty.usbserial-AJ035OK6 115200 -LLog masuk Edison lalai adalah root. Setelah anda masuk, konfigurasikan rangkaian wifi: configure_edison --wifiMari tambahkan senarai sumber untuk dapat memuat turun pakej dari Edison. Buka fail ini: root @ edison: ~ # vi /etc/opkg/base-feeds.confDan tambahkan baris ini ke dalamnya (taip "i" untuk dapat memasukkan teks dalam editor vi): src / gz all http: / /repo.opkg.net/edison/repo/allsrc/gz edison https://repo.opkg.net/edison/repo/edisonsrc/gz core2-32 https://repo.opkg.net/edison/repo/core2 -32Kemudian kemas kini sumber dan pasang perpustakaan yang diperlukan untuk projek kami: root @ edison: ~ # opkg updateroot @ edison: ~ # opkg install libmraa0 nanoroot @ edison: ~ # opkg install python-piproot @ edison: ~ # curl https: / /bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | pythonroot @ edison: ~ # pip pasang ubidotsDone! sekarang kami sudah bersedia untuk membuat kod. Kesan ketika saya tiba di pejabat saya Kami akan menggunakan sniffer paket Scapy untuk dapat mengesan lalu lintas ARP di rangkaian wifi tempatan. Scapy adalah alat hebat yang membolehkan anda menangani paket rangkaian dari kemudahan skrip Python. Tanpa itu, kita perlu menguraikan banyak kod binari ketika mengendus trafik rangkaian. Skrip pertama kita akan mencari alamat MAC yang disimpan dalam fail csv yang disebut "kamus.csv", dan kemudian menghantar nilai "1" ke pemboleh ubah Ubidots, bermaksud bahawa orang itu tiba. Sekiranya alamat MAC dilihat untuk pertama kalinya, maka skrip akan membuat pemboleh ubah Ubidots secara automatik untuk menyimpan data. Perhatikan baris: sniff (prn = arp_count, filter = "arp", store = 0) yang mencetuskan fungsi " arp_count (pkt) "setiap kali paket ARP dihidu. Fungsi itu adalah tempat kita menjalankan pelbagai proses untuk mengemas kini pemboleh ubah Ubidots. Sebab saya menggunakan Multiprocessing adalah kerana saya memerlukan fungsi selari sehingga, jika dua pengguna tiba pada masa yang sama, kedua-dua paket dapat dihidu dan dikemas kini di Ubidots. Pilihan "store = 0" sangat penting kerana jika tidak, paket akan mula mengisi memori Edison RAM dan Swap dan ia akan membeku setelah beberapa jam.https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

Langkah 2: Mencetuskan Servo Apabila Paket ARP Dihidu

Mencetuskan Servo Apabila Paket ARP Dihidu
Mencetuskan Servo Apabila Paket ARP Dihidu

Skrip kedua akan membuat tinjauan bahawa Ubidots berubah setiap masa (yang kita hantar "0" atau "1" ke) dan mengaktifkan servo apabila pemboleh ubahnya sama dengan "1". Saya menggunakan perpustakaan MRAA (disarankan oleh orang-orang Intel) yang membolehkan anda mengendalikan semua pin GPIO Edison anda dari shell Linux atau skrip python (sebenarnya, tidak perlu membuat kod dalam Arduino!). Ini membolehkan saya mengendalikan motor Servo dengan cepat dari Python. Anda boleh menyiapkan Servo ini untuk mencetuskan sebarang injap fizikal, seperti mesin kopi. Saya membuat pemegang cawan sederhana demi demo. Btw anda juga boleh membuat "Switch" di papan pemuka anda dan mengawal periuk kopi secara manual:

Langkah 3: Sila Undi

Tolong undi !!! Untuk video:

Disyorkan: