תוכן עניינים:

אדיסון מכינה לי קפה (קוד): 3 שלבים
אדיסון מכינה לי קפה (קוד): 3 שלבים

וִידֵאוֹ: אדיסון מכינה לי קפה (קוד): 3 שלבים

וִידֵאוֹ: אדיסון מכינה לי קפה (קוד): 3 שלבים
וִידֵאוֹ: ככה זה כשיש לך חברה רוסיה 2024, יולי
Anonim
אדיסון מכינה לי קפה (קוד)
אדיסון מכינה לי קפה (קוד)

פרויקט זה יאפשר לך להפעיל פעולה (כמו הגשת קפה) לאחר שמזהה לקוח WiFi ברשת WiFi (כמו כאשר אתה או העובדים שלך מגיעים למשרד שלך).

שלב 1: הגדר את Intel Edison שלך

הגדר את Intel Edison שלך
הגדר את Intel Edison שלך

חבר את שני כבלי ה- USB מהמחשב שלך ללוח אדיסון (אחד לחשמל, אחד לנתונים סדרתיים). ב- OSX, פתח חיבור טורי ללוח מהמסוף שלך: screen /dev/tty.usbserial-AJ035OK6 115200 -L ברירת המחדל של כניסה ל- Edison היא שורש. ברגע שאתה נכנס, הגדר את רשת ה- wifi: configure_edison --wifi בוא נוסיף את רשימת המקורות כדי שתוכל להוריד חבילות מהאדיסון. פתח את הקובץ הזה: root@edison: ~# vi /etc/opkg/base-feeds.conf והוסף אליו שורות אלה (הקלד "i" כדי להכניס טקסט לעורך vi): src/gz כל 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 -32 לאחר מכן עדכן את המקורות והתקן את הספריות הנדרשות לפרויקט שלנו: root@edison: ~# opkg updateroot@edison: ~# opkg התקן libmraa0 nanoroot@edison: ~# opkg התקן python-piproot@edison: ~# curl https:/ /bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | pythonroot@edison: ~# pip התקן ubidotsDone! עכשיו אנחנו מוכנים לקודד.זהה כשאני מגיע למשרד שלי נשתמש ברחרח מנות Scapy כדי לאתר תעבורת ARP ברשת ה- wifi המקומית. Scapy הוא כלי נהדר המאפשר לך להתמודד עם מנות רשת מהקלות שבסקריפט Python. בלי זה, נצטרך לנתח הרבה קוד בינארי בעת ריחוף תעבורת רשת. הסקריפט הראשון שלנו יחפש כתובות MAC המאוחסנות בקובץ csv בשם "dictionary.csv", ולאחר מכן שולח את הערך "1" למשתנה Ubidots. כלומר האדם הגיע. אם כתובת ה- MAC נראית בפעם הראשונה, התסריט ייצור אוטומטית משתנה Ubidots לאחסון הנתונים. שים לב לשורה: sniff (prn = arp_count, filter = "arp", store = 0) שמפעיל את הפונקציה " arp_count (pkt) "בכל פעם שחבילת ARP מריחה. פונקציה זו היא המקום בו אנו מפעילים ריבוי תהליכים לעדכון המשתנה Ubidots. הסיבה שהשתמשתי בריבוי עיבוד היא מכיוון שהייתי צריך פונקציה מקבילה, כך שאם מגיעים שני משתמשים בו זמנית, ניתן לרחרח ולעדכן את שתי המנות ב- Ubidots. האפשרות "store = 0" חשובה מאוד כי אחרת החבילות היו התחל למלא את הזיכרון RAM של אדיסון והחלף את הזיכרון והוא יקפא לאחר מספר שעות. /uploads/document/file/46543/wifi_sniff.py

שלב 2: הפעל סרוו כאשר מנות ARP מריחות

הפעל סרוו כאשר מנות ARP מריחות
הפעל סרוו כאשר מנות ARP מריחות

התסריט השני יסקור את משתנה Ubidots כל הזמן (זה שאנו שולחים אליו "0" או "1") ויפעיל את הסרוו כאשר המשתנה שווה ל- "1". אני משתמש בספריית MRAA (המוצעת על ידי אנשי אינטל) המאפשרת לך לטפל בכל סיכות ה- GPIO של האדיסון שלך ממעטפת לינוקס או מתסריט פייתון (באמת, אין צורך לקוד בארדואינו!). זה איפשר לי לטפל במהירות במנוע סרוו מ- Python. הסרוו מחובר לסיכה D3 בערכת הגרוב. אתה יכול להתקין סרוו זה כדי להפעיל כל שסתום פיזי, כמו מכונת קפה. הכנתי מחזיק כוסות פשוט למען ההדגמה. BTW אתה יכול גם ליצור "מתג" בלוח המחוונים ולשלוט במזג הקפה באופן ידני:

שלב 3: אנא הצביעו

אנא הצבע!!! לסרטון:

מוּמלָץ: