İçindekiler:

Edison Bana Kahve Yapıyor (kod): 3 Adım
Edison Bana Kahve Yapıyor (kod): 3 Adım

Video: Edison Bana Kahve Yapıyor (kod): 3 Adım

Video: Edison Bana Kahve Yapıyor (kod): 3 Adım
Video: Sadi Hocanın Eşidir Kendisi - Gelsin Hayat Bildiği Gibi (13.Bölüm) 2024, Temmuz
Anonim
Edison Bana Kahve Yapıyor (kod)
Edison Bana Kahve Yapıyor (kod)

Bu proje, bir WiFi ağında bir WiFi istemcisi algılandığında (sizin veya çalışanlarınızın ofisinize gelmesi gibi) bir eylemi (kahve servisi yapmak gibi) tetiklemenize olanak tanır.

Adım 1: Intel Edison'unuzu Kurun

Intel Edison'unuzu Kurun
Intel Edison'unuzu Kurun

Bilgisayarınızdan gelen iki usb kablosunu Edison kartına bağlayın (biri güç için, biri seri veri için). OSX'te, terminalinizden karta bir seri bağlantı açın:screen /dev/tty.usbserial-AJ035OK6 115200 -LVarsayılan Edison oturumu root'tur. Girdikten sonra, wifi ağını yapılandırın:configure_edison --wifiEdison'dan paketleri indirebilmek için kaynaklar listesini ekleyelim. Bu dosyayı açın:root@edison:~# vi /etc/opkg/base-feeds.confVe bu satırları ona ekleyin (vi düzenleyiciye metin ekleyebilmek için "i" yazın):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 -32Ardından kaynakları güncelleyin ve projemiz için gerekli kütüphaneleri kurun: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 kurulumu ubidotsBitti! şimdi kodlamaya hazırız. Ofisime geldiğimde tespit et Yerel wifi ağındaki ARP trafiğini tespit edebilmek için Scapy paket dinleyicisini kullanacağız. Scapy, ağ paketlerini bir Python betiğinin kolaylığından işlemenizi sağlayan harika bir araçtır. Onsuz, ağ trafiğini koklarken çok sayıda ikili kodu ayrıştırmamız gerekecekti. İlk betiğimiz "dictionary.csv" adlı bir csv dosyasında saklanan MAC adreslerini arayacak ve ardından "1" değerini bir Ubidots değişkenine gönderecek., kişinin geldiği anlamına gelir. MAC adresi ilk kez görülüyorsa, komut dosyası verileri depolamak için otomatik olarak bir Ubidots değişkeni oluşturur. Şu satırı not edin: sniff(prn = arp_count, filter="arp", store = 0)işlevi tetikleyen " arp_count(pkt)" bir ARP paketinin her koklanmasında. Bu fonksiyon, Ubidots değişkenini güncellemek için çoklu süreçleri başlattığımız yerdir. Çoklu İşlemi kullanmamın nedeni, paralel bir işleve ihtiyaç duymamdı, böylece iki kullanıcı aynı anda ulaşırsa, o zaman her iki paket de Ubidots'ta koklanabilir ve güncellenebilir. "Depolama = 0" seçeneği çok önemlidir çünkü aksi takdirde paketler Edison'un RAM ve Swap belleğini doldurmaya başlayın ve birkaç saat sonra donacaktır.https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/belge/dosya/46543/wifi_sniff.py

Adım 2: ARP Paketi Koklandığında Servoyu Tetikleyin

ARP Paketi Koklandığında Bir Servoyu Tetikleyin
ARP Paketi Koklandığında Bir Servoyu Tetikleyin

İkinci komut dosyası, her zaman Ubidots değişkenini ("0" veya "1" gönderdiğimiz) sorgulayacak ve değişken "1"e eşit olduğunda servoyu etkinleştirecektir. Edison'unuzun tüm GPIO pinlerini Linux kabuğundan veya bir python betiğinden (gerçekten, Arduino'da kod yazmaya gerek yok!) işlemenizi sağlayan MRAA kitaplığını (Intel çalışanları tarafından önerilen) kullanıyorum. Bu, Python'dan bir Servo motoru hızlı bir şekilde kullanmamı sağladı.https://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.pyServo, Grove Kit'teki D3 pimine bağlıdır. Bu Servoyu kahve makinesi gibi herhangi bir fiziksel valfi tetikleyecek şekilde ayarlayabilirsiniz. Demo olsun diye basit bir bardaklık yaptım. Btw ayrıca gösterge tablonuzda bir "Switch" oluşturup kahve dökücüyü manuel olarak kontrol edebilirsiniz:

3. Adım: Lütfen Oy Verin

Lütfen oy verin!!! Video için:

Önerilen: