Sommario:

Edison mi fa un caffè (codice): 3 passaggi
Edison mi fa un caffè (codice): 3 passaggi

Video: Edison mi fa un caffè (codice): 3 passaggi

Video: Edison mi fa un caffè (codice): 3 passaggi
Video: Cap e Kazu mi vedono nudo! #shorts 2024, Luglio
Anonim
Edison mi fa un caffè (codice)
Edison mi fa un caffè (codice)

Questo progetto ti consentirà di attivare un'azione (come servire il caffè) una volta che un client WiFi viene rilevato in una rete WiFi (come quando tu o i tuoi dipendenti arrivate nel vostro ufficio).

Passaggio 1: configura il tuo Intel Edison

Configura il tuo Intel Edison
Configura il tuo Intel Edison

Collega i due cavi usb dal tuo computer alla scheda Edison (uno per l'alimentazione, uno per i dati seriali). In OSX, apri una connessione seriale alla scheda dal tuo terminale:screen /dev/tty.usbserial-AJ035OK6 115200 -Ll'accesso predefinito di Edison è root. Una volta entrato, configura la rete wifi:configure_edison --wifiAggiungiamo l'elenco delle fonti per poter scaricare i pacchetti da Edison. Apri questo file:root@edison:~# vi /etc/opkg/base-feeds.confE aggiungi queste righe (digita "i" per poter inserire testo nell'editor vi):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 Quindi aggiorna i sorgenti e installa le librerie richieste per il nostro progetto: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 installa ubidotsFatto! ora siamo pronti per codificare. Rileva quando arrivo nel mio ufficioUtilizzeremo lo sniffer di pacchetti Scapy per essere in grado di rilevare il traffico ARP nella rete wifi locale. Scapy è un ottimo strumento che ti consente di gestire i pacchetti di rete con la facilità di uno script Python. Senza di esso, dovremmo analizzare molto codice binario durante l'analisi del traffico di rete. Il nostro primo script cercherà gli indirizzi MAC memorizzati in un file csv chiamato "dictionary.csv", quindi invierà il valore "1" a una variabile Ubidots, nel senso che la persona è arrivata. Se l'indirizzo MAC viene visualizzato per la prima volta, lo script creerà automaticamente una variabile Ubidots per memorizzare i dati. Nota la riga: sniff(prn = arp_count, filter="arp", store = 0) che attiva la funzione " arp_count(pkt)" ogni volta che viene sniffato un pacchetto ARP. Quella funzione è dove attiviamo più processi per aggiornare la variabile Ubidots. Il motivo per cui ho usato Multiprocessing è perché avevo bisogno di una funzione parallela in modo che, se due utenti arrivano contemporaneamente, entrambi i pacchetti possano essere annusati e aggiornati in Ubidots. L'opzione "store = 0" è molto importante perché altrimenti i pacchetti sarebbero inizia a riempire la RAM di Edison e la memoria Swap e si blocca dopo poche ore.https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

Passaggio 2: attivare un servo quando il pacchetto ARP viene annusato

Attiva un servo quando il pacchetto ARP viene annusato
Attiva un servo quando il pacchetto ARP viene annusato

Il secondo script interroga sempre quella variabile Ubidots (quella a cui stiamo inviando "0" o "1") e attiva il servo quando la variabile è uguale a "1". Sto usando la libreria MRAA (suggerita dalla gente di Intel) che ti permette di gestire tutti i pin GPIO del tuo Edison dalla shell Linux o da uno script Python (davvero, non c'è bisogno di codificare in Arduino!). Questo mi ha permesso di gestire rapidamente un servomotore da Python.https://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.pyIl servo è collegato al pin D3 nel kit Grove. Puoi impostare questo Servo per attivare qualsiasi valvola fisica, come una macchina da caffè. Ho realizzato un semplice portabicchieri per la demo. A proposito, puoi anche creare un "Interruttore" nella tua dashboard e controllare manualmente il versatore del caffè:

Passaggio 3: si prega di votare

Per favore, Vota!!! Per il video:

Consigliato: