সুচিপত্র:

WEMOS D1 (ESP-8266EX) এর উপর ভিত্তি করে MicroPython IoT Rover: 7 টি ধাপ (ছবি সহ)
WEMOS D1 (ESP-8266EX) এর উপর ভিত্তি করে MicroPython IoT Rover: 7 টি ধাপ (ছবি সহ)

ভিডিও: WEMOS D1 (ESP-8266EX) এর উপর ভিত্তি করে MicroPython IoT Rover: 7 টি ধাপ (ছবি সহ)

ভিডিও: WEMOS D1 (ESP-8266EX) এর উপর ভিত্তি করে MicroPython IoT Rover: 7 টি ধাপ (ছবি সহ)
ভিডিও: Wi-Fi Module ESP-02S,Compatible With ESP8266 2024, নভেম্বর
Anonim
Image
Image
WEMOS D1 (ESP-8266EX) এর উপর ভিত্তি করে MicroPython IoT Rover
WEMOS D1 (ESP-8266EX) এর উপর ভিত্তি করে MicroPython IoT Rover

** আপডেট: আমি একটি ল্যান্স সহ v2 এর জন্য একটি নতুন ভিডিও পোস্ট করেছি **

আমি ছোট বাচ্চাদের জন্য রোবটিক্স ওয়ার্কশপ হোস্ট করি এবং আমি সবসময়ই আকর্ষণীয় প্রকল্প তৈরির জন্য অর্থনৈতিক প্ল্যাটফর্ম খুঁজছি। যদিও Arduino ক্লোনগুলি সস্তা, এটি C/C ++ ভাষা ব্যবহার করে যা বাচ্চারা পরিচিত নয়। এছাড়াও, এটিতে অন্তর্নির্মিত ওয়াইফাই নেই যা আইওটি প্রকল্পগুলির জন্য আবশ্যক। অন্যদিকে, যখন রাস্পবেরি পাইতে ওয়াইফাই রয়েছে এবং বাচ্চারা পাইথন ব্যবহার করে এটি প্রোগ্রাম করতে পারে, এটি এখনও একটি ব্যয়বহুল প্ল্যাটফর্ম যা কেবলমাত্র কয়েকটি জিপিআইও পোর্ট নিয়ন্ত্রণ করে ডিভাইসগুলি চালু এবং বন্ধ করতে পারে। আমার মধ্যে এমন কিছু দরকার যার মধ্যে ওয়াইফাই এবং পাইথন উভয় ক্ষমতা রয়েছে। মনে হচ্ছে আমি মাইক্রোপাইথনে আমার উত্তরটি একটি সস্তা ESP8266- ভিত্তিক বোর্ডে দেখেছি।

মাইক্রোপাইথন কি?

এর ওয়েবসাইট অনুসারে, মাইক্রোপাইথন হল পাইথন 3 প্রোগ্রামিং ভাষার একটি দুর্বল এবং দক্ষ বাস্তবায়ন যা পাইথন স্ট্যান্ডার্ড লাইব্রেরির একটি ছোট উপসেট অন্তর্ভুক্ত করে এবং এটি মাইক্রোকন্ট্রোলার এবং সীমাবদ্ধ পরিবেশে (যেমন ESP8266) চালানোর জন্য অপ্টিমাইজ করা হয়। এটি মূলত একটি চিপে পাইথন আইডিই। একটি বড় সুবিধা হল যে আপনি ওয়েবব্রেজার ক্লায়েন্ট ব্যবহার করে কোড তৈরি করতে এবং পরিবর্তন করতে পারেন। (আরডুইনোতে এটি করার চেষ্টা করুন।) আপনি ডেটা লগিং বা আরডুইনোতে একটি LED স্ক্রিনের উপর নির্ভর করার পরিবর্তে Webrepl- এ রিয়েল-টাইমে সেন্সর ডেটা দেখতে পারেন।

ESP8266 কি?

সংক্ষেপে, এটি অন্তর্নির্মিত নেটওয়ার্ক ক্ষমতা সহ একটি Arduino হিসাবে মনে করুন। আপনি C/C ++ এ ESP8266 বোর্ড প্রোগ্রাম করার জন্য Arduino IDE ব্যবহার করতে পারেন অথবা আপনি এটি NodeMCU বা MicroPython দিয়ে ফ্ল্যাশ করতে পারেন। এই প্রকল্পে, আমি একটি ESP8266 বোর্ডে মাইক্রোপাইথন ঝলকানি করব।

আমি এই সাধারণ প্রকল্পের জন্য ESP8266-12EX ভিত্তিক একটি WEMOS D1 পাওয়ার সিদ্ধান্ত নিয়েছি যেখানে আমি একটি ওয়েব ব্রাউজার ব্যবহার করে একটি 2WD গাড়ি নেভিগেট করব। মাইক্রোপাইথনের জন্য ডিজাইন করা অন্যান্য বোর্ড রয়েছে কিন্তু আমি এমন কিছু সস্তা চাই যা আমার মানদণ্ড পূরণ না করলে আমি ফেলে দিতে পারি। প্রত্যাশিত হিসাবে, এটি আমার সমস্ত প্রয়োজনীয়তা পূরণ করেছে এবং সম্ভবত আমি ভবিষ্যতে প্রকল্পগুলিতে WeMos এবং Micropython অন্তর্ভুক্ত করব।

ধাপ 1: অংশ

যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ
যন্ত্রাংশ
  • Wemos D1 বা কোন ESP8266 ভিত্তিক বোর্ড
  • মোটর ieldাল (আমি AliExpress থেকে একটি সস্তা L293D ব্যবহার করছি)
  • 4 x AA এবং 9V এর জন্য ব্যাটারি হোল্ডার (4 x AA ব্যাটারি মোটরের জন্য এবং 9V Wemos বোর্ডের জন্য)
  • 2WD গাড়ির চ্যাসি
  • Dupont তারগুলি

সবকিছু একসাথে রাখার জন্য একটি সোল্ডারিং লোহা, একটি স্ক্রু ড্রাইভার এবং একটি আঠালো বন্দুক প্রয়োজন হতে পারে।

ধাপ 2: হার্ডওয়্যার সমাবেশ

হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ
হার্ডওয়্যার সমাবেশ

প্রথমে, নির্দেশ অনুসারে চ্যাসিগুলি একত্রিত করুন।

তারপর, দেখানো হিসাবে গরম আঠালো অন্যান্য উপাদান।

মোটর তারগুলি মোটর টার্মিনালে বিক্রি করা উচিত এবং টার্মিনাল জয়েন্টগুলিকে শক্তিশালী করার জন্য গরম আঠালো ব্যবহার করা উচিত।

4AA ব্যাটারি হোল্ডারে একটি ছোট সুইচ লাগানো। এটি মোটর শিল্ডে পাওয়ার চালু/বন্ধ করবে।

ধাপ 3: তারের

তারের
তারের
তারের
তারের
তারের
তারের

দেখানো হিসাবে আমার ওয়্যারিং ডায়াগ্রাম অনুসরণ করুন।

Wemos থেকে মোটর শিল্ড:

D1 IN2

D2 IN1 D3 IN4 ** D4 D5 IN3 GND -> GND এড়িয়ে যান

মোটর Powerাল মোটর/পাওয়ার:

একটি টার্মিনাল -> বাম মোটর

B টার্মিনাল -> ডান মোটর VCC -> ব্যাটারি (+) GND -> ব্যাটারি (-)

ধাপ 4: মাইক্রোপাইথন ইনস্টলেশন

প্রথমত, Wemos এর CH304G ভিত্তিক একটি সিরিয়াল/USB চিপ আছে। এটি একই চিপ যা সস্তা আরডুইনো-ক্লোনগুলিতে পাওয়া যায় এবং আপনাকে অবশ্যই ম্যাক বা পিসির জন্য একটি সঠিক ড্রাইভার ইনস্টল করতে হবে। ড্রাইভার ইনস্টল করার জন্য এই সাইটে নির্দেশাবলী অনুসরণ করুন।

Wemos কে আপনার কম্পিউটারে সংযুক্ত করুন এবং নিশ্চিত করুন যে আপনার কম্পিউটার Wemos সনাক্ত করতে পারে। ম্যাক -এ, নিম্নলিখিত কমান্ডটি চালান এবং আপনি /dev/tty.wchusbserial640 নামে একটি ডিভাইস দেখতে পাবেন।

$ ls -lt /dev /tty* | মাথা

crw-rw-rw- 1 রুট হুইল 17, 4 মার্চ 2 23:31 /dev/tty.wchusbserial640

আপনি যদি পিসিতে থাকেন, তাহলে আপনি এই নির্দেশনাটি একটি রেফারেন্স হিসাবে ব্যবহার করতে পারেন।

পরবর্তী, আপনাকে আপনার কম্পিউটারে পাইথন 2 বা 3 সেটআপ করতে হবে যেহেতু ফ্ল্যাশ টুল, esptool.py, পাইথনের উপর ভিত্তি করে। যদিও মাইক্রোপাইথন গাইড বলতে পারে যে টুলটি কেবল পাইথন 2.7 এর সাথে কাজ করে, আমি পাইথন 3 এ কোন সমস্যা ছাড়াই এটি চালাতে সক্ষম হয়েছিলাম। Https://www.python.org থেকে সর্বশেষ পাইথন ডাউনলোড করুন এবং আপনার পিসি বা ম্যাকের জন্য ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন।

পরিশেষে, আপনাকে Wemos- এ মাইক্রোপাইথন ইনস্টল করতে হবে। মাইক্রোপিথন সাইটের একটি চমৎকার টিউটোরিয়াল আছে কিভাবে ইএসপি 8266 এ মাইক্রোপাইথন সেটআপ করা যায়। ESP8266 এ মাইক্রোপাইথন দিয়ে শুরু করার জন্য ইনস্টলেশন নির্দেশাবলী অনুসরণ করুন।

নিচে আমি যে কমান্ড ব্যবহার করেছি তা হল:

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

esptool.py v1.3 সংযুক্ত হচ্ছে…। Cesanta ফ্ল্যাশার স্টাব চলছে … ফ্ল্যাশ মুছে ফেলা (এতে একটু সময় লাগতে পারে)… Erase 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 এ সেট করা ফ্ল্যাশ প্যারাম 508 সেকেন্ডে (92.8 kbit/s) 0x0 এ 589824 বাইট লিখেছে… ছেড়ে যাচ্ছে…

মাইক্রোপিথন এখন আপনার বোর্ডে ইনস্টল করা আছে!

ধাপ 5: নেটওয়ার্ক সেটআপ করুন

সেটআপ নেটওয়ার্ক
সেটআপ নেটওয়ার্ক

যদিও মাইক্রোপাইথন এখন আপনার ওয়েমোসে ইনস্টল করা আছে, এটি এখনও আপনার নেটওয়ার্কের সাথে সংযুক্ত নয়। আপনাকে প্রথমে নেটওয়ার্ক সক্ষম করতে হবে। ম্যাক -এ, Wemos- এর সিরিয়াল টার্মিনাল সেশন শুরু করার জন্য SCREEN কমান্ডটি চালান।

$ screen /dev/tty.wchusbserial640 115200

যখন আপনি একটি ফাঁকা স্ক্রিন দেখতে পান, একটি প্রম্পট দেখতে রিটার্ন চাপুন:

>>

(দ্রষ্টব্য: প্রস্থান করার জন্য, CTRL-A CTRL- type টাইপ করুন)

এখন, আসুন ওয়েব ক্লায়েন্ট অ্যাক্সেস সক্ষম করি। সেটআপ প্রোগ্রাম চালানোর জন্য "import webrepl_setup" টাইপ করুন। WebREPL সক্ষম করতে E লিখুন এবং তারপর পাসওয়ার্ড সেট করুন। পরিবর্তনগুলি সক্রিয় করতে রিবুট করুন।

>> webrepl_setup আমদানি করুন

WebREPL ডেমন অটো-স্টার্ট স্ট্যাটাস: নিষ্ক্রিয় আপনি কি (E) সক্ষম বা (D) এটি বুটে চলতে চান? (ছাড়ার জন্য ফাঁকা লাইন)> E WebREPL সক্ষম করতে, আপনাকে অবশ্যই এর জন্য পাসওয়ার্ড সেট করতে হবে নতুন পাসওয়ার্ড: xxxxx পাসওয়ার্ড নিশ্চিত করুন: xxxxx রিবুট করার পর পরিবর্তনগুলি সক্রিয় হবে আপনি কি এখন পুনরায় বুট করতে চান? (y/n) y

সবশেষে, Webrepl ক্লায়েন্ট আপনার মেশিনে ডাউনলোড করুন। এটি alচ্ছিক কিন্তু ক্লায়েন্ট অন্যান্য দরকারী সরঞ্জামগুলির সাথে আসে যা আপনি পরে ব্যবহার করতে চাইতে পারেন। উদাহরণস্বরূপ, webrepl_cli.py হল scp- এর মত সিনট্যাক্সে Wemos- এ ফাইল কপি করার কমান্ড। ক্লায়েন্ট ডাউনলোড করতে git ব্যবহার করুন। (যদি আপনার কাছে এটি না থাকে তবে git টুলটি ইনস্টল করুন।)

গিট ক্লোন

আপনার ওয়েব ব্রাউজার খুলুন এবং ইউআরএল ফিল্ডে আপনার ডাউনলোড করা ওয়েবরেপ্ল ক্লায়েন্ট ফাইলের লোকেশন লিখুন যেমন:

ফাইল: ///Users/xxxxx/wemos/webrepl/webrepl.html

এটি আপনার ব্রাউজারে webrepl ক্লায়েন্ট প্রদর্শন করা উচিত। আপনি এটির সাথে সংযুক্ত হওয়ার আগে, আপনাকে প্রথমে এর ওয়াইফাই অ্যাক্সেস পয়েন্টের সাথে সংযোগ করতে হবে। আপনি যদি আপনার কম্পিউটারের জন্য উপলব্ধ ওয়াইফাই দেখেন, আপনি দেখতে পাবেন একটি নেটওয়ার্ক MicroPython-xxxx দিয়ে শুরু হয়েছে। সেই নেটওয়ার্কের সাথে সংযোগ করুন। (সতর্কতা: একবার আপনি সেই নেটওয়ার্কে সংযুক্ত হলে, আপনি আপনার ইন্টারনেট অ্যাক্সেস হারাবেন।)

আপনার webrepl ক্লায়েন্টে ফিরে যান এবং কানেক্টে ক্লিক করুন। এটি পাসওয়ার্ডের জন্য অনুরোধ করা উচিত। আপনার Wemos পাসওয়ার্ড লিখুন এবং আপনার সংযোগ করা উচিত।

মাইক্রোপাইথনে স্বাগতম!

পাসওয়ার্ড: WebREPL সংযুক্ত >>>

আপনার ওয়েমোস এখনও অ্যাক্সেসপয়েন্ট মোডে চলছে। যদিও এটি ঠিক আছে, আমি এটি স্টেশন মোডে চালাতে পছন্দ করি যেখানে এটি আমার হোম ওয়াইফাইয়ের সাথে সংযুক্ত থাকে যাতে আমার কম্পিউটার হোম ওয়াইফাইয়ের মাধ্যমে এটি অ্যাক্সেস করতে পারে এবং এখনও ইন্টারনেট অ্যাক্সেস থাকে। এটি করার জন্য, আপনাকে নেটওয়ার্ক কনফিগারেশন সহ boot.py নামে একটি ফাইল তৈরি করতে হবে এবং এটি ওয়েমোসে আপলোড করতে হবে।

এখানে একটি নমুনা boot.py. আপনার বাড়ির ওয়াইফাই নেটওয়ার্কে ssid এবং পাসওয়ার্ড পরিবর্তন করুন। এছাড়াও, আমি এটি 192.168.0.32 এর একটি স্ট্যাটিক আইপি দিতে চাই। এটি আপনার বাড়ির ওয়াইফাই এর উপলব্ধ আইপি ঠিকানায় পরিবর্তন করুন।

boot.py (আপনি নিচে থেকে ডাউনলোড করতে পারেন)

gc আমদানি করুন

আমদানি webrepl def do_connect (): আমদানি নেটওয়ার্ক sta_if = network. WLAN (network. STA_IF) যদি sta_if.isconnected না হয় (): মুদ্রণ ('নেটওয়ার্কের সাথে সংযোগ স্থাপন …') sta_if.active (সত্য) sta_if.ifconfig (('192.168) 0.32 ',' 255.255.255.0 ',' 192.168.0.1 '' '192.168.0.1').ifconfig ()) do_connect () webrepl.start () gc.collect ()

আপনার Wemos- এ আপনার boot.py ফাইল পাঠানোর জন্য Webrepl ক্লায়েন্টের "একটি ফাইল পাঠান" ফর্ম ব্যবহার করুন। রিবুট করতে রিসেট বোতাম টিপুন। যদি আপনি এখনও স্ক্রিন কমান্ড ব্যবহার করে ইউএসবি এর মাধ্যমে সংযুক্ত থাকেন, তাহলে আপনি দেখতে পাবেন:

নেটওয়ার্কে সংযোগ করা হচ্ছে …: //192.168.0.32: 8266 নরমাল মোডে webrepl শুরু হয়েছে 2017-01-09 তারিখে MicroPython v1.8.7-7-gb5a1a20a3 পড়ার জন্য ফাইল 'main.py' খুলতে পারেনি; ESP8266 সহ ESP মডিউল আরো তথ্যের জন্য "help ()" টাইপ করুন। >>>

এটি যাচাই করে যে আপনার Wemos 192.168.0.32 এর আইপ্যাড্রেস ব্যবহার করে আপনার বাড়ির WIFI- এর সাথে সংযুক্ত।

আপনি যাচাই করার জন্য সেই IP ঠিকানাটি পিং করতে পারেন।

$ পিং 192.168.0.32

PING 192.168.0.32 (192.168.0.32): 56 ডেটা বাইট

192.168.0.32 থেকে 64 বাইট: icmp_seq = 0 ttl = 255 time = 9.334 ms 64 বাইট 192.168.0.32 থেকে: icmp_seq = 1 ttl = 255 time = 11.071 ms..

ধাপ 6: প্রধান প্রোগ্রাম ইনস্টল করুন

প্রধান প্রোগ্রাম ইনস্টল করুন
প্রধান প্রোগ্রাম ইনস্টল করুন
প্রধান প্রোগ্রাম ইনস্টল করুন
প্রধান প্রোগ্রাম ইনস্টল করুন

পরিশেষে, আপনাকে মূল প্রোগ্রামটি ইনস্টল করতে হবে যা আপনার ওয়েমোসে চলতে থাকবে।

আপনার ওয়েব ব্রাউজারে ফিরে যান এবং webrepl ক্লায়েন্ট প্রোগ্রামটি চালান। আপনার ওয়েমোসের আইপি ঠিকানায় আইপি ঠিকানা পরিবর্তন করুন। আমার ক্ষেত্রে, এটি এখন 192.168.0.32। আপনার Wemos পাসওয়ার্ড লিখুন এবং আপনার এখন Wemos এর সাথে সংযুক্ত হওয়া উচিত।

আসুন সংযুক্ত main.py প্রোগ্রাম আপলোড করি। আপনার কম্পিউটারে সংযুক্ত ফাইলটি ডাউনলোড করুন। ডাউনলোড করা main.py বাছাই করার জন্য ফাইল নির্বাচন করুন এ ক্লিক করুন এবং পাঠানো ডিভাইসে ক্লিক করুন।

Main.py প্রোগ্রাম লোড করার জন্য আপনাকে বিশ্রাম বোতাম টিপতে হবে। রিসেট বোতাম টিপে, আপনি দেখতে পাবেন:

নেটওয়ার্কে সংযুক্ত হচ্ছে…

নেটওয়ার্ক কনফিগ: ('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 থেকে শুরু হয়েছে webrepl স্বাভাবিক মোডে শোনা যাচ্ছে, আপনার ব্রাউজারের সাথে সংযুক্ত করুন …

এর মানে হল আপনার main.py প্রোগ্রাম সক্রিয় এবং পোর্ট 80 এ তালিকাভুক্ত করা হয়েছে।

পরীক্ষা করার জন্য, আপনার ওয়েব ব্রাউজার খুলুন এবং https:// লিখুন

এটি ভিডিওতে দেখানো গাড়ির নিয়ন্ত্রণ পর্দা প্রদর্শন করা উচিত। যদি আপনার তারগুলি সঠিকভাবে সংযুক্ত থাকে, তাহলে নিয়ন্ত্রণ বোতামগুলি আপনার GPIO পোর্টে গাড়িকে সরানোর জন্য সঠিক সংকেত পাঠাবে।

ধাপ 7: ভবিষ্যতের উন্নতি

নিম্নলিখিত কাজগুলি আমার v2 তালিকায় রয়েছে:

  • মোটরের গতি নিয়ন্ত্রণ করতে PWM ব্যবহার করুন
  • ওয়েব ইন্টারফেস উন্নত করুন। সম্ভবত aREST ফ্রেমওয়ার্ক ব্যবহার করুন। আমি বিশ্বাস করি না যে এই মুহূর্তে মাইক্রোপাইথনে AREST lib পাওয়া যায় তাই আমাকে এটি হ্যাক করতে হতে পারে।

এই নির্দেশযোগ্য পড়ার জন্য আপনাকে ধন্যবাদ। ভবিষ্যতে আরো প্রজেক্টের জন্য আমাকে ফেসবুক, ইউটিউব এবং ইন্সট্রাক্টেবল এ ফলো করুন।

প্রস্তাবিত: