Stap 1: Setup uw Intel Edison
scherm /dev/tty.usbserial-AJ035OK6 115200 - L
De standaard Edison login is wortel. Zodra u in bent, Configureer het wifinetwerk:
configure_edison--wifi
Laten we het toevoegen van de lijst van de bronnen om te kunnen downloaden van pakketten van de Edison. Open dit bestand:
wortel vi /etc/opkg/base-feeds.conf
En voeg deze regels toe aan het (type "i" om de tekst invoegen in de vi editor te kunnen):
src/gz alle http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
Vervolgens de bronnen bijwerken en installeren van de vereiste bibliotheken voor ons project:
root and update
root and installeren libmraa0 nano
root and install python-pip
wortel curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python
wortel pip installeren ubidots
Gedaan! nu zijn we klaar om te code.
Detecteren wanneer kom ik naar mijn kantoor
We zullen de Scapy pakket snuiven om ARP verkeer te detecteren in de lokale wifi-netwerk te kunnen gebruiken. Scapy is een fantastische tool die u toelaat om het verwerken van netwerkpakketten van het gemak van een Python-script. Zonder dat zouden we moeten parsen van veel van de binaire code bij snuiven van netwerkverkeer.
Onze eerste script zal uitkijken voor MAC-adressen opgeslagen in een CSV-bestand met de naam "dictionary.csv", en verzend de waarde "1" naar een variabele Ubidots, wat betekent dat de persoon aangekomen. Als het MAC-adres wordt gezien voor het eerst, vervolgens maakt het script automatisch een Ubidots-variabele voor het opslaan van de gegevens.
Opmerking de regel:
ruiken (prn = arp_count, filter = "arp", slaan = 0)
die gebeurtenis wordt de functie "arp_count(pkt)" telkens een ARP pakket is gesnoven. Dat functie waar wij meerdere processen is voor het bijwerken van de variabele Ubidots in brand.
De reden dat ik gebruikte Multiprocessing is omdat ik een parallelle functie nodig zodat, als twee gebruikers op hetzelfde moment komen, dan beide pakketten kunnen worden gesnoven en in Ubidots bijgewerkt.
De optie "opslaan = 0" is zeer belangrijk omdat anders de pakketten zou beginnen met het vullen van de Edisons RAM en Swap geheugen en na een paar uur zou bevriezen.
https://halckemy.S3.amazonaws.com/uploads/document/file/46958/Dictionary.CSV
https://halckemy.S3.amazonaws.com/uploads/document/file/46543/wifi_sniff.py