সুচিপত্র:
ভিডিও: ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!): 3 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:04
এইচআরভি - ওয়্যারলেস টু ওপেনহ্যাব
এই নির্দেশনাটি বিশেষভাবে তাদের জন্য যাদের HRV (হিটিং রিক্রাকুলেশন বায়ুচলাচল) সিস্টেম আছে - যদিও সার্কিট বোর্ড, ওপেনহ্যাব কনফিগারেশন বা আরডুইনো কোডের অংশ (যেমন টিটিএল সিরিয়াল ডেটা পড়া) আপনার নিজস্ব প্রকল্পের জন্য উপযোগী হতে পারে বা শেখার জন্য ভালভাবে কাজ করতে পারে। এটি অনুমান করে যে আপনার Arduino IDE এর একটি যুক্তিসঙ্গত জ্ঞান আছে এবং একটি ESP8266 চিপ কি।
ভূমিকা
নিম্নোক্ত রূপরেখা কিভাবে একটি ESP8266 তৈরি করা যায় যা একটি HRV সিস্টেমের সাথে সংযোগ স্থাপন করে এবং ছাদ এবং ঘরের তাপমাত্রা, কন্ট্রোল প্যানেলের তাপমাত্রা এবং ফ্যানের গতি MQTT বার্তার মাধ্যমে OpenHAB- এ পাঠায়। এটি একটি ESP8266-01 বোর্ডের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে (যদিও কোন ESP8266 3.3V ভার্সনের সাথে কাজ করা উচিত) যদি আপনার বিকল্প বিক্রেতার কাছ থেকে একই রকম HRV টাইপ সিস্টেম থাকে, তাহলে আপনাকে টিটিএল সিরিয়াল হিসাবে ডেটা পাঠানো হবে কিনা তা নির্ধারণ করতে হবে এবং যদি তাই হয়, ডেটা কোন কাঠামো হিসেবে পাঠানো হয়।
OpenHAB এবং মশা
ESP8266 কোডটি বিশেষভাবে OpenHAB (ওপেন সোর্স হোম অটোমেশন সফটওয়্যার) এবং MQTT ব্রোকারের সাথে কাজ করার জন্য লেখা হয়েছে যেমন মশকিটো (একটি মেসেজিং সাবস্ক্রাইব/পাবলিশ টাইপ প্রোটোকল যা লাইটওয়েট এবং ডিভাইসের মধ্যে যোগাযোগের জন্য দারুণ) নাম বা সংক্ষিপ্তসারগুলি আপনাকে ভয় দেখায়, সেগুলি কীভাবে কাজ করে তা জানার পরে সেগুলি ব্যবহার করা সত্যিই সহজ। আমি একটি NTC C. H. I. P (US $ 9 কম্পিউটার) এ OpenHAB ব্যবহার করি তবে অনেক মানুষ রাস্পবেরি পাই বা অনুরূপ ব্যবহার করে। এই টিউটোরিয়ালটি ধরে নিয়েছে যে আপনি ওপেনহ্যাব বাস্তবায়ন করেছেন (যদি আপনার ওপেনএইচএবি সেট আপ করার জন্য সাহায্যের প্রয়োজন হয়, ওয়েব সাইট থেকে এই চমৎকার নিবন্ধটি অনুসরণ করুন) আপনাকে মশকিটো (এমকিউটিটি ব্রোকার) এবং সম্পর্কিত ওপেনহ্যাব বাঁধাই ডাউনলোড এবং ইনস্টল করতে হবে। আপনি এটি আপনার নেটওয়ার্কে অন্য কোথাও ইনস্টল করতে পারেন, তবে বেশিরভাগ মানুষ এটি সহজ রাখার জন্য ওপেনহ্যাবের মতো একই মেশিনে ইনস্টল করে।
মশকিটো ইনস্টল করতে, এই লিঙ্কটি অনুসরণ করে তারপর আপনি যে ধরনের ডিভাইস ব্যবহার করছেন তা নির্বাচন করুন এবং নির্দেশাবলী অনুসরণ করুন। যেহেতু সিএইচআইপি ডেবিয়ান (জেসি) চালায়, আপনি রাস্পবেরি পাই নির্দেশাবলী অনুসরণ করতে পারেন যদি আপনি আপনার হোম অটোমেশন ডিভাইসের জন্য সিএইচপি ব্যবহার করেন (এছাড়াও মনে রাখবেন, সিএলআই থেকে বুট করার জন্য চিপটি পুনরায় কনফিগার করা সবচেয়ে ভাল। এর জন্য এখানে নির্দেশাবলী রয়েছে)
একবার আপনি OpenHAB এবং Mosquitto চালানোর পর, আপনাকে ESP8266 এবং কোডের জন্য Arduino IDE প্রস্তুত করতে হবে। প্রথমে, আপনাকে "PubSubClient" লাইব্রেরি যোগ করতে হবে। Arduino IDE তে, মেনু থেকে স্কেচে যান, লাইব্রেরি অন্তর্ভুক্ত করুন, লাইব্রেরি পরিচালনা করুন ফিল্টার অনুসন্ধান বাক্সে, PubSubClient টাইপ করুন তারপর অনুসন্ধান ফলাফলটি হাইলাইট করুন এবং ইনস্টল করতে ক্লিক করুন (লেখার সময়, সর্বশেষ সংস্করণটি 2.6.0) আপনি এছাড়াও Arduino IDE তে ESP8266 বোর্ড যুক্ত করতে হবে যা এখানে নির্দেশাবলী অনুসরণ করে করা যেতে পারে
এটা আমাকে কি দেয়?
যেমনটি আগে বলা হয়েছে, এই প্রকল্পটি আপনাকে আপনার এইচআরভি কন্ট্রোল প্যানেলের ছাদ, ঘর, কন্ট্রোল প্যানেলের তাপমাত্রা এবং ফ্যানের গতি ওপেনহ্যাব জিইউআই (রিয়েল টাইমে!) দেখার অনুমতি দেবে। বিভিন্ন তাপমাত্রার মধ্যে ড্রিলিং দ্বারা পাবেন
গ্রাফগুলি পেতে, আপনাকে RRD4J বাঁধাই ইনস্টল এবং কনফিগার করতে হবে (এটি খুব সোজা এগিয়ে) এটি আপনাকে 'হাউস' বা 'ছাদ' এ ক্লিক করতে দেবে এবং অতীতের প্রত্যেকের জন্য এইচআরভি তাপমাত্রার ইতিহাস পাবে ঘন্টা, দিন বা সপ্তাহ (অথবা আরও বেশি, যদি আপনি কনফিগারেশন অনুসারে পরিবর্তন করেন) দেখানো ছবিগুলি সেলসিয়াসে আছে, এবং স্পষ্টভাবে দক্ষিণ গোলার্ধে শীতকালে যখন আমি এটি তৈরি করেছি!
উপরন্তু, আমি একটি ওপেনহ্যাব ভিউ তৈরি করেছি যা বাইরের তাপমাত্রার তুলনা দেখায় (আবহাওয়া বাইন্ডিং অ্যাড-অন দ্বারা প্রদান করা হয়েছে, আমার ক্ষেত্রে ওয়ান্ডারগ্রাউন্ড ব্যবহার করে) বনাম ছাদ এবং ঘরের তাপমাত্রা 'কন্ট্রোল' বিকল্পে ক্লিক করে (ছবিটি গ্রাফ দেখায় ঘর, ছাদ এবং বাইরের তাপমাত্রা চক্রান্ত)। আমি প্রয়োজন অনুযায়ী গরম করার যন্ত্রপাতি চালু করার জন্য নিয়মে এই ডেটা ব্যবহার করার পরিকল্পনা করছি। সাইটম্যাপ ফাইলে আপনার ইমেজ ইউআরএলে কেবল আবহাওয়া আইটেম যোগ করুন এবং একই গ্রাফে এটি অন্তর্ভুক্ত করুন (যেমন: …
ধাপ 1: প্রয়োজনীয় অংশ / সমাবেশ
আপনার নিম্নলিখিত অংশগুলির প্রয়োজন হবে
- একটি RJ11 বিভক্তকারী (এটি ছাদে নিয়ামক থেকে নিয়ন্ত্রণ প্যানেল এবং ESP8266 এ সংকেত বিভক্ত করে)
- কিছু ফিতা কেবল এবং একটি RJ11 প্লাগ (স্প্লিটার থেকে ESP8266 পর্যন্ত তারগুলি চালানোর জন্য)
- ESP8266-01 (অন্যান্য 3.3V সংস্করণ কাজ করা উচিত)
- টিটিএল লজিক লেভেল কনভার্টার (5V -> 3.3V থেকে ডেটা পরিবর্তন করতে)
- AMS1117 3.3V ভোল্টেজ রেগুলেটর (বা অনুরূপ, HRV 5V -> 3.3V থেকে পাওয়ার ESP8266 এ ভোল্টেজ পরিবর্তন করতে)
- 1N5817 স্কটকি ডায়োড (কিছু কারণে এটি এইচআরভি কন্ট্রোল প্যানেলকে ইএসপি পাওয়ার অন রিসেট করতে সাহায্য করেছে)
- 10K ওহম প্রতিরোধক (3.3 ভোল্টেজ রেগুলেটর এবং ESP CH_PD এর মধ্যে পুলআপ প্রতিরোধক)
- 10V 10uF ক্যাপাসিটর (বা অনুরূপ, HRV থেকে অন্তর্মুখী শক্তি মসৃণ এবং স্থিতিশীল করতে)
- 10V 1uF ক্যাপাসিটর (বা অনুরূপ, ESP থেকে আউটবাউন্ড পাওয়ারকে মসৃণ এবং স্থিতিশীল করতে)
- ESP প্রোগ্রাম করার জন্য slচ্ছিক স্লাইড বোতাম
- একটি এফটিডিআই অ্যাডাপ্টার (ইএসপি প্রোগ্রাম করার জন্য, ইউএসবি সিরিয়ালে রূপান্তরিত করে)
পরিকল্পিত অনুযায়ী একত্রিত করুন
ব্রেডবোর্ড ইমেজ দেখায় কিভাবে অংশগুলি একত্রিত করা উচিত। লক্ষ্য করুন যে 6 টি পিন রয়েছে যা সিলিংয়ে এইচআরভি কন্ট্রোলার ইউনিট থেকে ফিতা কেবলটি নামিয়ে দেয়:
পিন 1 এবং 6 হল 5V VCC
পিন 2 এবং 5 হল GND
পিন 3 এবং 4 হল ডেটা।
আপনাকে শুধুমাত্র 1, 2, 3 এবং 6 পিন ব্যবহার করতে হবে (1 এবং 6 VCC ক্ষমতা ESP8266 এবং TTL লজিক কনভার্টারের উচ্চ দিক, 2 একটি সাধারণ স্থল এবং 3 টিটিএল সিরিয়াল ডেটা পড়ার জন্য)
আপনার যে স্প্লিটারটি প্রয়োজন তা কেবল একটি RJ11 স্প্লিটার হবে, শুধু নিশ্চিত করুন যে এটি একটি স্প্লিটার যেখানে পিনগুলি সোজা হয়ে থাকে (যেমন: পিন 1 পিন 1 তে যায়, পিন 2 থেকে পিন 2 এবং তাই) নোট করুন যে অতিরিক্ত মহিলা পিন (যেমন ছবিতে দেখানো হয়েছে) পরবর্তীতে ESP পুনরায় প্রোগ্রাম করার জন্য একটি FTDI সংযোগ করার জন্য, এবং দেখানো সুইচ এটিকে "প্রোগ্রামিং" মোডে রাখে। এগুলি alচ্ছিক, কিন্তু প্রস্তাবিত (যেমন: যদি আপনি আপনার ওয়াইফাই পাসওয়ার্ড পরিবর্তন করেন কারণ ওয়াইফাই এপি এবং পাসওয়ার্ড কোডে কঠিন প্রোগ্রাম করা আছে, যা আপনার ESP8266 তৈরি হয়ে গেলে আপলোড করতে হবে)
ধাপ 2: কোড আপলোড এবং পরীক্ষা
কোড পরিবর্তন
আরডুইনো কোডের বিকল্প ডাউনলোড লিঙ্ক এখানে
আরডুইনো আইডিইতে খুলুন, নিশ্চিত করুন যে ইএসপি বোর্ড পাবসুব ক্লায়েন্টের পাশাপাশি ইনস্টল করা আছে এবং আপনি ইএসপি 8266 বোর্ড (সরঞ্জাম, বোর্ড, জেনেরিক ইএসপি 8266 বোর্ড) নির্বাচন করেছেন এবং কোডটি সম্পাদনা করুন এবং ওয়াইফাই এপি নাম এবং পাসওয়ার্ড এবং আইপি ঠিকানা পরিবর্তন করুন আপনার MQTT ব্রোকার (এগুলিই কেবল আপনার পরিবর্তন করা উচিত) নীচে দেখানো হয়েছে। 'ভেরিফাই' বোতামে ক্লিক করুন যাতে নিশ্চিত হয় যে এটি ঠিক আছে এবং তারপর নিশ্চিত করুন যে সঠিক COM পোর্ট নির্বাচন করা হয়েছে (সরঞ্জাম, পোর্ট) এবং কোডটি আপনার ESP8266 এ আপলোড করুন। এটি কীভাবে করা যায় সে সম্পর্কে প্রচুর নিবন্ধ রয়েছে, আমি এখানে চাকাটি পুনরায় উদ্ভাবন করব না।
// ওয়াইফাই
const char* ssid = "your_wifi_ssid_here"; const char* password = "your_wifi_password_here"; // MQTT ব্রোকার IPAddress MQTT_SERVER (192, 168, 222, 254);
MQTT পরীক্ষা
পরীক্ষার জন্য আপনি আপনার FTDI অ্যাডাপ্টার সংযুক্ত রেখে এবং Arduino IDE তে সিরিয়াল মনিটর খুলতে পারেন, আপনাকে কনসোলে তাপমাত্রার তথ্য ছাপানো বার্তা দেখতে হবে। আপনি যদি আপনার MQTT ব্রোকারের কাছে ESP8266 থেকে আগত MQTT বার্তাগুলির সমস্যা সমাধানের প্রয়োজন হয়, তাহলে Mosquitto সার্ভারে ইনকামিং বার্তাগুলি সাবস্ক্রাইব করার জন্য নিম্নলিখিত কমান্ডগুলির মধ্যে একটি চালান:
মস্কিটো_সাব -ডি -টি ওপেনহাব/এইচআরভি/স্ট্যাটাস
ESP8266 থেকে প্রতি 30 সেকেন্ড বা তারপরে "1" (যার অর্থ "আমি বেঁচে আছি") দিয়ে ইনবাউন্ড পাবলিশ বার্তাগুলি দেখতে হবে যদি আপনি ধ্রুবক "0 এর" (বা কিছুই না) দেখতে পান তবে কোনও যোগাযোগ নেই। একবার আপনি যদি দেখেন যে নম্বর 1 আসছে, তাহলে এর অর্থ হল ESP8266 MQTT ব্রোকারের সাথে যোগাযোগ করছে (এটি কিভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য "MQTT লাস্ট উইল এবং টেস্টামেন্ট" অনুসন্ধান করুন, অথবা এটি সত্যিই ভাল ব্লগ এন্ট্রি দেখুন)
আপনি এখন তাপমাত্রা এবং ফ্যান স্পিড ডেটা ট্র্যাক করতে পারেন, নিচের যেকোন একটিতে সাবস্ক্রাইব করুন। যাইহোক, মনে রাখবেন যে কোডটি কেবলমাত্র তাপমাত্রা ডেটা পাঠায় যদি কোনও ডেটা পরিবর্তিত হয়। এটি পাঠানো শেষ তাপমাত্রা, ফ্যান স্পিড ইত্যাদির ডেটা ট্র্যাক রাখে, যাতে আপনি অবিলম্বে তথ্য দেখতে না পান।
মস্কিটো_সাব -ডি -টি ওপেনহাব/এইচআরভি/ছাদ টেম্প
মস্কিটো_সাব -ডি -টি ওপেনহাব/এইচআরভি/হাউসটেম্প
মস্কিটো_সাব -ডি -টি ওপেনহাব/এইচআরভি/কন্ট্রোলটেম্প
মস্কিটো_সাব -ডি -টি ওপেনহাব/এইচআরভি/ফ্যানস্পিড
ইঙ্গিত: উপরের কন্ট্রোল প্যানেলের তাপমাত্রায় সাবস্ক্রাইব করুন, তারপরে কন্ট্রোল প্যানেলে তাপমাত্রা বোতামটি চাপুন আপনাকে নতুন তাপমাত্রা সেটিংটি দেখতে হবে।
যখন আপনি এই সোল্ডারিংয়ের কাছাকাছি যান, একটি 3cm x 7cm PCB HRV কন্ট্রোল প্যানেলের পিছনে ফ্লাশ বক্সে সুন্দরভাবে ফিট করে। আমি কেবল এটি করার সুপারিশ করব যদি এটি একটি প্লাস্টিকের ফ্লাশ বক্স হয় কারণ একটি ধাতব বাক্স ওয়াইফাই সংকেতগুলিতে বা সম্ভবত পিসিবি বোর্ডে সংযোগ বন্ধ করতে পারে। বিকল্পভাবে, আপনি বোর্ড মাউন্ট করার জন্য একটি প্লাস্টিকের 3D কেস প্রিন্ট করতে পারেন।
ধাপ 3: OpenHAB পরিবর্তন
OpenHAB কনফিগারেশন
OpenHAB পরিবর্তনগুলি নিম্নরূপ:
'আইটেম' ফাইল:
/* HRVNumber hrvStatus "HRV অবস্থা [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} Number houseTemp "House [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} Number houseTemp_Chart_Period" Chart Period "Number roofTemp" Roof [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Number roofTemp_Chart_Period" Chart Period "Number controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: state: default] "} স্ট্রিং ফ্যানস্পিড" ফ্যান স্পিড [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/
'সাইটম্যাপ' ফাইল:
ফ্রেম লেবেল = "HRV তাপমাত্রা" {টেক্সট আইটেম = roofTemp {ফ্রেম {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Hour", 1 = "Day", 2 = "Week"] image url = "https:// localhost: 8080/rrdchart-p.webp
OpenHAB এর জন্য অতিরিক্ত আইকন অন্তর্ভুক্ত করা হয়েছে (ডান ক্লিক করুন এবং ছবি সংরক্ষণ করুন)
এই ফাইলগুলিকে আপনার OpenHAB সার্ভারে.. / OpenHAB Home / webapps / images ফোল্ডারে সংরক্ষণ করুন
প্রস্তাবিত:
একক Arduino 3.3V W / বহিরাগত 8 MHz ঘড়ি ICSP / ISP এর মাধ্যমে Arduino Uno থেকে প্রোগ্রাম করা হচ্ছে (সিরিয়াল মনিটরিং সহ!): 4 টি ধাপ
একক Arduino 3.3V W / বহিরাগত 8 MHz ঘড়ি ICSP / ISP (সিরিয়াল মনিটরিং সহ!) এর মাধ্যমে Arduino Uno থেকে প্রোগ্রাম করা হচ্ছে একটি Arduino Uno (5V এ চলমান) থেকে ISP (ICSP, ইন-সার্কিট সিরিয়াল প্রোগ্রামিং নামেও পরিচিত) এর মাধ্যমে এটি প্রোগ্রাম করার জন্য বুটলোডার ফাইলটি সম্পাদনা করুন এবং বার্ন করুন
কিভাবে CH340 UART সিরিয়াল কনভার্টার কেবল ব্যবহার করে Arduino Pro Mini- এ প্রোগ্রাম বা কোড আপলোড করবেন: 4 টি ধাপ
কিভাবে CH340 UART সিরিয়াল কনভার্টার কেবল ব্যবহার করে Arduino Pro Mini- তে প্রোগ্রাম বা কোড আপলোড করবেন: ইউএসবি টিটিএল সিরিয়াল ক্যাবল হল ইউএসবি থেকে সিরিয়াল কনভার্টার ক্যাবলের একটি ব্যাপ্তি যা ইউএসবি এবং সিরিয়াল ইউএআরটি ইন্টারফেসের মধ্যে সংযোগ প্রদান করে। তারের একটি পরিসীমা 5 ভোল্ট, 3.3 ভোল্ট বা ব্যবহারকারীর নির্দিষ্ট সংকেত স্তরে সংযোগ প্রদান করে উপলব্ধ
TCRT5000 ইনফ্রারেড রিফ্লেক্টিভ সেন্সর - এটি কিভাবে কাজ করে এবং কোড সহ উদাহরণ সার্কিট: 6 টি ধাপ
TCRT5000 ইনফ্রারেড রিফ্লেক্টিভ সেন্সর - এটা কিভাবে কাজ করে এবং কোড সহ উদাহরণ সার্কিট: হ্যালো, আমি সম্প্রতি TCRT5000 এর একটি গুচ্ছ ব্যবহার করেছি যখন আমার মুদ্রা বাছাই মেশিনটি ডিজাইন এবং তৈরি করেছি। আপনি এটি এখানে দেখতে পারেন: এটি করার জন্য আমাকে TCRT5000 সম্পর্কে জানতে হয়েছিল এবং আমি এটি বোঝার পরে আমি ভেবেছিলাম যে আমি অন্য কারও জন্য গাইড তৈরি করব
একটি 3D প্রিন্টার ব্যবহার করে Arduino এর মাধ্যমে সিরিয়াল কন্ট্রোল সহ স্টেপ সার্ভো মোটরকে এনক্যাপসুলেট করা - Pt4: 8 ধাপ
সিরিয়াল কন্ট্রোল দিয়ে স্টেপ সার্ভো মোটরকে থ্রিডি প্রিন্টার ব্যবহার করে Arduino - Pt4: মোটর স্টেপ সিরিজের এই চতুর্থ ভিডিওতে আমরা সিরিয়াল কমিউনিকেশনের মাধ্যমে স্টেপার সার্ভো মোটর তৈরি করতে যা শিখেছি তা ব্যবহার করব এবং বাস্তব একটি Arduino দ্বারা পর্যবেক্ষণ করা একটি প্রতিরোধী এনকোডার ব্যবহার করে অবস্থান প্রতিক্রিয়া। ভিতরে
ওয়াইফাই এর মাধ্যমে সিরিয়াল পোর্ট: 10 টি ধাপ
ওয়াইফাই এর উপর সিরিয়াল পোর্ট: অনেক ইলেকট্রনিক প্রজেক্টে ইলেকট্রনিক ডিভাইসের মধ্যে ডেটা যোগাযোগ অনিবার্য এবং আপনার প্রজেক্টে অনেক সুবিধা নিয়ে আসে যেমন আপনার মাইক্রোকন্ট্রোলারকে পিসির সাথে সংযুক্ত করা এবং ছোট একরঙের পরিবর্তে একটি বড় রঙিন ডিসপ্লেতে ডেটা পর্যবেক্ষণ করা