Мазмуну:

IoT же Home Automation үчүн Homie түзмөктөрүн куруу: 7 кадам (сүрөттөр менен)
IoT же Home Automation үчүн Homie түзмөктөрүн куруу: 7 кадам (сүрөттөр менен)

Video: IoT же Home Automation үчүн Homie түзмөктөрүн куруу: 7 кадам (сүрөттөр менен)

Video: IoT же Home Automation үчүн Homie түзмөктөрүн куруу: 7 кадам (сүрөттөр менен)
Video: Home Automation: 12V Relay with LED Display Delay 0.1 seconds to 999 seconds Timer module P1 to P4 2024, Ноябрь
Anonim
IoT же Home Automation үчүн Homie түзмөктөрүн куруу
IoT же Home Automation үчүн Homie түзмөктөрүн куруу

Бул үйрөтүүчү менин DIY Home Automation сериямдын бир бөлүгү, "DIY үйүн автоматташтыруу системасын пландаштыруу" негизги макаласын караңыз. Эгер сиз азырынча Homie деген эмне экенин билбесеңиз, Marvin Rogerден homie-esp8266 + homie дегенди карап көрүңүз.

Көптөгөн сенсорлор бар. Мен окурмандарга "бир нерсе" курууну баштоо үчүн талаптарды берүү үчүн эң негизгилерин камтып жатам. Бул ракета илими болбошу мүмкүн, бирок бул иш жүзүндө иштеши керек.

Эгерде сизде тетиктер жок болсо, менин алдыда боло турган "Азиядан электрондук тетиктерди алуу" үчүн сак болуңуз.

Мага бир нече ызы -чуу сөздөрдү кошууга уруксат бериңиз: IoT, ESP8266, Homie, DHT22, DS18B20, үйдү автоматташтыруу.

Тема азыр абдан ачык болушу керек:-)

Ошондой эле, бул көрсөтмө менин жеке баракчамда дагы бар:

1 -кадам: Баштоо

Баштоо
Баштоо
Баштоо
Баштоо

Конвенциялар

Бул көрсөтмө D1 Mini клондорун колдонот. Бул ESP8266 чипин колдонгон WiFi кошулган Arduino контроллери. Алар өтө кичинекей форма факторунда (~ 34*25мм) жеткирилет жана кир арзан (клондор үчүн ~ 3-4 $).

Мен ар бир түзүлүштү D1 Mini, breadboard жана кээ бир сенсор (лор) менен көрсөтөм. Мен ар бирине Билл Материалдарын (БОМ) кошомун, бирок секирүүчү зымдар жана нан тактасы (мини же толук) сыяктуу ачык нерселерди өткөрүп жиберем. Мен "активдүү бөлүктөргө" басым жасайм.

Диаграммалардагы зымдар/кабелдер үчүн (Fritzing + AdaFruitFritzing китепканасы) мен колдондум:

  • Бийлик үчүн кызыл/кызгылт сары, көбүнчө 3.3V. Кээде 5В болот, этият болуңуз.
  • Жер үчүн кара.
  • Санарип маалымат сигналдары үчүн сары: Биттер кыдырууда жана аларды чиптер аркылуу окууга болот.
  • Аналогдук маалымат сигналдары үчүн көк/кызгылт көк: Бул жерде бит жок, эмне болуп жатканын түшүнүү үчүн жөн гана чыңалуу өлчөнүп, эсептелиши керек.

Homie for ESP8266 ондогон мисалдарды жөнөтөт, мына мен ушул инструктивдүү нерсени кура баштадым.

Breadboard

D1 абдан нанга ылайыктуу, бирок өйдө жана ылдый бир гана казыктарды сактап калат. Ар бир мисалда D1 оң жагында жана компоненттери сол жагында болот. Жогорку жана төмөнкү электр рельстери 3.3V же 5V көтөрүү үчүн колдонулат.

Эскертүү

Homie мисалдары Arduino IDE үчүн ".ino" эскиздери катары курулган. Менин жеке кодум PlatformIO үчүн ".ccp" катары курулган.

Бул өтө аз айырмачылыкка алып келет, анткени эскиздер сиздин шайман кандай болсо да көчүрүү/чаптоо үчүн жетишерлик жөнөкөй.

2 -кадам: Температура жана нымдуулук: DHT22 / DHT11

Температура жана нымдуулук: DHT22 / DHT11
Температура жана нымдуулук: DHT22 / DHT11
Температура жана нымдуулук: DHT22 / DHT11
Температура жана нымдуулук: DHT22 / DHT11
Температура жана нымдуулук: DHT22 / DHT11
Температура жана нымдуулук: DHT22 / DHT11

Аппаратты куруу

DHT22 колдонот:

  • Контроллер менен байланышуу үчүн бир санарип пин, аны D3кө туташтырыңыз
  • Бийлик үчүн эки зым (3.3V же 5V + GND)
  • Санарип пин бийик кармалышы керек (бийликке туташкан), бул үчүн биз электр темир жолу менен маалымат пининин ортосундагы резисторду колдонобуз

Code

PlatformIO долбоорун жүктөп алсаңыз болот:

Түп Homie мисалы бул жерде (бирок сенсор колдонулбайт):

DHT22 үчүн DHT сенсор китепканасын колдонуңуз (ID = 19)

БОМ

  • Контроллер: Wemos D1 Mini
  • Каршылыгы: 10KΩ
  • Сенсор: (булардын бири)

    • DHT22: Мен кошумча каршылыкты талап кылган 4 казык түрүн колдондум. Каршылыкты камтыган SMD катары жеткирилүүчү 3 казык модулу бар.
    • DHT11: Бул арзаныраак, бирок анча так эмес, талаптарыңызды текшериңиз

3 -кадам: Суу өткөрбөй турган температура: DS18B20

Суу өткөрбөй турган температура: DS18B20
Суу өткөрбөй турган температура: DS18B20
Суу өткөрбөй турган температура: DS18B20
Суу өткөрбөй турган температура: DS18B20
Суу өткөрбөй турган температура: DS18B20
Суу өткөрбөй турган температура: DS18B20

DS18B20 колдонот:

  • Контроллер менен байланышуу үчүн бир санарип пин, аны D3кө туташтырыңыз
  • Бийлик үчүн эки зым (3.3V же 5V + GND)
  • Санарип пин бийик кармалышы керек (бийликке туташкан), бул үчүн биз электр темир жолу менен маалымат пининин ортосундагы резисторду колдонобуз

DS18B20-1 зымдуу сенсор. Бул автобусту колдонот жана мындай көптөгөн сенсорлор бир маалымат пинин колдоно алышат.

Сенсорду иштетүү үчүн 3.3V/5V колдонууга ЭМЕС болот, бул паразиттик кубат режими деп аталат. Чоо -жайын билүү үчүн маалымат барагын караңыз.

Code

PlatformIO долбоорун жүктөп алсаңыз болот:

DHT22дегидей эле, баштапкы Homie мисалы бул жерде (бирок сенсор колдонулбайт):

1-зымдуу автобус үчүн OneWire пакетин колдонуңуз (ID = 1)

DS18B20 үчүн DallasTemperature колдонуңуз (ID = 54)

БОМ

  • Контроллер: Wemos D1 Mini
  • Каршылыгы: 4.7KΩ
  • Сенсор: DS18B20, сүрөттө суу өткөрбөйт
  • Кабелдин панельге туташуусун жеңилдетүү үчүн 3 казыктын бурамалуу терминалы

4 -кадам: Жарык: Фоторезистор / Фотоэлемент (санарип: Күйгүзүү / өчүрүү)

Жарык: Фоторезистор / Фотоэлемент (санарип: Күйгүзүү / өчүрүү)
Жарык: Фоторезистор / Фотоэлемент (санарип: Күйгүзүү / өчүрүү)
Жарык: Фоторезистор / Фотоэлемент (санарип: Күйгүзүү / өчүрүү)
Жарык: Фоторезистор / Фотоэлемент (санарип: Күйгүзүү / өчүрүү)
Жарык: Фоторезистор / Фотоэлемент (санарип: Күйгүзүү / өчүрүү)
Жарык: Фоторезистор / Фотоэлемент (санарип: Күйгүзүү / өчүрүү)

Аппаратты куруу

(Кечиресиз, санарип фотоэлемент үчүн Fritzing компоненти жок)

Фотоэлемент санарип модулу төмөнкүлөрдү колдонот:

  • Контроллер менен байланышуу үчүн бир санарип пин, аны D3кө туташтырыңыз
  • Бийлик үчүн эки зым (3.3V + GND)

Аналогдук фотоэлементти колдонсо болот, бирок бул жерде документтештирилген эмес, Adafruit "Макаланы колдонуу" деген макаланы караңыз.

Эскертүү: Бул мисалда сенсордук тактада потенциометр бар. Бул "жарык" менен "караңгы" чөйрө жарыгынын ортосундагы чекти коюу үчүн колдонулат. 1 окууда жарык өчүк, андыктан 0 окуу күйүк болсо жарык дегенди билдирет.

Code

PlatformIO долбоорун жүктөп алсаңыз болот:

БОМ

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

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

5 -кадам: Жарык: Фоторезистор / Фотоэлемент (аналог)

Жарык: Фоторезистор / Фотоэлемент (аналог)
Жарык: Фоторезистор / Фотоэлемент (аналог)
Жарык: Фоторезистор / Фотоэлемент (аналог)
Жарык: Фоторезистор / Фотоэлемент (аналог)
Жарык: Фоторезистор / Фотоэлемент (аналог)
Жарык: Фоторезистор / Фотоэлемент (аналог)

Аппаратты куруу

Фотоэлементтин аналогдук сенсору каршылыктын ролун аткарат. Бул аналогдук киргизүү менен 3.3V ортосунда туташат.

Чыңалуу бөлүштүргүчтү түзүү үчүн GND менен маалымат пининин ортосуна резистор коюлат. Максаты белгилүү баалуулуктар диапазонун түзүү:

  • Эгерде жарык жок болсо, фотоэлемент негизинен VCCди бөгөттөйт, ошону менен GNDди маалымат төөнөгүңүзгө туташтырат: Pin дээрлик 0дү окуйт.
  • Бул жерде жаркыраган жарык көп, фотоэлемент VCCдин маалымат түйүнүнө өтүшүнө жол ачат: Пин дээрлик толук чыңалууну окуйт жана максимумга жакын (1023).

Эскертүү: Аналогдук пиндердин мааниси analogRead аркылуу 0-1023 диапазонунда окулат. Бул 1 байт мааниси менен күрөшүү үчүн практикалык эмес, анткени Arduino карта функциясы 0-1023төн 0-255ке чейин кыскартууга жардам берет.

Сенсор үчүн минималдуу/максималдуу маанилерди калибрлөө үчүн Arduinoдон ушундай эскизди колдонуңуз.

Code

PlatformIO долбоорун бул жерден көчүрүп алсаңыз болот:

БОМ

  • Контроллер: Wemos D1 Mini
  • Сенсор: Жарыкка көз каранды резистор (LDR) / Фоторезистор
  • Резистор: 1K же 10K, клеткаңыздын негизинде калибрлөө керек

Шилтемелер

  • Жайгашкан жерди жарыктандыруу үчүн PiDome серверинин баштапкы коду
  • Adafruit "Photocell колдонуу"
  • "Фоторезисторлор" бул жерде инструктивдүү
  • Кээ бир математика жана графиктерди кааласаңыз, жинди "Photocell Tutorial"

6 -кадам: Оптикалык детектор: QRD1114

Аппаратты куруу

Code

БОМ

Шилтемелер

  • Физикалык эсептөө: QRD1114 сенсорду окуу үчүн үлгү кодун камтыйт жана ротациялык коддоочу + так PCB дизайны үчүн үзгүлтүктү колдонот.
  • QRD1114 Sparkfun оптикалык детекторун туташтыруу боюнча көрсөтмө

7 -кадам: Акыркы сөздөр

Акыркы сөздөр
Акыркы сөздөр

Бул негизги мониторингди түшүндүрүү үчүн абдан кыска.

Андан ары кетүү үчүн, биз релелерди, IR эмитентин туташтырышыбыз керек … Бул кийинчерээк бош убакыт мага мүмкүндүк бергенде каралат. Негизги айырмачылык - биз жөн эле "окубайбыз" (жарык барбы?), Бирок "жазуу" (жарыкты күйгүзүү!).

Сунушталууда: