Turinys:

Edisonas verda man kavą (kodas): 3 žingsniai
Edisonas verda man kavą (kodas): 3 žingsniai

Video: Edisonas verda man kavą (kodas): 3 žingsniai

Video: Edisonas verda man kavą (kodas): 3 žingsniai
Video: Simple question 👀 2024, Liepa
Anonim
Edisonas verda man kavą (kodas)
Edisonas verda man kavą (kodas)

Šis projektas leis jums suaktyvinti veiksmą (pvz., Kavos patiekimą), kai „WiFi“tinkle bus aptiktas „WiFi“klientas (pvz., Kai jūs ar jūsų darbuotojai atvyks į jūsų biurą).

1 veiksmas: nustatykite „Intel Edison“

Nustatykite „Intel Edison“
Nustatykite „Intel Edison“

Prijunkite du kompiuterio USB kabelius prie „Edison“plokštės (vieną maitinimo šaltiniui, kitą serijiniams duomenims). OSX sistemoje atidarykite nuoseklųjį ryšį su lenta iš savo terminalo: screen /dev/tty.usbserial-AJ035OK6 115200 -L Numatytasis „Edison“prisijungimas yra root. Kai būsite prisijungę, sukonfigūruokite „Wi -Fi“tinklą: configure_edison --wifi Pridėkime šaltinių sąrašą, kad galėtumėte atsisiųsti paketus iš „Edison“. Atidarykite šį failą: root@edison: ~# vi /etc/opkg/base-feeds.conf Ir pridėkite prie jo šias eilutes (įveskite „i“, kad galėtumėte įterpti tekstą į vi redaktorių): 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 -32Tada atnaujinkite šaltinius ir įdiekite mūsų projektui reikalingas bibliotekas: 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! Dabar mes pasiruošę koduoti. Aptikti, kai atvyksiu į savo biurą „Scapy“yra puikus įrankis, leidžiantis lengvai tvarkyti tinklo paketus naudojant „Python“scenarijų. Be jo mes turėtume išanalizuoti daug dvejetainio kodo, kai užuodžiame tinklo srautą. Mūsų pirmasis scenarijus ieškos MAC adresų, saugomų csv faile „dictionary.csv“, ir tada nusiųs reikšmę „1“į kintamąjį „Ubidots“, tai reiškia, kad asmuo atvyko. Jei MAC adresas matomas pirmą kartą, scenarijus automatiškai sukurs „Ubidots“kintamąjį duomenims saugoti. Atkreipkite dėmesį į eilutę: sniff (prn = arp_count, filter = "arp", store = 0), kuri suaktyvina funkciją " arp_count (pkt) "kiekvieną kartą, kai uostomas ARP paketas. Ši funkcija yra tai, kur mes paleidžiame kelis procesus, kad atnaujintume „Ubidots“kintamąjį. Priežastis, kodėl naudoju „Multiprocessing“, yra ta, kad man reikėjo lygiagrečios funkcijos, kad, jei tuo pačiu metu atvyktų du vartotojai, abu paketus būtų galima užuosti ir atnaujinti „Ubidots“. Parinktis „store = 0“yra labai svarbi, nes priešingu atveju paketai būtų pradėkite pildyti „Edison“RAM ir apsikeitimo atmintį ir po kelių valandų ji užšals. https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csvhttps://halckemy.s3.amazonaws.com /uploads/document/file/46543/wifi_sniff.py

2 žingsnis: suaktyvinkite servo, kai ARP paketas yra užuodžiamas

Suaktyvinkite servo, kai uostomas ARP paketas
Suaktyvinkite servo, kai uostomas ARP paketas

Antrasis scenarijus visą laiką apklaus tą „Ubidots“kintamąjį (tą, kuriam siunčiame „0“arba „1“) ir suaktyvins servo, kai kintamasis yra lygus „1“. Aš naudoju MRAA biblioteką (pasiūlė „Intel“žmonės), kuri leidžia jums valdyti visus „Edison“GPIO kaiščius iš „Linux“apvalkalo arba „python“scenarijaus (tikrai nereikia koduoti „Arduino“!). Tai leido man greitai valdyti servo variklį iš „Python“.https://halckemy.s3.amazonaws.com/uploads/document/file/46556/pour_coffee.py Galite nustatyti šią „Servo“, kad suveiktų bet koks fizinis vožtuvas, pvz., Kavos aparatas. Demonstracijai padariau paprastą puodelio laikiklį. Btw taip pat galite sukurti „Switch“savo prietaisų skydelyje ir rankiniu būdu valdyti kavos piltuvą:

3 žingsnis: Prašome balsuoti

Prašau balsuoti !!! Vaizdo įrašas:

Rekomenduojamas: