Мазмуну:

IoT Wireless Temperature and Motion Sensor: 11 Steps (Сүрөттөр менен)
IoT Wireless Temperature and Motion Sensor: 11 Steps (Сүрөттөр менен)

Video: IoT Wireless Temperature and Motion Sensor: 11 Steps (Сүрөттөр менен)

Video: IoT Wireless Temperature and Motion Sensor: 11 Steps (Сүрөттөр менен)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim
IoT зымсыз температурасы жана кыймыл сенсору
IoT зымсыз температурасы жана кыймыл сенсору

Мени Instructables ичиндеги көптөгөн IoT долбоорлору шыктандырды, ошондуктан үйрөнүү процессинде мен пайдалуу болгон пайдалуу тиркемелерди айкалыштырууга аракет кылып жатам. IoT Температура сенсоруна байланыштуу мурунку көрсөтмөлөрүмдүн кеңейтүүсү катары мен азыр подсистемага көбүрөөк мүмкүнчүлүктөрдү коштум. Кошумча функциялар:

- Убакытты алуу үчүн NTP байланышы

- Алыстан башкарыла турган LED

- PIR сенсор кыймылын аныктоо үчүн

- iPhone "Home" менен туташууга уруксат берүү үчүн Raspberry PI үй ишин аткарып туташты.

1 -кадам: Концепция, Байланыш жана Компоненттер

Концепция, Байланыш жана Компоненттер
Концепция, Байланыш жана Компоненттер

Жогоруда көрсөтүлгөн түшүнүк, эгер кимдир бирөө үйдө болсо, кыймылды аныктоо үчүн кошумча жөндөм менен температураны алыстан көзөмөлдөөгө уруксат берүү жана LED аркылуу билдирүүгө уруксат берүү. Бирдикке жергиликтүү LAN же алыстан веб -сервер аркылуу кирүүгө болот. IPhone "Home" тиркемесине туташууга уруксат берүү үчүн, Raspberry пирогун (милдеттүү эмес) Homekit аксессуары менен туташтырсаңыз болот.

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

- NodeMcu Lua ESP8266 иштеп чыгуучу тактасы. Мен банггуддан өзүмдүкүн алам.

- LM35 температура сенсору

- PIR сенсор

- LED

- Прототип тактасы

- Arduino IDE

- PHP серверинин сценарийи иштетилген веб -сервер иштейт

- Raspberry pi (Милдеттүү эмес)

2 -кадам: Arduino IDEди иштетиңиз

Arduino IDEди иштетиңиз
Arduino IDEди иштетиңиз

Бул кадам боюнча чоо -жайын билүү үчүн, мурунку көрсөтмөлөрүмдү караңыз 2. ESP8266 менен IoT Температура сенсорунда.

3 -кадам: Температура сенсорун, LEDди жана PIRди туташтыруу

Температура сенсорун, LEDди жана PIRди туташтыруу
Температура сенсорун, LEDди жана PIRди туташтыруу
Температура сенсорун, LEDди жана PIRди туташтыруу
Температура сенсорун, LEDди жана PIRди туташтыруу
Температура сенсорун, LEDди жана PIRди туташтыруу
Температура сенсорун, LEDди жана PIRди туташтыруу

Температура сенсорунун LM35 3 буту бар, биринчи буту VCC, муну 3.3Vга туташтырсаңыз болот (ESP8266 тактасынын өндүрүшү 3.3V). Ортоңку буту Vout (бул жерде температура окулат, сиз муну ESP8266 пин AD0 аналогдук киришине туташтыра аласыз, бул сүрөттө көрсөтүлгөндөй тактанын жогорку оң жагында жайгашкан. Ал эми оң буту жерге туташкан.

PIR сенсору 3 буттан турат, сиз бутунун жанындагы ПХБда +, 0, кичинекей белгисин көрө аласыз. Ошентип, "+" ды 3.3V, "-" менен жерге жана орто пинди "0" менен ESP8266 D6 пинине туташтырыңыз.

Светодиоддун 2 гана буту бар болчу, "+" (Анод), узун буту муну D5 пин ESP8266 менен байланыштырат жана "-" (Катод) кыска буттары жерге (GND) туташтырылышы керек.

4 -кадам: Cloud Webserverди орнотуу

Бул кадам үчүн белгилүү бир божомол бар:

Сизде тийиштүү доменде жайгашкан, иштеп жаткан веб -сервериңиз бар. Сиз Filezilla же башка FTP программасын колдонуп FTP аркылуу веб -сервериңизге файлдарды өткөрүп берүү менен таанышсыз.

Тиркелген zip файлын веб -сайтыңыздын тамырына жүктөңүз. Бул машыгуу үчүн сиздин веб -сайтыңыз "https://arduinotestbed.com" деп ойлойбуз.

Бардык файл веб -сервердин тамырында жайгашкан деп божомолдонот, эгер сизде аны башка папкада сактасаңыз, ArduinoData3.php файлында да, Arduino эскизинде да файлдын жайгашуусун тууралаңыз. Эгер ишенбесеңиз, мага кабарлаңыз, мен колумдан келген жардамымды берүүгө аракет кылам.

5 -кадам: Температура маалыматтарын сактоо үчүн маалымат базасын орнотуу

Температура маалыматын сактоо үчүн маалымат базасын орнотуу
Температура маалыматын сактоо үчүн маалымат базасын орнотуу
Температура маалыматын сактоо үчүн маалымат базасын орнотуу
Температура маалыматын сактоо үчүн маалымат базасын орнотуу
Температура маалыматын сактоо үчүн маалымат базасын орнотуу
Температура маалыматын сактоо үчүн маалымат базасын орнотуу

Биз бул көнүгүү үчүн sqllite маалымат базасын колдонобуз. Sqllite - бул серверди талап кылбаган жеңил файлга негизделген маалымат базасы. Маалыматтар базасы сиздин веб -сервериңизде жергиликтүү түрдө жайгашкан. Эгерде сиз коопсуздук жөнүндө тынчсызданып жатсаңыз, анда mysql же MSSQL сыяктуу туура маалымат базасын колдонуу үчүн кодду өзгөртүүңүз керек.

Баштоодон мурун phpliteadmin.php файлында жайгашкан маалымат базасынын сырсөзүн өзгөртүү керек. Ошентип, бул файлды веб -сервериңизде ачыңыз жана 91 -саптагы сырсөз маалыматын каалаган сырсөзүңүзгө түзөтүңүз.

Андан кийин веб -сервериңизде phpliteadmin.php көрсөтүңүз. Биздин мисалды колдонуудан мурун, https://arduinotestbed.com/phpliteadmin.php дарегин көрсөтүңүз

Серверде маалымат базасы жок болгондуктан, сизге маалымат базасын түзүү үчүн экран көрсөтүлөт. Жаңы маалымат базасын киргизүү кутусуна "temperatur.db" киргизип, "Түзүү" баскычын басыңыз. Андан кийин маалымат базасы ийгиликтүү түзүлөт. Бул учурда маалымат базасы дагы эле бош, андыктан сизге маалыматтарды жайгаштыруу үчүн маалыматтар базасынын столунун структурасын түзүү үчүн sql скрипти керек болот.

6 -кадам: "Температура" таблицасын түзүңүз

Түзүү
Түзүү
Түзүү
Түзүү

Таблицаны түзүү үчүн, "SQL" өтмөгүн чыкылдатып, төмөнкү sql сурамына чаптаңыз.

Транзакцияны баштоо;

-----Таблицанын температурасы үчүн структура ---- CREATE TABLE 'temperatur' ('ID' INTEGER PRIMARY KEY NOT NULL, нымдуулук INT NULL эмес, температура REAL, убакыт белгиси DATETIME DEFAULT CURRENT_TIMESTAMP, 'жылыткыч' BOOLEAN, 'goaltemp' REAL); COMMIT;

Андан соң ылдыйдагы "Go" баскычын басыңыз. Таблица ийгиликтүү түзүлүшү керек.

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

Эми бизде маалымат базасы түзүлгөндүктөн, сиз төмөнкү url көрсөтө аласыз

arduinotestbed.com/ArduinoData3.php

Сиз LEDди күйгүзүү үчүн жасалма маалыматтарды, кыймыл сенсорун жана башкаруу панелин көрсөткөн температуралык тергичти көрөсүз. Графиктин ылдыйкы бөлүгү дагы эле бош бойдон калат, анткени азырынча маалымат жок.

7 -кадам: Температура сенсорунун эскизин ESP8266ге жүктөңүз

Температура сенсорунун эскизин ESP8266га жүктөңүз
Температура сенсорунун эскизин ESP8266га жүктөңүз
Температура сенсорунун эскизин ESP8266га жүктөңүз
Температура сенсорунун эскизин ESP8266га жүктөңүз
Температура сенсорунун эскизин ESP8266га жүктөңүз
Температура сенсорунун эскизин ESP8266га жүктөңүз

Эми бардык тиркелген файлды көчүрүп, "ESP8266TempPIRSensor.ino" ачыңыз Arduino интерфейси сиз үчүн папканы түзөт. Калган файлдарды Arduino интерфейси тарабынан түзүлгөн жаңы папкага жылдырыңыз.

Зарыл болсо, көрсөтүлгөн веб -серверди жана data_store3.php файлынын жайгашкан жерин өзгөртүңүз. Андан кийин эскизди ESP8266ге жүктөңүз.

Эгерде баары ойдогудай болсо, анда ал ийгиликтүү жүктөлүшү керек жана ESP биринчи жолу AP режимине өтөт. Ага туташуу үчүн ноутбукту же уюлдук телефонду колдонсоңуз болот. Сиз "ESP-TEMP" аты менен AP таба алышыңыз керек.- ESP-TEMP менен мобилдик телефонуңуздун ноутбугунун жардамы менен туташууга аракет кылыңыз. Windowsто "ipconfig" буйругу же Linux же Macта "ifconfig" буйругу. -Эгерде сиз iPhone колдонуп жатсаңыз, сиз туташкан ESP-TEMPтин жанындагы i баскычын чыкылдатыңыз-Серепчиңизди ачыңыз жана ESP-TEMPти көрсөтүңүз, эгер сизге 192.168.4.10 сиздин IP катары дайындалса, ESP-TEMP 192.168.4.1 IPи бар, ошондуктан сиз жөн гана https://192.168.4.1 дарегине өтсөңүз болот жана сизге wifi роутериңиздин ssid жана psk ачкычын киргизе турган орнотуу баракчасы сунушталат. Сиз экөөнү тең киргизип, "Wifi конфигурациясын жаңыртуу" белгилөө кутучасын белгилегенден кийин, жөндөөнү ESP8266га жаңыртуу үчүн "жаңыртууну" чыкылдатыңыз.

Эгер сиз Serial Monitorдо мүчүлүштүктөрдү иштетүүнү кааласаңыз, анда комментарийсиз калтырышыңыз керек болот

#аныктоо DEBUG

сааттагы линия.h жана комментарий берди

//#undef DEBUG

сызык андан кийин Tools-> Serial Monitorго басыңыз. Сериялык монитор терезеси сизге WiFi туташуусун көрсөтөт жана ESP8266нын жергиликтүү IP дарегин көрсөтөт. Температураны окуу орун алганда ички көк LED бир ирет өчүп калат. Ошондой эле кыймыл аныкталганда күйгүзүлөт.

8 -кадам: Температура жана Кыймыл сенсоруна жетүү

Сиздин Температура жана Кыймыл сенсоруна жетүү
Сиздин Температура жана Кыймыл сенсоруна жетүү
Сиздин Температура жана Кыймыл сенсоруна жетүү
Сиздин Температура жана Кыймыл сенсоруна жетүү

Эми сиз ESP8266 жергиликтүү веб -серверине дагы бир жолу көрсөтө алышыңыз керек. Бул убакытты, температураны жана кыймыл сенсорун көрсөтөт.

Эми сиз тышкы веб -сервериңизди көрсөтө аласыз, бул мисалда

Сиз LEDди которуштуруу үчүн башкаруу панелинин астындагы баскычты жылдырсаңыз болот. Мен муну жумуштан үйгө кайтып келе жатканымда балдарыма кабарлоо үчүн колдоном.

Кыймыл сенсору секунд сайын жаңыртылып турат, андыктан кыймылдын бар же жок экенин билүү үчүн баракты тез -тез жаңыртып турууга туура келет. Учурда автоматтык түрдө жаңыртуу 60 секундга коюлган. Температура ар бир эки мүнөттө окулат, бирок сиз муну сизге ылайыктуу убакытка чейин туураласаңыз болот.

Куттуктайбыз, эгер сиз буга чейин жетишкен болсоңуз !!, өзүңүздүн арткы бетиңизди сылап, жаратууңуздан ырахат алыңыз. Кийинки кадам милдеттүү эмес, эгер сиз LEDди көзөмөлдөп, температураны, ошондой эле Apple түзмөктөрүнүн кыймыл сенсорун көзөмөлдөп тургуңуз келсе.

9 -кадам: Raspberry Piдеги HomeKit үчүн HomeBridge орнотуңуз (Милдеттүү эмес)

Raspberry Pi -де HomeKit үчүн HomeBridge орнотуңуз (Милдеттүү эмес)
Raspberry Pi -де HomeKit үчүн HomeBridge орнотуңуз (Милдеттүү эмес)

Мага HomeBridge жөнүндө көп нерселерди билүүгө мүмкүндүк берген GalenW1 көрсөтмөлөрү шыктандырды.

HomeKit үчүн HomeBridgeди Raspberry Piге орнотуу үчүн, төмөндөгү көрсөтмөнү колдоно аласыз

github.com/nfarina/homebridge

HomeBridge Iphone'догу Home тиркемесин мурунку кадамдарда сенсорлорго туташтырууга мүмкүндүк берет.

HomeBridge орнотулганда, бир нече плагиндерди орнотушуңуз керек:

- Температура сенсору

- Кыймыл сенсору

- Которуу

sudo npm орнотуу -g homebridge-http-temperature

sudo npm орнотуу -g homebridge -MotionSensor

sudo npm орнотуу -g homebridge-http-simple-switch

Плагин орнотулгандан кийин төмөндө жайгашкан config.json файлын конфигурациялашыңыз керек болот

sudo vi /home/pi/.homebridge/config.json

config.json файлынын мазмунун төмөндөгүдөй туураласаңыз болот, url туура жерди көрсөтүп жатканын текшериңиз.

10 -кадам: Homebridgeди Iphoneго туташтыруу

Homebridgeди Iphoneго туташтыруу
Homebridgeди Iphoneго туташтыруу
Homebridgeди Iphoneго туташтыруу
Homebridgeди Iphoneго туташтыруу
Homebridgeди Iphoneго туташтыруу
Homebridgeди Iphoneго туташтыруу

Эми бардык аксессуарлар конфигурацияланган соң, сиз төмөнкү буйрукту колдонуп гомебриджди иштете аласыз

үй көпүрөсү

Сиз экранды жогорудагыдай көрүшүңүз керек. Homebridgeге Homebridge кошуу үчүн төмөнкү кадамды аткарсаңыз болот.

- Эми Iphoneңуздагы "Үй" колдонмосун иштетиңиз

- "Аксессуарларды кошуу" баскычын чыкылдатыңыз

- кодду сканерлөө үчүн сизге экран көрсөтүлөт, сиз Raspberry Pi экранынан кодду сканерлөө үчүн же телефонуңуздун камерасын колдонуп кодду кол менен кошо аласыз.

Эске алыңыз, Iphone да, Raspberry Pi да иштөө үчүн бир зымсыз роутерде болушу керек.

- Туташкандан кийин, сиздин аксессуарларыңыз тастыкталбаганын көрсөткөн экран пайда болот, улантуу үчүн "Баары бир кошуу" баскычын басыңыз.

- Сизде ар бир аксессуарды конфигурациялоо мүмкүнчүлүгү болот, бул учурда бизде жарык өчүрүүчү, кыймыл сенсору жана температура сенсору бар.

- Акыркы экран сизге туташкан бардык аксессуарларды көрсөтөт.

Ал туташкандан кийин, кыймыл сенсорун, температураны текшерүү жана жарыкты күйгүзүү жана өчүрүү үчүн Сири колдоно аласыз.

11 -кадам: Үй фронтуңузду фондо иштетиңиз

Үй фронтунда чуркоо үчүн үй көпүрөсүн алыңыз
Үй фронтунда чуркоо үчүн үй көпүрөсүн алыңыз
Үй фронтунда чуркоо үчүн үй көпүрөсүн алыңыз
Үй фронтунда чуркоо үчүн үй көпүрөсүн алыңыз
Үй фронтунда чуркоо үчүн үй көпүрөсүн алыңыз
Үй фронтунда чуркоо үчүн үй көпүрөсүн алыңыз

Куттуктайм !! сен муну кылдың. Бонус катары сиз төмөнкү буйрукту колдонуп, үй фонунда чуркай аласыз:

homebridge &

Эми сиз Siri менен көңүл ачып, эмгегиңизден ырахат ала аласыз.

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

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