فهرست مطالب:

ادیسون برای من قهوه می سازد (کد): 3 مرحله
ادیسون برای من قهوه می سازد (کد): 3 مرحله

تصویری: ادیسون برای من قهوه می سازد (کد): 3 مرحله

تصویری: ادیسون برای من قهوه می سازد (کد): 3 مرحله
تصویری: مرد عنکبوتی مارول: مایلز مورالس (فیلم) 2024, نوامبر
Anonim
ادیسون برای من قهوه می سازد (کد)
ادیسون برای من قهوه می سازد (کد)

این پروژه به شما امکان می دهد هنگامی که مشتری WiFi در یک شبکه WiFi شناسایی می شود (مانند زمانی که شما یا کارمندان خود به دفتر کار خود می روید) یک عمل (مانند سرو قهوه) را آغاز کنید.

مرحله 1: Intel Edison خود را راه اندازی کنید

Intel Edison خود را راه اندازی کنید
Intel Edison خود را راه اندازی کنید

دو کابل usb را از رایانه خود به برد Edison وصل کنید (یکی برای برق ، یکی برای داده های سریال). در OSX ، یک اتصال سریال به پایانه خود از پایانه خود باز کنید: screen /dev/tty.usbserial-AJ035OK6 115200 -L ورود پیش فرض Edison ریشه است. پس از ورود ، شبکه wifi را پیکربندی کنید: configure_edison --wifi بیایید فهرست منابع را اضافه کنیم تا بتوانیم بسته ها را از Edison بارگیری کنیم. این فایل را باز کنید: 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 install libmraa0 nanoroot@edison: ~# opkg install python-piproot@edison: ~# curl https:/ /bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | pythonroot@edison: pip# پیپ نصب ubidots انجام شد! در حال حاضر ما آماده کدگذاری هستیم. هنگامی که به دفتر کارم می رسیم تشخیص دهید ما از اسکایپر بسته Scapy استفاده می کنیم تا بتوانیم ترافیک ARP را در شبکه فای محلی تشخیص دهیم. Scapy یک ابزار عالی است که به شما امکان می دهد بسته های شبکه را به راحتی از طریق اسکریپت پایتون مدیریت کنید. بدون آن ، هنگام تشخیص ترافیک شبکه ، باید تعداد زیادی کد باینری را تجزیه کنیم. اولین اسکریپت ما به دنبال آدرس های MAC ذخیره شده در یک فایل csv به نام "dictionary.csv" است و سپس مقدار "1" را برای متغیر Ubidots ارسال می کند. ، یعنی آن شخص رسید. اگر آدرس MAC برای اولین بار دیده شود ، اسکریپت به طور خودکار یک متغیر Ubidots برای ذخیره داده ها ایجاد می کند. به خط توجه کنید: sniff (prn = arp_count ، filter = "arp"، store = 0) که عملکرد را فعال می کند " arp_count (pkt) "هر بار که یک بسته ARP بو می کشد. این تابع جایی است که ما چند فرایند را برای به روزرسانی متغیر Ubidots شلیک می کنیم. دلیل استفاده من از Multiprocessing این است که من به یک تابع موازی نیاز داشتم تا اگر دو کاربر به طور همزمان وارد می شوند ، هر دو بسته را در Ubidots بفهمند و به روز کنند. گزینه "store = 0" بسیار مهم است زیرا در غیر این صورت بسته ها شروع به پر کردن RAM و Swap حافظه ادیسون کنید و بعد از چند ساعت منجمد می شود. https://halckemy.s3.amazonaws.com/uploads/document/file/46958/dictionary.csv /uploads/document/file/46543/wifi_sniff.py

مرحله 2: هنگامی که بسته ARP بو می کشد ، سروو را فعال کنید

هنگامی که بسته ARP بو می شود ، سروو فعال کنید
هنگامی که بسته ARP بو می شود ، سروو فعال کنید

اسکریپت دوم از متغیر Ubidots دائماً (متدی که به آن "0" یا "1" می فرستیم) نظرخواهی می کند و هنگامی که متغیر برابر "1" می شود ، سروو فعال می کند. من از کتابخانه MRAA (پیشنهاد شده توسط افراد اینتل) استفاده می کنم که به شما امکان می دهد تمام پین های GPIO ادیسون خود را از پوسته لینوکس یا اسکریپت پایتون (واقعاً نیازی به کد نویسی در آردوینو ندارید!) این به من این امکان را داد که به سرعت یک موتور سروو را از Python اداره کنم. می توانید این سروو را طوری تنظیم کنید که هر دریچه فیزیکی مانند قهوه ساز فعال شود. من به خاطر نمایشی یک جا فنجانی ساده ساختم. Btw همچنین می توانید یک "Switch" در داشبورد خود ایجاد کرده و قهوه جوش را به صورت دستی کنترل کنید:

مرحله 3: لطفا رای دهید

لطفا رای بدید !!! برای فیلم:

توصیه شده: