Съдържание:

Изграждане на Homie устройства за IoT или домашна автоматизация: 7 стъпки (със снимки)
Изграждане на Homie устройства за IoT или домашна автоматизация: 7 стъпки (със снимки)

Видео: Изграждане на Homie устройства за IoT или домашна автоматизация: 7 стъпки (със снимки)

Видео: Изграждане на Homie устройства за IoT или домашна автоматизация: 7 стъпки (със снимки)
Видео: GRANNY CHAPTER 2 LIVE FROM START 2024, Декември
Anonim
Изграждане на Homie устройства за IoT или домашна автоматизация
Изграждане на Homie устройства за IoT или домашна автоматизация

Тази инструкция е част от моята серия „Направи си сам автоматизация на дома“, вижте основната статия „Планиране на система за домашна автоматизация“. Ако все още не знаете какво е Homie, погледнете homie-esp8266 + homie от Марвин Роджър.

Има много много сензори. Обхващам най -основните, за да дам на читателя изискванията да започне да изгражда „нещо“. Това може да не е ракетна наука, но всъщност трябва да работи.

Ако нямате части, внимавайте за предстоящите ми инструкции „Източник на електронни части от Азия“.

Позволете ми да добавя няколко бръмчащи думи: IoT, ESP8266, Homie, DHT22, DS18B20, домашна автоматизация.

Темата трябва да е доста ясна сега:-)

Също така тази инструкция вече е достъпна и от личната ми страница:

Стъпка 1: Първи стъпки

Приготвяме се да започнем
Приготвяме се да започнем
Приготвяме се да започнем
Приготвяме се да започнем

Конвенции

Тази инструкция използва D1 Mini клонинги. Това са съвместими с WiFi контролери Arduino, използващи чип ESP8266. Те се доставят в много малък форм-фактор (~ 34*25 мм) и са евтини (~ 3-4 $ за клонинги).

Ще илюстрирам всяка компилация, използвайки D1 Mini, макет и някои сензори. Включвам законопроект за всеки материал (BOM) за всеки, но ще пропусна очевидни неща като проводници и макет (мини или пълен). Ще се съсредоточа върху „активните части“.

За проводници/кабели в диаграми (библиотека Fritzing + AdaFruitFritzing) използвах:

  • Червено/оранжево за захранване, обикновено 3.3V. Понякога ще бъде 5V, бъдете внимателни.
  • Черно за земята.
  • Жълто за цифрови сигнали за данни: Битовете се движат и могат да бъдат прочетени както са от чипове.
  • Синьо/лилаво за аналогови сигнали за данни: Тук няма битове, просто обикновено напрежение, което трябва да бъде измерено и изчислено, за да се разбере какво се случва.

Homie за ESP8266 изпраща дузина примери, оттам започнах да изграждам тази инструкция.

Платка

D1 е доста удобен за макет, но ще спести само един ред щифтове нагоре и надолу. Всеки пример ще има D1 от дясната страна и компонентите от лявата страна. Горните и долните захранващи релси ще се използват за пренасяне на 3.3V или 5V.

Забележка

Примерите на Homie са изградени като ".ino" скици за Arduino IDE. Моят собствен код обаче е изграден като ".ccp" за PlatformIO.

Това ще направи много малка разлика, тъй като скиците са достатъчно прости, за да бъдат копирани/поставени независимо от избрания от вас инструмент.

Стъпка 2: Температура и влажност: DHT22 / DHT11

Температура и влажност: DHT22 / DHT11
Температура и влажност: DHT22 / DHT11
Температура и влажност: DHT22 / DHT11
Температура и влажност: DHT22 / DHT11
Температура и влажност: DHT22 / DHT11
Температура и влажност: DHT22 / DHT11

Изграждане на устройството

DHT22 използва:

  • Един цифров щифт за комуникация с контролера, свържете го към D3
  • Два проводника за захранване (3.3V или 5V + GND)
  • Цифровият щифт трябва да се поддържа висок (свързан към захранването), за това използваме резистор между захранващата шина и пина за данни

Код

Проектът PlatformIO може да бъде изтеглен от:

Оригиналният пример за Homie е тук (но не използва сензор):

За DHT22 използвайте DHT сензорна библиотека (ID = 19)

BOM

  • Контролер: Wemos D1 Mini
  • Резистор: 10KΩ
  • Сензор: (един от тези)

    • DHT22: Използвал съм 4 -пинов тип, който изисква допълнителен резистор. Има 3 пинови модула, доставени като SMD, които включват резистора.
    • DHT11: Това е по -евтино, но по -малко точно, проверете вашите изисквания

Стъпка 3: Водоустойчива температура: DS18B20

Водоустойчива температура: DS18B20
Водоустойчива температура: DS18B20
Водоустойчива температура: DS18B20
Водоустойчива температура: DS18B20
Водоустойчива температура: DS18B20
Водоустойчива температура: DS18B20

Изграждане на устройството DS18B20 използва:

  • Един цифров щифт за комуникация с контролера, свържете го към D3
  • Два проводника за захранване (3.3V или 5V + GND)
  • Цифровият щифт трябва да се поддържа висок (свързан към захранването), за това използваме резистор между захранващата шина и пина за данни

DS18B20 е 1-жичен сензор. Той използва шина и като такива множество сензори могат да използват един щифт за данни.

Възможно е също НЕ да използвате 3.3V/5V за захранване на сензора, това се нарича паразитен режим на захранване. Вижте листа с данни за подробности.

Код

Проектът PlatformIO може да бъде изтеглен от:

Подобно на DHT22, оригиналният пример за Homie е тук (но не използва сензор):

За 1-Wire шина използвайте пакет OneWire (ID = 1)

За DS18B20 използвайте DallasTemperature (ID = 54)

BOM

  • Контролер: Wemos D1 Mini
  • Резистор: 4.7KΩ
  • Сензор: DS18B20, на снимката е водоустойчив
  • 3 щифта с винтова клема за улесняване на свързването на кабела към платката

Стъпка 4: Светлина: Фоторезистор / Фотоелемент (цифрово: Вкл. / Изкл.)

Светлина: Фоторезистор / Фотоелемент (цифров: Вкл. / Изкл.)
Светлина: Фоторезистор / Фотоелемент (цифров: Вкл. / Изкл.)
Светлина: Фоторезистор / Фотоелемент (цифров: Вкл. / Изкл.)
Светлина: Фоторезистор / Фотоелемент (цифров: Вкл. / Изкл.)
Светлина: Фоторезистор / Фотоелемент (цифров: Вкл. / Изкл.)
Светлина: Фоторезистор / Фотоелемент (цифров: Вкл. / Изкл.)

Изграждане на устройството

(За съжаление, нямате компонент Fritzing за цифровата фотоклетка)

Цифровият модул на фотоклетката използва:

  • Един цифров щифт за комуникация с контролера, свържете го към D3
  • Два проводника за захранване (3.3V + GND)

Възможно е да се използва аналогова фотоклетка, но това не е документирано тук, вижте отличната статия на Adafruit „Използване на фотоклетка“.

Забележка: В този пример има потенциометър на сензорната платка. Използва се за задаване на границата между „светла“и „тъмна“околна светлина. При четене 1 лампата е изключена, затова четене 0 означава светлина, ако е включена.

Код

Проектът PlatformIO може да бъде изтеглен от:

BOM

Контролер: Wemos D1 Mini

Сензор: Фоточувствителен / модул за откриване на светлина

Стъпка 5: Светлина: Фоторезистор / Фотоелемент (аналогов)

Светлина: Фоторезистор / Фотоелемент (аналогов)
Светлина: Фоторезистор / Фотоелемент (аналогов)
Светлина: Фоторезистор / Фотоелемент (аналогов)
Светлина: Фоторезистор / Фотоелемент (аналогов)
Светлина: Фоторезистор / Фотоелемент (аналогов)
Светлина: Фоторезистор / Фотоелемент (аналогов)

Изграждане на устройството

Аналоговият сензор на фотоклетката действа като резистор. Той ще се свързва между аналогов вход и 3.3V.

Между GND и пина за данни се поставя резистор, за да се създаде делител на напрежение. Целта е да се създаде известен диапазон от стойности:

  • Ако няма светлина, фотоклетката ще блокира основно VCC, като по този начин ще свърже GND с вашия пин за данни: Pin ще прочете почти 0.
  • Ако има много ярка светлина, фотоклетката ще позволи на VCC да тече към пина за данни: Pin ще отчете почти пълно напрежение и като такъв близо до max (1023).

Забележка: Стойностите на аналоговите изводи се четат в диапазон 0-1023 с помощта на analogRead. Това не е практично за работа с 1 байтови стойности, за това функцията на картата на Arduino ще помогне за намаляване от 0-1023 на (например) 0-255.

За калибриране на минимални/максимални стойности за вашия сензор, използвайте скица като тази от Arduino.

Код

Проектът PlatformIO може да бъде изтеглен от:

BOM

  • Контролер: Wemos D1 Mini
  • Сензор: Светлозависим резистор (LDR) / Фоторезистор
  • Резистор: 1K или 10K, трябва да се калибрира въз основа на вашата клетка

Препратки

  • Изходният код на сървъра на PiDome за състоянието на осветление на дадено място
  • „Използване на фотоклетка“на Adafruit
  • "Фоторезистори" тук на инструкции
  • Някакъв адски луд "Photocell Tutorial", ако искате малко математика и графики

Стъпка 6: Оптичен детектор: QRD1114

Изграждане на устройството

Код

BOM

Препратки

  • Физически изчисления: QRD1114 включва примерен код за четене на сензора и използване на прекъсване за въртящ се енкодер + прецизен дизайн на печатни платки
  • Ръководство за свързване на оптичен детектор QRD1114 в Sparkfun

Стъпка 7: Заключителни думи

Заключителни думи
Заключителни думи

Тази инструкция е много кратка, за да обясни основното наблюдение.

За да отидем по -далеч, ще трябва да свържем релета, IR излъчвател … Надяваме се, че това ще бъде разгледано по -късно, тъй като свободното време ми позволява. Основната разлика е, че не само ще „четем“(има ли светлина?), Но и „пишем“(включете светлината!).

Препоръчано: