Innehållsförteckning:

Edison Makes Me a Coffee (kod): 3 steg
Edison Makes Me a Coffee (kod): 3 steg

Video: Edison Makes Me a Coffee (kod): 3 steg

Video: Edison Makes Me a Coffee (kod): 3 steg
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Edison gör mig en kaffe (kod)
Edison gör mig en kaffe (kod)

Detta projekt låter dig utlösa en åtgärd (som att servera kaffe) när en WiFi -klient upptäcks i ett WiFi -nätverk (som när du eller dina anställda kommer till ditt kontor).

Steg 1: Konfigurera din Intel Edison

Konfigurera din Intel Edison
Konfigurera din Intel Edison

Anslut de två usb -kablarna från din dator till Edison -kortet (en för ström, en för seriell data). I OSX öppnar du en seriell anslutning till kortet från din terminal: skärm /dev/tty.usbserial-AJ035OK6 115200 -LStandard Edison -inloggningen är root. När du väl är inne konfigurerar du wifi -nätverket: configure_edison --wifiLåt oss lägga till källistan för att kunna ladda ner paket från Edison. Öppna den här filen: root@edison: ~# vi /etc/opkg/base-feeds.confOch lägg till dessa rader i den (skriv "i" för att kunna infoga text i vi-redigeraren): 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 -32 Uppdatera sedan källorna och installera de nödvändiga biblioteken för vårt projekt: root@edison: ~# opkg updateroot@edison: ~# opkg installera libmraa0 nanoroot@edison: ~# opkg installera python-piproot@edison: ~# curl https:/ /bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | pythonroot@edison: ~# pip installera ubidotsDone! nu är vi redo att koda. Upptäck när jag kommer till mitt kontor Vi kommer att använda Scapy -paketet för att kunna upptäcka ARP -trafik i det lokala wifi -nätverket. Scapy är ett bra verktyg som låter dig hantera nätverkspaket från det enkla med ett Python -skript. Utan det skulle vi behöva analysera massor av binär kod när vi sniffar nätverkstrafik. Vårt första skript kommer att leta efter MAC -adresser lagrade i en csv -fil som heter "dictionary.csv" och sedan skicka värdet "1" till en Ubidots -variabel, vilket innebär att personen kom. Om MAC -adressen visas för första gången skapar scriptet automatiskt en Ubidots -variabel för att lagra data. Notera raden: sniff (prn = arp_count, filter = "arp", store = 0) som utlöser funktionen " arp_count (pkt) "varje gång ett ARP -paket snusas. Den funktionen är där vi avfyrar flera processer för att uppdatera Ubidots-variabeln. Anledningen till att jag använde Multiprocessing är att jag behövde en parallell funktion så att om två användare anländer samtidigt kan båda paketen snusas och uppdateras i Ubidots. Alternativet "store = 0" är mycket viktigt eftersom paketen annars skulle börja fylla Edisons RAM och byt minne så fryser det efter några timmar. https://halckemy.s3.amazonaws.com/uploads/document/file/46958/diction.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

Steg 2: Utlös en servo när ARP -paketet snusas

Aktivera en servo när ARP -paketet snusas
Aktivera en servo när ARP -paketet snusas

Det andra skriptet kommer att undersöka den Ubidots -variabeln hela tiden (den vi skickar "0" eller "1" till) och aktivera servon när variabeln är lika med "1". Jag använder MRAA -biblioteket (föreslaget av Intel -folket) som låter dig hantera alla GPIO -stiften på din Edison från Linux -skalet eller ett python -skript (egentligen, behöver inte koda i Arduino!). Detta gjorde att jag snabbt kunde hantera en servomotor från Python. Http://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.py Servon är ansluten till stift D3 i Grove Kit. Du kan ställa in denna servo för att utlösa vilken fysisk ventil som helst, till exempel en kaffemaskin. Jag gjorde en enkel kopphållare för demos skull. Btw kan du också skapa en "Switch" i din instrumentbräda och styra kaffehällen manuellt:

Steg 3: Vänligen rösta

Vänligen rösta !!! För videon:

Rekommenderad: