Inhoudsopgave:

Edison Makes Me a Coffee (code): 3 stappen
Edison Makes Me a Coffee (code): 3 stappen

Video: Edison Makes Me a Coffee (code): 3 stappen

Video: Edison Makes Me a Coffee (code): 3 stappen
Video: How To Win Friends And Influence People Audiobook 2024, November
Anonim
Edison maakt een koffie voor me (code)
Edison maakt een koffie voor me (code)

Met dit project kunt u een actie starten (zoals koffie schenken) zodra een WiFi-client wordt gedetecteerd in een WiFi-netwerk (zoals wanneer u of uw medewerkers naar uw kantoor gaan).

Stap 1: Stel uw Intel Edison in

Stel uw Intel Edison in
Stel uw Intel Edison in

Sluit de twee usb-kabels van je computer aan op het Edison-bord (één voor voeding, één voor seriële data). Open in OSX een seriële verbinding met het bord vanaf uw terminal:screen /dev/tty.usbserial-AJ035OK6 115200 -LDe standaard Edison-login is root. Als je eenmaal binnen bent, configureer je het wifi-netwerk:configure_edison --wifiLet's voeg de bronnenlijst toe om pakketten van de Edison te kunnen downloaden. Open dit bestand:root@edison:~# vi /etc/opkg/base-feeds.confEn voeg deze regels eraan toe (typ "i" om tekst in de vi-editor te kunnen invoegen):src/gz all https:// /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 -32Update vervolgens de bronnen en installeer de vereiste bibliotheken voor ons project: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 ubidotsGereed! nu zijn we klaar om te coderen. Detecteren wanneer ik op mijn kantoor aankom We gebruiken de Scapy-pakketsniffer om ARP-verkeer in het lokale wifi-netwerk te detecteren. Scapy is een geweldige tool waarmee je netwerkpakketten kunt afhandelen met het gemak van een Python-script. Zonder dit zouden we veel binaire code moeten ontleden bij het snuiven van netwerkverkeer. Ons eerste script zoekt naar MAC-adressen die zijn opgeslagen in een csv-bestand met de naam "dictionary.csv", en stuurt vervolgens de waarde "1" naar een Ubidots-variabele, wat betekent dat de persoon arriveerde. Als het MAC-adres voor de eerste keer wordt gezien, maakt het script automatisch een Ubidots-variabele om de gegevens op te slaan. Let op de regel: sniff(prn = arp_count, filter="arp", store = 0)die de functie activeert " arp_count(pkt)" elke keer dat een ARP-pakket wordt gesnoven. Die functie is waar we multi-processen afvuren om de Ubidots-variabele bij te werken. De reden dat ik Multiprocessing heb gebruikt, is omdat ik een parallelle functie nodig had, zodat, als twee gebruikers tegelijkertijd arriveren, beide pakketten kunnen worden gesnoven en bijgewerkt in Ubidots. De optie "store = 0" is erg belangrijk omdat de pakketten anders begin het RAM- en Swap-geheugen van de Edison te vullen en het zou na een paar uur vastlopen.https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

Stap 2: Activeer een servo wanneer het ARP-pakket wordt gesnoven

Activeer een servo wanneer het ARP-pakket wordt gesnoven
Activeer een servo wanneer het ARP-pakket wordt gesnoven

Het tweede script zal die Ubidots-variabele de hele tijd pollen (degene waarnaar we "0" of "1" sturen) en de servo activeren wanneer de variabele gelijk is aan "1". Ik gebruik de MRAA-bibliotheek (aanbevolen door de Intel-mensen) waarmee je alle GPIO-pinnen van je Edison kunt verwerken vanuit de Linux-shell of een python-script (echt, je hoeft niet te coderen in Arduino!). Hierdoor kon ik snel een servomotor van Python afhandelen.https://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.pyDe servo is bevestigd aan pin D3 in de Grove Kit. U kunt deze servo instellen om elke fysieke klep te activeren, zoals een koffiezetapparaat. Ik heb voor de demo een simpele bekerhouder gemaakt. Trouwens, je kunt ook een "Switch" in je dashboard maken en de koffieschenker handmatig bedienen:

Stap 3: Stem alstublieft

Alsjeblieft, stem!!! Voor de video:

Aanbevolen: