সুচিপত্র:

ইএসপি -12 ইনফ্রা রেড ব্লাস্টার: 7 টি ধাপ
ইএসপি -12 ইনফ্রা রেড ব্লাস্টার: 7 টি ধাপ

ভিডিও: ইএসপি -12 ইনফ্রা রেড ব্লাস্টার: 7 টি ধাপ

ভিডিও: ইএসপি -12 ইনফ্রা রেড ব্লাস্টার: 7 টি ধাপ
ভিডিও: ESP Capsule Bangla/ রক্তশূন্যতা দূর করা এবং রক্তের অভাব পূরণ করার ঔষধ/ Esp Capsule এর কাজ কি/ ESP 2024, জুলাই
Anonim
ইএসপি -12 ইনফ্রা রেড ব্লাস্টার
ইএসপি -12 ইনফ্রা রেড ব্লাস্টার

Esp8266 ব্যবহার করে ইনফ্রা রেড রিমোট কন্ট্রোল ব্লাস্টার

একাধিক আউটপুট ডিভাইস সমর্থনকারী ওয়েব থেকে প্রাপ্ত রিমোট কন্ট্রোল কোড প্রেরণ করে।

সাধারণ ওয়েব পেজে তৈরি করা হয়েছে মূলত পরীক্ষার জন্য।

সাধারণ ব্যবহার হল পোস্ট মেসেজের মাধ্যমে যা ওয়েব পেজ থেকে বা IFTTT / Alexa ভয়েস কন্ট্রোল থেকে আসতে পারে।

অ্যামাজন ইকো / ডট অ্যাক্টিভেট ডিটেক্টরকে সক্রিয় শব্দটি বলার সাথে সাথে নিuteশব্দ / শান্ত করতে সহায়তা করে।

কমান্ড হয় একক কমান্ড বা ক্রম। সিকোয়েন্সগুলিকে নামযুক্ত ম্যাক্রো হিসাবে সংরক্ষণ করা যেতে পারে যা তারপর কমান্ড বা অন্যান্য সিকোয়েন্স হিসাবে ব্যবহার করা যেতে পারে।

সাম্প্রতিক ইতিহাস এবং ম্যাক্রোর তালিকা ওয়েব ইন্টারফেসের মাধ্যমে পাওয়া যেতে পারে

নতুন ফার্মওয়্যার ওটিএ আপলোডিং সমর্থন করে এবং প্রাথমিক ওয়াইফাই সেটআপের জন্য ওয়াইফাই ম্যানেজার লাইব্রেরি ব্যবহার করে

ধাপ 1: হার্ডওয়্যার

হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার

নিম্নলিখিত উপাদানগুলি ব্যবহার করে

  • ESP-12F মডিউল
  • 3.3V রেগুলেটর (MP2307 মিনি বক রেগুলেটর)
  • MOSFET সুইচ (AO3400)
  • ইনফ্রা রেড এমিটার (3 মিমি)
  • হালকা নির্ভরশীল প্রতিরোধক GL2258 (Alexচ্ছিক আলেক্সা কার্যকলাপ আবিষ্কারক)
  • প্রতিরোধক
  • Decoupling ক্যাপাসিটর (20uF)
  • ইউএসবি মহিলা সকেট (বিশেষত হাতা সহ ঝাল বন্ধুত্বপূর্ণ
  • অ্যালেক্সা ডিটেক্টরের জন্য 3 পিন আইসি সকেট স্ট্রিপ
  • যান্ত্রিক অংশ (3D মুদ্রিত হতে পারে)

ESP-12F প্রকল্প বাক্সে একত্রিত করা যেতে পারে

  • ইউএসবি সংযোগকারীতে নিয়ন্ত্রক সংযুক্ত করুন এবং বাক্সে োকান
  • ভেরো বোর্ডের ছোট টুকরাতে আইআর ড্রাইভার তৈরি করুন (3 টি তার, +5 ভি, 0 ভি গেট ইনপুট)
  • IR ড্রাইভারকে USB +5V, 0V এর সাথে সংযুক্ত করুন
  • অ্যালেক্সা ডিটেক্টর ব্যবহার করলে প্রোজেক্ট বক্সে 3 পিন আইসি সকেট োকান। ইনপুটের জন্য +3.3V, 0V এবং তারের সাথে সংযুক্ত করুন
  • GPIO15 থেকে GND, EN থেকে Vdd, 4K7 GPIO13 থেকে Vdd, GPIO13 এ Alexa ইনপুট, IR ড্রাইভার GPIO14, 0V এবং Vdd থেকে 3.3V পর্যন্ত 2.2K দিয়ে ESP-12F তৈরি করুন
  • প্রয়োজনে অ্যালেক্সা ডিটেক্টর এবং সাপোর্ট বাফার তৈরি করুন।

মনে রাখবেন ইএসপি -১২ এফ প্রোগ্রাম করা সহজ হতে পারে যদি আপনার সিরিয়াল প্রোগ্রামিং সুবিধা বা সিরিয়াল পোর্টগুলির সাথে সংযোগের জন্য অস্থায়ী রুটিবোর্ডিং সুবিধা থাকে।

বিল্ট ইন ওটিএ আপডেট ব্যবহার করে পরবর্তী প্রোগ্রামিং করা যেতে পারে।

পদক্ষেপ 2: সফ্টওয়্যার

আইআর ব্লাস্টার গিথুবে উপলব্ধ একটি আরডুইনো স্কেচ ব্যবহার করে

এটি স্থানীয় অবস্থার সাথে সামঞ্জস্য করার প্রয়োজন হয় এবং তারপর একটি esp8266 Arduino পরিবেশে সংকলিত হয়।

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

  • ESP8266WiFi
  • ESP8266 ওয়েব সার্ভার
  • FS.h
  • ডিএনএস সার্ভার
  • ESP8266mDNS
  • ESP8266HTTP আপডেট সার্ভার
  • ArduinoJson
  • বিটিটিএক্স (গিটের অন্তর্ভুক্ত)
  • BitMessages (গিট অন্তর্ভুক্ত)

স্কেচে যে আইটেমগুলি পরিবর্তন করতে হবে তার মধ্যে রয়েছে

  • ওয়েব অ্যাক্সেস AP_AUTHID এর জন্য অনুমোদন কোড
  • WFI ম্যানেজার পাসওয়ার্ড WM_PASSWORD
  • ফার্মওয়্যার OTA পাসওয়ার্ড update_password
  • নতুন আইআর ডিভাইস / বোতাম কোড (পরে দেখুন)

একবার এটি হয়ে গেলে এটি প্রথমে প্রচলিত সিরিয়াল আপলোড ব্যবহার করে আপলোড করা উচিত।

যেহেতু SPIFFS ব্যবহার করা হয় তখন আরডুইনো ESP8266 স্কেচ ডেটা আপলোড টুল ইনস্টল এবং ব্যবহার করে মেমরি প্রস্তুত করা উচিত। এটি প্রাথমিক SPIFFS সামগ্রী হিসাবে ডেটা ফোল্ডারটি আপলোড করবে

যখন ডিভাইসটি স্থানীয় নেটওয়ার্কের সাথে সংযোগ করতে পারে না (যেমন প্রথমবার ঘটবে) তখন ওয়াইফাই ম্যানেজার একটি অ্যাক্সেস পয়েন্ট তৈরি করবে (192.168.4.1)। একটি ফোন বা ট্যাবলেট থেকে এই নেটওয়ার্কের সাথে সংযোগ করুন তারপর 192.168.4.1 এ ব্রাউজ করুন আপনি স্থানীয় ওয়াইফাই সংযোগ করার জন্য একটি ওয়েব ইন্টারফেস পাবেন। পরবর্তী অ্যাক্সেস এটি ব্যবহার করবে। যদি স্থানীয় নেটওয়ার্ক পরিবর্তন হয় তবে এটি এই কনফিগারেশন মোডে ফিরে যাবে।

Arduino পরিবেশে একটি এক্সপোর্ট বাইনারি কম্পাইল করে এবং তারপর ip/firmware এ OTA ইন্টারফেস অ্যাক্সেস করে পরবর্তী আপডেট করা যেতে পারে।

ধাপ 3: ডিভাইস / বোতাম কোড যোগ করুন

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

বাটন সংজ্ঞা buttonnames.txt ফাইলে অন্তর্ভুক্ত করা হয়েছে। এটি ব্যবহার করা সমস্ত রিমোট জুড়ে নামের একটি বিশ্বব্যাপী তালিকা কারণ অনেক নামই সাধারণ হতে থাকে। সরবরাহ করা হিসাবে এটিতে আমি যে রিমোটগুলি ব্যবহার করি তার বিবরণ রয়েছে। নতুন এন্ট্রি যোগ করা যাবে। মোট 160 টি নামের জন্য জায়গা আছে কিন্তু এটি bitMessages.h এবং recompiling এ স্থিরতা সমন্বয় করে বাড়ানো যেতে পারে। এখানে সংজ্ঞায়িত নামগুলি হল কমান্ড পাঠানোর সময় ব্যবহৃত নাম।

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

একটি ডিভাইস ফাইলের শুরুতে কনফিগারেশন বিভাগে কোড পাঠানোর সময় ব্যবহার করার জন্য প্যারামিটার রয়েছে। প্রথম এন্ট্রি হল devicename যা কমান্ড পাঠানোর সময় ব্যবহার করা হয়। কোড সাইটে রিডমে অন্যান্য প্যারামিটার বর্ণনা করা হয়েছে।

বেশিরভাগ রিমোটগুলি 3 টি প্রোটোকল বিভাগের একটি (এনইসি, আরসি 5 এবং আরসি 6) এর অন্তর্গত। এনইসি সম্ভবত সর্বাধিক সাধারণ এবং এর একটি সাধারণ শিরোনাম কাঠামো এবং বিট টাইমিং রয়েছে। এর একটি সামান্য বৈচিত্র রয়েছে যা কেবল হেডার পালস টাইমিংয়ে পৃথক। rc5 এবং rc6 ফিলিপস দ্বারা সংজ্ঞায়িত প্রোটোকল কিন্তু কিছু অন্যান্য নির্মাতারাও ব্যবহার করেন। এগুলি একটু বেশি জটিল এবং বিশেষ করে rc6 এর একটি বিটের জন্য বিশেষ সময় প্রয়োজন।

একটি নতুন রিমোটের জন্য কোডগুলি ক্যাপচার করতে আমি একটি IR রিসিভার (TSOP) ব্যবহার করি যা সাধারণত রিমোট রিসিভারে প্লাগ দিয়ে ব্যবহৃত হয়। এটি মৌলিক ডিকোডিং করে এবং একটি লজিক লেভেল আউটপুট দেয়। তারা সাধারণত +5V, GND, DATA সংযোগ সহ 3.5mm জ্যাক নিয়ে আসে। আমি একটি বলি দিয়েছি, সীসা ছোট করেছি এবং একটি রাস্পবেরি পাইতে একটি জিপিআইও পিন খাওয়ানোর জন্য এটি একটি বিপরীত 3.3V বাফারের মাধ্যমে রেখেছি।

আমি তখন কোড ক্যাপচার করার জন্য একটি পাইথন টুল rxir.py (git tools ফোল্ডারে) ব্যবহার করি। বিপুল সংখ্যক বোতাম ক্যাপচার করা সহজ করার জন্য টুলটি রিমোটের বোতামগুলি সংজ্ঞায়িত করার জন্য একটি টেক্সট ডেফিনিশন ফাইল ব্যবহার করে এবং রিমোটের একটি গ্রুপের বোতামের নাম। উদাহরণস্বরূপ, কারও কাছে একটি নতুন সনি রিমোট থাকতে পারে এবং একজন sonytv-cursor, sonytv-numbers, sonytv-playcontrols নামে প্রতিটি টেক্সট ফাইল সেট-আপ করতে পারে যার মধ্যে প্রতিটি প্রাসঙ্গিক বোতামের নাম রয়েছে। টুলটি ডিভাইসের জন্য অনুরোধ করবে (কার্সার) এবং কোন প্রোটোকল ব্যবহার করতে হবে (NEC, NEC1, RC5, RC6)। এটি তারপর প্রতিটি বাটনের জন্য ক্রমানুসারে প্রম্পট করবে এবং একটি sonytv-ircodes ফাইলে ফলাফল লিখবে। ক্যাপচারগুলি ভাল কিনা তা পরীক্ষা করার জন্য বিভাগগুলি পুনরাবৃত্তি করা যেতে পারে।. Ircodes ফাইল থেকে বিট BitDevices টেবিলে সম্পাদনা করা যেতে পারে।

ধাপ 4: ওয়েব নিয়ন্ত্রণ এবং ম্যাক্রো

বেসিক ওয়েব কন্ট্রোল হয় একটি সিঙ্গেল গেট বা একটি জসন পোস্ট যা একটি সিকোয়েন্স থাকতে পারে।

Get /ir এর 6 টি প্যারামিটার আছে

  • auth - অনুমোদন কোড ধারণকারী
  • ডিভাইস - দূরবর্তী ডিভাইসের নাম
  • প্যারামিটার - বোতামের নাম
  • বিট - একটি bitচ্ছিক বিট গণনা
  • পুনরাবৃত্তি - একটি repeatচ্ছিক পুনরাবৃত্তি গণনা
  • অপেক্ষা করুন - পরবর্তী কমান্ড কার্যকর করার আগে mseconds এ বিলম্ব।

ডিভাইসটি একটি বিলম্ব পেতে 'নাল' হতে পারে, প্যারামিটার দ্বারা উল্লেখিত ম্যাক্রো ব্যবহার করতে 'ম্যাক্রো', অথবা অ্যালেক্সা ডিটেক্ট ফিচার ব্যবহার করতে 'ডিটেক্ট' (পরে দেখুন)।

পোস্ট /irjson একটি json গঠন মত গঠিত

{

"auth": "1234", "কমান্ড": [{"device": "yamahaAV", "parameter": "hdmi4", "wait": "5000", "bits": "0", "repeat": "1"}, {"device": "yamahaAV", "parameter": "mute", "wait": "100", "bits": "0", "repeat": "1"}]

}

ক্রম কোন দৈর্ঘ্য হতে পারে এবং ডিভাইসগুলি ম্যাক্রো রেফারেন্স হতে পারে।

একই গঠন ম্যাক্রো সংজ্ঞায়িত করতে ব্যবহার করা যেতে পারে। শুধু ম্যাক্রো অন্তর্ভুক্ত করুন: "ম্যাক্রোনেম", উপরের স্তরে যেমন লেখার পরে। প্রকৃত বিষয়বস্তু macroname.txt নামে একটি ফাইলে সংরক্ষণ করা হয়

কোন "কমান্ড" ছাড়াই তাদের সংজ্ঞায়িত করে ম্যাক্রো মুছে ফেলা যায়।

অন্যান্য ওয়েব কমান্ড

  • /সাম্প্রতিক (সাম্প্রতিক কার্যকলাপের তালিকা)
  • /চেক (মৌলিক অবস্থা দেখায়)
  • / (ম্যানুয়ালি কমান্ড পাঠানোর জন্য একটি ওয়েব ফর্ম লোড করে)
  • / সম্পাদনা করুন (ফাইল তালিকা দেখার জন্য একটি ওয়েব ফর্ম লোড করুন এবং ফাইল মুছে দিন/ আপলোড করুন)
  • /সম্পাদনা? ফাইল = ফাইলের নাম (একটি নির্দিষ্ট ফাইলের বিষয়বস্তু দেখুন)
  • /পুনরায় লোড করুন (বোতামের নাম এবং ডিভাইসের ফাইলগুলি পুনরায় লোড করুন। এগুলির যে কোনও পরিবর্তন করার পরে ব্যবহার করুন)

ধাপ 5: IFTTT ব্যবহার করে আলেক্সা ভয়েস কন্ট্রোল

অ্যালেক্সার সাথে আইআর ব্লাস্টার ব্যবহার করার সহজ উপায় হল আইএফটিটিটিকে গেটওয়ে হিসাবে ব্যবহার করা।

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

একটি IFTTT অ্যাকাউন্ট সেট আপ করুন এবং মেকার ওয়েবহুকস চ্যানেল এবং আলেক্সা চ্যানেল সক্ষম করুন। IFTT অ্যাক্সেস সক্ষম করার জন্য যখন আপনি এটি করবেন তখন আপনাকে আমাজন সাইটে লগইন করতে হবে।

আইএফটিটিটি আলেক্সা চ্যানেল ব্যবহার করে একটি আইএফ ট্রিগার তৈরি করুন, একটি বাক্যাংশের উপর ভিত্তি করে ক্রিয়াটি নির্বাচন করুন এবং আপনি যে বাক্যাংশটি চান তা লিখুন (যেমন ভলিউম আপ)।

মেকার ওয়েবহুকস চ্যানেল নির্বাচন করে ক্রিয়া তৈরি করুন। ইউআরএল ক্ষেত্রের মত কিছু লিখুন

myip: port/irjson? plain = {"auth": "1234", "comm…

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

প্রতিটি কমান্ডের জন্য একটি পৃথক IFTTT অ্যাপলেট প্রয়োজন।

ধাপ 6: নেটিভ আলেক্সা ভয়েস স্কিল

IFTTT এর পরিবর্তে একজন আলেক্সা ডেভেলপমেন্টের ভিতরে একটি কাস্টম দক্ষতা তৈরি করতে পারে। এটি সমস্ত প্রক্রিয়াকরণকে এক জায়গায় কেন্দ্রীভূত করে এবং এর অর্থ হল আপনাকে প্রতিটি বোতামের জন্য আলাদা ক্রিয়া তৈরি করতে হবে না।

আপনাকে একটি অ্যামাজন আলেক্সা বিকাশকারী হিসাবে নিবন্ধন করতে হবে এবং আপনাকে আমাজন এডব্লিউএস কনসোল ল্যাম্বদা পরিষেবার সাথে নিবন্ধন করতে হবে। প্রক্রিয়াটি কিছুটা বোঝার জন্য আপনাকে টিউটোরিয়ালগুলিও দেখতে হবে।

অ্যালেক্সা ডেভেলপার সাইডে আপনাকে একটি নতুন কাস্টম স্কিল তৈরি করতে হবে, এর ট্রিগার ওয়ার্ড লিখতে হবে এবং কমান্ড শব্দের একটি তালিকা তৈরি করতে হবে যেমন ভলিউম আপ, গাইড ইত্যাদি।

অ্যালেক্সা তখন লামদা সার্ভিসে চলমান একটি প্রোগ্রামে ফ্রেজটি পাঠায় যা ফ্রেজটি ব্যাখ্যা করে এবং এটি করার জন্য ইর ব্লাস্টারকে একটি ইউআরএল কল করে।

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

ধাপ 7: অ্যালেক্সা অ্যাক্টিভেট ডিটেক্টর

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

এটি উন্নত করার জন্য আমি আমার ডটে একটি সক্রিয় ডিটেক্টর যুক্ত করেছি। যত তাড়াতাড়ি কীওয়ার্ড (আলেক্সা বলা হয়) LEDs এর রিং জ্বলে ওঠে। ডিটেক্টর এটিকে ব্লাস্টারে ফিড করে যেখানে এটি টিভি নিuteশব্দ করার জন্য আলেক্সাওন ম্যাক্রো ব্যবহার করবে, একইভাবে একটি কমান্ড প্রক্রিয়াকরণের শেষে লাইট বন্ধ হয়ে যায় এবং অ্যালেক্সঅফ ম্যাক্রো শব্দ পুনরুদ্ধার করে।

'ডিটেক্ট' কমান্ডটি এটি চালু এবং বন্ধ করতেও ব্যবহার করা যেতে পারে। সুতরাং উদাহরণস্বরূপ আমি সনাক্তকরণ সক্ষম করতে প্রাথমিক টার্নন ম্যাক্রো ব্যবহার করি এবং এটি নিষ্ক্রিয় করতে টার্নঅফ ম্যাক্রো ব্যবহার করি। এটি একটি বাস্তব মিউট এবং আনমিউট কুম্যান্ডকে সমর্থন করার জন্য অ্যাকশন ম্যাক্রোর মধ্যেও ব্যবহার করা যেতে পারে যা অন্যথায় সমস্যাযুক্ত হবে।

ফিজিক্যাল ডিটেক্টর হল একটি হালকা নির্ভর রোধ যা সার্কিট সাপোর্ট করে। আমি একটি 3D মুদ্রিত বন্ধনী সঙ্গে ডট উপর আমার মাউন্ট

প্রস্তাবিত: