Мазмұны:

[15мин] Уизли сағаты / Үй көрсеткіші кім - TR -064 негізінде (бета): 4 қадам (суреттермен)
[15мин] Уизли сағаты / Үй көрсеткіші кім - TR -064 негізінде (бета): 4 қадам (суреттермен)

Бейне: [15мин] Уизли сағаты / Үй көрсеткіші кім - TR -064 негізінде (бета): 4 қадам (суреттермен)

Бейне: [15мин] Уизли сағаты / Үй көрсеткіші кім - TR -064 негізінде (бета): 4 қадам (суреттермен)
Бейне: Шок! Омар Мадинаға сезімін айтты! Бір Болайық! 08.02.21 2024, Қараша
Anonim
Image
Image
[15мин] Уизли сағаты / Үй көрсеткіші кім - TR -064 негізінде (бета)
[15мин] Уизли сағаты / Үй көрсеткіші кім - TR -064 негізінде (бета)

ЖАҢАРТУ: 3 -қадамды қараңыз.

Ұзақ әңгіме (TL; DR төменде): Біраз уақыт бұрын мен компьютерде кіші bash-сценарий жаздым, ол желіде тіркелген құрылғыларды сканерлеп, олардың хост атауларын байланысты атаулармен тізіммен салыстырады. Құрылғы жүйеге кіргенде немесе желіден шыққан сайын мен хабарлама аламын. Менде үйде кім бар екені туралы түсінік бар еді (үйде кім бар екенін білу жақсы, сонымен қатар олар тамақ ішкісі келетін -келмейтінін сұрайды, сонымен қатар ыңғайсыз жағдайлардан аулақ болуға көмектеседі). Мәселе мынада, бұл әдіс өте сенімді емес. Өкінішке орай, кейбір құрылғылар пингке (мысалы, смартфондарға) жауап бермейді және энергия үнемдеу режиміне өтетін сияқты, сондықтан nmap сияқты командалармен сенімді түрде анықталмайды. Мен бұл құрылғыны желіден шыққанын жарияламас бұрын кем дегенде 10 теріс талап ету арқылы жеңуге тырыстым. Барлығы жұмыс істеді, бірақ баяу, сенімсіз және өте жақсы емес. Сондай -ақ, мен компьютерді ашпай, кімнің үйде екенін тексергім келді, сондықтан менде ESP8266 бар еді, мен олармен ойнағым келді. Бірақ мен ESP негізіндегі 10.120.124.812-ші метеорологиялық станцияны салғым келмеді. Осылайша жоспар құрылды. Өкінішке орай, ESP толыққанды желілік сканерлеуді былай қойғанда, дұрыс пингпен жабдықталмаған көрінеді (бұл нашар болды, есіңізде ме?). Мен бұл үшін кітапхана жазуды ойладым, бірақ менің C ++ өте шектеулі болғандықтан, бұл менің бірінші ESP -жобам, мен желілік материалдармен гений емеспін, мен бұл идеяны бұздым. маршрутизаторда (Fritz! Box маркасы) іс жүзінде API бар! АЛАҚАЙ!!!! Хаттама TR-064 деп аталады. Мұндай шабыттандыратын атау, солай ма? Мен бұл мәселені зерттей отырып, интернеттен (өте нашар) құжат таптым. Оны шешуге біраз уақыт кетті. Мен келесі күндері нұсқаулықты жібере аламын (және браузер қосымшасы арқылы осы API-мен қалай байланысуға/тестілеуге болады). Мен API түсінгеннен кейін оны ESP арқылы қолдана бастадым. Ұзын әңгіме: Менде қалаған нәрсені істеп, істеп жүрген duck-tape-and-wd40 шешімі бар (қосылған құрылғылар үшін API сұрау, оларды MAC-адрестер тізімімен салыстыру және светодиоды сәйкесінше ауыстыру). Бірақ мен берік болғым келді және икемді шешім және бұл API көп нәрсені ұсынады (сіз параметрлерді өзгерте аласыз (Wi -Fi қосуға/өшіруге, құпия сөзді өзгертуге, қонақтардың Wi -Fi желісін ашуға/жабуға, сигнал қуатын өзгертуге), маршрутизаторды қайта іске қосуға, қосылу жылдамдығын сұрауға,…) - сондықтан мен TR -064 әмбебап кітапханасын құруды шештім! TL; DR; Құрылғы қазіргі уақытта жарықдиодты шамдар арқылы көрсетеді. Тамаша жұмыс істейді, әлі керемет баспана жоқ (эй - тақырыптағы бета нұсқасын байқадыңыз ба?). Маршрутизатормен байланысу үшін SOAP-протоколды қолданады. Мұны істеу үшін Arduino кітапханасын жазыңыз. Қажетті білім • Arduino/ESP туралы негізгі білім • Егер сіз ESP көмегімен Blink үлгісін жинасаңыз, бәрі жақсы болады! • Олай болмаса, сіз осы нұсқаулықтың алғашқы екі қадамын орындауға болады. Егер сіз нан тақтасының сатысынан шыққыңыз келсе, көмекке келіңіз • 3D немесе ағаш өңдеуге арналған кейбір дизайн тұрғын үй Github жобасының сілтемесі үшін пайдалы болуы мүмкін [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] анықтама үшін.

Жабдықтар

  • ESP8266 немесе ESP32 әзірлеу тақтасында немесе басқа бағдарламашымен (2 ~ 6 €)
  • Бағдарламалаушыға сәйкес келетін USB кабелі
  • Қуат адаптері (мысалы, USB немесе батарея ~ 2 €)
  • Бірнеше светодиодтар мен резисторлар (~ 1 €)
  • (Корпус)

=> Минималды дизайн үшін шамамен 4-6 €. Бұл мен үшін бірнеше үйді оңай іліп қоюды білдіреді. Егер сіз жалқау болсаңыз, жарық диодты шамдары бар даму тақтасын қолдануға болады (толығырақ 4-қадамды қараңыз).

1 -қадам: маршрутизаторды орнатыңыз (міндетті емес, бірақ ұсынылады)

Маршрутизаторды орнатыңыз (міндетті емес, бірақ ұсынылады)
Маршрутизаторды орнатыңыз (міндетті емес, бірақ ұсынылады)
Маршрутизаторды орнатыңыз (міндетті емес, бірақ ұсынылады)
Маршрутизаторды орнатыңыз (міндетті емес, бірақ ұсынылады)

Протокол маршрутизаторлар үшін жалпы протокол ретінде жасалған, бірақ мен оны білемін (көпшілігі) Fritz! Box маршрутизаторлары (Еуропада өте кең таралған). Басқа брендтер туралы білмеймін. Сіз Fritz! Box қолданасыз деп ойлаймын. Егер сіз бұл жұмысты кез келген басқа маршрутизаторда жасай алсаңыз (немесе олай етпесеңіз), мен оны осы нұсқаулыққа қосуға қуаныштымын (мүмкін, үйлесімділіктің қысқа тізімін бастау керек пе?).

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

Қалай болғанда да, біз міне:

  1. Сіздің сүйікті браузеріңіздің url-жолағына fritz.box теру арқылы Fritz! Box-қа кіріңіз.
  2. FRITZ! Box жаңа пайдаланушысын жасау үшін бетті табыңыз (оны жүйенің астында болу керек, егер таба алмасаңыз, құрылғыны жаңартып көріңіз).
  3. Суретте көріп тұрғандай жаңа есептік жазба жасаңыз (басқа пайдаланушы атын/құпия сөзді қолданыңыз!).
  4. Шығу.

2 -қадам: код

Image
Image
Жабдық (бета)
Жабдық (бета)
  1. Сіз кітапхананы Github -дан ала аласыз.

  2. Мысалдарда сіз осы жобаның коды болып табылатын home-indicator.ino деп аталатын файлды таба аласыз. Мысалдар қалтасын arduino IDE жобасының үй қалтасына және басқа қалтаны сол жобаның үй қалтасындағы кітапханалар қалтасына орналастырыңыз.
  3. (Қайта) IDE іске қосыңыз.
  4. IDE-де home-indicator.ino ашыңыз және параметрлерді енгізіңіз. Ненің қайда кететіні анық болуы керек. Егер сізде сұрақтар туындаса, маған хабарлаңыз!
  5. Енді сіз оны жинап, оны ESP -ке жібере аласыз!

3 -қадам: аппараттық құрал (бета)

Жабдық (бета)
Жабдық (бета)
Жабдық (бета)
Жабдық (бета)
Жабдық (бета)
Жабдық (бета)

Иә … Бұл қадам, мен әлі де біраз жұмыс істеуім керек. Менің ойымша, интернетте бір нәрсені түсінуге жеткілікті материал бар:) Суреттердегідей орнату - бұл D1 болып табылатын GPIO {5, 4, 0, 2} ~ 100Ohm резисторы бар диод. D2, D3, D4 (осылайша) менің MCU ESP8266 тақтасының түйреуіштері және катодтарды GND -ге апаратын қызғылт сары түсті кабель (тақтада G белгісі). Егер сіз жалқау болсаңыз, екінші суретте көргеніңізді жасай аласыз. Жарықдиодты шамдары бар даму тақтасын пайдаланыңыз (мысалы, «ESP-202», суреттерді қараңыз-жеткізіліммен бірге шамамен 3.50-5.00 €). Содан кейін оны USB қуат көзіне жалғауға немесе батарея жинағын пайдалануға, қағазға интерфейсті сызып, қабырғаға жабыстыруға болады. Орындалды. Бұл арнайы тақта үшін порттар:

int userPins [numUser] = {5, 4, 2, 14, 16};

жоғарыдан төмен.

4 -қадам: Outlook/сілтемелер

Мен әлі де жоспарлап отырмын: 1. Жақсы корпус құру (анық) 2. Қолданушыларды/жарықдиодты/MAC/белгілі құрылғыларды басқару үшін жақсы GUI қосу 3. Кітапхананы жетілдіру (бұл үшін Github қараңыз) 4. Түзету: кейде жарық диодты шамдар Белгісіз себепсіз баяу әрекет етіңіз (олар өшкенше біраз уақыт кетеді) Әдеттегідей, басқалардың сіз ойлап тапқан нәрсені көргені мені шын қуантады, сондықтан түсініктеме беруге және суреттерді орналастыруға уақыт бөліңіз!:):) Тағы бірнеше сілтемелерМен сізге көмектесетін кейбір нәрселерді осында байланыстырамын: • TR-064 анықтамасы • Қабықпен және TR-064-пен араласып жүрген кейбір адамдар (API-ді түсіну жақсы) • Гарри Поттер Уикипедия: Уизли сағатына кіру • Кейбір жігіттер әдемі, бірақ күрделі сағатты құрады*_*Бұл сіздің орналасқан жеріңізді анықтайтын телефонға арналған қосымшаға негізделген. Егер сіз алдын ала белгіленген аумақтарда болсаңыз, сағаттың сәйкес шамы жанады. Мен үшін бұл өте күрделі болды және ол бұзылуы/істен шығуы мүмкін көптеген жерлерде болды: • Қолданбаларды жаңартып отыру керек • Барлығы осы қосымшаларды қолдануы керек • Құпиялылыққа әсер етуі мүмкін • Қолданба тек интернетпен жұмыс істейді қосылу • Байланысты байланыстыру үшін аралық серверді пайдалану қажет (егер сіз өзіңіздің серверіңізді орнатып, үй желісін сыртқы трафик үшін ашқыңыз келмесе - я, Интернетке тікелей қосылған басқа қауіпті IOT құрылғысы!) • аралық қызмет бір күні оффлайнға шығуы мүмкін/оның API -ін өзгертуі мүмкін, •… Сізге қосымша бағдарламалық қамтамасыз ету қажет. Бағдарламалық қамтамасыз етудің көп болуы қатені жіберетін жерлерді білдіреді;) Бірақ, олар керемет жұмыс жасады, егер сіз осындай нәрсені жасағыңыз келсе, олардың сайтына өтіңіз, бұл өте керемет!

Ұсынылған: