Mundarija:
Video: Edison menga qahva beradi (kod): 3 qadam
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Ushbu loyiha sizga WiFi tarmog'ida WiFi mijozi aniqlanganda (masalan, siz yoki sizning xodimlaringiz ofisingizga etib kelganida) harakatni (qahva berish kabi) boshlashga imkon beradi.
1 -qadam: Intel Edison -ni o'rnating
Kompyuteringizdagi ikkita usb kabelini Edison kartasiga ulang (bittasi quvvat uchun, bittasi ketma -ket ma'lumotlar uchun). OSX -da, terminaldan kartaga ketma -ket ulanishni oching: ekran /dev/tty.usbserial-AJ035OK6 115200 -L Edisonga standart kirish -bu root. Siz kirganingizdan so'ng, wifi tarmog'ini sozlang: configure_edison --wifi Edisondan paketlarni yuklab olish uchun manba ro'yxatini qo'shamiz. Bu faylni oching: root@edison: ~# vi /etc/opkg/base-feeds.confVa bu qatorlarni unga qo'shing (vi muharririga matn kiritish uchun "i" yozing): 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 -32Keyin manbalarni yangilang va loyihamiz uchun kerakli kutubxonalarni o'rnating: root@edison: ~# opkg updateroot@edison: ~# opkg install libmraa0 nanoroot@edison: ~# opkg python-piproot@edison ni o'rnating: ~# curl https:/ /bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | pythonroot@edison: ~# pip install ubidotsDone! Endi biz kodlashga tayyormiz. Ishxonamga kelganimda aniqlang Mahalliy Wi -Fi tarmog'ida ARP -trafikni aniqlash uchun Scapy paketli snifferdan foydalanamiz. Scapy - bu tarmoq paketlarini Python skriptidan oson boshqarish imkonini beradigan ajoyib vosita. Bu holda, biz tarmoq trafigini aniqlashda ko'p ikkilik kodni tahlil qilishimiz kerak bo'ladi, bizning birinchi skriptimiz "dictionary.csv" nomli csv faylida saqlangan MAC manzillarini qidiradi va keyin "1" qiymatini Ubidots o'zgaruvchisiga yuboradi. bu odamning kelganligini bildiradi. Agar MAC manzili birinchi marta ko'rinadigan bo'lsa, u holda skript avtomatik ravishda ma'lumotlarni saqlash uchun Ubidots o'zgaruvchisini yaratadi. Qatorga e'tibor bering: sniff (prn = arp_count, filter = "arp", store = 0). arp_count (pkt) "har safar ARP paketini hidlashda. Bu funktsiya Ubidots o'zgaruvchisini yangilash uchun biz ko'p jarayonlarni ishga tushiramiz. "Multiprocessing" ni ishlatganimning sababi shundaki, men parallel funktsiyaga muhtoj edim, agar ikkita foydalanuvchi bir vaqtning o'zida kelsa, Ubidots -da ikkala paketni ham hidlash va yangilash mumkin. "Store = 0" varianti juda muhim, chunki aks holda paketlar Edison operativ xotira va almashtirish xotirasini to'ldirishni boshlang va u bir necha soatdan keyin muzlab qoladi. /uploads/document/file/46543/wifi_sniff.py
2 -qadam: ARP paketini hidlashda xizmat ko'rsatishni ishga tushiring
Ikkinchi skript Ubidots o'zgaruvchisining so'rovini o'tkazadi (biz "0" yoki "1" ni yuboramiz) va o'zgaruvchi "1" ga teng bo'lganda servoni faollashtiradi. Men Edison -ning barcha GPIO pinlarini Linux qobig'idan yoki python skriptidan boshqarishga imkon beradigan MRAA kutubxonasidan (Intel tomonidan taklif qilingan) foydalanayapman (Arduino -da kod yozishning hojati yo'q!). Bu menga Python -dan Servo dvigatelini tezda boshqarishga imkon berdi. Servo Grove to'plamidagi D3 piniga biriktirilgan. Siz ushbu Servo -ni qahva mashinasi kabi har qanday jismoniy valfni ishga tushirish uchun sozlashingiz mumkin. Men demo uchun oddiy chashka ushlagichini yasadim. Bundan tashqari, asboblar panelida "Kommutator" ni yaratish va qahva quyish moslamasini qo'lda boshqarish mumkin:
3 -qadam: Iltimos, ovoz bering
Iltimos ovoz bering !!! Video uchun: