فهرست مطالب:

MicroPython IoT Rover مبتنی بر WEMOS D1 (ESP-8266EX): 7 مرحله (همراه با تصاویر)
MicroPython IoT Rover مبتنی بر WEMOS D1 (ESP-8266EX): 7 مرحله (همراه با تصاویر)

تصویری: MicroPython IoT Rover مبتنی بر WEMOS D1 (ESP-8266EX): 7 مرحله (همراه با تصاویر)

تصویری: MicroPython IoT Rover مبتنی بر WEMOS D1 (ESP-8266EX): 7 مرحله (همراه با تصاویر)
تصویری: MicroPython IoT Rover Based on WeMos D1 (ESP-8266EX) 2024, جولای
Anonim
Image
Image
MicroPython IoT Rover مبتنی بر WEMOS D1 (ESP-8266EX)
MicroPython IoT Rover مبتنی بر WEMOS D1 (ESP-8266EX)

** به روز رسانی: من یک ویدیوی جدید برای v2 با لنز ارسال کردم **

من میزبان کارگاه های رباتیک برای کودکان خردسال هستم و همیشه به دنبال بسترهای اقتصادی برای ایجاد پروژه های جذاب هستم. در حالی که کلون های آردوینو ارزان هستند ، از زبان C/C ++ استفاده می کنند که بچه ها با آن آشنا نیستند. همچنین ، فای داخلی ندارد که برای پروژه های IoT ضروری است. از سوی دیگر ، در حالی که Raspberry Pi دارای WIFI است و بچه ها می توانند آن را با استفاده از Python برنامه ریزی کنند ، اما هنوز یک پلت فرم گران قیمت است که فقط چند پورت GPIO را برای روشن و خاموش کردن دستگاه ها کنترل می کند. من به چیزی در این بین نیاز دارم که دارای قابلیت WIFI و پایتون باشد. به نظر می رسد که من پاسخ خود را در MicroPython دیدم که روی یک برد ارزان قیمت مبتنی بر ESP8266 قرار گرفته است.

میکروپایتون چیست؟

بر اساس وب سایت آن ، MicroPython یک پیاده سازی ساده و کارآمد از زبان های برنامه نویسی پایتون 3 است که شامل زیرمجموعه کوچکی از کتابخانه استاندارد پایتون است و بهینه شده است تا بر روی میکروکنترلرها و در محیط محدود (مانند ESP8266) اجرا شود. این در اصل Python IDE روی یک تراشه است. یکی از مزایای اصلی این است که می توانید با استفاده از یک سرویس گیرنده مرورگر وب به نام Webrepl ، کد ایجاد کرده و آن را به سرعت تغییر دهید. (سعی کنید این کار را در آردوینو انجام دهید.) همچنین می توانید به جای اتکا به ثبت اطلاعات یا صفحه LED در آردوینو ، داده های حسگر را در Webrepl به صورت لحظه ای مشاهده کنید.

ESP8266 چیست؟

به طور خلاصه ، آن را به عنوان یک آردوینو با قابلیت شبکه داخلی در نظر بگیرید. می توانید از Arduino IDE برای برنامه ریزی بردهای ESP8266 به زبان C/C ++ استفاده کنید یا می توانید آن را با NodeMCU یا MicroPython فلش کنید. در این پروژه ، من MicroPython را روی یک برد ESP8266 فلش می کنم.

من تصمیم گرفتم برای این پروژه ساده WEMOS D1 را که بر اساس ESP8266-12EX ساخته شده است تهیه کنم و در آن با استفاده از مرورگر وب در یک ماشین 2WD حرکت کنم. تخته های دیگری نیز وجود دارد که برای MicroPython طراحی شده اند ، اما من چیزی ارزان می خواستم که اگر معیارهای من را برآورده نکند بتوانم آن را دور بریزم. همانطور که انتظار می رفت ، تمام نیازهای من را برآورده کرد و به احتمال زیاد WeMos و Micropython را در پروژه های آینده ادغام خواهم کرد.

مرحله 1: قطعات

قطعات
قطعات
قطعات
قطعات
قطعات
قطعات
قطعات
قطعات
  • Wemos D1 یا هر تخته ای بر اساس ESP8266
  • سپر موتور (من از L293D ارزان AliExpress استفاده می کنم)
  • نگهدارنده های باتری 4 x AA و 9V (4 x AA باتری برای موتورها و 9V برای برد Wemos است)
  • شاسی خودرو 2WD
  • کابل های Dupont

برای جمع آوری همه چیز ممکن است به آهن لحیم کاری ، پیچ گوشتی و تفنگ چسبی نیاز داشته باشید.

مرحله 2: مونتاژ سخت افزار

مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار

ابتدا شاسی را مطابق دستورالعمل مونتاژ کنید.

سپس اجزای دیگر را مطابق شکل چسب داغ کنید.

سیم های موتور باید به پایانه های موتور لحیم شوند و از چسب حرارتی برای تقویت اتصالات ترمینال استفاده شود.

یک سوئیچ کوچک به نگهدارنده باتری 4AA وصل کرد. این امر باعث روشن/خاموش شدن سپر موتور می شود.

مرحله 3: سیم کشی

سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی

مطابق شکل نمودار سیم کشی من را دنبال کنید.

Wemos to Motor Shield:

D1 IN2

D2 IN1 D3 IN4 ** D4 D5 IN3 GND -> GND را رد کنید

سپر موتور به موتور/قدرت:

ترمینال -> موتور چپ

ترمینال B -> VCC موتور راست -> باتری (+) GND -> باتری (-)

مرحله 4: نصب MicroPython

اول ، Wemos دارای یک تراشه سریال/USB بر اساس CH304G است. این همان تراشه ای است که در Arduino-clones ارزان قیمت یافت می شود و باید درایور مناسبی را برای Mac یا PC نصب کنید. برای نصب درایور ، دستورالعمل های موجود در این سایت را دنبال کنید.

Wemos را به رایانه خود وصل کنید و تأیید کنید که رایانه شما می تواند Wemos را تشخیص دهد. در مک ، دستور زیر را اجرا کنید و دستگاهی به نام /dev/tty.wchusbserial640 را مشاهده خواهید کرد.

$ ls -lt /dev /tty* | سر

crw-rw-rw- 1 چرخ ریشه 17 ، 4 مارس 2 23:31 /dev/tty.wchusbserial640

اگر از رایانه شخصی استفاده می کنید ، می توانید از این دستورالعمل به عنوان مرجع استفاده کنید.

در مرحله بعد ، باید Python 2 یا 3 را در رایانه خود راه اندازی کنید زیرا ابزار فلش ، esptool.py ، بر اساس پایتون است. در حالی که راهنمای MicroPython ممکن است بیان کند که این ابزار فقط با Python 2.7 کار می کند ، من توانستم آن را در Python 3 بدون هیچ مشکلی اجرا کنم. آخرین پایتون را از https://www.python.org بارگیری کرده و دستورالعمل های نصب را برای رایانه شخصی یا Mac خود دنبال کنید.

در نهایت ، شما باید MicroPython را روی Wemos نصب کنید. سایت MicroPython یک آموزش عالی در مورد نحوه راه اندازی MicroPython در ESP8266 دارد. فقط دستورالعمل های نصب را برای شروع با MicroPython در ESP8266 دنبال کنید.

در زیر دستوراتی وجود دارد که من استفاده کردم:

$ esptool.py --port /dev/tty.wchusbserial640 erase_flash

esptool.py v1.3 اتصال…. اجرای فلاش سزار Cesanta… پاک کردن فلش (ممکن است کمی طول بکشد)… پاک کردن 10.5 ثانیه طول کشید

$ esptool.py --port /dev/tty.wchusbserial640 write_flash -fm dio -fs 32m -ff 40m 0x00000 esp8266-20170108 -v1.8.7.bin

esptool.py v1.3 اتصال…. اجرای فلاش سزار Cesanta… تنظیم پارامترهای فلش روی 0x0240 589824 بایت در 0x0 در 50.8 ثانیه (92.8 کیلوبیت بر ثانیه)… خروج…

MicroPython اکنون روی برد شما نصب شده است!

مرحله 5: راه اندازی شبکه

راه اندازی شبکه
راه اندازی شبکه

در حالی که MicroPython اکنون روی Wemos شما نصب شده است ، هنوز به شبکه شما متصل نشده است. ابتدا باید شبکه را فعال کنید. در مک ، دستور SCREEN را اجرا کنید تا جلسه ترمینال سریال به Wemos شروع شود.

$ screen /dev/tty.wchusbserial640 115200

وقتی صفحه خالی می بینید ، روی RETURN ضربه بزنید تا پیغامی را مشاهده کنید:

>>

(توجه: برای خروج ، CTRL-A CTRL-) را تایپ کنید

اکنون ، اجازه دهید دسترسی به وب کلاینت را فعال کنیم. برای اجرای برنامه راه اندازی ، "import webrepl_setup" را وارد کنید. برای فعال کردن WebREPL E را وارد کرده و سپس گذرواژه را تنظیم کنید. راه اندازی مجدد برای فعال کردن تغییرات.

>> وارد کردن webrepl_setup

WebREPL وضعیت راه اندازی خودکار شیاطین: غیرفعال آیا می خواهید (E) قابل اجرا باشد یا (D) قابل اجرا در بوت باشد؟ (خط خالی برای خروج)> E برای فعال کردن WebREPL ، باید گذرواژه را برای آن تعیین کنید رمز عبور جدید: xxxxx تأیید گذرواژه: xxxxx تغییرات پس از راه اندازی مجدد فعال می شوند آیا می خواهید هم اکنون راه اندازی مجدد شود؟ (y/n) y

در نهایت ، مشتری Webrepl را روی دستگاه خود بارگیری کنید. این اختیاری است اما مشتری با ابزارهای مفید دیگری همراه است که ممکن است بعداً بخواهید از آنها استفاده کنید. به عنوان مثال ، webrepl_cli.py یک دستور برای کپی فایل ها در Wemos در نحو scp-like است. برای بارگیری کلاینت از git استفاده کنید. (اگر ابزار git را هنوز ندارید نصب کنید.)

git clone

مرورگر وب خود را باز کنید و در قسمت URL ، محل فایل بارگیری شده webrepl client خود را وارد کنید مانند:

فایل: ///Users/xxxxx/wemos/webrepl/webrepl.html

این باید سرویس گیرنده webrepl را در مرورگر شما نمایش دهد. قبل از اتصال به آن ، ابتدا باید به نقطه دسترسی WIFi آن متصل شوید. اگر WIFI موجود برای رایانه خود را مشاهده کنید ، می بینید که شبکه ای با MicroPython-xxxx شروع به کار می کند. به آن شبکه متصل شوید. (هشدار: پس از اتصال به آن شبکه ، دسترسی به اینترنت را از دست خواهید داد.)

به کلاینت webrepl خود برگردید و روی Connect کلیک کنید. باید رمز عبور را درخواست کند. رمز Wemos خود را وارد کنید و باید متصل شوید.

به MicroPython خوش آمدید!

رمز عبور: WebREPL متصل شده >>>

Wemos شما هنوز در حالت AccessPoint اجرا می شود. در حالی که این خوب است ، من ترجیح می دهم آن را در حالت ایستگاه اجرا کنید که در آن به WIFI خانه من متصل می شود تا کامپیوتر من بتواند از طریق WIFI خانگی به آن دسترسی داشته باشد و هنوز دسترسی به اینترنت داشته باشد. برای انجام این کار ، باید یک فایل به نام boot.py با پیکربندی شبکه ایجاد کرده و آن را در Wemos بارگذاری کنید.

در اینجا یک نمونه boot.py است. ssid و رمز عبور را به شبکه WIFI خانگی خود تغییر دهید. همچنین ، می خواهم به آن IP ثابت 192.168.0.32 بدهم. آن را به آدرس IP موجود WIFI خانه خود تغییر دهید.

boot.py (می توانید آن را از زیر بارگیری کنید)

وارد کردن gc

وارد کردن webrepl def do_connect (): وارد کردن شبکه sta_if = network. WLAN (network. STA_IF) اگر sta_if.isconnected (): print ('اتصال به شبکه …') sta_if.active (True) sta_if.ifconfig (('192.168.198 0.32 '،' 255.255.255.0 '،' 192.168.0.1 '،' 192.168.0.1 ')) sta_if.connect (' '،' ') در حالی که sta_if.isconnected () نیست: چاپ را عبور دهید (' network config: '، sta_if.ifconfig ()) do_connect () webrepl.start () gc.collect ()

از فرم "ارسال فایل" مشتری Webrepl برای ارسال فایل boot.py خود به Wemos خود استفاده کنید. برای راه اندازی مجدد دکمه تنظیم مجدد را فشار دهید. اگر هنوز از طریق USB با استفاده از فرمان SCREEN متصل هستید ، موارد زیر را مشاهده خواهید کرد:

اتصال به شبکه… پیکربندی شبکه: ('192.168.0.32' ، '255.255.255.0' ، '192.168.0.1' ، '192.168.0.1') شیاطین WebREPL در ws: //192.168.4.1: 8266 شبح WebREPL در ws شروع شد: //192.168.0.32: 8266 شروع به کار وب در حالت عادی نمی تواند فایل 'main.py' را برای خواندن MicroPython v1.8.7-7-gb5a1a20a3 در 2017-01-09 باز کند. ماژول ESP با ESP8266 برای اطلاعات بیشتر "help ()" را تایپ کنید. >>>

این تأیید می کند که Wemos شما با استفاده از ipaddress 192.168.0.32 به WIFI خانه شما متصل است.

برای تأیید اعتبار می توانید آن آدرس IP را پینگ کنید.

پینگ $ 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 بایت داده

64 بایت از 192.168.0.32: icmp_seq = 0 ttl = 255 زمان = 9.334 میلی ثانیه 64 بایت از 192.168.0.32: icmp_seq = 1 ttl = 255 زمان = 11.071 میلی ثانیه..

مرحله 6: برنامه اصلی را نصب کنید

برنامه اصلی را نصب کنید
برنامه اصلی را نصب کنید
برنامه اصلی را نصب کنید
برنامه اصلی را نصب کنید

در نهایت ، شما باید برنامه اصلی را نصب کنید که همچنان روی Wemos شما اجرا می شود.

به مرورگر وب خود بازگردید و برنامه مشتری webrepl را اجرا کنید. آدرس IP را به آدرس IP Wemos خود تغییر دهید. در مورد من ، اکنون 192.168.0.32 است. رمز Wemos خود را وارد کنید و اکنون باید به Wemos متصل شوید.

بیایید برنامه متصل شده main.py را بارگذاری کنیم. فایل پیوست را در رایانه خود بارگیری کنید. برای انتخاب main.py بارگیری شده روی Choose File کلیک کرده و بر روی Sent to device کلیک کنید.

برای بارگیری برنامه main.py باید دکمه Rest را فشار دهید. پس از فشار دادن دکمه Reset ، موارد زیر را مشاهده خواهید کرد:

اتصال به شبکه…

پیکربندی شبکه: ('192.168.0.32' ، '255.255.255.0' ، '192.168.0.1' ، '192.168.0.1')

WebREPL Daemon در ws: //192.168.4.1: 8266 شروع شد WebREPL شبح در ws: //192.168.0.32: 8266 شروع به کار webrepl در حالت عادی گوش دادن ، مرورگر خود را به…

این بدان معناست که برنامه main.py شما فعال شده و به پورت 80 لیست می شود.

برای آزمایش ، مرورگر وب خود را باز کرده و https:// را وارد کنید

این باید صفحه کنترل ماشین را همانطور که در فیلم نشان داده شده است نشان دهد. اگر سیم های شما به درستی وصل شده باشند ، دکمه های کنترل سیگنال های مناسب را برای حرکت خودرو به پورت های GPIO شما ارسال می کنند.

مرحله 7: پیشرفت های آینده

موارد زیر در لیست v2 من وجود دارد:

  • برای کنترل سرعت موتور از PWM استفاده کنید
  • بهبود رابط وب شاید از چارچوب aREST استفاده کنید. من معتقدم aREST lib در MicroPython در حال حاضر موجود نیست ، بنابراین ممکن است مجبور به هک آن شوم.

ممنون که این دستورالعمل را مطالعه کردید. برای پروژه های بیشتر در آینده ، من را در فیس بوک ، یوتیوب و Instructables دنبال کنید.

توصیه شده: