সুচিপত্র:

এইচটিএমএল/জাভাস্ক্রিপ্ট দিয়ে আপনার আরডুইনো নিয়ন্ত্রণ করা সহজ উপায়: 8 টি ধাপ
এইচটিএমএল/জাভাস্ক্রিপ্ট দিয়ে আপনার আরডুইনো নিয়ন্ত্রণ করা সহজ উপায়: 8 টি ধাপ

ভিডিও: এইচটিএমএল/জাভাস্ক্রিপ্ট দিয়ে আপনার আরডুইনো নিয়ন্ত্রণ করা সহজ উপায়: 8 টি ধাপ

ভিডিও: এইচটিএমএল/জাভাস্ক্রিপ্ট দিয়ে আপনার আরডুইনো নিয়ন্ত্রণ করা সহজ উপায়: 8 টি ধাপ
ভিডিও: ESP32 Tutorial 45- Custom Streamign Server with LED control CAM-3 l SunFounder's ESP32 Learnig kit 2024, সেপ্টেম্বর
Anonim
এইচটিএমএল/জাভাস্ক্রিপ্টের সাহায্যে আপনার আরডুইনো নিয়ন্ত্রণ করা সহজ উপায়
এইচটিএমএল/জাভাস্ক্রিপ্টের সাহায্যে আপনার আরডুইনো নিয়ন্ত্রণ করা সহজ উপায়

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

চালু করা

একটি বোতাম চালু করার জন্য। সৌন্দর্য হল পিনমোড (12, ইনপুট) ঘোষণা করা ছাড়া আর কোন আরডুইনো প্রোগ্রামিং নেই; আপনার সেট আপ ফাংশনে। যতক্ষণ না পিন ঘোষিত হয় জাভাস্ক্রিপ্ট অন্য সব কিছুর জন্য ব্যবহার করা যেতে পারে।

document.onload = {

GetJSON ('A0', 1 'return_json')

}

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

ধাপ 1: আপনার যা লাগবে

আমি এই প্রকল্পটি ব্যবহারকারীদের জন্য তৈরি করেছি যারা একটি ESP8266 এ একটি এইচটিএমএল পৃষ্ঠা দিয়ে তাদের আরডুইনো নিয়ন্ত্রণ করতে চায়। এই প্রকল্পের লক্ষ্য হল জাভাস্ক্রিপ্ট ফাংশন দিয়ে আপনার আরডুইনোতে পিনের মান নির্ধারণের জন্য একটি সহজ পদ্ধতি তৈরি করা। উদাহরণের জন্য onclick = "SetPin (12, 1, 0)" আপনার arduino তে Pin 12 কে High তে সেট করবে।

এই টিউটোরিয়ালের জন্য আপনাকে অবশ্যই নিম্নলিখিত আইটেমগুলির প্রয়োজন হবে যাতে ঠিক অনুসরণ করা যায়। যাইহোক, আমি অনুমান করি যে এটি বেশিরভাগ arduino এবং ESP8266 সংমিশ্রণে কাজ করা উচিত। যাইহোক, আমার এখানে ঠিক কি আছে তা অনুসরণ করতে আপনার নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে।

Arduino Uno - যে কোন arduino কম্প্যাটেবল এর সাথে কাজ করা উচিত যার সিরিয়াল Rx TxAdafruit Huzzah Breakout Board USB থেকে Serial Cable 4 কম পাওয়ার LED এর Analog Turpidity testor - যে কোন এনালগ সেন্সর যা এনালগ আউটপুট প্রদান করে মোবাইল ব্রাউজার Arduino লাইব্রেরি সহ ওয়্যার ওয়াইফাই রাউটার সেল ফোন করবে।

ধাপ 2: Arduino আইডি প্রস্তুত করা

এই প্রকল্পের জন্য একটি নতুন আরডুইনো লাইব্রেরি এবং কিছু কনফিগারেশন প্রয়োজন এবং সময়ের স্বার্থে। আমি প্রতিটি স্ক্রিনের একটি স্ক্রিনশট রাখব না এবং আমি এটি কনফিগার করতে এবং এটি চালানোর জন্য যা প্রয়োজন তা দিয়ে আমি কেবল চালাতে যাচ্ছি। আমি ব্যবহারকারীর জন্য এটি যতটা সম্ভব সহজ করার চেষ্টা করেছি।

কোড কাজ করার জন্য বেশ কয়েকটি লাইব্রেরি ব্যবহার করে। প্রথমে আমরা ESP8266 এর জন্য আরডুইনো স্থাপনের দিকে মনোনিবেশ করব আমি এই উদাহরণে Adafruit Huzzah ব্যবহার করছি, কারণ আমি adafruit পণ্যগুলিকে সবচেয়ে নির্ভরযোগ্য বলে মনে করি এবং সর্বোত্তম সমর্থন পাই। যতদিন আপনি Adafruit Discord সার্ভার থেকে সমর্থন পাওয়ার চেষ্টা করবেন না। সাপোর্ট ফোরামে সাহায্য পাওয়ার জন্য আপনার অনেক ভালো ভাগ্য থাকবে।

যাইহোক, আমি ESP8266 এ নিম্নলিখিত গ্রন্থাগারগুলি ব্যবহার করছি

ESP8266WiFi WiFiClient ESP8266WebServer ArduinoJSON এটি কিভাবে লাইব্রেরি ডাউনলোড এবং ইনস্টল করা যায় সে সম্পর্কে একটি টিউটোরিয়াল নয়, তবে এগুলি হুজ্জাহে ব্যবহৃত লাইব্রেরি। তাই দয়া করে তাদের খুঁজে বের করুন এবং তাদের ইনস্টল করুন। আপনাকে হুজ্জার জন্য বোর্ডের সংজ্ঞাগুলিও ইনস্টল করতে হবে তাই আপনি যদি FILE> পছন্দগুলিতে যান তবে অতিরিক্ত বোর্ড ম্যানেজার ইউআরএল বাক্সে দয়া করে নিম্নলিখিতটি যোগ করুন https://arduino.esp8266.com/stable/package_esp8266c… একটি অতিরিক্ত বোর্ড url যোগ করার জন্য আপনি সেখানে একটি কমা যোগ করুন তা নিশ্চিত করার চেয়ে এই ক্ষেত্রে কিছু। ঠিক আছে ক্লিক করুন

ESP8266 কমিউনিটি দ্বারা ESP8266 ইনস্টল করার চেয়ে সরঞ্জাম> বোর্ড> বোর্ড ম্যানেজার ESP8266 অনুসন্ধান করুন।

গ্রেট এখন নিশ্চিত করতে দেয় যে আমাদের আরডুইনো কোড কাজ করার জন্য আমাদের যা প্রয়োজন তা আছে। একটি arduino সাইড arduino নিজেই এই টিউটোরিয়ালের জন্য শুধুমাত্র 2 টি লাইব্রেরি ব্যবহার করে।

সফটওয়্যার সিরিয়াল আর্ডুইনো জেএসএন যা আপনার ইতিমধ্যে থাকা উচিত।

ধাপ 3: ESP8266 প্রস্তুত করা হচ্ছে

ESP8266 প্রস্তুত করা হচ্ছে
ESP8266 প্রস্তুত করা হচ্ছে

এখন আমরা কোডটি ESP8266 (Adafruit HUZZAH) এ রাখতে যাচ্ছি এবং এটিকে Arduino এর সাথে সংযুক্ত করার জন্য প্রস্তুত করছি। HUZZAH এর কোড আনজিপ করুন এবং স্কেচ খুলুন। 11 এবং 12 লাইনে আপনার স্থানীয় নেটওয়ার্কে আপনার ওয়াইফাই সংযোগের ssid এবং পাসওয়ার্ড পরিবর্তন করুন। আপনি লক্ষ্য করবেন যে 2 টি ফাইল স্কেচ ফাইল এবং index.h ফাইল আছে। Index.h ফাইল হল যেখানে html সংরক্ষিত থাকে যা আপনার ফোনে প্রদর্শিত হবে।

আপনার ওয়াইফাইতে সঠিক SSID এবং পাসওয়ার্ড সেট করার পরে আপনি কোডটি কম্পাইল করে আপনার ESP8266 এ লোড করতে পারেন। HUZZAH- এ আপনাকে অবশ্যই GPIO0 লেবেলযুক্ত বোতামটি চেপে ধরতে হবে তারপর চিপটি বুটলোডার মোডে রাখার জন্য GPIO0 বোতামটি ছেড়ে দেওয়ার পরিবর্তে বিশ্রাম বোতামটি ক্লিক করুন। যদি চিপটি সফলভাবে বুটলোডার মোডে রাখা হয় তবে চিপটি বুট লোডার মোডে রয়েছে তা নির্দেশ করে একটি লাল বাতি চালু হবে।

ESP8266 এর সাথে সংযোগ করার জন্য আপনার একটি সিরিয়াল ক্যাবল বা USB থেকে সিরিয়াল অ্যাডাপ্টার অথবা FDTI চিপ লাগবে। এই ক্ষেত্রে আমি নির্দেশাবলী হিসাবে উল্লিখিত adafruit এর তারের ব্যবহার করছি। যাইহোক, আপনি Tx এবং Rx পিনগুলিতে TTL ব্যবহার করে চিপকে বিভিন্ন উপায়ে সংযুক্ত করতে পারেন। যা আমি আশা করছি যে যারা এটি দেখছে তারা জানে কিভাবে চিপে কোডটি লোড করতে হয়। যাইহোক এগিয়ে যান এবং এই ধাপে সংযুক্ত জিপ ফাইলে কোড সহ চিপটি ফ্ল্যাশ করুন।

ধাপ 4: Arduino প্রস্তুতি

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

ধাপ 5: একসঙ্গে সবকিছু সংযুক্ত করা

সবকিছু একসঙ্গে ওয়্যারিং
সবকিছু একসঙ্গে ওয়্যারিং

ঠিক আছে তাই তারের জন্য আমি এখানে কি আছে তার উপরে একটি ছবি আছে।

Arduino- এ পিন 2 -এর সাথে Huzzah- এ Tx- কে সংযুক্ত করুন। আমি ডিফল্ট সিরিয়াল কনসোল মুক্ত করার জন্য আরডুইনোতে 2 এবং 3 পিনে আরেকটি সিরিয়াল সকেট তৈরি করেছি।

Arduino থেকে পিন V+ এবং En কে 5v এর সাথে সংযুক্ত করুন। - Adafruit Huzzah- এর একটি অন্তর্নির্মিত ভোল্টেজ 3.3v রেগুলেটর আছে তাই এই পিনগুলিকে এইভাবে প্লাগ করা সব ESP8266 মডিউলের সাথে কাজ করতে পারে না। আপনার নিজের ভোল্টেজ রেগুলেটরে তারের প্রয়োজন হতে পারে। আপনি যদি জিনিসটি সহজেই কাজ করতে চান তবে আমি হুজা ব্যবহার করার পরামর্শ দিই। Arduino এর GND এর সাথে GND সংযুক্ত করুন

আপনার LEDs এর arduino তারের 12, 11, 9, 8 পিনগুলিতে আমি এখানে কম চালিত LED ব্যবহার করেছি কারণ যেগুলি খুব বেশি কারেন্ট আঁকবে তারা এই পরীক্ষাটি সহজ রাখার জন্য খুব বেশি শক্তি টানতে পারে।

Arduino এ A0 এনালগ পিন 0 এর চেয়ে আমি আমার Turpitity পরীক্ষকের আউটপুট লাইনে প্লাগ করেছি। যাইহোক, আপনি মূলত যে কোন সেন্সরের আউটপুট প্লাগ করতে পারেন যা আপনাকে একটি এনালগ রিডিং দেবে। এই ওয়্যার আপ করার জন্য আপনাকে যা করতে হবে।

ধাপ 6: ওয়েবপেজ অ্যাক্সেস করা

এখন যেহেতু আপনি আরডুইনো তারযুক্ত করেছেন এবং আপনার বোর্ডগুলিতে সবকিছু লোড করা আছে তাই আপনাকে আপনার মোবাইল ফোনে এইচটিএমএল দেখতে সক্ষম হতে হবে। এখন আমি চাই যে আপনি একই ওয়াইফাই রাউটারের সাথে সংযোগ স্থাপন করুন যার জন্য আপনি হুজ্জার কোডে SSID এবং পাসওয়ার্ড সেট করেছেন। আপনার রাউটার আপনার ডিভাইসে কোন আইপি ঠিকানা বরাদ্দ করেছে তা খুঁজে বের করতে হবে। সাধারণত, যদি আপনি আপনার রাউটার কনফিগারেশনে লগইন করেন তবে ক্লায়েন্ট তালিকা থাকা উচিত। এটি আপনার ওয়াইফাই সংযোগের সাথে সংযুক্ত সমস্ত ডিভাইসের আইপি ঠিকানা দেখায়। যাইহোক, যদি আপনি এই আইপি ঠিকানাটি খুঁজে না পান তবে আপনি এটিকে আরডুইনো থেকে প্লাগ করতে পারেন এবং এটি আবার সিরিয়াল কেবল দিয়ে চালাতে পারেন। যদি আপনি ডিভাইসে সিরিয়াল কনসোলটি খুলেন তবে এটি সিরিয়াল কনসোলে ডিভাইসে আইপি ঠিকানাটি মুদ্রণ করবে যদি আপনি এটি অন্যভাবে খুঁজে না পান। যাইহোক একবার আপনি আপনার সেল ফোনের সাথে একই ওয়াইফাই নেটওয়ার্কের সাথে সংযুক্ত হন। আপনার মোবাইল ওয়েব ব্রাউজারটিকে হুজ্জার আইপি ঠিকানায় নির্দেশ করুন। যা সম্ভবত এর অনুরূপ কিছু দেখায়। https://192.168.0.107 বা খুব অনুরূপ কিছু। সেখানে আমি একটি বেসিক পেজ রাখলাম যা আপনাকে 4 টি লেড চালু এবং বন্ধ করার পাশাপাশি এনালগ সেন্সরের মান পড়তে দেবে।

ধাপ 7: জাভাস্কিপ্ট ব্যবহার করা

ESP8266Code স্কেচে index.h নামক ফাইলে এটি arduino এডিটরের একটি পৃথক ট্যাব হিসেবে আসা উচিত। আমি এখানে যে মৌলিক উদাহরণটি তৈরি করেছি তা আপনি দেখতে পারেন। মূলত এটি যেভাবে কাজ করে তা এইরকম।

সেটপিন (12, 1, 0); SetPin ({Pin Number}, {Value 1 High 0 Low}, {IsAnalog 1 Yes 0 No})

এটি ডিজিটাল পিনের মান 12 উচ্চ পর্যন্ত সেট করবে

সেটপিন (4, 0, 0);

এটি ডিজিটাল পিন 4 এর মান কম সেট করবে

সেটপিন (A2, 439, 1) এটি এনালগ পিনের মান 2 থেকে 439 সেট করবে

অনুরূপভাবে, GetJSON ফাংশনটি একটি পিন থেকে একটি অনুরোধকৃত মান ফেরত দেবে এবং এটি একটি নির্দিষ্ট ডিভিড আইডি সহ একটি এইচটিএমএল -এ স্থাপন করবে।

GetJSON ('A0', 1, 'resp_i') GetJSON ({Pin Number}, {IsAnalog 1 Yes 0 No}, {এইচটিএমএল এলিমেন্টের আইডি রিটার্ন করার ফলাফল})

এটি আরডুইনোকে একটি অনুরোধ পাঠাবে যাতে এটি এনালগ পিন 0 এর মান জিজ্ঞাসা করে এবং ফলাফলটি ডিভে রিড আইপি resp_iGetJSON (12, 0, 'mydiv') দিয়ে ফেরত পাঠায়; এটি arduino কে ডিজিটাল পিন 0 এর মান পেতে বলবে এবং ফলাফলটি একটি html এলিমেন্টে এবং mydiv এর আইডিতে ফিরিয়ে দেবে

ধাপ 8: সমর্থন

আমি আশা করি আমার স্ক্রিপ্ট আপনারা যারা এটি ব্যবহার করতে চান তাদের সাহায্য করবে। আমি এখানে একটি খুব মৌলিক এইচটিএমএল উদাহরণ ব্যবহার করেছি এই আশা নিয়ে যে অন্য লোকেরা এর সমস্ত ক্ষমতা অন্বেষণ করবে যা আমি করতে পারি না। যাইহোক, এটি প্রদর্শিত হওয়া উচিত যে কিভাবে এইচজেএমএল পৃষ্ঠা লোড এবং সেই প্রকৃতির জিনিস ছাড়াই একটি আরডুইনো নিয়ন্ত্রণ করতে AJAX ব্যবহার করা যেতে পারে।

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

আমার কোড দেখার জন্য সময় নেওয়ার জন্য আপনাকে ধন্যবাদ।

জন অ্যান্ডারসন আমাকে ইমেল করুন

ভারমন্ট ইন্টারনেট ডিজাইন এলএলসি

www.vermontinternetdesign.com

প্রস্তাবিত: