Мазмұны:

Үйдегі автоматтандырылған қуатты автономды жүйе - Pi, Sonoff, ESP8266 және Node -Red: 9 қадам (суреттермен)
Үйдегі автоматтандырылған қуатты автономды жүйе - Pi, Sonoff, ESP8266 және Node -Red: 9 қадам (суреттермен)

Бейне: Үйдегі автоматтандырылған қуатты автономды жүйе - Pi, Sonoff, ESP8266 және Node -Red: 9 қадам (суреттермен)

Бейне: Үйдегі автоматтандырылған қуатты автономды жүйе - Pi, Sonoff, ESP8266 және Node -Red: 9 қадам (суреттермен)
Бейне: Обзор двухкабинника ФОРД ТРАНЗИТ 470 с гидробортом | Автоцентр Сухина 2024, Қараша
Anonim
Үйдегі автоматтандырылған қуатты автономды жүйе - Pi, Sonoff, ESP8266 және Node -Red
Үйдегі автоматтандырылған қуатты автономды жүйе - Pi, Sonoff, ESP8266 және Node -Red

Бұл нұсқаулық сізді жергілікті желіге қосыла алатын кез келген құрылғы арқылы және керемет теңшелетін веб -интерфейсі арқылы шамды немесе құрылғыны қосуға/өшіруге болатын бірінші базаға апарады. Кеңейту/ қосу мүмкіндіктерінің ауқымы кең, оның ішінде электрондық поштаны жіберу, твиттер хабарламалары, оқу сенсорлары (мысалы, температура). Сіз ережелерді оңай орната аласыз, мысалы. - егер температура 15С -тан төмен болса, 23: 00 -де электрлік көрпені 30 минутқа қосыңыз. Жүйеде UCP қарағанда әлдеқайда сенімді TCP бар MQTT хаттамасы қолданылады - бұл таңқаларлық, кейбір коммерциялық үй автоматтандыру құрылғылары. Мұнда сипатталған жүйені орнатудың ауыр жұмысы аяқталғаннан кейін көңілді бастауға болады. Қызыл түйін интуитивті, тез және оңай орнатылатын керемет мүмкіндіктер интерфейсін ұсынады және керемет мүмкіндік береді.

Нәтиже - үйдің автоматтандырылған қуатты жүйесі, ол толықтай жеке бақылауда және толығымен жергілікті желіде. Instructables -те көрсетілген көптеген жүйелер бұлтқа негізделген серверлермен жұмыс істейді, сондықтан қауіпсіздікке қауіп төндіреді және жазылуды қажет етуі мүмкін. Оларды орнату оңай, бірақ қауіпсіздік қаупі жоғары және ықтимал құны жоғары. Сырттан кіру пайдалы болса, үй желісіне/жүйеге қауіпсіз қосылуды қосу үшін Pi -ге VPN (виртуалды жеке желі) орнатуға болатынын қосуым керек (Google Pi OpenVPN нұсқаулық үшін).

Бұл жүйе Sonoff құрылғыларын Sonoff-Tasmoda деп аталатын ашық бастапқы кодымен қайта бағдарламалауды қажет етеді. Мұны Arduino арнайы қондырғысы мен USB -ден сериялық түрлендіргіш көмегімен жасауға болады. Sonoff құрылғылары ESP8266 Wi-Fi чипін қолданады, сондықтан сіз ESP8266 модульдерін қолдана отырып, өз құрылғыларыңызды жасай аласыз немесе сымсыз қосылымды жеткізу үшін оларды басқа элементтерге орната аласыз.

Ең үлкен міндет - хаб ретінде Raspberry Pi орнату. Бұл қосылған құрылғылармен байланысты басқаратын MQTT брокерін (немесе серверін) басқарады. Pi сонымен қатар Node-Red деп аталатын жүйені басқарады, ол хабарламаларды, деректерді және шығыс командаларын ұстай алады-мысалы, электр жамылғысын қашан қосу керек. Node-Red сонымен қатар смартфон/планшет/компьютер/ноутбук арқылы кіруге болатын веб-бетке қызмет көрсетуге арналған интерфейсті қамтамасыз етеді, не болып жатқанын көруге және шамдарды қолмен қосуға және т.б.

Бұл нұсқаулықтағы менің мақсатым - әрбір қадамды жаңадан бастаған жүйенің жұмыс істей алатындай егжей -тегжейлі беру.

Қадамдар:

  • Rasbian Stretch көмегімен Pi жүктеңіз
  • Node-Red функцияларын жаңартыңыз және қосыңыз
  • Mosquitto MQTT брокерін орнатыңыз
  • Sonoff-Tasmota микробағдарламасын жүктеу үшін Arduino ортасын орнатыңыз
  • Sonoff қосқышын қайта бағдарламалаңыз
  • Қызыл-түйін интерфейсін орнатыңыз
  • Тексеріңіз, бәрі жұмыс істейді.

Сізге қажет аппараттық құралдар:

  • Raspberry Pi және қуат көзі (және бастапқы орнату үшін пернетақта мен монитор) (мұнда B үлгісі қолданылады)
  • Sonoff қосқышы
  • USB сериялық түрлендіргіші
  • Қосымша - NodeMCU сияқты ESP әзірлеу тақтасы.

Менің Raspberry Pi -мен болған тәжірибем мынада: кез келген нәрсені орнату әлдеқайда ауыртпалықты тудырады, себебі жұмыс істемейтін немесе түсініктеме жақсы болуы мүмкін кейбір маңызды қадамда тұрып қалу мүмкін емес. Форумдар әрқашан жұмыс істейтін кеңестерді алмайды! Мен қандай да бір себептермен жұмыс істемейтін бірнеше маршруттарды таптым. Бұл 3 күнді құрайды! Содан кейін мен бәрін сүртіп, жаңадан бастадым және бір күннен аз уақыт ішінде аяқтадым. Бұл ескі Распиан Джессиді қолданды. Осыдан кейін мен ағымдағы және жақында шығарылған (Stretch) нұсқасын қолданудың жолын таптым және бәрін қайтадан жасадым. Бұл нұсқаулық нұсқауларды Pi -ге көшіруге және қоюға мүмкіндік береді. Сондықтан сіз оны бірнеше сағат ішінде жасауыңыз керек. Қалай болғанда да, бұл сізге оқу қисығын тездетеді және ауруды азайтады деп үміттенемін. Маған сеніңіз, бұл түпкілікті нәтиже үшін тұрарлық.

1 -қадам: Pi -ді Rasbian Stretch көмегімен жүктеңіз

Бұл өте қарапайым болуы керек. 8Gb немесе 16Gb SD картасынан бастаңыз. Соңғы нұсқаны мына жерден жүктеп алыңыз:

www.raspberrypi.org/downloads/

Мұндағы негізгі ағын толық нұсқасы жүктелгенін болжайды. Бірақ кеңістікті үнемдеу үшін қарапайым нұсқаны пайдалануға болады. Егер Raspbian Stretch Lite қолданылса, осы қадамды орындап, соңында 9 -қадамға өтіңіз.

Жүктелген файлды босату.img файлы бар қалтаны береді. 7Zip Windows (және Unarchiver Mac) үшін ұсынылады. Суретті SD картасына жазу керек, бірақ файлдық жүйе Windows жүйесімен үйлесімсіз болғандықтан, арнайы бағдарламаны қолдану қажет. Ұсынылған бағдарламалық қамтамасыз ету Etcher деп аталады және оны мына жерден жүктеуге болады:

etcher.io/

Этчерге арналған нұсқаулар олардың веб -сайтында орналасқан және қарапайым болуы мүмкін емес. Суретті және дискіні таңдап, Flash түймесін басыңыз.

Енді біздің жыпылықтаған SD картаның көмегімен Pi жұмыс істей алады.

Егер сіз Pi қолданатын IP мекенжайын білсеңіз немесе оны маршрутизаторға кіру арқылы табуға қуанышты болсаңыз, онда сіз пернетақта мен монитордың қажеттілігінен аулақ бола аласыз және SSH дереу қолдана аласыз. SD картасына SSH атты бос файлды қосыңыз, кірістіріңіз, Ethernet желісіне қосылыңыз және қосыңыз. Әйтпесе төмендегі нұсқаулықты орындаңыз.

Pi -ді интернетке, экранға, тінтуір мен пернетақтаға қосып, қуат көзіне қосыңыз. Біз жасай алатын бірінші нәрсе - SSH -ді қосу, осылайша біз компьютердің ыңғайлылығынан көптеген параметрлерді жасай аламыз. Бұл, әрине, тікелей жасалуы мүмкін, бірақ бұл нұсқаулықты Pi жүргізетін бір құрылғыда орындауға және нұсқаулықтардың көпшілігі үшін көшіру мен қоюды қолдануға көмектеседі. Сонымен қатар, менің компьютерлік жұмыс станциям жақсы және ыңғайлы, бірақ pi үшін жеткілікті үлкен емес.

YouTube бейнежазбасында жақсы жұмыс жасау үшін нұсқаулық бар. Міне мен бастадым. Сіз нұсқауларды орындап, бейнені қоса аласыз. Бірақ мен бұл процесті қайта бастаған кезде, мен мұнда нұсқауларды орындауды жеңілдеттім. Кейбір елеулі ауытқулар бар. Мен мұнда қадамдарды тізімдеудің орнына бейнені ұстануға кеңес берген бірнеше бөлімдер бар. Мен MQTT, Node-Red және кең орнату процесін түсіну үшін оны қарауды ұсынамын. Бейне ұзақтығы 38 минут, сондықтан сіз өзіңізді жайлы сезінесіз. Бейне Node Red не істей алатынын көрсетуден басталады, содан кейін Pi орнату мен орнатуды қамтиды, содан кейін Red Node жаңартылып, Mosquitto орнатылады. Бөлімге оралғыңыз келетін негізгі уақыттар:

00:00 Бейнебаянға кіріспе

03:00 Қызыл түйіннің демонстрациясы

14:14 Бақылау тақтасының элементтерін Қызыл түйінге импорттау

21:05 Pi бастапқы баптауы, оның ішінде SSH

23:35 Қызыл түйінді қолдау кодын орнату

27:00 MQTT -ге кіріспе

29:12 Mosquitto (MQTT) қондырмасы (Ескерту тек Raspian Jessie үшін жұмыс істейді)

33:00 Қызыл түйін мысалдары

Мен пәрмендерді қалың курсивпен тізімдеймін («» орнына). Сіз оларды Pi -ге көшіріп, қойғанда бұл пішімдеу еленбейді.

Қызыл түйінге кіріспе сізге жүйенің не істей алатыны туралы түсінік береді және біз қайда баратынымызды көрсетеді.

YouTube бейнесі мына жерде:

21:05 - 23:35 аралығында орнату процедурасын орындаңыз. Назар аударыңыз, әдепкі логин пайдаланушы: pi және пароль: таңқурай. Қайта іске қоспас бұрын pi -дің IP -адресін табыңыз. Жұмыс үстелінің жоғарғы жолағындағы 'жоғары+төмен көрсеткі' белгішесін нұқыңыз немесе терминалды/терминал терезесінде келесі нұсқауларды енгізіңіз:

sudo ifconfig мекенжайы

Содан кейін: inet addr: кейін IP мекенжайын ескеріңіз. Ол 192.168.x.y түрінде болады

Бұл адресті ескеріңіз және қайта іске қосыңыз (енгізіңіз: sudo shutdown –r қазір)

Бұл жерде басты мәселе - SSH қосылған және компьютерден Pi -ге сілтеме орнатуға болады (Mac және Linux жүйесінде SSH интерфейстері бар). Мұны істеудің жақсы бағдарламасы PuTTY деп аталатын ақысыз жүктеу болып табылады, оны сериялық интерфейс ретінде де қолдануға болады және Telnet жасай алады. Шпатлевкадан қол жетімді:

www.chiark.greenend.org.uk/~sgtatham/putty…

PuTTY жүктеп алыңыз және орнатыңыз.

Енді Pi қайта іске қосылған кезде PuTTY іске қосыңыз және бұрын көрсетілген IP мекенжайын енгізіңіз. Төмендегі мысалды қараңыз:

Енді Ашу түймесін басыңыз

Кіруден кейін: pi енгізіңіз

Содан кейін парольді енгізіңіз.

Енді мұнда берілген нұсқауларды орындаңыз және бейнені 23: 35 -тен бастаңыз. Сіз көп жағдайда көшіріп, қоюға болады. Мәтінді бөлектеңіз және көшіру үшін ctrl+C пернелерін басыңыз. Содан кейін қою үшін PuTTY батырмасын тінтуірдің оң жақ түймесімен нұқыңыз. Кейде мәтін бірден пайда болмайды, сондықтан бірнеше секунд күтіңіз. Егер сіз екі рет енгізсеңіз, екінші жазбаны жою үшін backspace пайдаланыңыз. Әр команданы орындау үшін enter пернесін басыңыз.

sudo raspi-update

Мен бұны таппаған пәрменді алдым және келесі өшіру/қайта қосу нұсқаулығын елемедім:

sudo өшіру -r қазір

sudo apt -get -y жаңарту

sudo apt -get -y жаңарту

Бұл біраз уақытты алады ….

sudo apt-get autoremove

sudo apt -get -y жаңарту

sudo өшіру -r қазір

Бұл кезде бізде Pi операциялық жүйесі жүктелген және жаңартылған, келесі қадамға дайын.

2-қадам: Түйін-қызылға мүмкіндіктерді жаңартыңыз және қосыңыз

PuTTY байланысы алдыңғы қадамның соңында қайта іске қосылғанда жоғалады. PuTTY -ді жабыңыз және Pi жүктелуін күткеннен кейін бұрынғыдай қайта кіріңіз.

Мен Node-Red жүктеудің қарапайым және сенімді әдісіне көштім-https://nodered.org/docs/hardware/raspberrypi сілтемесі бойынша. Бұл сценарийді қолданады және Node-Red орнатады немесе жаңартады, сондықтан тәсіл Raspbian Stretch толық немесе қарапайым нұсқаларында жұмыс істейді. Ендеше енгізіңіз:

bash <(curl -sL

Сұралған кезде Y енгізіңіз (екі рет). Бұл сценарий сонымен қатар Node-Red автоматты түрде қосуды қосу үшін қажет файлдарды жүктейді.

Сонымен, дәл осы сәтте бізде түйін Red үшін жүктелген және жаңартылған пи болады. Келесі кезеңге дейін қайта іске қосудың еш зияны жоқ.

sudo өшіру -r қазір

3 -қадам: Mosquitto MQTT орнату

Егер сіз мұны әлі жасамаған болсаңыз, 27: 00 -ден бастап MQTT бейнесін видеода көруге болады.

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

PuTTY көмегімен кіріңіз және келесіні енгізіңіз:

sudo apt-get жаңартуы

sudo apt-get mosquitto mosquitto-клиенттерін орнатыңыз

Y

sudo /etc/init.d/mosquitto stop

sudo /etc/init.d/mosquitto бастау

Соңғы екі нұсқа москиттерді тоқтатады және бастайды және біздің MQTT брокерінің жұмыс істейтінін көрсетеді.

Жылдам тестілеу үшін тағы екі PuTTY сеансын ашып, әрқайсысына кіріңіз.

Сіз MQTT құрылғыда «тақырыпқа» жазылатын деректерді қажет ететінін білесіз. Брокер кез келген деректерді сол «тақырыппен» жібереді. Содан кейін деректерді/нұсқауларды жібергісі келетін құрылғы мұны брокерге сол «тақырыпты» пайдаланып жариялайды.

Сонымен, PuTTY бір сеансына мынаны енгізіңіз:

mosquitto_sub -d -t сәлем/әлем

Бұл тақырыпқа жазылу бойынша нұсқаулық: сәлем/әлем.

Басқасына енгізіңіз:

mosquitto_pub -d -t сәлем/әлем -m «Терминалдың 2 терезесінен сәлем!»

Бұл хабарламасы бар тақырыппен жариялау нұсқаулығы. Мәтін: «Терминал 2 терезесінен сәлем!» енді басқа терминалда пайда болуы керек.

Бұған дейін жеткеніңіз жақсы. Бізде қазір Node-Red үшін қажетті жаңартулармен және MQTT москит брокері орнатылған және тексерілген Pi жүктелген және жаңартылған. Бұдан былай өмір біршама жеңілдейді. MQTT тесті үшін пайдаланылатын екі PuTTY сеансын жабыңыз.

4 -қадам: Қызыл түйін интерфейсін орнату

Алдымен біз Қызыл түйінді іске қосуымыз керек. Нұсқаулықты енгізіңіз:

node-red-pi --max-old-space-size = 256

Оның іске қосылуын күтіңіз және сіз «Басталған ағындар» мәтінін көресіз.

Енді браузерді ашыңыз, мен Chrome -ды қолданамын және pi IP -мекен -жайын енгізіңіз, содан кейін: 1880, яғни 192.168.0.8:1880

Енді сізде Node Red бағдарламалау беті төмендегідей болуы керек:

Енді сіз Node Red мысалдарын сағат 33: 00 -ден бастап орындауға болады немесе кішкене қосымша қондыруға көшіп, MQTT сілтемесін көрсететін және біздің қосқышты басқаруға дайын болатын бірінші ағынды жүктей аласыз.

Қосымша орнату веб -интерфейсті қосатын бақылау тақтасының элементтерін қосу болып табылады.

Олар бейнеде 14: 14 -те көрсетілген.

Қызыл-қызыл тақтаны жүктеу үшін нұсқауларды орындаңыз.

Енді бізде MQTT жұмыс істейтінін және Node-Red басқаратынын көрсетуге болады. Бұл бейнеде жоқ, бірақ бұл жобаның кілті. Сіз менің нұсқауларымды орындай аласыз және/немесе ағындарды тіркелген NRtest1.txt файлынан импорттай аласыз.

Алдымен кіріс инжекторлық түйін мен шығыс mqtt түйінін қосыңыз және оларды бір -бірімен байланыстырыңыз.

Инъекция түйінін екі рет нұқыңыз (ол бастапқыда уақыт белгісі деп аталады). Пайдалы жүктеме бөлімінде жолға ауысу үшін twiddly пайдаланыңыз және мынаны енгізіңіз: Сәлеметсіз бе, менен. Тақырыпты бос қалдырыңыз, өйткені біз оны MQTT түйініне енгізе аламыз. Дайын түймешігін басыңыз

Енді MQTT түйінін екі рет басыңыз. Сервер бөлімінің оң жағындағы қарындаш белгішесін нұқыңыз. Бұл жаңа диалогты ашады. Енгізіңіз: Сервер бөлімінде localhost. Қосу түймешігін басыңыз. Енді, mqtt өңдеу түйініне қайтып, біздің тақырыпты Тақырып бөліміне енгізіңіз: сәлем/әлем. QoS параметрін 1 -ге орнатыңыз. Дайын түймешігін басыңыз. Енді «Қолдану» түймесін басыңыз. Сіз жасыл түйінді және mqtt түйінінің астында «қосылған» көресіз.

Енді тағы екі түйінді қосыңыз - mqtt енгізу және шығуды жөндеу және оларды бір -бірімен қосыңыз. Енді mqtt енгізу түйінін екі рет шертіп, тақырып бөліміне сәлем/әлем енгізіңіз. Сервер жергілікті хостты көрсетуі керек: 1883 ж. QoS параметрін 1 -ге орнатыңыз. Дайын түймешігін басыңыз. Содан кейін «Қолдану» түймесін басып, оң жақ тақтадағы түзету қойындысын нұқыңыз. Енді «Менен сәлем» инъекция түйінінің сол жағындағы сұр шаршыны басыңыз. Бұл мәтіннің жүктемесін сәлем/әлем тақырыбымен MQTT брокеріне жібереді. Брокер mqtt кіріс түйіні сол тақырыпқа жазылғанын біледі, сондықтан пайдалы жүктемені жібереді. Mqtt енгізу түйіні содан кейін оны отладка қойындысына (RHS) жібереді және «Менен сәлем» мәтіні пайда болуы керек.

Бұл басқа қорапты белгілейді, өйткені бізде Node Red біздің MQTT брокерімен сөйлеседі. Назар аударыңыз, Node Red - бұл брокердің клиенті ғана, мысалы, біз соңынан қосылатын Sonoff құрылғылары сияқты. Бұл күрделі автоматтандыруды қосады және керемет пайдаланушы интерфейсін ұсынады.

Енді біз бірнеше шағын өзгерістер енгізіп, Sonoff қосқышының ағындарын орната аламыз.

Енгізу енгізу түйінін жойыңыз (ерекшелеу үшін шертіп, жою пернесін басыңыз). Енді бақылау тақтасы бөлімінен қосқышты қосыңыз және оны mqtt шығысына қосыңыз. Екі рет басу қосқышы. Топтың оң жағындағы қарындашты басыңыз. Атауын енгізіңіз: Жарық. Содан кейін Tab қойындысының оң жағындағы қарындашты басып, Name бөліміне кіріңіз: Lounge. Қосу/Жаңарту және Қосу/Жаңарту түймесін қайтадан басыңыз. Енді, Өңдеу қосқышының түйінінде, жүктемені қосу мен өшіруді орнатыңыз. Жолды таңдау үшін twidlys пайдаланыңыз және Қосымша жүктеме үшін ON (ҚОСУ) және OFF жүктемесі үшін OFF деп енгізіңіз. Дайын түймешігін басыңыз

Енді mqtt түйіндерінің әрқайсысына өтіп, тақырыпты cmnd/sonoff/POWER етіп өзгертіңіз. Егер көшіру және қою болса, соңында бос орын жоқ екенін тексеріңіз. Бұл басқа тақырып және Sonoff -пен жұмыс істемейді. Бос орын табу бір сағатқа созылуы мүмкін - сеніңіз! Мен сонымен қатар бақылау тақтасына> Тақырыпқа кірдім және таңдалдым: Қараңғы. Қолдану түймесін басып, отладка қойындысын таңдаңыз.

Енді жаңа терезеде браузердің жаңа сеансын ашыңыз және оны Node Red сеансы бойынша ұялы телефон сияқты мөлшерлеңіз. Мекенжайды енгізіңіз: сіздің Pi IP мекенжайыңыз: 1880/ui/#/0, яғни 192.168.0.8:1880/ui/#/0. Сіз Lounge және Light бар экранды көріп, ауыстырып қосуыңыз керек. Қосқышты және сөндіруді басыңыз. Отладка терезесінде ON және OFF жүктемелері көрсетілуі керек. Енді қаласаңыз, ұялы телефон арқылы да кіріңіз. Коммутатордың орны синхрондалғанын ескеріңіз. Біздің Сонофф әлі қосылмағандығы маңызды емес. Тақырыпқа жазылу арқылы ол хабарды/жүктемені алады және соған сәйкес әрекет етеді.

Соңғы қадам - Pi түйіскеннен кейін Node Red автоматты түрде іске қосылады.

Node Red -де нұсқаулық бар:

Дегенмен, қажетті файлдар жүктелген, сондықтан орнату қажет емес.

Содан кейін Node-RED автоматты түрде әр жүктеу кезінде іске қосылуы үшін және апат кезінде енгізіңіз (PuTTY сеансын ашыңыз):

sudo systemctl nodered.service қосады

Егер сізге бұны өшіру қажет болса, енгізіңіз:

sudo systemctl nodered.service қызметін өшіреді

Енді pi -ді sudo -мен өшіріп, қуатты өшіріңіз.

Бұл қазір біздің Pi құлыпталған және жүктеуге дайын. Бізде Node Red -ге қосылатын компьютер/ұялы телефон бар және бұл MQTT серверімен сөйлеседі. Бұл ұзақ жол болды және артқы жағынан үлкен соққыға тұрарлық. Жарайсың. Мен келесі, Arduino битін таптым, бұл оңайырақ!

5 -қадам: Sonoff құрылғыларын қайта бағдарламалау үшін Arduino жүйесін орнату

Бұл туралы барлық ақпарат Sonoff-Tasmota GitHub-та. Маған қиындық тудыратын жалғыз нәрсе - бұл тақырып мәтіні, бірақ мен сені бұған кіруге мәжбүрледім!

Https://github.com/arendst/Sonoff-Tasmota сайтына өтіңіз

Орнату нұсқауларын Wiki қойындысында Жүктеу құралдары бөлімінен таба аласыз:

Әр қадамды өткізудің орнына, мен өзімді маңызды деп санайтын негізгі аспектілерді ғана атап өтемін.

Нұсқаулар жақсы, бірақ бөлшектерге мұқият қарауды қажет етеді. Мені ESP8266 деп аталатын басқа қалтада орналасқан ESP8266 қалтасына қажеттілік туындады, сондықтан екі деңгейді жіберіп алдым.

Мен Arduino -ны мүлдем бөлек орнату туралы ұсынысты орындадым. Мен қолданыстағы Arduino қалтасынан бөлек 'ArduinoSonoff' деп аталатын жаңа қалта жасадым. Орнату өте жетілдірілген, сондықтан оны бөлек ұстау өте жақсы идея. Егер бұл сіздің бірінші Arduino қондырғысы болса, оны екінші рет Arduino жұмысына, соның ішінде ESP8266s жұмысына арналған 'Arduino' немесе басқа қалтаға орнатқаныңызға көз жеткізіңіз.

Arduino IDE -нің соңғы нұсқасын https://www.arduino.cc/kz/Main/Software сайтынан жүктеп алыңыз. Файлды жаңа қалтаға шығарыңыз.

Нұсқауларға Sonoff-Tasmoda жүйесін https://github.com/arendst/Sonoff-Tasmota негізгі бетінен жүктеу кіреді: Clone немесе Жүктеу> ZIP жүктеу. Файлды жаңа қалтаға шығарыңыз.

Нұсқауларды мұқият орындаңыз. Мен міндетті емес: OTA жүктеуге дайын болыңыз. Біз мұны басқа күнге қалдырамыз.

Енді Arduino IDE іске қосыңыз (arduino.exe файлын екі рет басыңыз). Sonoff-Tasmota эскизін File> Sketchbook> sonoff арқылы жүктеңіз. Ешқандай түзетулер енгізудің қажеті жоқ. Микробағдарлама жүктелгеннен кейін барлық параметрлер сериялық байланыс арқылы жасалады. Олар EEPROM -де сақталады. Осылайша, микробағдарламаны жаңартуға және барлық параметрлерді сақтауға болады. Бұл өте ақылды заттар. Алайда, user-config.h файлына кіру арқылы Wi-Fi SSID мен құпия сөзді және MQTT_HOST енгізу арқылы екі қадамды қажет етуден аулақ бола аласыз («domus1»-екінші сілтемені Pi IP мекенжайымен ауыстырыңыз). Кейінірек сіз MQTT пайдаланушысы мен паролін енгізгіңіз келуі мүмкін. Жүктеу алдында «Құралдар» астындағы тақта параметрлерін тексеріңіз. Бұл Уикиде көрсетілген талаптарға сәйкес болу үшін бірнеше өзгерістерді қажет етеді. Енді компиляция түймесін басыңыз (белгісін қойыңыз). Ол OK құрастыруы керек. Егер ол болмаса немесе тақтаның қажетті параметрлері қол жетімді болмаса, артқа қайтып, орнатудың әр қадамын тексеріңіз.

6 -қадам: Sonoff қосқышын қайта бағдарламалау

Біз қазір жүктеуге дайынбыз. Бұл кезеңде сіз бірден алға қарай жүріп, Sonoff қосқышын жыпылықтай аласыз немесе алдымен ESP8266 модулін жыпылықтай аласыз. Мен соңғысын жасадым, ішінара менің коммутаторларым әлі келмегендіктен (мен оны терген кезде ғана келдім!), Сонымен қатар Sonoff қосқышының жыпылықтауы - бұл бір жолды қадам, себебі бастапқы микробағдарлама көпшілікке қол жетімді емес. Мен хабардармын. Менде NodeMCU тақталары бар. Оларды қосылу оңай, олардың борттық USB сериялық түрлендіргіші бар. Nodemcu қалпына келтіру әдісі бұл жүйеде жұмыс істемейді. Сондықтан Құралдар> Қалпына келтіру әдісін «ck» күйіне қойыңыз. Қалыпты қолмен орнатуды Жарқыл түймесін (GPIO 0 жерге) басып, Reset (Жерге қалпына келтіру) түймесін басып шығару арқылы жасаңыз. Менде күту уақыты бар ма, жоқ па, әлде мен GPIO 0 -ді ұзақ уақыт бойы ұстап тұрмаған шығармын, бірақ маған бірнеше әрекет қажет болды, соның ішінде Arduino IDE құрастырылған кезде де!

Егер сіз жауаптарды тексергіңіз келсе - NodeMCU тақталарында реле шығысы D6. ESP12 -де бұл GPIO 12. Жарық диодты шығыс - D7 (NodeMCU) немесе GPIO 13 (ESP12).

Sonoff қосқышы.

НАЗАР АУДАРЫҢЫЗ: «қоршау ашық кез келген жағдайда желіге қосылмаңыз» деп айтуым керек. ПХД (ең болмағанда Sonoff Basic-те (желідегі қосқышта) төмен кернеу бөлімі мен желі арасындағы «бір оқшауланған» қашықтыққа ғана ие екенін ескеріңіз. Сондықтан Sonoff тізбегінің кез келген бөлігін желі кернеуі ретінде қарастырған жөн. Sonoff- Tasmota GitHub Sonoff S20 -ге температура мен ылғалдылық сенсорының қосылуын көрсетеді. Мен оқшаулануға байланысты мұны жасамас едім. немесе жерге қосылған қуат көзі.

Sonoff S20 қосқышы-жақсы бастапқы нүкте, себебі оған электр сымы қажет емес. Мұны бір бұранданы (қорғаныс тығыздағышының астындағы) алып тастау және корпусты ашу арқылы ашуға болады. Төмендегі фотосуретте тегтердің қайда орналасқандығы көрсетілген. Бұл кезде істі қысу көмектеседі.

USB сериялық түрлендіргіші

Менің сүйікті түрлендіргіш - бұл FTDI нұсқасы. Алайда, бұл Sonoff 3.3v қажеттіліктерін қамтамасыз ету үшін жеткілікті мүмкіндіктерге ие емес. FTDI спецификациясы максималды 50маны көрсетеді. Келесі ең жақсы нұсқа - бұл CP2102 чипін пайдалану. Бұл 100ма шегі бар, ол әлі жеткіліксіз. Көптеген адамдар бұл түрлендіргішті тікелей қолданатыны анық, бірақ жүктеудің сәтсіздігі туралы хабарламалар бар. Мен қосылатын уақытты шектейтін едім, себебі ол жүктеменің астында қызады. Мұны өзіңіздің тәуекеліңізбен жасаңыз. Ең жақсы шешім - 3,3 вольтты реттегіш, мысалы. AMS1117 3.3. Мен мұны қосу үшін шағын ПХД жасадым. Sonoff құрылғылары үшін Бағдарламалаушыны қараңыз.

Менің бағдарламалау кезегім келесідей:

Arduino IDE ашыңыз.

Құралдар астындағы параметрлер Уикидегідей екенін тексеріңіз.

User_config.h мекенжайына қажетті түзетулер енгізіңіз. Мен Wi -Fi SSID мен құпия сөзді және MQTT брокерінің мекен -жайын және уақыт белдеуін/жазғы уақыт туралы мәліметтерді қойдым.

ОК компиляциясын тексеру үшін «растау» түймесін басыңыз.

USB сериялық түрлендіргішін дербес компьютерге қосыңыз. Порт нөміріне назар аударыңыз.

Енді USB сериялық сымын компьютерден ажыратып, оны Sonoff қосқышына қосыңыз. Жерді тексеріңіз және 3v3 қосылымдары дұрыс айналады (жер Sonoff ПХД жердегі жазықтыққа қосылған).

Түймені басу кезінде контактілер қауіпсіз болуы үшін бағдарламашыны ұстаңыз.

Енді USB сымын компьютерге қосыңыз, порт нөмірінің дұрыстығын тексеріңіз (Құралдарда), содан кейін жүктеу түймесін басыңыз.

Мен бағдарламалау кезінде түймені ұстап тұруды жалғастырамын, себебі мен байланыстарды бұзғым келмейді.

Аяқтағаннан кейін экран төмендегідей болуы керек:

Кескін
Кескін

Sonoff жүйеге қосылу үшін бірнеше бит ақпарат қажет: жергілікті желі wifi SSID және пароль және Pi IP -адрес. Мұны істеудің бірнеше әдісі бар, олардың бірі - config.ino файлын бұрын айтылғандай өзгерту. Егер сізде смартфон болса, оны (коммутаторды қайта құрастырғаннан кейін) Sonoff түймесін 4 рет жылдам басып, оны веб-сервер режиміне қоюға болады. Жарық диоды жыпылықтайды. Мұны істеу үшін маған бірнеше рет тырысу керек болды. Содан кейін смартфоннан Sonoff жаңа желісін іздеп, қосылыңыз. Қажетті деректерді орнатуға болатын веб -бет пайда болады. Pi IP мекенжайы хост атауына енеді. Мен сондай -ақ екінші SSID мен құпия сөзді ұзақ және негізінен жарамсыз етіп өзгерттім.

Немесе оны жүктеуден кейін сериялық байланыс арқылы орнатуға болады. Arduino сериялық мониторын ашыңыз (Құралдар астында).

Енгізу командалары:

Wi -FiSSID идентификаторын енгізіңіз

Wi -Fi құпия сөзіне пароль жасаңыз

MqttHost 192.168.x.y (PI IP мекенжайы)

Сіз сонымен қатар SSId1 мен Password1 енгізе аласыз, содан кейін оны өшіру үшін ұзақ және жарамсыз нәрсе енгізе аласыз.

Енді сіз Sonoff қосқышын жинай аласыз, Node-Red және Node-red бақылау тақтасын ашып, коммутатор батырмасын шертіп, Sonoff жауаптары қамтылуы керек отладка қойындысын қарай аласыз. Сонымен, бізде тағы бір маңызды қадам бар - біздің бірінші қосқыш компьютерден/смартфоннан.

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

7 -қадам: Қауіпсіздік

MQTT әр клиент үшін пайдаланушы аты мен құпия сөзді пайдалануға мүмкіндік береді. Бұл баптауға оңай. Мүмкін, алдымен әр құрылғының атын өзгерту, содан кейін олардың пайдаланушы аттары мен құпия сөздерін орнату оңайырақ. Мұны MQTT командалары арқылы жасауға болады және Node-Red-бұл жіберудің ең оңай жолы. Алдымен атау конвенциясы туралы шешім қабылдаңыз. Бір нұсқа - атауларды орын мен функцияға негіздеу. Содан кейін сіз атауды (тақырып) пайдаланушы аты мен құпия сөзді қайталау тақырыбымен бірге жазғыңыз келеді. Сондай -ақ, Sonoff параметрлерін бастапқы жүктеуге қалпына келтіру үшін «қалпына келтіру опциясы» бар екенін ескеріңіз (Wiki пайдалану> Түймешік функциясын қараңыз).

Пиді қосыңыз және бірнеше секундтан кейін Node-Red браузерін ашыңыз (IP мекенжайы: 1880).

Node-Red-де инъекция түйінін орнатыңыз және оны mqtt шығысына байланыстырыңыз және mqtt серверін localhost-қа орнатыңыз. Тақырыпты, пайдаланушы мен құпия сөзді бос қалдырыңыз, себебі біз оларды инъекция түйінінде орнатамыз. Сондай -ақ, mqtt кіріс түйінін орнатыңыз және оны отладка түйініне қосыңыз, осылайша біз жауаптарды көре аламыз. Mqtt енгізу жазбасын localhost етіп орнатыңыз (қазірдің өзінде орнатылуы керек) және тақырып үшін+/+/+енгізіңіз, ол барлық трафикті алады.

Инъекциялық түйінге келесі параметрлер тізбегін енгізіңіз.

Алдымен қосылымды тексеріңіз

Тақырып: cmnd/sonoff/Status

Хабарлама: 6

«Бастау кезінде бір рет енгізу» түймесін басыңыз. Орналастыру. Біз stat/sonoff/STATUS6 деректерінің 7 жолын қамтитын отладтауды көруіміз керек

Тақырыпты енгізіңіз: cmnd/sonoff/Тақырып және Хабарлама: жарық шамы. Орналастыру. Бұл қосқыштың атауын sonoff -дан loungelight -ге өзгертеді

Отладка қойындысында құрылғы жаңа атауымен/тақырыбымен қайта іске қосылғанын көрсету керек

Тақырып: cmnd/loungelight/MqttUser

Хабарлама: қонақ бөлмесі

Орналастыру түймесін басыңыз. Жөндеуді stat/loungelight/RESULT ішінен {«MtqqUser»: «loungelight»} көмегімен қарау керек

Тақырып: cmnd/loungelight/MqttPassword

Хабарлама: loungelightPW (ескерту бұдан гөрі қиялшыл болсын!)

Отладка қойындысын тазалап, Қолдану.

Stat/loungelight/RESULT -тен {«MqttPassword»: «loungelightPW»} деген жауапты көруге болады.

Енді mqtt out түйініне NodeRed және NodeRedPW пайдаланушы аты мен құпия сөз ретінде енгізіңіз. Бұл Сервердің қарындаш белгішесі мен ашылған терезеде қауіпсіздік қойындысы арқылы. Бұл автоматты түрде басқа MQTT түйіндеріне көшіріледі.

Көмегімен қайта тексеріңіз

Тақырып: cmnd/loungelight/Күй және хабарлама: 6. Орналастыру.

Және бұл жауап жіберіледі.

Сонымен, біз Sonof құрылғысының атауын өзгерттік, ол cmnd/loungelight/…… тақырыптарын тыңдайды және MQTT сериясына логин жарығы мен парольмен loungelightPW арқылы кіреді. Біз сондай-ақ Node-Red үшін пайдаланушы аты мен құпия сөзді орнаттық.

Содан кейін біз москит MQTT серверіне клиенттерді тек пайдаланушы атымен қабылдауға және қабылданатын пайдаланушы аттары мен құпия сөздердің тізімін айтуға тиіспіз.

Процедура - бұл:

  • Масаны тоқтату
  • Жеке конфигурация файлын жасаңыз
  • Конфигурациялық файлды өңдеу
  • Құпия сөз файлын жасаңыз
  • Пайдаланушыларды/құпия сөздерді қосыңыз.

Сонымен, жаңа PuTTY сессиясымен кіріп, келесі пәрмендерді орындаңыз:

sudo /etc/init.d/mosquitto stop

cd /etc/mosquitto/conf.d/

sudo nano mosquitto.conf Бұл редакторды іске қосады.

Сызықтарды қосу:

рұқсат_анонимді жалған

password_file /etc/mosquitto/conf.d/passwd

талап_сертификаты жалған

Сақтау және шығу (Ctrl+X), Y, енгізіңіз.

sudo touch passwd Бұл пароль файлын жасайды және келесі нұсқаулар аттар мен құпия сөздерді қосады.

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd loungelight loungelightPW

sudo mosquitto_passwd -b /etc/mosquitto/conf.d/passwd NodeRed NodeRedPW

sudo /etc/init.d/mosquitto қайта іске қосыңыз

Есіңізде болсын, жаңа құрылғыны қосқанда сериялық порт арқылы пайдаланушы мен құпия сөзді енгізу керек және оларды құпия сөз файлына қосу керек, немесе масалардың конфигурация файлын уақытша өзгерту және «жолдың басында # қосу» жолдарындағы «allow_anonymous false» жолдарын түсіндіру қажет. «және» password_file /etc/mosquitto/conf.d/passwd «, содан кейін мәліметтер құрылғыға жіберілгенде және жоғарыда көрсетілгендей құпия сөз файлына қосылғанда, оларды қалпына келтіріңіз.

Біз sonoff атауын loungelight деп өзгерттік, сондықтан cmnd/loungelight/POWER тақырыбын пайдалану үшін mqtt шығыс түйінін (коммутаторға қосылған) жаңарттық.

«Қолдану» түймесін басып, mqtt түйіндерінің «қосылған» екенін тексеріңіз.

Содан кейін коммутатор түймесін көріңіз және Sonoff қосқышы жауап беретінін көрсететін отладка іздеңіз. Құрылғы өзгерісті тақырыппен көрсетеді: stat/loungelight/POWER. Енді cmnd/sonoff/POWER деп орнатылған кіріс түйінін stat/loungelight/POWER етіп өзгертіңіз. Біз бұл қақпақты функционалдық мүмкіндігімізде пайдалана аламыз. Бастапқыда орнатылған жүйе жүйеге кірген барлық пайдаланушылармен синхрондалады, бірақ Sonoff қосқышындағы түймені басу арқылы енгізілген өзгертулермен синхрондалмайды. Енді stat/loungelight/POWER mqtt кіріс түйінінің шығысын коммутатор кірісіне (LHS) қосыңыз. Енді қосқышты екі рет нұқыңыз және «егер хабарлама хабарламаға келсе, шығуға өтіңіз» деген белгіні алып тастаңыз. Бұл бірнеше жаңа опцияларды әкеледі - «ауысу белгішесі кірістің күйін көрсетеді» таңдаңыз. Орналастыру. Сонымен, қазір бізде кері байланыс жақсы. Бақылау тақтасының қосқышының позициясы Sonoff қосқышы өзгерген кезде, өзгеріс қай жерде басталғанына қарамастан өзгереді.

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

8 -қадам: кеңейту үшін бастапқы қадамдар

Менде Sonoff-Tasmota сенсорлы жарықдиодты дамытуға арналған үйдегі автоматтандырылған нұсқаулық бар, ол Sonoff-Tasmota микробағдарламасының қосымша мүмкіндіктерін көрсетеді:

Ылғалдылық пен температураны өлшеу

Зиянкестерді анықтау (қосқышты енгізу)

IR қашықтан басқару пульті (теледидарлар үшін және т.

Жарықдиодты жолдар - RGB және NeoPixel екеуі де (жеке адрестелетін)

I2C датчиктері

Жоғарыда айтылғандар үшін мен ESP12F пен реттелетін ПХД қолданамын. NodeMCU мен нан тақтасын бірдей қолдануға болады. Бұл қосымша функцияларды Sonoff құрылғысына қоспай қосуға мүмкіндік береді, демек, бұл әлдеқайда қауіпсіз тәсіл. Температураның енгізілуімен мен электрлік көрпе автоматтандыруды аяқтадым.

Музыка мен Интернет радионы оңай қосуға болады. Бұл белгілі бір станцияларды немесе альбомдарды белгіленген уақытта немесе келушінің (телефонның) анықталуына жауап ретінде қосуға мүмкіндік береді. Бұл нұсқаулық жоғары сапалы музыкалық ойнатқышта және смартфонмен басқарылатын Интернет радиосында. Бұл Node-RED арқылы жүргізілетіндіктен, тіпті бірнеше дыбыстық жүйеге ие болу және оларды басқару үшін MQTT байланысын пайдалану қажет.

Мен сондай-ақ Node-Red-ді зерттедім, оның ішінде электрондық поштаны жіберу және дауыстық ескертулер жасау. Сондай -ақ, жүйенің ұялы телефонның IP -адресін пинг арқылы кіру/шығу кезінде анықтауға мүмкіндігі бар. Node -Red сонымен қатар ауа райы мен жаңалықтарға қол жеткізе алады - осылайша ақпаратты қосуға және автоматтандыруға болады.

Үйренуге болатын бірнеше амал бар, бірақ олар екінші рет оңай өледі.

Басқа даңғыл - бақылау тақтасын көрсету үшін pi -ге дисплей қосу. Бұл «орындалатын жұмыс», немесе мен басқаша айтқанда бақытты емеспін. Мен алған дисплейді портреттік режимге айналдыру қиын, ал Chromium браузері өте баяу. Ескі планшетті ebay -ден алып, оны пайдалану балама болар еді. Мен Pi 2 -ді қолданып көре аламын және бұл жақсартуды қамтамасыз ете ме, соны көре аламын (бұл даму үшін қолданылатын B үлгісі).

Бұл сіздің бастамаңызды бастайды және сіздің қиялыңызға әсер етеді деп сенемін. Потенциалдың ауқымы өте үлкен. Қажет болса, басқа датчиктер үшін Sonoff кодын өзгертуге болады.

Жалпы, бұл жүйенің не істей алатынына таң қалдым. Менің бастапқы мақсатым - смартфоннан автономды жүйе арқылы сенімді түрде ауысу. Менде серверлер мен клиенттерді басқару және пайдаланушы интерфейсі үшін html жазу қажеттілігі туралы түсініктер болды. Мұның соңы қауіпсіздіктің жоғарылығымен, сенімділігімен, керемет пайдаланушылық интерфейсімен, апарып тастау бағдарламалауымен және кеңеюдің үлкен әлеуетімен алда. Және мұның бәрі әлдеқайда аз күшпен.

Майк

9 -қадам: Қосымша - Raspbian Stretch Lite -тен жүктеу

Бұл опция Raspbian Stretch толық нұсқасымен бірге келетін кеңейтілген бағдарламалық жасақтаманы болдырмайды. Мұның көпшілігі үйді автоматтандыру үшін Pi пайдалану кезінде қажет болмайды. Дегенмен, Node-Red орнатылуы керек.

1 -қадамдағыдай жалғастырыңыз, бірақ Raspbian Stretch орнына Raspbian Stretch Lite қолданыңыз.

2 -қадамның орнына келесі әрекеттерді орындаңыз:

sudo apt -y npm орнатыңыз

npm -v қайтаруы керек: 1.4.21 немесе одан кейінгі

sudo npm орнату -g n

sudo n 8.9.0

Біз енді Node-Red орнату үшін түйін пакеті менеджерін пайдалана аламыз:

sudo npm node-red --global --unsafe-perm орнатыңыз

Бұл қате мекен -жайға байланысты бірнеше қате туралы хабар береді. Жүйе бұл мәселені шешу үшін «көз компиляциясын» жасайды. Егер сіз жоғарыдағы нұсқаулықты қайталасаңыз (қажет емес) қате болмайды.

Бізде қазір Node-Red және оның қолдау пакеттері орнатылған және масаларды тиеу арқылы 3-қадамға өтуге болады.

Сымсыз сайыс
Сымсыз сайыс
Сымсыз сайыс
Сымсыз сайыс

Сымсыз байланыс сайысында екінші орын

Ұсынылған: