Obsah:
Video: Edison mi robí kávu (kód): 3 kroky
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Tento projekt vám umožní spustiť akciu (napríklad podávanie kávy), akonáhle je v sieti WiFi detekovaný klient WiFi (napríklad keď sa vy alebo vaši zamestnanci dostanete do svojej kancelárie).
Krok 1: Nastavte svoj Intel Edison
Pripojte dva USB káble z počítača k doske Edison (jeden pre napájanie, jeden pre sériové údaje). V OSX otvorte sériové pripojenie k doske z vášho terminálu: screen /dev/tty.usbserial-AJ035OK6 115200 -L Predvolené prihlasovacie meno Edison je root. Hneď ako sa dostanete, nakonfigurujte sieť Wi -Fi: configure_edison --wifiPridajme zoznam zdrojov, aby ste si mohli stiahnuť balíčky z Edisonu. Otvorte tento súbor: root@edison: ~# vi /etc/opkg/base-feeds.confA pridajte do neho tieto riadky (zadajte „i“, aby ste mohli vkladať text do editora vi): src/gz všetky 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 Potom aktualizujte zdroje a nainštalujte požadované knižnice pre náš projekt: 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 ubidots Hotovo! Teraz sme pripravení kódovať. Zistiť, keď prídem do svojej kancelárie. Na to, aby sme mohli detekovať prenos ARP v miestnej sieti Wi -Fi, použijeme Scapy packet sniffer. Scapy je úžasný nástroj, ktorý vám umožní zvládnuť sieťové pakety z jednoduchosti skriptu Python. Bez neho by sme pri čuchaní sieťovej prevádzky museli analyzovať veľa binárnych kódov. Náš prvý skript vyhľadá adresy MAC uložené v súbore CSV s názvom „dictionary.csv“a potom odošle hodnotu „1“do premennej Ubidots., to znamená, že osoba prišla. Ak je adresa MAC videná prvýkrát, skript automaticky vytvorí premennú Ubidots na uloženie údajov. Všimnite si riadku: sniff (prn = arp_count, filter = "arp", store = 0), ktorý spustí funkciu " arp_count (pkt) "zakaždým, keď sa pričuchne k paketu ARP. V tejto funkcii spustíme viacprocesy na aktualizáciu premennej Ubidots. Dôvod, prečo som použil multiprocesing, je ten, že som potreboval paralelnú funkciu, aby v prípade, že prídu dvaja používatelia súčasne, mohli byť oba pakety oňuchané a aktualizované v Ubidots. Možnosť „store = 0“je veľmi dôležitá, pretože inak by pakety boli začnite zapĺňať Edisonovu RAM a vymeniť pamäť a po niekoľkých hodinách zamrzne. https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py
Krok 2: Spustite servo, keď je paket ARP čuchaný
Druhý skript bude po celú dobu zisťovať, či je premenná Ubidots (tá, ktorej posielame „0“alebo „1“), a aktivuje servo, keď sa premenná rovná „1“. Používam knižnicu MRAA (navrhnutú ľuďmi z Intelu), ktorá vám umožňuje zvládnuť všetky piny GPIO vášho Edisona z Linuxového shellu alebo skriptu python (v Arduine naozaj nie je potrebné kódovať!). To mi umožnilo rýchlo zvládnuť servomotor od spoločnosti Python. Https://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.py Servo je pripevnené k kolíku D3 v súprave Grove Kit. Toto servo môžete nastaviť tak, aby spúšťalo akýkoľvek fyzický ventil, napríklad kávovar. V záujme ukážky som vyrobil jednoduchý držiak na šálky. Na prístrojovej doske môžete tiež vytvoriť „prepínač“a manuálne ovládať kávovar:
Krok 3: Hlasujte
Prosím hlasujte !!! K videu: