Мазмұны:

Үй жануарларына арналған IoT есігі: 6 қадам (суреттермен)
Үй жануарларына арналған IoT есігі: 6 қадам (суреттермен)

Бейне: Үй жануарларына арналған IoT есігі: 6 қадам (суреттермен)

Бейне: Үй жануарларына арналған IoT есігі: 6 қадам (суреттермен)
Бейне: Қалай сурет салуға болады? Сандар арқылы 2024, Шілде
Anonim
IoT үй жануарларының сыртқы есігі
IoT үй жануарларының сыртқы есігі
IoT үй жануарларының сыртқы есігі
IoT үй жануарларының сыртқы есігі
IoT үй жануарларының сыртқы есігі
IoT үй жануарларының сыртқы есігі
IoT үй жануарларының сыртқы есігі
IoT үй жануарларының сыртқы есігі

Мен осы нұсқаулықтан тауық қорасының автоматты есігін жасауға шабыттандым. Мен тауық қорасының есігін таймермен ғана емес, телефонмен немесе компьютермен басқара алу үшін есікті интернетке қосқым келді. Бұл есік менің тауық қораға арналған, бірақ оны үй жануарларының басқа түрлеріне оңай қолдануға болады. Сіз мен қолданған ескі автокөлік антеннасынан басқа 12 В қозғалтқыштардың әр түрін қолдана аласыз.

Adafruit IO мен IFTTT -ді ESP8266 құрылғысына орнатып, қосқаннан кейін менің тауық қорасының есігін желіде басқаруға болады. Есікті ашуға немесе жабуға болады:

1) Мен adafruit.io сайтына кіретін дәл уақытта

2) Телефонымның батырмасын басу арқылы

3) Белгілі бір нөмірге мәтіндік хабарлама жіберу арқылы

4) adafruit.io сайтындағы түймені басу арқылы

5) Физикалық түймені басу арқылы

Бұл мүмкіндіктердің үстіне, тауық қорасының есігі IFTTT қосымшасы арқылы телефонға есіктің ашылуы мен жабылмауы сияқты кез келген проблемалар туралы хабарландыруларды жібере алады.

Менің тауық қорасы менің WiFi маршрутизаторымнан 500 фут қашықтықта болғандықтан, мен бұл жобаны орындау үшін 433 МГц RFM69HCW ESP8266 жұптасқан таратқыш пен қабылдағышты қолдандым. Интернетте жабдықталған жабық қара жабық таратқыш қорабы және моторды басқаратын ашық сыртқы қабылдағыш қорабы бар.

Бұл нұсқаулық сізге тауық қорасының есігін ашатын немесе жабатын 12В қозғалтқышты басқаруға қажетті жабдықты құру процесін жүргізеді.

Мен келесі бөліктерді қолдандым:

Adafruit 32u4, жиілігі 433 МГц RFM69HCW - 25 доллар

Adafruit MCP23017 I2C 16 енгізу/шығару портын кеңейтуші IC - 2,95 доллар

Adafruit қауырсыны HUZZAH ESP8266 WiFi - $ 16,95

Adafruit Radio FeatherWing 433MHz RFM69HCW - $ 10

Adafruit SMA коннекторы қалыңдығы 1,6 мм ПХД үшін - 2,50 доллар

Adafruit uFL SMA антенна қосқышы - $ 0,75

Adafruit RGB басу түймесі - $ 10.95

12В қуат көзі - $ 7

5В USB қуат көзі - $ 7

Micro USB кабелі - $ 5

4 арналы реле тақтасы (2 арнаны қолдана алады)- $ 7

DC -DC Buck түрлендіргіші (тек біреуі пайдаланылады, бірақ 5 пакетте болады) - $ 20

Reed Switch (есіктің магниттік қосқышының сенсоры) - 9 доллар

2x 433MHz көп бағытты антенна - $ 6

uFL to SMA кабельдік адаптері (тек біреуі пайдаланылады, бірақ 2 пакетпен келеді) - $ 5

Су өткізбейтін сыртқы ABS жобасының қорабы - $ 11

Қара ABS жобасының қорабы - $ 10

20х4 көк таңбалы СКД - 10 доллар

12В автокөлік антенналық қозғалтқышы - ebay бойынша ~ 25 доллар

Сымдар мен резисторлар

1 -қадам: сыртқы қабылдағыш

Сыртқы қабылдағыш
Сыртқы қабылдағыш
Сыртқы қабылдағыш
Сыртқы қабылдағыш

Сыртқы қабылдағыш 433 МГц RFM69HCW бар Adafruit 32u4 -тен тұрады, ол 12В қозғалтқыштың қуатын қосатын немесе өшіретін бірнеше релеге қосылған. Бұл модульдер, сондай-ақ 12 В-тан 5 В-қа дейінгі тұрақты токтың түрлендіргіші су өткізбейтін сұр жоба қорабының ішінде орналасқан. Соңында, 32u4 Arduino микроконтроллерінің түйреуіштерінің біріне қосылған есік қосқышының сенсоры бар, ол есіктің дұрыс ашылғанын немесе жабылғанын біледі.

Әр 15 секунд сайын үйдегі таратқыш «Ашық» немесе «Жабу» жібереді. Алынған команданың негізінде Arduino 32u4 релесін қосады немесе өшіреді. Мен таңдаған қозғалтқыш үшін - ескі автокөлік антеннасының моторы, мотордың қалай сымдалғанына байланысты екі релені қосуға немесе өшіруге тура келді. Негізінде қуатты қосу үшін реле болды, содан кейін қозғалтқыштың созылуын немесе тартылуын басқаратын басқа реле.

Ашық немесе жабық беріліс қабылданғаннан кейін, сыртқы қабылдағыш «sensorOpen» немесе «sensorClosed» арқылы жауап береді, бұл есіктің қосқышының сенсорының күйін көрсетеді. Ең дұрысы, «ашу» пәрмені «sensorOpen» жауабын қайтарады, бірақ егер есік тұрып қалса немесе қозғалтқыш кептеліп қалса, олар сәйкес келмейді. Егер олар сәйкес келмесе, ішкі таратқыш бұл ақпаратты көрсетеді және телефонға хабарландыру жіберіледі.

2 -қадам: Сыртқы қабылдағыштың аппараттық құралын қосу

Сыртқы қабылдағыштың аппараттық құралын қосу
Сыртқы қабылдағыштың аппараттық құралын қосу
Сыртқы қабылдағыштың аппараттық құралдарын қосу
Сыртқы қабылдағыштың аппараттық құралдарын қосу
Сыртқы қабылдағыштың аппараттық құралдарын қосу
Сыртқы қабылдағыштың аппараттық құралдарын қосу

Сыртқы қабылдағышқа арналған жабдықты сыммен қосу өте қиын емес. Төменде мен қолданған түйреуіштерді оңай қарауға болатындай схеманы қостым.

Жоғарыда айтқанымдай, мен қолданатын қозғалтқышқа екі реле қажет болды. Мен түйреуіштің суретін қостым. Екінші рет 12В қызыл сымға қоссаңыз, қозғалтқыш ұзартылған жағдайда кері тартылады. Егер сіз бір мезгілде қызыл сым мен жасыл сымға 12В қоссаңыз, қозғалтқыш созылады.

Мен жоғарыда байланыстырған қамысты қосқышты әдетте жабық қосқыш ретінде қосу керек. Әдетте ашық және қалыпты жабық арасындағы айырмашылық жоғарыда мен қосқан суретте түсіндірілген. Бағдарламалық жасақтаманы қолдана отырып, 32u4 кіріс штырына бекітілген ішкі тартқыш резисторы бар, сондықтан сізге тек есіктің қосқышын кіріс түйреуішіне қосу керек.

Сізге Adafruit 32u4 антеннасын бекіту керек. Adafruit -тің бұл қадам туралы шынымен жақсы түсіндірілген оқулығын қараңыз. Мен жақсы диапазонды алу үшін сымның орнына сыртқы антеннаны қолдануды жөн көрдім.

3 -қадам: жабық таратқыш

Ішкі таратқыш
Ішкі таратқыш
Ішкі таратқыш
Ішкі таратқыш
Ішкі таратқыш
Ішкі таратқыш

Ішкі таратқыш Adafruit Radio FeatherWing 433MHz RFM69HCW Adafruit Feather HUZZAH үстіне ESP8266 WiFi қосылған. Бұл модульдер 20x4 таңбалы дисплейге және қара жоба қорабының ішіндегі RGB күміс түймесіне қосылған.

Дисплейде NTC синхрондалған сағаты бар, RSB күші дБ (радио сигналдардың күшін өлшейді), тауық қорасының есігі ашылатын уақыт, тауық қорасының есігі жабылатын уақыт және есіктің қазіргі жағдайы. Есік жабылғанда түйме қызыл, ал есік ашық кезде жасыл болады.

Егер сыртқы қабылдағыш қуатын жоғалтса немесе 433 МГц сигналды қандай да бір себептермен жіберу мүмкін болмаса, дисплей мен RGB түймесі екі ықтимал қате режимінің біріншісіне өтеді. Бірінші қате режимінде дисплейде «ҚАТЕ! Сыртқы ресиверді қайта іске қосып көріңіз» деп жазылады. және түйменің түсі болмайды. Егер есікті ауыстыру сенсоры есіктің дұрыс жабылмағанын немесе ашылмағанын анықтаса, дисплей мен RGB түймесі екі қате режимінің екіншісіне өтеді. Екінші қате режимінде дисплейде «ERROR! Есік немесе қосқыш сенсоры мәселесі» жазуы шығады. және түйменің түсі болмайды. Мәселе өздігінен шешілген кезде, дисплей мен RGB түймесі қалыпты жағдайға оралады. Егер осы қате режимдерінің біреуі орын алса, телефонға push хабарландыруларын алуға болады (мен бұл қадамды кейінірек қарастырамын).

4 -қадам: Ішкі таратқыштың аппараттық құралын қосу

Ішкі таратқыштың аппараттық құралдарын қосу
Ішкі таратқыштың аппараттық құралдарын қосу
Ішкі таратқыштың аппараттық құралдарын қосу
Ішкі таратқыштың аппараттық құралдарын қосу

Adafruit Radio FeatherWing 433MHz RFM69HCW Adafruit қауырсыны HUZZAH үстіне ESP8266 WiFi қосылған соң, IAC түйрегіштері SDA мен SCL алынбайды. Сондықтан мен MCP23017 интегралды схемасымен (IC) жүрдім. Бұл I2C арқылы кез келген микроконтроллерге 16 қосымша кіріс/шығыс түйреуішін қосатын өте керемет IC. Сонымен қатар, Adafruit-RGB-LCD-Shield деп аталатын алдын ала жазылған кітапхана бар, ол осы Адафрут өніміне техникалық түрде жазылған таңбалар дисплейі бар IC қолданады, алайда бұл жоба үшін өте жақсы жұмыс істейді.

MCP23017 -ді кейіпкерлерді көрсету идеясы өте жақсы жазылған нұсқаулықтан шыққан. Тексеріп көріңіз!

Мен бұл нұсқаулықты қабылдадым және IC -ге бірнеше түймелер мен RGB дисплейін қосудың орнына, тек бір түймені жалғадым, оның ішінде RGB светодиоды мен монохромды дисплейге қосылды. Бұл маған IC 1 PIN кодын (әдетте RGB дисплейінің көк артқы жарығы үшін пайдаланылады) монохромды дисплейімнің артқы жарығы ретінде, PIN 28 (әдетте RGB дисплейінің жасыл артқы жарығы үшін қолданылады) ішкі жарықдиодты ретінде анықтауға мүмкіндік берді. түймесі және PIN 27 (әдетте RGB дисплейінің қызыл артқы жарығы үшін пайдаланылады) түймешіктің ішіндегі жасыл жарық диоды ретінде. PIN 24 түйменің бір жағына, екінші жағы жерге қосылған. Жоғарыдағы суретте түйменің түйінін көруге болады (мен көк катодты ажыратып тастадым).

Дисплейді қосуға көмектесу үшін сілтеме жасаған нұсқаулықты қолданудан басқа, мен сізге бәрін қосуға көмектесетін жұмсақ схеманы қостым.

Adafruit оқулығында түсіндірілгендей, FeatherWing 433MHz RFM69HCW жоғарғы жағында үш түйреуішті қысқартуға тура келеді. Сізге FeatherWing 433MHz RFM69HCW антеннасын бекіту қажет болады. Adafruit -тің осы қадам бойынша шынымен жақсы түсіндірілген оқулығын қараңыз. Мен жақсы диапазонды алу үшін сымның орнына бүйірлік SMA қосқышы бар сыртқы антеннаны қолдануды таңдадым.

5 -қадам: Adafruit. IO және IFTTT -ке қосылу

Adafruit. IO және IFTTT қосылу
Adafruit. IO және IFTTT қосылу
Adafruit. IO және IFTTT қосылу
Adafruit. IO және IFTTT қосылу

Adafruit IO:

Егер сізде тіркелгі болмаса, Adafruit. IO -ға тіркелу үшін осы Adafruit оқулығындағы нұсқауларды орындаңыз. Сондай -ақ, арна мен бақылау тақтасы деген не екенін оқу керек.

Қарапайым тілмен айтқанда, бақылау тақтасы графикалық пайдаланушы интерфейсіне ұқсайды, ал арналар - бұл Интернетте сақтауға болатын деректер. Сізге 1 бақылау тақтасы мен 4 арнаны жасау қажет болады. Мен тауық етін қалай дұрыс жазу керектігін білмей тұрып, өз атымды атадым, сондықтан қате емлені кешіріңіз. Егер сіз арна атауын arduino кодында қайта атауды қаламасаңыз, мен жасаған атауды қолданыңыз.

Алдымен төрт арнаны жасаңыз:

1) «Тауық төңкерісі» Бұл ашық/жабық қосқышқа арналған

2) «Chicken Coup Timer» Бұл ашық таймерге арналған

3) «Chicken Coup Timer 2» Бұл жақын таймерге арналған

4) «Chicken Cow Error Message» Бұл қате туралы хабарларға арналған

Келесіде Chicken Coup деп аталатын бақылау тақтасын жасаңыз және көк + батырмасын пайдаланып 4 блок қосыңыз. Қойылатын блоктардың түрлері мен блоктардың атаулары үшін жоғарыдағы суретті қараңыз. Коммутаторлардың күйін дәл «Ашық» және «Жабық» деп атағаныңызға көз жеткізіңіз.

IFTTT:

Бұл жобаның IFTTT бөлігі телефондағы түймені басып, тауық қорасының есігін ашу немесе жабу үшін мәтін жіберу мүмкіндігін қосады. Ол сондай -ақ IFTTT қосымшасына тауық төңкерісі туралы қате туралы хабар арнасында бірдеңе жарияланса, сізге push хабарландыруларын жіберуге мүмкіндік береді. Егер сіз бұл мүмкіндіктерді қаламасаңыз, бұл бөлімді өткізіп жіберуге болады.

Алдымен IFTTT есептік жазбаңызды орнатыңыз. Егер сіз мен жасаған алдын ала дайындалған апплеттерді қолданғыңыз келсе, менің тіркелгіме өтіп, өзіңізге қажет апплеттерді қосыңыз. Әйтпесе, сіз өзіңіздің жеке сайтыңызды құрып, жоғарыда жасалған adafruit арнасына жазылуға немесе жариялауға тура келеді.

6 -қадам: кодты жүктеу және WiFi SSID мен құпия сөзді өңдеу

Кодты үйдегі таратқышқа жүктеу үшін сізге Adafruit оқу құралының осы бетінен өту қажет.

Сыртқы қабылдағышқа кодты жүктеу үшін сізге Adafruit оқу құралының осы бетінен өту қажет.

Сізге RFM69 кітапханасын, Adafruit_RGBLCDShield кітапханасын, simpleDSTadjust деп аталатын NTC сағат кітапханасын және тикер кітапханасын орнату қажет болады. Мұны қалай жасау керектігі туралы оқулықты мына жерден таба аласыз.

Arduino IDE ашыңыз және «Outdoor_Receiver.ino» кодын сыртқы кабель Arduino 32u4 -ке USB кабелі арқылы жүктеңіз.

Содан кейін, «Indoor_Transmitter.ino» ашыңыз, config.h қойындысын ашып, тырнақшаға WiFi атыңызды (SSID) және құпия сөзді енгізіңіз. Содан кейін, осы оқулық бетіне өтіп, Adafruit. IO пайдаланушы аты мен IO кілтін алыңыз және оны config.h қойындысына енгізіңіз.

Егер сіз Adafruit IO арналарының атауын өзгерткен болсаңыз, Indoor_Transmitter негізгі қойындысында кодты өңдеу қажет болады. Төмендегілерді өңдеңіз:

AdafruitIO_Feed *toggleSwitch = io.feed («Тауық төңкерісі»);

AdafruitIO_Feed *таймері = io.feed («Тауық төңкерісінің таймері»);

AdafruitIO_Feed *таймер2 = io.feed («Тауық төңкерісінің таймері 2»);

AdafruitIO_Feed *қатесі = io.feed («Тауық төңкерісінің қате туралы хабарламасы»);

Мұның бәрі сізге керек! Егер сіз екі эскиздің қалай жұмыс істейтінін білгіңіз келсе, мен кодты түсіндірдім. Сұрақтарыңыз болса, маған хабарлаңыз. Іске сәт!

Ұсынылған: