সুচিপত্র:

ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!): 3 টি ধাপ
ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!): 3 টি ধাপ

ভিডিও: ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!): 3 টি ধাপ

ভিডিও: ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!): 3 টি ধাপ
ভিডিও: ভয়েস কন্ট্রোল স্মার্ট রুম | Home Automation | NodeMCU and Google Assistant | P:01 2024, ডিসেম্বর
Anonim
ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!)
ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!)
ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!)
ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!)
ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!)
ESP8266 এর মাধ্যমে OpenHAB এর HRV তাপমাত্রা (সিরিয়াল কোড উদাহরণ!)

এইচআরভি - ওয়্যারলেস টু ওপেনহ্যাব

এই নির্দেশনাটি বিশেষভাবে তাদের জন্য যাদের 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 ফোল্ডারে সংরক্ষণ করুন

প্রস্তাবিত: