![Интелигентен щепсел с активиран WiFi, 4 стъпки Интелигентен щепсел с активиран WiFi, 4 стъпки](https://i.howwhatproduce.com/images/002/image-4452-58-j.webp)
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36
![Интелигентен щепсел с контролирана температура WiFi Интелигентен щепсел с контролирана температура WiFi](https://i.howwhatproduce.com/images/002/image-4452-59-j.webp)
В този набор от инструкции ще разгледаме как да изградим температурна сонда с активиран WiFi с помощта на обикновен ESP8266 за тежко повдигане и DHT11 сензор за температура/влажност. Също така ще използваме печатната платка, която създадох и също се продава сега в магазина на tindie на канала, ако искате да закупите.
Нека започнем с набора от материали, от които ще се нуждаете:
ESP8266 WiFi модул
amzn.to/2pkGPoa
Сензор DHT11
amzn.to/2phwfhO
Интелигентен щепсел TP-Link
amzn.to/2GElQUz
Можете също да вземете целия модул в магазина на tindie за канала:
www.tindie.com/products/misperry/wifi-enab…
Вижте също JLCPCB за изработка на печатни платки. Те са тези, които използвах за направата на печатни платки:
Безплатна доставка при първа поръчка и $ 2 PCB прототипиране на
Стъпка 1: Добавяне на кода към ESP8266
Сега ще трябва да прехвърлим следния код на ESP8266. Този код може да бъде намерен в следното хранилище на github:
В кода по -долу ще трябва само да настроите първите няколко раздели за дефиниция:
MQTT сървър:
Потребител на MQTT:
Парола за MQTT:
MQTT_sensor_topic:
-WiFi
Каза: казаното за wifi мрежата, към която се свързвате
Парола: паролата за WiFi.
След като попълните това в кода по -долу, можете да го компилирате и да проверите за грешки и ако 0 грешки можете да го прехвърлите на ESP8266.
/ * * Име на файла: TempHumSensor.ino * * Приложение: Термостат за отопление на космоса HomeAssistant * * Описание: Този код е за съвместимо с arduino * устройство с ESP8266 WiFi. Това ще препредава информацията за температурата * на устройството DHT11 към интерфейса на HASS за обработка. * * Автор: M. Sperry - https://www.youtube.com/misperry * Дата: 03/ * Ревизия: 1.0 * * */
#включва
#включи #включи #включи #включи #включи
#define CON_TIME_OUT 20 // Време за изчакване без връзка с wifi
#define MQTT_TIME_OUT 10 // Време за изчакване при липса на връзка със сървър MQTT
#define DHTPIN 0 // ПИН, който е свързан към DHT сензора
#define DHTTYPE DHT11 // Типът на сензора е DHT11, можете да го промените на DHT22 (AM2302), DHT21 (AM2301)
#define mqtt_server "" // Въведете добавката или IP адреса на вашия MQTT сървър. Използвам моя DuckDNS адрес (yourname.duckdns.org) в това поле
#define mqtt_user "" // въведете вашето потребителско име за MQTT #define mqtt_password "" // въведете паролата си #define MQTT_SENSOR_TOPIC "ha/bedroom_temp" // Въведете тема за вашия MQTT
// Wifi: SSID и парола
const char* ssid = ""; const char* password = "";
// DHT НАСТРОЙКА
DHT_Unified dht (DHTPIN, DHTTYPE); uint32_t забавянеMS;
WiFiClient wifiClient;
PubSubClient клиент (wifiClient);
// функция, извикана да публикува температурата и влажността
void publishedData (float p_temperature) {// създаване на JSON обект // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // ИНФОРМАЦИЯ: данните трябва да бъдат преобразувани в низ; възниква проблем при използване на поплавъци … // преобразуване във Фаренхайт p_temperature = (p_temperature * 1.8) + 32; // конвертираме в корен по фаренхайт ["температура"] = (Низ) p_temperature; root.prettyPrintTo (сериен); Serial.println ("");
char данни [200];
root.printTo (данни, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, данни, вярно); }
// функция, извикана при пристигане на MQTT съобщение
невалидно обратно повикване (char* p_topic, байт* p_payload, беззнаково int p_length) {}
void повторно свързване () {
// Цикъл, докато не се свържем отново докато (! Client.connected ()) {Serial.print ("INFO: Опит за MQTT връзка …"); // Опит за свързване if (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: свързано"); } else {Serial.print ("ГРЕШКА: неуспешна, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: опитайте отново след 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 ()); // инициализираме връзката MQTT client.setServer (mqtt_server, 1883); client.setCallback (обратно повикване);
// Инициализиране на DHT сензора
dht.begin (); Serial.println ("DHT11 Unified Sensor Data");
// Отпечатване на подробности за сензора за температура
sensor_t сензор; dht.temperature (). getSensor (& сензор); Serial.println ("------------------------------------"); Serial.println ("Температура"); Serial.print ("Сензор:"); Serial.println (сензор.име); Serial.print ("Driver Ver:"); Serial.println (сензор.версия); 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 (сензор.разделителна способност); Serial.println (" *C"); Serial.println ("------------------------------------"); // Отпечатайте подробности за сензора за влажност. dht.humidity (). getSensor (& сензор); Serial.println ("------------------------------------"); Serial.println ("Влажност"); Serial.print ("Сензор:"); Serial.println (сензор.име); Serial.print ("Driver Ver:"); Serial.println (сензор.версия); 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 (сензор.разделителна способност); Serial.println ("%"); Serial.println ("------------------------------------");
// Задайте закъснение между показанията на сензора въз основа на подробности за сензора
забавянеMS = сензор.min_delay / 1000; }
void loop (void) {
плаваща температура;
if (! client.connected ())
{повторно свързване (); }
забавяне (delayMS);
// Вземете температурно събитие и отпечатайте неговата стойност.
sensors_event_t събитие; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println ("Грешка при четене на температура!"); температура = 0,00; } else {температура = event.temperature; Serial.print ("Температура:"); Serial.print (температура); Serial.println (" *C"); } // публикуване в MQTT publishedData (температура); }
Стъпка 2: Настройка на вашия TP-LINK Smart Plug
![Настройка на вашия TP-LINK Smart Plug Настройка на вашия TP-LINK Smart Plug](https://i.howwhatproduce.com/images/002/image-4452-60-j.webp)
Ще трябва да настроите своя интелигентен щепсел TP-LINK или всеки интелигентен щепсел за тази материя, по начина, който производителят препоръчва.
Не забравяйте да вземете под внимание MAC адреса на устройството. Ако вашето устройство е като моето устройство TP-LINK, не можете да въведете статичен IP адрес. По този начин ще трябва да конфигурирате вашия рутер за DHCP резервация. Това ще отнеме MAC адреса на вашето устройство и когато това устройство поиска адрес, маршрутизаторът ще му дава същия адрес всеки път.
Ето линк за това как да настроите това с Linksys
www.linksys.com/us/support-article?article…
Стъпка 3: Настройване на Home Assistant
Сега да настроите Home Assistant. За това ще трябва да добавите следните конфигурации към файла configuration.yaml, който се намира в /home/homeassistant/.homeassistant структурата на папките на устройството, на което сте го инсталирали.
След като приключите с добавянето на това към конфигурацията на вашия домашен асистент, ще трябва да рестартирате софтуера на домашния си помощник, за да влязат в сила промените.
Също така ще използвам интелигентния щепсел TP-LINK за превключващото устройство и определението е по-долу в конфигурационния файл. IP адресът, който се използва за устройството, е този, който сте настроили за DHCP резервацията в предишната стъпка.
Тази конфигурация може да бъде намерена и на следното github репо:
mqtt: превключвател: - платформа: име на tplink: Нагревател за спалня хост: 192.168.2.11
сензор 1:
платформа: mqtt state_topic: 'ha/bedroom_temp' име: Температура на спалня единица_измерване: '° F' value_template: '{{value_json.temperature}}'
автоматизация:
- псевдоним: _Temp Температура на спалня Високо задействане: - платформа: numeric_state entity_id: sensor. Bedroom_Temp горе: 73
действие:
услуга: homeassistant.turn_off entity_id: switch. Bedroom_Heater
- псевдоним: _Temp Bedroom Temp Low
задействане: - платформа: numeric_state entity_id: sensor. Bedroom_Temp по -долу: 73 действие: service: homeassistant.turn_on entity_id: switch. Bedroom_Heater
Стъпка 4: Последни стъпки
![Image Image](https://i.howwhatproduce.com/images/002/image-4452-62-j.webp)
![](https://i.ytimg.com/vi/Tj93K-hiaIw/hqdefault.jpg)
![Заключителни стъпки Заключителни стъпки](https://i.howwhatproduce.com/images/002/image-4452-63-j.webp)
![Заключителни стъпки Заключителни стъпки](https://i.howwhatproduce.com/images/002/image-4452-64-j.webp)
Сега с конфигурацията на вашия домашен асистент и с кода на Arduino ще бъдете готови да активирате цялата система. По този начин поставете вашия нагревател/вентилатор/охладител в интелигентния щепсел и включете интелигентния щепсел. След като е готов, ще трябва да включите малко USB зарядно устройство и след това сонда за температура с активирана WiFi. След като всичко е онлайн, трябва да можете да потърсите в таблото за управление на домашния си асистент и да видите отчитането на новата температура.
Благодаря ви много за цялата ви помощ и подкрепа. не забравяйте да оставите харесване и да посетите канала на https://www.youbue.com/misperry и да видите какво имаме за вас. Абонирайте се и споделете с приятелите си, за да помогнете на канала.
Препоръчано:
Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: 10 стъпки (със снимки)
![Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: 10 стъпки (със снимки) Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: 10 стъпки (със снимки)](https://i.howwhatproduce.com/images/007/image-19330-j.webp)
Интелигентен будилник: интелигентен будилник, направен с Raspberry Pi: Искали ли сте някога интелигентен часовник? Ако е така, това е решението за вас! Направих Smart Alarm Clock, това е часовник, който можете да промените часа на алармата според уебсайта. Когато алармата изгасне, ще се чуе звук (зумер) и 2 светлини ще
DIY Аудио RCA щепсел (мъжки / женски) - Изработен от алуминий: 3 стъпки
![DIY Аудио RCA щепсел (мъжки / женски) - Изработен от алуминий: 3 стъпки DIY Аудио RCA щепсел (мъжки / женски) - Изработен от алуминий: 3 стъпки](https://i.howwhatproduce.com/images/002/image-4428-46-j.webp)
DIY Аудио RCA щепсел (мъжки / женски) | Изработен от алуминий: Гледайте видеоклипа: Това е алуминиев лист, изработен по поръчка RCA щепсел, мъжки и женски. Така че ще научите как да направите такъв, когато нямате щепсели или говорителят ви е счупен. Сега лесно направете такъв у дома и заменете счупения или просто използвайте като c
USB щепсел: 9 стъпки (със снимки)
![USB щепсел: 9 стъпки (със снимки) USB щепсел: 9 стъпки (със снимки)](https://i.howwhatproduce.com/images/002/image-5338-56-j.webp)
USB щепсел: В тази инструкция ще ви покажа как да направите супер ярък, захранван с USB светодиод с компактен форм -фактор, който аз с любов нарекох „The Plugbulb“. Тази малка крушка може да бъде включена във всеки USB жак. Страхотно за превръщане на вашия преносим акумулатор
Изкуствен щепсел за захранване като превключвател: 5 стъпки (със снимки)
![Изкуствен щепсел за захранване като превключвател: 5 стъпки (със снимки) Изкуствен щепсел за захранване като превключвател: 5 стъпки (със снимки)](https://i.howwhatproduce.com/images/002/image-4287-77-j.webp)
Изключителен щепсел за захранване като превключвател: Преработвах стари телевизори в дисплеи за магазини и ресторанти и подобни. Преди малко до мен се приближиха хора, които изграждаха стая за бягство. Стаята, която строят, е със страшна тема за зъболекар от 1940 г. Фалшива кръв се пръсна наоколо
Alexa Echo + ESP 8266 = Интелигентен щепсел: 4 стъпки (със снимки)
![Alexa Echo + ESP 8266 = Интелигентен щепсел: 4 стъпки (със снимки) Alexa Echo + ESP 8266 = Интелигентен щепсел: 4 стъпки (със снимки)](https://i.howwhatproduce.com/images/003/image-7275-50-j.webp)
Alexa Echo + ESP 8266 = Интелигентен щепсел за захранване: Тази инструкция използва ALEXA ECHO директен контрол ESP8266. Моят сървър просто поддържа оторизация ESP8266 на сървър на Amazon. Моят сървър не архивира вашите данни. Гласувайте за мен: D Благодаря