Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:56
Bu təlimat dəstində, ağır qaldırma üçün sadə bir ESP8266 və DHT11 temperatur/rütubət sensoru istifadə edərək WiFi effektiv bir temperatur probunun necə qurulacağına baxacağıq. Yaratdığım və satın almaq istəyirsinizsə kanalın tindie mağazasında satışda olan elektron kartdan da istifadə edəcəyik.
Ehtiyac duyacağınız materiallar hesabına başlayaq:
ESP8266 WiFi Modulu
amzn.to/2pkGPoa
DHT11 Sensoru
amzn.to/2phwfhO
TP-Link Ağıllı Fiş
amzn.to/2GElQUz
Kanal üçün tindie mağazasında bütün modulu götürə bilərsiniz:
www.tindie.com/products/misperry/wifi-enab…
PCB Fabrikasiyası üçün JLCPCB -ə də baxın. PCB etmək üçün istifadə etdiyim insanlardır:
Https://jlcpcb.com saytında İlk Sifarişlə Pulsuz Göndərmə və 2 dollarlıq PCB Prototipləşdirmə
Addım 1: ESP8266 -ya Kod əlavə edin
İndi aşağıdakı kodu ESP8266 üzərinə yandırmalıyıq. Bu kodu aşağıdakı github deposunda tapa bilərsiniz:
Aşağıdakı kodda yalnız ən yaxşı bir neçə tərif bölməsini qurmalı olacaqsınız:
MQTT Server:
MQTT İstifadəçisi:
MQTT Şifrəsi:
MQTT_sensor_topic:
-Wi -Fi
Dedi: bağlandığınız wifi şəbəkəsi haqqında
Şifrə: WiFi parol.
Aşağıdakı kodu doldurduqdan sonra səhvləri tərtib edib yoxlaya bilərsiniz və 0 səhv olarsa onu ESP8266 üzərinə yandıra bilərsiniz.
/ * * Fayl adı: TempHumSensor.ino * * Tətbiq: HomeAssistant Space Isıtıcı Termostat * * Təsvir: Bu kod ESP8266 WiFi effektiv arduino * uyğun cihaz üçündür. Bu, DHT11 cihazının temperatur məlumatlarını * emal üçün HASS ön ucuna ötürəcək. * * Müəllif: M. Sperry - https://www.youtube.com/misperry * Tarix: 03/ * Düzəliş: 1.0 * * */
#daxil edin
#daxil edin #daxil edin #daxil edin #daxil edin
#define CON_TIME_OUT 20 // wifi ilə əlaqənin kəsilmə vaxtı
#define MQTT_TIME_OUT 10 // MQTT serverinə heç bir bağlantının kəsilməsi
#define DHTPIN 0 // DHT sensoruna qoşulan pin
#dehine DHTTYPE DHT11 // Sensor növü DHT11 -dir, onu DHT22 (AM2302), DHT21 (AM2301) olaraq dəyişə bilərsiniz
#define mqtt_server "" // MQTT server əlavələrinizi və ya IP -ni daxil edin. Bu sahədə DuckDNS adresimi (adınız.duckdns.org) istifadə edirəm
#define mqtt_user "" // MQTT istifadəçi adınızı daxil edin #deq mqtt_password "" təyin edin // parolunuzu daxil edin #MQTT_SENSOR_TOPIC "ha/bedroom_temp" ni təyin edin // MQTT üçün mövzu daxil edin
// Wifi: SSID və parol
const char* ssid = ""; const char* parol = "";
// DHT Quraşdırma
DHT_Unified dht (DHTPIN, DHTTYPE); uint32_t gecikdirmə MS;
WiFiClient wifiClient;
PubSubClient müştəri (wifiClient);
// temperatur və rütubəti dərc etmək üçün çağırılan funksiya
void publishData (float p_temperature) {// bir JSON obyekti yaradın // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // BİLGİ: məlumatlar bir sətrə çevrilməlidir; float istifadə edərkən bir problem yaranır… // fahrenheit'e çevir p_temperature = (p_temperature * 1.8) + 32; // fahrenheit kökünə çevirmək ["temperatur"] = (String) p_temperature; root.prettyPrintTo (Serial); Serial.println ("");
char məlumatları [200];
root.printTo (data, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, data, true); }
// MQTT mesajı gəldikdə çağırılan funksiya
boş zəng (char* p_topic, bayt* p_payload, imzasız int p_length) {}
void reconnect () {
// (! Client.connected ()) {Serial.print ("INFO: MQTT bağlantısı cəhd edilir …"); // Bağlanmağa cəhd edin (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: bağlı"); } başqa {Serial.print ("ERROR: fail, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: 5 saniyə ərzində yenidən cəhd edin"); // Yenidən sınamaq üçün 5 saniyə gözləyin (5000); }}}
boş quraşdırma (boş) {
Serial.begin (9600);
// WiFi şəbəkəsinə qoşulmaqla başlayırıq
Serial.println (); Serial.println (); Serial.print ("Bağlanır"); Serial.println (ssid);
WiFi.begin (ssid, parol);
isə (WiFi.status ()! = WL_CONNECTED) {
gecikmə (800); Serial.print ("."); }
Serial.println ("");
Serial.println ("WiFi bağlıdır"); Serial.println ("IP ünvanı:"); Serial.println (WiFi.localIP ()); // MQTT bağlantısı client.setServer (mqtt_server, 1883); client.setCallback (geri zəng);
// DHT sensorunu işə salın
dht.begin (); Serial.println ("DHT11 Vahid Sensor Məlumatları");
// İstilik sensoru detallarını çap edin
sensor_t sensoru; dht.temperature (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("Temperatur"); Serial.print ("Sensor:"); Serial.println (sensor.adı); Serial.print ("Sürücü Ver:"); Serial.println (sensor.versiya); Serial.print ("Unikal ID:"); Serial.println (sensor.sensor_id); Serial.print ("Maksimum dəyər:"); Serial. çap (sensor.max_value); Serial.println (" *C"); Serial.print ("Minimum dəyər:"); Serial. çap (sensor.min_value); Serial.println (" *C"); Serial.print ("Çözünürlük:"); Serial.çap (sensor. Qətnamə); Serial.println (" *C"); Serial.println ("------------------------------------"); // Rütubət sensoru detallarını çap edin. dht.humidity (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("Rütubət"); Serial.print ("Sensor:"); Serial.println (sensor.adı); Serial.print ("Sürücü Ver:"); Serial.println (sensor.versiya); Serial.print ("Unikal ID:"); Serial.println (sensor.sensor_id); Serial.print ("Maksimum dəyər:"); Serial. çap (sensor.max_value); Serial.println ("%"); Serial.print ("Minimum dəyər:"); Serial. çap (sensor.min_value); Serial.println ("%"); Serial.print ("Çözünürlük:"); Serial.çap (sensor. Qətnamə); Serial.println ("%"); Serial.println ("------------------------------------");
// Sensor detallarına əsaslanaraq sensorlar oxunması arasındakı gecikməni təyin edin
gecikməMS = sensor.min_delay / 1000; }
boşluq döngəsi (boş) {
üzmə temperaturu;
əgər (! müştəri. bağlı ())
{yenidən bağlan (); }
gecikmə (gecikmə MS);
// Temperatur hadisəsini alın və dəyərini çap edin.
sensors_event_t hadisəsi; dht.temperature (). getEvent (& hadisə); if (isnan (event.temperature)) {Serial.println ("İstiliyin oxunması xətası!"); temperatur = 0.00; } başqa {temperatur = hadisə.temperatur; Serial.print ("Temperatur:"); Serial çap (temperatur); Serial.println (" *C"); } // MQTT -də dərc etmə publishData (temperatur); }
Addım 2: TP-LINK Smart Plugunuzu qurun
İstehsalçının tövsiyə etdiyi şəkildə TP-LINK ağıllı fişinizi və ya hər hansı bir ağıllı fişi quraşdırmalısınız.
Cihazdakı MAC ünvanını qeyd etdiyinizə əmin olun. Cihazınız mənim TP-LINK cihazım kimidirsə, statik bir IP ünvanı göstərə bilməzsiniz. Beləliklə, DHCP Rezervasyonu üçün yönlendiricinizi konfiqurasiya etməlisiniz. Bu, cihazınızın MAC ünvanını alacaq və həmin cihaz bir ünvan istədikdə marşrutlaşdırıcı hər dəfə eyni ünvanı verəcək.
Bunun Linksys ilə necə qurulacağına dair bir link
www.linksys.com/us/support-article?article…
Addım 3: Ev köməkçisini qurun
İndi Ev köməkçisini qurmaq üçün. Bunun üçün quraşdırdığınız cihazda /home/homeassistant/.homeassistant qovluq quruluşunda olan configuration.yaml faylına aşağıdakı konfiqurasiyaları əlavə etməlisiniz.
Bunu ev köməkçisi konfiqurasiyasına əlavə etməyi bitirdikdən sonra dəyişikliklərin təsir etməsi üçün ev köməkçisi proqramınızı yenidən başlatmalısınız.
Ayrıca keçid cihazı üçün TP-LINK ağıllı fişindən istifadə edəcəyəm və tərifi konfiqurasiya sənədində aşağıda verilmişdir. Cihaz üçün istifadə olunan IP ünvanı, əvvəlki addımda DHCP rezervasiyası üçün qurduğunuz ünvandır.
Bu konfiqurasiyanı aşağıdakı github repo -da da tapa bilərsiniz:
mqtt: keçid: - platforma: tplink adı: Yataq otağı qızdırıcısı host: 192.168.2.11
sensor 1:
platform: mqtt state_topic: 'ha/bedroom_temp' adı: Yataq otağı Temp unit_of_measurement: '° F' dəyər_template: '{{value_json.temperature}}'
avtomatlaşdırma:
- alias: _Temp Yataq otağı Temp Yüksək tetikleyici: - platforma: numeric_state entity_id: sensor. Bedroom_Temp yuxarıda: 73
hərəkət:
xidmət: homeassistant.turn_off entity_id: switch. Bedroom_Heater
- ləqəb: _Temp yataq otağı istiliyi aşağı
trigger: - platform: numeric_state entity_id: sensor. Bedroom_Temp aşağıda: 73 hərəkət: xidmət: homeassistant.turn_on entity_id: switch. Bedroom_Heater
Addım 4: Son addımlar
İndi ev köməkçinizin konfiqurasiyası və Arduino kodunuzun qurulması ilə bütün sistemi aktivləşdirməyə hazır olacaqsınız. Beləliklə, qızdırıcı/fan/soyuducu fişini ağıllı fişə və ağıllı fişə qoşun. Hazır olduqdan sonra kiçik bir USB şarj cihazını və sonra WiFi aktivləşdirilmiş Temperatur probunu qoşmalısınız. Hər şey onlayn olduqdan sonra ev köməkçinizin tablosuna baxa və yeni temperaturun bildirildiyini görə bilməlisiniz.
Bütün köməyinizə və dəstəyinizə görə çox sağ olun. bir bəyənmə buraxdığınızdan və https://www.youbue.com/misperry ünvanındakı kanalı ziyarət etməyinizə əmin olun və sizin üçün orda olanların hamısına baxın. Kanala kömək etmək üçün abunə olub dostlarınızla paylaşdığınızdan əmin olun.
Tövsiyə:
SONOFF Ağıllı Açarları ilə Ağıllı Pərdələri necə DIY etmək olar ?: 14 addım
SONOFF Smart Açarları ilə Ağıllı Panjurları Necə DIY etmək olar?: SONOFF ağıllı açarlarda kilidləmə rejimindən istifadə edərək adi pərdələrinizi/pərdələrinizi ağıllı hala gətirin Çoxlarınız bunun səhərlər pərdələri/pərdələri çəkdiyiniz bir iş olduğunu qəbul edəcəksinizmi? və axşam aşağı çəkin? Hər halda, mən
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: 10 addım (şəkillərlə)
Ağıllı Zəngli Saat: Raspberry Pi ilə Ağıllı Zəngli Saat: Heç ağıllı bir saat istəmisinizmi? Əgər belədirsə, bu sizin üçün bir həlldir! Ağıllı Zəngli Saat hazırladım, bu veb saytına görə zəngli saatını dəyişə biləcəyiniz bir saatdır. Siqnal çalınanda bir səs (zil) olacaq və 2 işıq yanacaq
Ağıllı Fiş ESP8266: 6 addım
Ağıllı Plug ESP8266: Bienvenue məqalələri məqalə ilə əlaqədardır, lakin bu da domotika ilə əlaqədardır. Mükəmməl xidmətlər avtomatlaşdırma və optimallaşdırma ilə əlaqələndirilir. Celles-ci sont WiFi vasitəsilə komandir. La
Ağıllı evinizi ağıllı şəkildə qoruyun: 14 addım
Ağıllı Evinizi Smartly Secure: Təhlükəsiz və etibarlı bir yarışma üçün yarışıram. Təlimatçılığımı bəyənirsinizsə, zəhmət olmasa ona səs verin! Mən sizə evinizi və ətrafınızı necə asanlıqla və ucuz bir şəkildə necə təmin edəcəyinizi göstərəcəyəm. Konfiqurasiya edin
Smartfon Nəzarətli Ağıllı Səbət: 7 addım
Smartfonla İdarə olunan Ağıllı Səbət: Ticarət mərkəzlərini ziyarət etmək əyləncəli ola bilər. Alış -veriş səbətini əşyalarla dolduranda sürükləmək, əslində əsəbiləşdirici bir şeydir. O dar keçidlərdən itələmək, o kəskin dönüşlər etmək ağrısı! Beləliklə, burada təklif etdiyiniz bir növ