Talaan ng mga Nilalaman:

Ginagawa Ako ni Edison ng Kape (code): 3 Hakbang
Ginagawa Ako ni Edison ng Kape (code): 3 Hakbang

Video: Ginagawa Ako ni Edison ng Kape (code): 3 Hakbang

Video: Ginagawa Ako ni Edison ng Kape (code): 3 Hakbang
Video: Full Episode | MMK "Wig" 2024, Hulyo
Anonim
Ginagawa Ako ni Edison ng isang Kape (code)
Ginagawa Ako ni Edison ng isang Kape (code)

Papayagan ka ng proyektong ito na magsimula ng isang aksyon (tulad ng paghahatid ng kape) sa sandaling ang isang kliyente sa WiFi ay napansin sa isang network ng WiFi (tulad ng kapag ikaw o ang iyong mga empleyado ay nakarating sa iyong tanggapan).

Hakbang 1: I-setup ang Iyong Intel Edison

I-setup ang Iyong Intel Edison
I-setup ang Iyong Intel Edison

Ikonekta ang dalawang mga usb cable mula sa iyong computer sa Edison board (isa para sa lakas, isa para sa serial data). Sa OSX, buksan ang isang serial na koneksyon sa board mula sa iyong terminal: screen /dev/tty.usbserial-AJ035OK6 115200 -LAng default na pag-login sa Edison ay root. Kapag nakapasok ka na, i-configure ang wifi network: configure_edison --wifiDagdagan natin ang listahan ng mga mapagkukunan upang mai-download ang mga pakete mula sa Edison. Buksan ang file na ito: root @ edison: ~ # vi /etc/opkg/base-feeds.confAt idagdag ang mga linyang ito dito (i-type ang "i" upang maipasok ang teksto sa vi editor): src / gz lahat ng 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 -32Tapos i-update ang mga mapagkukunan at mai-install ang kinakailangang mga aklatan para sa aming proyekto: 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! handa na kaming mag-code. Tuklasin kapag dumating ako sa aking tanggapan Gagamitin namin ang scapy packet sniffer upang makita ang trapiko ng ARP sa lokal na network ng wifi. Ang Scapy ay isang mahusay na tool na nagbibigay-daan sa iyo upang mahawakan ang mga packet ng network mula sa kadalian ng isang script ng Python. Kung wala ito, kakailanganin nating mai-parse ang maraming binary code kapag sumisinghot ng trapiko sa network. Ang aming unang script ay hahanapin ang mga MAC address na nakaimbak sa isang csv file na tinatawag na "dictionary.csv", at pagkatapos ay ipadala ang halagang "1" sa isang variable ng Ubidots, ibig sabihin dumating na ang tao. Kung ang MAC address ay makikita sa kauna-unahang pagkakataon, awtomatikong lilikha ang script ng isang variable na Ubidots upang maiimbak ang data. Tandaan ang linya: sniff (prn = arp_count, filter = "arp", store = 0) na nagpapalitaw sa pagpapaandar " arp_count (pkt) "tuwing ang isang ARP packet ay na-sniff. Ang pagpapaandar na iyon ay kung saan pinapaputok namin ang maraming proseso upang ma-update ang variable ng Ubidots. Ang dahilan kung bakit ginamit ko ang Multiprocessing ay dahil kailangan ko ng isang parallel function upang, kung dumating ang dalawang mga gumagamit nang sabay, kung gayon ang parehong mga packet ay maaaring ma-sniff at ma-update sa Ubidots. Ang pagpipiliang "store = 0" ay napakahalaga dahil kung hindi man ay ang mga packet simulang punan ang memorya ng RAM at Swap ng Edison at mag-freeze ito pagkalipas ng ilang oras.https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

Hakbang 2: Pag-trigger ng Servo Kapag Ang ARP Packet Ay Nasinghot

Pag-trigger ng Servo Kapag Ang ARP Packet Ay Na-sniff
Pag-trigger ng Servo Kapag Ang ARP Packet Ay Na-sniff

Ang pangalawang script ay ibobola na ang Ubidots ay nagbabago sa lahat ng oras (ang ipinadadala natin na "0" o "1") at buhayin ang servo kapag ang variable ay katumbas ng "1". Gumagamit ako ng MRAA library (iminungkahi ng mga Intel folks) na nagbibigay-daan sa iyo upang mahawakan ang lahat ng mga GPIO pin ng iyong Edison mula sa Linux shell o isang python script (talaga, hindi na kailangang mag-code sa Arduino!). Pinayagan akong mabilis na hawakan ang isang Servo motor mula sa Python.https://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_café.pyAng Servo ay nakakabit sa pin D3 sa Grove Kit. Maaari mong i-setup ang Servo na ito upang ma-trigger ang anumang pisikal na balbula, tulad ng isang coffee machine. Gumawa ako ng isang simpleng may-ari ng tasa alang-alang sa demo. Btw maaari ka ring lumikha ng isang "Lumipat" sa iyong dashboard at manu-manong kontrolin ang tagapagbuhos ng kape:

Hakbang 3: Mangyaring Bumoto

Paki vote !!! Para sa video:

Inirerekumendang: