فهرست مطالب:

پلاگین هوشمند کنترل دما با قابلیت WiFi: 4 مرحله
پلاگین هوشمند کنترل دما با قابلیت WiFi: 4 مرحله

تصویری: پلاگین هوشمند کنترل دما با قابلیت WiFi: 4 مرحله

تصویری: پلاگین هوشمند کنترل دما با قابلیت WiFi: 4 مرحله
تصویری: تصور دخترا از ازدواج🤣 2024, جولای
Anonim
وای فای دارای پلاگین هوشمند کنترل دما
وای فای دارای پلاگین هوشمند کنترل دما

در این مجموعه دستورالعمل ، نحوه ساختن یک پروب دما با WiFi با استفاده از ESP8266 ساده برای بلند کردن اجسام سنگین و سنسور دما/رطوبت DHT11 را بررسی خواهیم کرد. همچنین اگر مایل به خرید هستید ، از برد مدار که من ایجاد کرده ام و در حال حاضر در فروشگاه tindie کانال به فروش می رسد ، استفاده خواهیم کرد.

بیایید با لایحه مواد مورد نیاز خود شروع کنیم:

ماژول WiFi ESP8266

amzn.to/2pkGPoa

سنسور DHT11

amzn.to/2phwfhO

پلاگین هوشمند TP-Link

amzn.to/2GElQUz

همچنین می توانید کل ماژول را در فروشگاه tindie برای کانال تهیه کنید:

www.tindie.com/products/misperry/wifi-enab…

همچنین JLCPCB را برای PCB Fabriction بررسی کنید. آنها کسانی هستند که من برای ساخت PCB استفاده می کردم:

ارسال رایگان در اولین سفارش و نمونه اولیه PCB $ 2 در

مرحله 1: افزودن کد به ESP8266

اکنون باید کد زیر را روی ESP8266 فلش کنیم. این کد را می توانید در مخزن github زیر پیدا کنید:

در کد زیر فقط باید چند بخش تعریف بالا را تنظیم کنید:

سرور MQTT:

کاربر MQTT:

رمز عبور MQTT:

MQTT_sensor_topic:

-وای فای

گفت: گفته شده در مورد شبکه wifi که به آن متصل می شوید

رمز عبور: رمز وای فای

هنگامی که کد زیر را پر کردید ، می توانید خطاها را کامپایل کرده و بررسی کنید و در صورت صفر بودن خطاها ، آن را روی ESP8266 فلش کنید.

/ * * نام فایل: TempHumSensor.ino * * برنامه کاربردی: ترموستات هیتر فضا HomeAssistant * * * توضیحات: این کد برای دستگاه سازگار با آردوینو * وای فای ESP8266 * است. با این کار اطلاعات دما * دستگاه DHT11 برای پردازش به نمای HASS منتقل می شود. * * نویسنده: M. Sperry - https://www.youtube.com/misperry * تاریخ: 03/ * تجدید نظر: 1.0 * * */

#عبارتند از

#شامل #شامل #شامل #شامل #شامل #شود

#تعریف CON_TIME_OUT 20 // مهلت عدم اتصال به wifi

#تعریف MQTT_TIME_OUT 10 // مهلت عدم اتصال به سرور MQTT

#definine DHTPIN 0 // پین که به سنسور DHT متصل است

#تعریف DHTTYPE DHT11 // نوع سنسور DHT11 است ، می توانید آن را به DHT22 (AM2302) ، DHT21 (AM2301) تغییر دهید

#dever mqtt_server "" // افزودنی ها یا IP سرور MQTT خود را وارد کنید. من از adddress DuckDNS (yourname.duckdns.org) در این زمینه استفاده می کنم

#deqine mqtt_user "" // نام کاربری MQTT خود را وارد کنید #رمزعبور mqtt_password "" // رمز عبور خود را وارد کنید #تعریف MQTT_SENSOR_TOPIC "ha/bedroom_temp" // موضوع MQTT خود را وارد کنید

// Wifi: SSID و رمز عبور

const char* ssid = ""؛ const char* رمز عبور = ""؛

// DHT SEtup

DHT_Uhified dht (DHTPIN ، DHTTYPE) ؛ uint32_t delayMS؛

WiFiClient wifiClient ؛

مشتری PubSubClient (wifiClient) ؛

// تابع برای انتشار دما و رطوبت فراخوانی می شود

void publishedData (شناور p_temperature) {// ایجاد یک شی JSON // doc: https://github.com/bblanchon/ArduinoJson/wiki/API٪20Reference StaticJsonBuffer jsonBuffer ؛ JsonObject & root = jsonBuffer.createObject ()؛ // INFO: داده ها باید به یک رشته تبدیل شوند. هنگام استفاده از شناورها مشکل ایجاد می شود … // تبدیل به فارنهایت p_temperature = (p_temperature * 1.8) + 32؛ // تبدیل به ریشه فارنهایت ["دما"] = (رشته) p_temperature؛ root.prettyPrintTo (سریال) ؛ Serial.println ("")؛

داده های char [200] ؛

root.printTo (data، root.measureLength () + 1) ؛ client.publish (MQTT_SENSOR_TOPIC ، داده ، درست) ؛ }

// هنگامی که یک پیام MQTT رسید فراخوانی می شود

void callback (char* p_topic ، byte* p_payload ، unsigned int p_length) {}

وصل مجدد باطل () {

// تا زمانی که دوباره متصل نشوید (! client.connected ()) {Serial.print ("اطلاعات: تلاش برای اتصال MQTT …") ؛ // تلاش برای اتصال if (client.connect ("ESPBlindstl" ، mqtt_user ، mqtt_password)) {Serial.println ("اطلاعات: متصل") ؛ } else {Serial.print ("ERROR: failed، rc =")؛ Serial.print (client.state ()) ؛ Serial.println ("اشکال زدایی: دوباره در 5 ثانیه تلاش کنید") ؛ // 5 ثانیه قبل از امتحان مجدد تأخیر (5000) منتظر بمانید. }}}

void setup (void) {

Serial.begin (9600)؛

// ما با اتصال به یک شبکه WiFi شروع می کنیم

Serial.println ()؛ Serial.println ()؛ Serial.print ("اتصال به") ؛ Serial.println (ssid)؛

WiFi.begin (ssid ، رمز عبور) ؛

while (WiFi.status ()! = WL_CONNECTED) {

تأخیر (800) ؛ Serial.print (".") ؛ }

Serial.println ("")؛

Serial.println ("WiFi متصل است") ؛ Serial.println ("آدرس IP:") ؛ Serial.println (WiFi.localIP ()) ؛ // init اتصال MQTT client.setServer (mqtt_server ، 1883) ؛ client.setCallback (تماس تلفنی) ؛

// مقداردهی اولیه سنسور DHT

dht.begin ()؛ Serial.println ("DHT11 Unified Sensor Data") ؛

// چاپ جزئیات سنسور دما

sensor_t sensor؛ dht.temperature (). getSensor (& سنسور)؛ Serial.println ("------------------------------------") ؛ Serial.println ("دما") ؛ Serial.print ("سنسور:") ؛ Serial.println (نام حسگر) ؛ Serial.print ("نسخه درایور:") ؛ Serial.println (sensor.version) ؛ Serial.print ("شناسه منحصر به فرد:") ؛ Serial.println (sensor.sensor_id)؛ Serial.print ("حداکثر ارزش:") ؛ Serial.print (sensor.max_value) ؛ Serial.println (" *C") ؛ Serial.print ("حداقل ارزش:") ؛ Serial.print (sensor.min_value) ؛ Serial.println (" *C") ؛ Serial.print ("وضوح:")؛ Serial.print (sensor.resolution) ؛ Serial.println (" *C") ؛ Serial.println ("------------------------------------") ؛ // چاپ جزئیات سنسور رطوبت. dht.humidity (). getSensor (& سنسور)؛ Serial.println ("------------------------------------") ؛ Serial.println ("رطوبت") ؛ Serial.print ("سنسور:") ؛ Serial.println (نام حسگر) ؛ Serial.print ("نسخه درایور:") ؛ Serial.println (sensor.version) ؛ Serial.print ("شناسه منحصر به فرد:") ؛ Serial.println (sensor.sensor_id)؛ Serial.print ("حداکثر ارزش:") ؛ Serial.print (sensor.max_value) ؛ Serial.println ("٪")؛ Serial.print ("حداقل ارزش:") ؛ Serial.print (sensor.min_value) ؛ Serial.println ("٪")؛ Serial.print ("وضوح:")؛ Serial.print (sensor.resolution) ؛ Serial.println ("٪")؛ Serial.println ("------------------------------------") ؛

// تأخیر بین قرائت سنسور را بر اساس جزئیات سنسور تنظیم کنید

delayMS = sensor.min_delay / 1000؛ }

حلقه خالی (خالی) {

دمای شناور ؛

if (! client.connected ())

{اتصال مجدد ()؛ }

تاخیر (delayMS) ؛

// رویداد دما را دریافت کرده و مقدار آن را چاپ کنید.

رویداد sensors_event_t؛ dht.temperature (). getEvent (& رویداد) ؛ if (isnan (event.temperature)) {Serial.println ("خطا در خواندن دما!") ؛ دما = 0.00 ؛ } else {temperature = event.temperature؛ Serial.print ("دما:")؛ Serial.print (دما) ؛ Serial.println (" *C") ؛ } // انتشار به MQTT publikData (دما) ؛ }

مرحله 2: راه اندازی پلاگین هوشمند TP-LINK

راه اندازی پلاگین هوشمند TP-LINK
راه اندازی پلاگین هوشمند TP-LINK

شما باید پلاگین هوشمند TP-LINK یا هر دو شاخه هوشمند را برای آن ماده به روشی که سازنده توصیه می کند تنظیم کنید.

اطمینان حاصل کنید که آدرس MAC دستگاه را یادداشت کنید. اگر دستگاه شما مانند دستگاه TP-LINK من است ، نمی توانید آدرس IP ثابت را تعیین کنید. بنابراین ، باید روتر خود را برای رزرو DHCP پیکربندی کنید. این آدرس MAC دستگاه شما را می گیرد و وقتی آن دستگاه آدرس درخواست می کند ، روتر هر بار آدرس یکسانی را به آن می دهد.

در اینجا پیوندی برای نحوه تنظیم این با Linksys وجود دارد

www.linksys.com/us/support-article؟article…

مرحله 3: راه اندازی دستیار خانه

در حال حاضر برای راه اندازی دستیار خانگی. برای این کار باید تنظیمات زیر را به فایل configuration.yaml که در ساختار پوشه /home/homeassistant/.homeassistant روی دستگاهی که آن را نصب کرده اید ، اضافه کنید.

پس از اتمام افزودن این مورد به پیکربندی دستیار خانگی ، باید نرم افزار دستیار خانگی خود را مجدداً راه اندازی کنید تا تغییرات اعمال شوند.

همچنین از سوئیچ هوشمند TP-LINK برای اتصال دستگاه استفاده می کنم و تعریف آن در فایل پیکربندی در زیر آمده است. آدرس IP مورد استفاده برای دستگاه ، همان آدرس IP است که در مرحله قبل برای رزرو DHCP تنظیم کرده اید.

این پیکربندی را می توانید در repo زیر github نیز پیدا کنید:

mqtt: switch: - platform: tplink name: Bedroom Heater host: 192.168.2.11

سنسور 1:

پلتفرم: mqtt state_topic: 'ha/bedroom_temp' نام: واحد دمای اتاق_مقیاس: '° F' value_template: '{{value_json.temperature}}'

اتوماسیون:

- نام مستعار: _Temp Bedroom Temp ماشه بالا: - پلت فرم: numeric_state نهاد_ شناسه: سنسور. اتاق_تمام بالا: 73

عمل:

service: homeassistant.turn_off نهاد_ شناسه: switch. Bedroom_Heater

- نام مستعار: _Temp Bedroom Temp Low

ماشه: - پلت فرم: numeric_state موجودیت_ شناسه: سنسور. اتاق خواب_مواقع زیر: 73 اقدام: سرویس: homeassistant.turn_on unit_id: switch. Bedroom_Heater

مرحله 4: مراحل نهایی

Image
Image
مراحل پایانی
مراحل پایانی
مراحل پایانی
مراحل پایانی

اکنون با پیکربندی دستیار خانگی و تنظیم کد آردوینو ، آماده فعالسازی کل سیستم خواهید بود. بنابراین ، دوشاخه بخاری/فن/کولر خود را در پلاگین هوشمند قرار دهید و پلاگین هوشمند را وصل کنید. پس از آماده شدن ، باید یک شارژر USB کوچک و سپس پروب دما را با وای فای وصل کنید. هنگامی که همه چیز آنلاین است ، باید بتوانید به داشبورد دستیار خانگی خود نگاه کنید و دمای جدید گزارش شده را مشاهده کنید.

از همه کمکها و حمایتهای شما بسیار سپاسگزارم. مطمئن شوید که لایک گذاشته اید و به کانال https://www.youbue.com/misperry سر بزنید و ببینید همه چیزهایی که برای شما داریم چیست. حتما عضو شوید و با دوستان خود به اشتراک بگذارید تا از کانال کمک بگیرند.

توصیه شده: