Innholdsfortegnelse:

Edison Makes Me a Coffee (kode): 3 trinn
Edison Makes Me a Coffee (kode): 3 trinn

Video: Edison Makes Me a Coffee (kode): 3 trinn

Video: Edison Makes Me a Coffee (kode): 3 trinn
Video: И такое бывает😳😅 2024, November
Anonim
Edison gjør meg en kaffe (kode)
Edison gjør meg en kaffe (kode)

Dette prosjektet lar deg utløse en handling (som å servere kaffe) når en WiFi -klient er oppdaget i et WiFi -nettverk (som når du eller dine ansatte kommer til kontoret).

Trinn 1: Konfigurer Intel Edison

Sett opp din Intel Edison
Sett opp din Intel Edison

Koble de to usb -kablene fra datamaskinen til Edison -kortet (en for strøm, en for serielle data). I OSX åpner du en seriell tilkobling til kortet fra terminalen din: screen /dev/tty.usbserial-AJ035OK6 115200 -L Standard Edison -pålogging er root. Når du er inne, konfigurerer du wifi -nettverket: configure_edison --wifiLa oss legge til kildelisten for å kunne laste ned pakker fra Edison. Åpne denne filen: root@edison: ~# vi /etc/opkg/base-feeds.confOg legg disse linjene til den (skriv "i" for å kunne sette inn tekst i vi-editoren): src/gz alle 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 -32Oppdater deretter kildene og installer de nødvendige bibliotekene for prosjektet vårt: 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 install ubidotsDone! nå er vi klare til å kode. Oppdag når jeg kommer til kontoret vårt Vi bruker Scapy -pakkesnifferen for å kunne oppdage ARP -trafikk i det lokale wifi -nettverket. Scapy er et flott verktøy som lar deg håndtere nettverkspakker på en enkel måte med et Python -skript. Uten det ville vi måtte analysere mye binær kode når vi sniffer nettverkstrafikk. Vårt første skript vil se etter MAC -adresser som er lagret i en csv -fil som heter "dictionary.csv", og deretter sende verdien "1" til en Ubidots -variabel, som betyr at personen ankom. Hvis MAC -adressen blir sett for første gang, vil skriptet automatisk opprette en Ubidots -variabel for å lagre dataene. Merk linjen: sniff (prn = arp_count, filter = "arp", store = 0) som utløser funksjonen " arp_count (pkt) "hver gang en ARP -pakke blir sniffet. Den funksjonen er der vi skyter av flere prosesser for å oppdatere Ubidots-variabelen. Grunnen til at jeg brukte Multiprocessing er fordi jeg trengte en parallellfunksjon slik at hvis to brukere kommer samtidig, kan begge pakkene sniffes og oppdateres i Ubidots. Alternativet "store = 0" er veldig viktig fordi ellers ville pakkene begynn å fylle Edisons RAM og bytt minne, og det ville fryse etter noen timer. https://halckemy.s3.amazonaws.com/uploads/document/file/46958/diction.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

Trinn 2: Utløser en servo når ARP -pakken er sniffet

Utløser en servo når ARP -pakken er sniffet
Utløser en servo når ARP -pakken er sniffet

Det andre skriptet vil undersøke den Ubidots -variabelen hele tiden (den vi sender "0" eller "1" til) og aktivere servoen når variabelen er lik "1". Jeg bruker MRAA -biblioteket (foreslått av Intel -folkene) som lar deg håndtere alle GPIO -pinnene på Edison fra Linux -skallet eller et python -skript (egentlig ikke nødvendig å kode i Arduino!). Dette tillot meg å håndtere en servomotor fra Python raskt. //Halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.py Servoen er festet til pin D3 i Grove Kit. Du kan konfigurere denne servoen til å utløse enhver fysisk ventil, for eksempel en kaffemaskin. Jeg laget en enkel koppholder for demonstrasjonens skyld. BTW kan du også lage en "bryter" i dashbordet og styre kaffeskjenken manuelt:

Trinn 3: Stem

Vennligst stem !!! For videoen:

Anbefalt: