Sisällysluettelo:

Edison valmistaa minulle kahvia (koodi): 3 vaihetta
Edison valmistaa minulle kahvia (koodi): 3 vaihetta

Video: Edison valmistaa minulle kahvia (koodi): 3 vaihetta

Video: Edison valmistaa minulle kahvia (koodi): 3 vaihetta
Video: Прохождение The Last of Us part 2 (Одни из нас 2)#2 Здание суда и поиски бензина 2024, Marraskuu
Anonim
Edison tekee minulle kahvia (koodi)
Edison tekee minulle kahvia (koodi)

Tämän projektin avulla voit käynnistää toiminnon (kuten kahvin tarjoamisen), kun WiFi -asiakas on havaittu WiFi -verkossa (kuten sinä tai työntekijäsi saapuvat toimistoosi).

Vaihe 1: Asenna Intel Edison

Asenna Intel Edison
Asenna Intel Edison

Liitä kaksi USB -kaapelia tietokoneestasi Edison -korttiin (toinen virtalähteeseen ja toinen sarjatietoihin). Avaa OSX -käyttöjärjestelmässä sarjayhteys kortille päätelaitteeltasi: screen /dev/tty.usbserial-AJ035OK6 115200 -L Edisonin oletuskirjautuminen on root. Kun olet, määritä wifi -verkko: configure_edison --wifiLisätään lähdeluettelo, jotta voimme ladata paketteja Edisonista. Avaa tämä tiedosto: root@edison: ~# vi /etc/opkg/base-feeds.confJa lisää tähän rivit (kirjoita "i", jotta voit lisätä tekstiä vi-editoriin): 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 -32Sitten päivitä lähteet ja asenna projektillemme tarvittavat kirjastot: 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! Nyt olemme valmiita koodaamaan. Scapy on loistava työkalu, jonka avulla voit käsitellä verkkopaketteja helposti Python -komentosarjan avulla. Ilman sitä meidän pitäisi jäsentää paljon binaarikoodia verkkoliikennettä haistellessamme. Ensimmäinen skriptimme etsii MAC -osoitteita, jotka on tallennettu csv -tiedostoon nimeltä "dictionary.csv", ja lähettää sitten arvon "1" Ubidots -muuttujalle eli henkilö saapui. Jos MAC -osoite näkyy ensimmäisen kerran, komentosarja luo automaattisesti Ubidots -muuttujan tietojen tallentamiseksi. Huomaa rivi: sniff (prn = arp_count, filter = "arp", store = 0), joka käynnistää toiminnon " arp_count (pkt) "joka kerta, kun ARP -paketti haistetaan. Tämä toiminto käynnistää moniprosessit päivittääkseen Ubidots-muuttujan. Käytin moniprosessointia siksi, että tarvitsin rinnakkaisfunktion, jotta jos kaksi käyttäjää saapuu samaan aikaan, molemmat paketit voidaan haistaa ja päivittää Ubidotsissa. Vaihtoehto "store = 0" on erittäin tärkeä, koska muuten paketit Aloita Edisonin RAM- ja Swap -muistin täyttäminen, ja se jäätyy muutaman tunnin kuluttua. https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

Vaihe 2: Käynnistä servo, kun ARP -paketti haistetaan

Käynnistä servo, kun ARP -paketti haistetaan
Käynnistä servo, kun ARP -paketti haistetaan

Toinen skripti kyselee kyseistä Ubidots -muuttujaa koko ajan (sille, jolle lähetämme "0" tai "1") ja aktivoi servon, kun muuttuja on yhtä suuri kuin "1". Käytän MRAA -kirjastoa (Intelin suosittelema), jonka avulla voit käsitellä kaikkia Edisonin GPIO -nastoja Linux -kuorista tai python -komentosarjasta (ei todellakaan tarvitse koodata Arduinossa!). Tämän ansiosta pystyin käsittelemään nopeasti Pythonin servomoottoria. Http://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.py Voit asettaa tämän servon käynnistämään minkä tahansa fyysisen venttiilin, kuten kahvinkeittimen. Tein yksinkertaisen kuppipidikkeen esittelyn vuoksi. Btw voit myös luoda "kytkimen" kojelautaan ja ohjata kahvin kaatoa manuaalisesti:

Vaihe 3: Äänestä

Äänestäkää !!! Katso video:

Suositeltava: