Мазмұны:
- 1 -қадам: MQTT дегеніміз не?
- 2 -қадам: MQTT брокерін Raspberry Pi -ге орнату
- 3 -қадам: IOT крикетін MQTT арқылы RaspberryPi -ге қосыңыз
- 4 -қадам: MQTT хабарламаларын тексеріңіз
- 5 -қадам: Қорытынды
- 6 -қадам: Біз туралы
Бейне: Өте төмен қуатты WiFi үйді автоматтандыру жүйесі: 6 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Бұл жобада біз үйді автоматтандырудың негізгі жүйесін бірнеше қадаммен қалай құруға болатынын көрсетеміз. Біз орталық WiFi құрылғысы ретінде жұмыс істейтін Raspberry Pi қолданамыз. Ақырғы түйіндер үшін біз IOT Cricket -ті батареямен жұмыс істейтін WiFi құрылғыларын жасау үшін қолданамыз. температура сенсоры және оны кодтың бір жолын жазбай RPi -ге қосыңыз.
Біздің жүйе MQTT байланыс хаттамасына негізделетін болады, ол көптеген үй автоматтандыру жүйелерінде кеңінен қолданылады. Оны орнату үшін біз Mosquitto MQTT брокерін (сервер) таңдаймыз және оны Raspberry Pi -ге (біздің орталық хаб) орнатамыз.
IOT Cricket сонымен қатар HTTP (S) және MQTT протоколдарын қолдайды. Біз оны MQTT көмегімен біздің RPi MQTT брокерімен тікелей байланысу үшін конфигурациялаймыз.
Бұл жобаны барлық деңгейдегі өндірушілер жүзеге асыра алады. Ол қарапайым дәнекерлеуді қажет етуі мүмкін, бірақ ол кодтауды немесе бағдарламалауды қажет етпейді. Бұл жобаның соңында сіз өзіңіздің жүйеңізді қалай оңай құруға болатынын және жүйеге IOT соңғы түйіндерін қосу арқылы қалай тез кеңейтуге болатынын білесіз.
Жабдықтар:
- Raspberry Pi (біз бұл жобада 3 -ші нұсқаны қолдандық)
- IOT Cricket WiFi модулі
- 2xAAA батарея ұстағыш
- 2xAAA батареялары
1 -қадам: MQTT дегеніміз не?
MQTT хаттамасы жариялау/жазылу үлгісін қолдану арқылы хабар алмасудың жеңіл әдісін ұсынады. Бұл Интернеттегі заттардың хабар алмасуына, мысалы, қуаты төмен датчиктерге немесе телефондар, ендірілген компьютерлер немесе микроконтроллерлер сияқты мобильді құрылғыларға қолайлы етеді. (дереккөз: mosquitto.org)
Біз тақырыптарға жазылуды және хабарламалардың келуін тыңдауды қалағанымызша көптеген құрылғыларды қолдана аламыз. Егер кейбір құрылғылар осы тақырып бойынша хабарлама жарияласа, онда тақырыпқа жазылған барлық құрылғылар бұл хабарды бірден алады. Тақырып иерархиялық тақырыптарды құруға мүмкіндік беру үшін әдетте / таңбалармен біріктірілген кез келген ерікті жол болуы мүмкін. MQTT -дің ең әдеттегі қолданылуы - бұл құрылғыларға жазылуға және хабарламаларды жариялауға болатын бір орталық сервердің болуы. Бұл серверге қосылған құрылғылар арасындағы барлық байланысты жеңілдетеді. Бұл жобада біз RPi -ді MQTT орталық брокері ретінде қолданамыз және барлық басқа құрылғылар осы брокер арқылы хабарламалар жібереді. Бұл туралы білудің ең жақсы жолы - бұл өз бетімізше жасау. MQTT интернетте көптеген ресурстар бар. Алайда, бұл жоба үшін сіз жоғарыда келтірген негізгі кіріспемен таныс болуыңыз керек.
2 -қадам: MQTT брокерін Raspberry Pi -ге орнату
Бұл жоба үшін біз ашық көзі Mosquitto MQTT брокерін қолданамыз. Ол жеңіл және қуаты төмен бір тақталы компьютерлерден толық серверлерге дейінгі барлық құрылғыларда қолдануға жарамды.
Орнатуды бастамас бұрын, алдымен жүйенің компоненттерін жаңартқан дұрыс:
$ sudo apt-get update $ sudo apt-get upgrade
Mosquitto брокерін орнатыңыз. Терминалды ашып, келесі пәрменді теріңіз:
$ sudo apt -get mosquitto -y орнатыңыз
Mosquitto брокерін конфигурациялау. Конфигурациялық файлды өңдеу:
$ sudo vi /etc/mosquitto/mosquitto.conf
және жоғарғы жағына келесі жолдарды қосыңыз:
порт 1883allow_anonymous true
Өзгерістерді қолдану үшін RPi қайта іске қосыңыз:
$ sudo қайта жүктеу
Міне бітті! Біздің MQTT брокері қазір жұмыс істейді!
ЕСКЕРТПЕ: бұл жобаның қарапайымдылығы үшін біз шоттар жасамаймыз. Біздің жергілікті желідегі кез келген адам осы MQTT брокеріне тіркелу деректері жоқ қосыла алады. Егер сіз пайдаланушының аутентификациясын қосқыңыз келсе және оны қауіпсіз еткіңіз келсе, Интернетте мұны қалай жасауға болатыны туралы көптеген оқулықтар бар.
Енді бізге IP адресін алу керек, сондықтан біз Mosquitto брокеріне желідегі басқа құрылғылардан хабарлама жібере аламыз:
IP мекенжайын алыңыз:
$ хост аты -I.
your_RPi_IP_adress (мысалы, 192.168.1.10)
3 -қадам: IOT крикетін MQTT арқылы RaspberryPi -ге қосыңыз
Бұл жобада біз IOT Cricket WiFi модулін жүйеге әр 30 секунд сайын температураны хабарлау үшін қарапайым сенсор үшін қолданамыз. Ол батареямен жұмыс істейді, сондықтан біз оны үйде немесе бақшада кез келген жерге жабыстыра аламыз. Кейінірек сіз IOT Cricket -ті аккумулятормен жұмыс істейтін әр түрлі сенсорлар, дабылдар, түймелер, қосқыштар жасау және оларды біздің RPi MQTT брокеріне қораптан қосу үшін қолдана аласыз.
Бірінші қадамда батареяларды крикетке қосыңыз.
Крикет кіріктірілген температура сенсорымен бірге келеді. Біз оны RPi IP мекенжайын орнату арқылы MQTT брокеріне температура мәнін жіберу үшін конфигурациялауымыз керек, ол үшін Cricket конфигурация тақтасын ашыңыз (мына қадамдарды қараңыз) және келесі параметрлерді қолданыңыз (төмендегі суретте көрсетілгендей, өтінемін) IP мекенжайын «url» өрісінде RPi деңгейіне реттеңіз)
Енді біз конфигурация режимінен шығамыз, құрылғы дайын! Крикет біздің MQTT брокеріне әр 30 секунд сайын деректерді жіберіп отырады.
4 -қадам: MQTT хабарламаларын тексеріңіз
Біздің MQTT брокеріне жіберілген хабарламаларды көру / алу үшін біз әр түрлі құралдарды қолдана аламыз.
Ең оңайсы mosquitto_sub пәрмен жолы құралы болуы мүмкін. Біз оны желідегі кез келген компьютерге немесе RPi -ге мына пәрменмен орната аламыз:
$ sudo apt-get mosquitto-clients -y орнатыңыз
Енді біз MQTT брокері арқылы жіберілетін барлық тақырыптар мен хабарларды тыңдау үшін келесі пәрменді орындай аламыз:
$ mosquitto_sub -v -h your_RPi_IP_adress -p 1883 -t '#'
… / 59A98F494C / device_name MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / Temp 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
Жоғарыда айтылғандар IOT Cricket біздің брокерге жіберетін нәрселердің нәтижелі мысалы болып табылады. Басқа деректердің ішінде біз температураны көре аламыз:
/59A98F494C/temp 26.0
MQTT -нің ерекшелігі - бұл бізді қызықтыратын тақырыптарға ғана жазылуға мүмкіндік береді. Егер біз тек температураны алғымыз келсе, келесі пәрменді қолдана отырып /59A98F494C /temp тақырыбына жазыла аламыз:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
5 -қадам: Қорытынды
Біз бұл жобада WiFi -ге негізделген қуаты төмен, энергия үнемдейтін, үй автоматтандыру жүйесін құруды бастау үшін қажетті аппараттық және бағдарламалық қамтамасыз етуді көрсеттік. MQTT - бұл неғұрлым күрделі жүйелерге негізделетін мән.
MQTT -мен біріктіруге болатын бағдарламалық қамтамасыз ету мен қызметтердің экожүйесі үлкен! Үй көмекшісі, түйін RED, Grafana және т.б сияқты көптеген керемет жүйелер бар, олар сізге өз жүйеңіздің керемет тәжірибесін ұсынуға мүмкіндік береді. Біз температураны қарапайым басып шығаруды ғана емес, сонымен қатар деректерді визуалды түрде көрсететін және сіздің құрылғыларды басқаратын тамаша бақылау тақталарына ие бола аламыз.
Бізде бұл жүйенің негізгі инфрақұрылымы бар болғандықтан, аспан - бұл IOT Cricket модульдерін қолдана отырып, басқа WiFi құрылғыларын құруға және біздің үйді автоматтандыру жүйесіне қосуға болатын шектеу.
Осы жерге келгеніңізге рахмет. Сізге бұл оқулық ұнады деп сенеміз!
Things On Edge командасы
6 -қадам: Біз туралы
Things On Edge - Ұлыбританияның Кембридж қаласында орналасқан компания. Біз бірнеше электронды құрылғыларды смартфондарға немесе басқа интернет қызметтеріне бірнеше минут ішінде қосуға мүмкіндік беретін өте төмен батареямен жұмыс істейтін Cricket Wi-Fi модулін жасаймыз. Ол ешқандай бағдарламалау мен кодтауды қажет етпейді. Бұл сіздің құрылғыларды MQTT және HTTP apis арқылы IOT экожүйесінің үлкен қызметтеріне біріктіруге мүмкіндік береді.
Ұсынылған:
Arduino -дағы өте төмен қуатты BLE 2 бөлігі - Температура/ылғалдылық мониторы - Rev 3: 7 қадамдары
Arduino -дағы өте төмен қуатты BLE 2 -бөлім - Температура/ылғалдылық мониторы - 3 -ші жаңарту: 23 қараша 2020 ж. - 2 xAAA сілтілі үшін 22 ай ішінде 2 x AAA батареясын бірінші рет ауыстыру Жаңартылған: 7 сәуір 2019 ж. - 3 сәуір lp_BLE_TempHumidity, pfodApp V3.0.362+және автоматты дроссельді қолдана отырып, Күн/Уақыт графиктерін қосады
Arduino басқару релесі модулін пайдаланып ақылды үйді қалай жасауға болады - Үйді автоматтандыру идеялары: 15 қадам (суреттермен)
Arduino басқару релесі модулін пайдаланып ақылды үйді қалай жасауға болады | Үйді автоматтандыру идеялары: Бұл үйді автоматтандыру жобасында біз 5 тұрмыстық техниканы басқара алатын ақылды үй реле модулін жасаймыз. Бұл реле модулін Мобильді телефоннан немесе смартфоннан, ИҚ қашықтан басқару пультінен немесе теледидардың қашықтан басқару пульті, Қолмен қосқыштан басқаруға болады. Бұл ақылды эстафета сонымен қатар сезеді
SMS хабарландыруы мен Thingspeak деректерді жүктеу, GPS жүйесі бар автокөлікті бақылау, Arduino негізіндегі, үйді автоматтандыру: 5 қадам (суреттермен)
GPS Car Tracker бірге SMS хабарлама және Thingspeak деректер жүктеу, Arduino негізделген, Басты автоматтандыру: Мен өткен жылы осы GPS Бақылаушы жасады және ол жақсы жұмыс істейді, өйткені Мен Instructable қазір оны жариялауға. Ол магистральдық керек -жарақтарға қосылады, GPS трекері мобильді деректер арқылы көліктің орнын, жылдамдығын, бағытын және өлшенген температураны жүктейді
Blynk қолданбай ESP8266 WiFi көмегімен үйді автоматтандыру!: 24 қадам (суреттермен)
Blynk қолданбай ESP8266 WiFi көмегімен үйді автоматтандыру!: Біріншіден, мен бәріне РАХМЕТ айтамын, бұл НАЗАРСЫЗДАУ үшін Автоматтандыру байқауының жеңімпазы. Міне, мен сізге уәде еткенімдей, мұнда ESP8266 WiFi модулімен тұрмыстық техниканы басқаруға арналған нұсқаулық бар
Arduino 3 -те өте төмен қуатты BLE 3 - Nano V2 ауыстыру - Rev 3: 7 қадамдары (суреттермен)
Arduino 3 -те өте төмен қуатты BLE 3 - Nano V2 ауыстыру - Rev3: Жаңарту: 7 сәуір 2019 ж. - lp_BLE_TempHumidity, 7 сәуір 2019 ж., PfodApp V3.0.362+көмегімен күн/уақыт графиктерін қосады және деректерді жіберу кезінде автоматты дроссельді қосады Жаңарту: 24 наурыз 2019 - lp_BLE_TempHumidity -тің 2 -ші нұсқасы, басқа сюжеттік опцияларды қосады және i2c_ClearBus, GT832E_ қосады