Мазмұны:
- 1 -қадам: Аппараттық құрал
- 2 -қадам: Arduino эскизі
- 3 -қадам: Синатра сахнаға шығады
- 4 -қадам: Даму машинасын орнатыңыз
- 5 -қадам: Mac немесе Linux жүйесіндегі Ruby
- 6 -қадам: Windows жүйесінде Ruby
- 7 -қадам: Ruby -ді тексеріңіз және орнатыңыз
- 8 -қадам: Sinatra орнатыңыз (барлық платформалар)
- 9 -қадам: Mac немесе Linux жүйесінде Redis
- 10 -қадам: Windows жүйесінде Redis
- 11 -қадам: Web Service қосымшасын жасаңыз
- 12 -қадам: Heroku көмегімен бұлтқа орналастырыңыз
- 13 -қадам: Барлығын біріктіру
- 14 -қадам: Потенциал
Бейне: Үйге ескерту: үлкен дисплейде Arduino + бұлтты хабар алмасу: 14 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Ұялы телефондар заманында адамдар сіздің қоңырауыңызға тәулік бойы жауап береді деп күте аласыз.
Әлде жоқ па. Әйелім үйге келген соң, телефон сөмкесінде қалады немесе батареясы бітіп қалады. Бізде жер сызығы жоқ. Жаңбырлы түнде теміржол вокзалынан үйге лифт сұрау үшін қоңырау шалу немесе SMS жіберу немесе менің кілттерім үстелімде әлі бар ма деп сұрау - бұл шынымен де тілек.
Менде бұл мәселе жиі шешім қабылдауға жеткілікті. Arduino мен Freetronics нүктелік матрицалық дисплейімен (DMD) біршама қиналудың арқасында өте тітіркендіргіш (әйелім үшін) гаджет пайда болды, бірақ мен үшін таңғажайып байланыс құрылғысы мен ақпараттық орталық. Маған ұнайды, бұл тек 1 нұсқа!
Home Alert келесі бөліктерден тұрады:
- Freetronics нүктелік матрицалық дисплей, ол 16х32 жарық диодты жиым болып табылады. Олар түрлі түсті болады, бірақ мен бұл гаджеттің «маңызды» хабарландыруларға арналғанын көрсету үшін қызыл түспен қолданамын.
- Ethernet қалқаны бар Arduino Uno.
- Нақты уақыттағы сағаттық үзіліс, бұл немесе басқа.
- Пьезо дыбысы
- DHT22 температура мен ылғалдылық сенсоры.
Home Alert бұлтқа негізделген қосымшалар хостында орналасқан Heroku веб-беті арқылы басқарылады. Веб-бет Ruby-де кодталған, Sinatra веб-қосымшасының негізін және Redis кілттер дүкенін қолданады.
Бастапқы бетті қараңыз (осы қадамдағы бірінші тіркелген суретте көрсету), онда пішін пайдаланушыдан жаңа хабарламаны күтеді.
Бірінші өріс сандық аппараттық кодты қабылдайды. Бұл белгілі бір үйге ескерту жүйесін қолдануға мүмкіндік беретін код, себебі олардың әрқайсысына бірегей код берілуі мүмкін. Немесе, сізде сол код бірнеше орындарда көрсетілуі үшін, сол кодты бөлісетін бірнеше үй ескертулері болуы мүмкін.
Көрсеткіңіз келетін хабарлама екінші өріске өтеді. Сіз енгізген кез келген мәтін DMD -де көрсетіледі.
Егер сіз шу шығарғыңыз келсе, Иә белгісін қойыңыз! құсбелгі қойыңыз, және дыбыстық сигнал жақын маңдағы адамдардың назарын аударатыны сөзсіз.
Бұл мақалада мен сізге Arduino аппараттық құралы мен бағдарламалық жасақтамасы, сондай -ақ Sinatra мини -қосымшасы бар үйдегі ескертудің жеке жүйесін қалай құруға болатынын көрсетемін.
Бастайық!
1 -қадам: Аппараттық құрал
DMD - бұл гаджеттің негізгі нүктесі. Мен шағын СКД экранмен жүре алар едім, бірақ бұл жобаның негізгі идеясы - алыстан көрінетін және естілетін нәрсені шығару болды. Көрнекі бөлік үшін маған үлкен және жарқын нәрсе қажет болды, ал бұл Freetronics дисплейі дәл маған қажет болды. Әр панельде 16x32 жарық диодтар жиыны бар, және сіз олардың бірнешеуін біріктіріп, әлдеқайда үлкен дисплейлер жасай аласыз. Бұл мен жақын арада жасағым келетін нәрсе.
DMD қолдануға оңай Arduino кітапханасымен бірге келеді. ол Arduino-мен жоғары жылдамдықты SPI арқылы байланысады. Мен кітапхананы Freetronics Github бетінен ала алдым, содан кейін демо -эскизді шығарып, қорапты ашқаннан кейін бірнеше минут ішінде жұмыс істей алдым. Мен тек Arduino -дан қуат алатын осындай жарқын дисплейді көріп таң қалдым. Егер сіз көрермендерді уақытша соқыр еткіңіз келсе, осы DMD -ге арнайы қуат көзін қоса аласыз. Егер бұл олардың назарын аудармаса, ештеңе болмайды!
Физикалық түрде бұл дисплейдің өлшемі 320 мм (Вт), 160 мм (Н) және 14 мм (D).
Артқы панельде сыртқы қуат коннекторлары бар, кемінде 4Амп сыйымдылығы бар 5В, HUB1 деп белгіленген Arduino коннекторы және қарама-қарсы жақта тізе қосатын қосымша дисплейлерге арналған қосқыш бар. Құжаттамаға сәйкес, сіз төрт DMD-ге дейін тізбектей аласыз.
DMD Arduino Uno басқарады. Freetronics өте ыңғайлы «DMDCON» қосқышын қамтамасыз етеді, ол тікелей SPI мен деректер түйреуіштеріне тікелей қосылады.
DMD-ден басқа, мен Arduino Uno, Ethernet Shield, нақты уақыттағы үзіліс, дыбыстық сигнал және DHT22 қолдандым. Барлық осы компоненттер үшін мен Udemy курсында олардың жұмысын сипаттайтын дәрістер құрдым. (Ұятсыздық: arduinosbs.com электронды поштасына жазылыңыз және 55 дәріске жеңілдікпен кіруге мүмкіндік беретін купон алыңыз).
Нақты уақыттағы сағат DS18072 IC негізіндегі үзіліс-бұл I2C құрылғысы, сондықтан ол I2C шинасын іске қосатын Uno аналогтық 1 және 2 түйреуіштеріне қосылған.
Зумер 3 цифрлық түйреуішке қосылған, мен оны тон () функциясы арқылы басқарамын.
DHT22 сенсоры 2 цифрлық түйреуішке қосылады. 5В желісі мен деректер желісінің арасына 10KΩ тартылатын резисторды қосу үшін абай болыңыз.
2 -қадам: Arduino эскизі
Эскиз жол саны бойынша үлкен емес, бірақ барлық кітапханалардың арқасында Uno -ның қол жетімді флэш -жадын сарқылтады. Жадты оңтайландыруға көп орын бар, бірақ мен прототиптеу сатысында болғандықтан, бұл басқа күнге арналған жоба. Бұл код Github -те қол жетімді.
Міне, кірістірілген түсініктемелері бар эскиз (PDF қосымшасын қараңыз).
Бұл эскиздің негізгі жауапкершілігі - Arduino -ны веб -сервистің тұтынушысы ету. Веб-қызмет-бұл екі соңғы нүктесі бар қарапайым веб-сайт, олардың біреуі адам пайдаланушыға веб-браузер арқылы кіре алады және DMD-де көрсеткісі келетін мәтіндік жолды жібереді, екіншісі Arduino қол жеткізе алады. сол мәтін жолын шығарыңыз.
Қосылған PDF файлын жүктеңіз және оқыңыз, онда оның жұмысын сипаттайтын енгізілген түсініктемелер бар.
3 -қадам: Синатра сахнаға шығады
Веб -сайттар мен веб -қызметтерді құрудың көптеген әдістері бар. Веб-кітапханалары бар бағдарламалау тілдерінен бастап, толыққанды шеңберлерге дейін, бұл жұмысқа біреуін таңдау қиын болуы мүмкін.
Мен веб -қосымшалардың көптеген технологияларын қолдандым және ойнадым, және Sinatra веб -қызметтер мен шағын веб -сайттар құруға өте ыңғайлы екенін білдім. Атап айтқанда, мен Arduino гаджетін қолдау үшін веб -қызмет жасаған кезде, Sinatra - бұл өте жақсы таңдау.
Sinatra дегеніміз не және бұл неге жақсы таңдау? Сұрағаныңызға қуаныштымын!
Sinatra - бұл веб -қосымшаларды жылдам дамытуға арналған тіл. Ол Ruby -дің үстіне салынған, жалпыға ортақ сценарий тілі. Сіз Sinatra -ны «DSL», доменге тән тіл деп атайтынын естуіңіз мүмкін. Мұндағы домен - бұл Интернет. Sinatra үшін жасалған кілт сөздер (сөздер) мен синтаксис - бұл адамдарға веб -қосымшаларды құруды жеңілдететін және жылдам ететін жағдай.
Ruby on Rails және Django сияқты веб-қосымшаларды әзірлеуге арналған «пікірленген» құрылымдар өте танымал болған кезде, Sinatra спектрдің қарама-қарсы шетін түсіреді. Ruby on Rails және Django бағдарламашылардан белгілі бір конвенция мен іс -әрекет тәсілін ұстануды талап етсе (бұл өз кезегінде ұзақ және ұзақ оқу қисығын білдіреді), Синатра мұндай талаптарды қоймайды.
Синатра тұжырымдамасы бойынша әлемдегі рельстер мен джангостардан әлдеқайда қарапайым. Сіз бірнеше минут ішінде Arduino -мен өзара әрекеттесе алатын веб -қосымшаны іске қосуға болады.
Мен мысалмен көрсетемін. Sinatra минималды веб -қосымшасы мынаған ұқсайды (әзірге мынаны оқыңыз, компьютерде мұны жасамаңыз, себебі сізде бұл үшін алғышарттар әлі жоқ шығар):
Бір файлда оны my_app.rb деп атайық, мына мәтінді қосыңыз:
талап 'sinatra'get'/'do «Сәлем, әлем!» соңы
Пәрмен жолында бағдарламаны келесідей бастаңыз:
ruby my_app.rb
Сіздің қолданба іске қосылады және сіз консольде осы мәтінді көресіз:
peter@ubuntu-dev: ~/arduino/sinatra_demo $ ruby my_app.rbPuma 2.8.1 басталады…* Минималды ағындар: 0, максималды ағындар: 16* Қоршаған орта: даму* Tcp: // localhost: 4567 == Sinatra/1.4.4 Puma резервтік көшірмесімен 4567 әзірлеу кезеңін алды
Қолданба енді клиенттердің сұраныстарын қабылдауға дайын. Браузерді ашып, оны https:// localhost: 4567 деп көрсетіңіз, сонда сіз көресіз (қоса берілген скриншотты қараңыз).
Бұл бір файлдағы кодтың төрт қарапайым жолы. Керісінше, Rails жүйенің талаптарын қанағаттандыру үшін жасалған жүзден астам файлды қажет етеді. Қателеспеңіз, мен Rails -ті жақсы көремін, бірақ шынымен?…
Сонымен, Sinatra қарапайым және жылдам жүгіреді. Менің ойымша, сіз Ruby, Sinatra және бұлтқа қосымшаларды орналастыру туралы ештеңе білмейсіз деп ойлаймын, сондықтан келесі бөлімде мен сізді нөлден бастап Arduino веб -қызметін бұлтқа орналастыруға дейін біртіндеп жүргіземін.
4 -қадам: Даму машинасын орнатыңыз
Sinatra Ruby бағдарламалау тіліне негізделген. Сонымен, Sinatra -ны орнатпас бұрын Ruby -ды орнату керек.
Сіз сондай-ақ Redis деп аталатын кілт-құндылықтар серверін орнатуыңыз керек. Redis -ті деректерді кілтке қарсы сақтайтын мәліметтер базасы деп ойлаңыз. Сіз деректерді алу үшін кілтті қолданасыз және ол дәстүрлі реляциялық мәліметтер қоры үшін жасалған деректер құрылымының икемділігіне емес, жылдамдыққа оңтайландырылған. Home Alert хабарламаларын Redis -те сақтайды.
5 -қадам: Mac немесе Linux жүйесіндегі Ruby
Егер сіз Mac немесе Linux компьютерін қолдансаңыз, Ruby қондырғысын орнату және басқару үшін RVM қолдануды ұсынамын (RVM: Ruby Version Manager). Ruby -ді RVM -мен орнатуға арналған нұсқаулар осы бетте немесе осы команданы қабығыңызға көшіріп, қойыңыз:
curl -sSL https://get.rvm.io | bash -s тұрақты -бұталы
Отырыңыз, демалыңыз, RVM мен Ruby -дің жүктелуін, жиналуын және орнатылуын күтіңіз.
6 -қадам: Windows жүйесінде Ruby
Егер сіз Windows жүйесінде болсаңыз, мен Ruby Installer for Windows веб -сайтындағы осы нұсқаулықты орындауды ұсынамын және орнату бағдарламасын қолданыңыз.
7 -қадам: Ruby -ді тексеріңіз және орнатыңыз
Жазу кезінде Ruby -дің соңғы тұрақты шығарылымы 2.1.1.p76. Сіз RVM көмегімен орнатылған нұсқаны тексере аласыз:
rvm ақпараты
RVM мен Ruby туралы көптеген ақпарат пайда болады. Менің жағдайда бұл Ruby бөлімі:
ruby: аудармашы: «ruby» нұсқасы: «2.1.1p76» күні: «2014-02-24» платформасы: «x86_64-linux» түзету деңгейі: «2014-02-24 нұсқасы 45161» full_version: «ruby 2.1.1p76 (2014 ж.) -02-24 нұсқасы 45161) [x86_64-linux] «
Мен сізге Ruby 2.1.1 қолдануды ұсынамын, сондықтан егер сіз одан ескі нәрсені көрсеңіз, келесідей жаңартыңыз:
rvm орнату 2.1.1
Бұл Ruby 2.1.1 орнатады. RVM жобасының сайтында RVM және Ruby қондырғысын басқару туралы көптеген ақпарат бар.
8 -қадам: Sinatra орнатыңыз (барлық платформалар)
Ruby -де код «асыл тастар» деп аталатын пакеттер ретінде ортақ пайдаланылады. Sinatra құрайтын кодты компьютерге келесідей асыл тастар ретінде орнатуға болады:
асыл тасты орнату sinatra
Бұл жол барлық код пен құжаттарды алып, оны компьютерге орнатады.
9 -қадам: Mac немесе Linux жүйесінде Redis
Mac немесе Linux жүйесінде Redis орнату оңай. Процесс Redis веб -сайтында түсіндірілген. Қабық терминалын ашып, мына пәрмендерді теріңіз:
$ wget https://download.redis.io/releases/redis-2.8.7.tar…$ tar xzf redis-2.8.7.tar.gz $ cd redis-2.8.7 $ жасау
Теру арқылы Redis іске қосыңыз:
$ src/redis-сервері
… және сіз жасадыңыз!
10 -қадам: Windows жүйесінде Redis
Windows жүйесінде Redis әзірлеуге ғана ұсынылады және оны Visual Studio Express ақысыз әзірлеу ортасы арқылы құрастыру қажет болады. Оны іске қосу үшін біраз уақыт қажет, бірақ ол жақсы жұмыс істейді және күш жұмсауға тұрарлық. Жобаның Github бетіндегі нұсқауларды орындаңыз. Онда сіз Visual Studio Express бетіне сілтеме таба аласыз.
11 -қадам: Web Service қосымшасын жасаңыз
Қолданбаны құрып, оны сіздің әзірлеу машинаңызда іске қосайық. Біз тестілеу кезінде Arduino эскизін қосымшаның осы данасына қосылу үшін реттейміз. Барлығы жақсы жұмыс істейтініне қанағаттанғаннан кейін, біз бұлтқа орналастырамыз және бұлтты пайдалану үшін эскизді жаңартамыз.
Міне Ruby коды, барлығы «web.rb» деп аталатын бір файлда (бұл код Github -да бар).
Маңызды: Тіркелген PDF файлын жүктеңіз және оқыңыз, онда егжей -тегжейлі енгізілген түсініктемелер бар (жалғастырмас бұрын мұны істеңіз!).
Енді сіз үйдегі ескерту жүйесін қолдана аласыз. Эскизде WebSITE және WEBPAGE тұрақтыларын өзгерту машинасын және Sinatra әзірлеу серверінің порт нөмірін көрсету үшін өзгертіңіз. Менің жағдайда IP 172.16.115.136 бойынша әзірлеу машинасы бар, ал Sinatra әзірлеу сервері 5000 портын тыңдайды, сондықтан менің эскиздік параметрлерім:
#HW_ID «123» анықтаңыз#WEB САЙТЫН анықтаңыз «172.16.115.136:5000:0# WEBPAGE»/get_message/«анықтаңыз
Бұл IP мекенжайы тек менің үй желісіндегі құрылғылар үшін қол жетімді.
HW_ID параметрі «аппараттық идентификаторды» білдіреді, яғни DMD басқаратын Arduino Синатра қосымшасына сәйкестендіретін идентификатор. Бұл аутентификацияның өте қарапайым түрі. Веб -бағдарлама Arduino -ға ұсынылған HW_ID негізінде хабарды береді. Сізде HW_ID бірдей бірнеше құрылғы болуы мүмкін, бұл жағдайда барлық құрылғылар бірдей хабарды көрсетеді. Егер сіз «құпиялылықты» қаласаңыз, көптеген адамдар кездестіре алмайтын кездейсоқ таңбалары бар идентификаторды таңдаңыз. Сондай -ақ, сақ болыңыз, ешқандай байланыс шифрланбайды.
Енді Sinatra қосымшасын іске қосыңыз және оны енгізіңіз (егер сіз Sinatra жобасының қалтасында болсаңыз):
ruby web.rb
… және сіз осындай нәрсені көресіз (кейбір мәліметтер өзгеруі мүмкін, егер ол бұзылмаса, сізде бәрі жақсы):
10:42:18 веб.1 | 4911910: 42: 18 веб.1 | пидінен басталды Puma 2.8.1 басталады… 10: 42: 18 веб.1 | * Минималды ағындар: 0, максималды ағындар: 1610: 42: 18 веб.1 | * Қоршаған орта: даму10: 42: 18 веб.1 | * Tcp: //0.0.0.0: 5000 бойынша тыңдалуда
Веб -шолғышты сервер тыңдайтын жерге бағыттаңыз, сонда сіз көресіз (екінші қосымшаны қараңыз).
Эскизді Arduino -ға жүктеңіз, оның жергілікті желіге қосылғанына көз жеткізіңіз. Егер бәрі ойдағыдай болса, Arduino сіздің веб -қызметіңізді минутына бір рет сұрайды. Көрсету үшін хабарлама беріңіз: HW коды өрісіне эскизде HW_ID тұрақтысына орнатқан идентификаторды енгізіңіз. «Сіздің хабарламаңыз» өрісіне кез келген нәрсені енгізіңіз және «Buzz?» Тексеріңіз. құсбелгі қойыңыз.
Жіберіңіз, бір минут күтіңіз және сіздің хабарлама DMD -де пайда болатынын көріңіз!
12 -қадам: Heroku көмегімен бұлтқа орналастырыңыз
Енді Home Alert әзірленуде, оны бұлтта жұмыс жасайық. Веб -қосымшаларды орналастырудың көптеген нұсқалары бар. Home Alert -тің ауқымы мен күрделілігіне сүйене отырып, мен өзімнің жеке виртуалды серверімді құрудың қажеті жоқ деп шештім. Оның орнына, қосымша хост Хероку сияқты қызметке жүгінген жөн. Менің шкалам бойынша, Херокудың бос деңгейі жеткілікті. Тіпті Redis компоненті үшін мен Heroku -мен жұмыс істейтін көптеген Redis провайдерлерінің бірінен тегін жоспарды таңдай алдым.
Дегенмен, біраз күш жұмсалады, бұл менің қосымшамды Героку сипаттамаларына сәйкес келуі үшін оны сәл өзгертуге байланысты. Мәліметтер мына жерде, бірақ сізге бұл файлдарды Sinatra жобасына қосу қажет болады (келесі файлдарды менің Github есептік жазбамнан жүктеуге болады):
* config.ru: Ол Heroku -ға қосымшаның қай файлда екенін айтады. Міне мазмұны:
талап './web'run Sinatra:: Қолданба
Бірінші жол web.rb нұсқайды, ал екінші жол сіздің қосымшаңызды іске қосады.
* Gemfile: онда қосымшаға қажет асыл тастар (рубин кодының пакеттері) бар. Героку сіздің қосымшаңыз жұмыс істеуі үшін басқа қандай кодты орнату керектігін анықтау үшін осы файлдың ішінен қарайды. Gemfile қараудың тағы бір әдісі - бұл сіздің жобаңызға тәуелділіктер тізімі. Егер осы тәуелділіктің кез келгені болмаса, сіздің қосымшаңыз жұмыс істемейді. Бұл қолданба үшін Gemfile ішінде не бар:
дереккөз «https://rubygems.org» рубин «2.1.1» gem 'sinatra'gem' puma'gem 'redis'
Біріншіден, ол барлық Gem кодының бастапқы репозиторийін rubygems.org деп орнатады. Әрі қарай, бұл бағдарламаны іске қосу үшін Ruby 2.1.1 нұсқасын қажет етеді. Содан кейін ол қажетті Gems тізімін береді: Sinatra, Puma (Ruby веб -қосымшасының керемет сервері) және Redis.
* Procfile: ол Heroku -ға серверді қалай іске қосу керектігін айтады. Мұнда бір ғана жол бар:
веб: rackup -s puma -p $ PORT
Бұл жолда «веб» - бұл қажет қызметтің жалғыз түрі (сізде өңдеуші үшін «жұмысшы» сияқты басқалар болуы мүмкін) және қызметті бастау үшін Heroku «:» белгісінен кейін келетін пәрменді қолдануы керек дейді.
Сіз әзірлеу машинаңызда осы реттілікті орындау арқылы Heroku не істейтінін имитациялай аласыз (тек көрсеткіге дейін тестті теріңіз; көрсеткіден кейінгісі тек команданың сипаттамасы):
$> gem install bundler -> Gemfile файлын басқаруды білетін Bundler орнатады. $> bundle install -> Bundler Gemfile файлын өңдейді және тәуелділікті орнатады. $> rackup config.ru -> Rackup -config.ru файлын өңдей алатын құрал. Әдетте ол Ruby -дің кейінгі нұсқасымен келеді, егер ол оны осылай орнатпаса: gem install rack.
Соңғы қадам сіздің қосымшаңызды іске қосады. Сіз оны ruby web.rb -пен бұрын бастаған кездегідей дәл шығуды көруіңіз керек. Бұл дәл сол бағдарлама жұмыс істейді, айырмашылығы - екінші әдіс - Хероку оны қалай іске қосады.
Біз бұл қосымшаны сіздің Heroku есептік жазбаңызға орналастыруға дайынбыз. Егер сізде әлі жоқ болса, жалғастырыңыз және қазір жасаңыз. Содан кейін, есептік жазбаны және жергілікті даму машинасын, әсіресе Heroku Toolbelt -ті орнату үшін жылдам бастау нұсқаулығын орындаңыз.
Heroku Toolbelt Heroku пәрмен жолының клиентін, Git (бастапқы кодты басқару жүйесі) және Foreman (Procfile негізіндегі қосымшаларды басқаруға көмектесетін Ruby құралы) орнатады.
Heroku веб -сайтындағы нұсқауларды орындап, Heroku Toolbelt орнатуды аяқтағаннан кейін, қосымшаны орналастыру үшін мына қадамдарды орындаңыз (барлығы пәрмен жолында, бағдарлама каталогында теріледі):
$> heroku login -> $> git init -> $> git add қосымшасы үшін Git репозиторийін пәрмен жолы арқылы Heroku -ға кіріңіз. -> (нүктеге назар аударыңыз!) Ағымдағы каталогтағы барлық файлдарды Git репозиторийіне қосыңыз $> git serve -m “init« -> Бұл файлдарды репозиторийге енгізіңіз, $> heroku create -> жаңасын жасаңыз. Heroku қолданбасы. Heroku сіздің қолданбаға кездейсоқ атау береді, мысалы, «жарқыраған галактика-997». Кейінірек веб -шолғыш арқылы кіру үшін атау мен URL -ге назар аударыңыз. Бұл URL келесідей болады: «https://blazing-galaxy-997.herokuapp.com/». Сізге жаңа қосымшаның хост атауын («blazing-galaxy-997.herokuapp.com» бөлігі) Arduino эскизінің WEBSITE тұрақтысына көшіру қажет болады. Кейінірек ұмытпау үшін қазір жасаңыз. $> heroku addons: rediscloud қосу -> Қолданбаңызға Rediscloud Redis қызметінің бос деңгейін қосады. Конфигурация параметрлері автоматты түрде жасалады және сіздің қосымшаңызға қол жетімді болады. $> git push heroku master -> кодты Heroku -ға орналастырыңыз. Бұл кодты автоматты түрде жібереді, Heroku -ға кез келген тәуелділікті орнатады және қосымшаны іске қосады. Процестің соңында сіз келесідей нәрсені көресіз: «Heroku-да https://blazing-galaxy-997.herokuapp.com орналастырылған», яғни сіздің қосымшаңыз қазір бұлтта ашық! Құттықтаймын!
Алға, айналдырыңыз!
13 -қадам: Барлығын біріктіру
Веб -қосымшаны орналастыру арқылы жаңартылған нобайды Arduino -ға жүктеңіз (веб -қосымшаның өндірістік данасын көрсету үшін WEBSITE тұрақтысын жаңартқаныңызды ұмытпаңыз).
Браузерді қолданып, Heroku бағдарламасына кіріңіз. Кіріспеде айтылғандай, бірінші мәтіндік ұяшыққа аппараттық құралдың идентификаторын, екіншісіне хабарламаңызды енгізіңіз және дыбыстық сигналды іске қосу үшін құсбелгіні қойыңыз.
Егер бәрі жақсы болса, сіздің хабарламаңыз DMD -де шамамен бір минуттан кейін пайда болады!
14 -қадам: Потенциал
Home Alert жүйесімен сіз көп нәрсені жасай аласыз …
Heroku артқы жағына ие болу сізге керемет функционалдылықты қосатын көптеген логиканы қосуға болатынын білдіреді. Мысалы, сіз қосымша хабарландыруларды, растауды басқаруға немесе строб шамдары сияқты қосымша хабарландыру қондырғыларын басқаруға мүмкіндікті қоса аласыз. Сіз оны үй автоматтандыру аумағына және басқару шамдары мен есіктеріне кеңейте аласыз. Әрқайсысында әр түрлі хабарларды немесе біріккен үлкен дисплейде бір хабарды көрсету үшін бірнеше DMD қосуға болады. Мен мұнда мүмкін нәрсенің бетін тырнап жатырмын!
Ләззат алыңыз!
Ұсынылған:
LED ақылды бұлтты жарық: 11 қадам (суреттермен)
LED ақылды бұлт шамы: бұл ең аз құралдармен біріктіруге болатын жарықдиодты ақылды бұлт. Контроллер көмегімен сіз әр түрлі өрнектер мен түстерді жасай аласыз. Светодиодтар жеке адрестелгендіктен (әр жарықдиодты түсі және/немесе жарықтығы әр түрлі болуы мүмкін)
Бұлтты ауа райы болжамы: 11 қадам (суреттермен)
Ауа райын болжау бұлты: Бұл жоба Raspberry Pi Zero W. көмегімен ауа райы бұлтын жасайды, ол Yahoo Weather API -мен қосылады және келесі күнге арналған болжамға байланысты түстерді өзгертеді. Мен Висконсин газ ғимаратынан шабыт алдым, оның төбесінде жалын өзгереді
Omnik түрлендіргіші бұлтты емес және менің MQTT -те: 3 қадам (суреттермен)
Omnik түрлендіргіші бұлтты және менің MQTT -те: Менде Omnik тізбекті инверторы бар күн энергиясын қондыратын қондырғы бар. Omnik - бұл Қытайдағы PV инверторларының өндірушісі және олар өте тиімді құрылғылар жасайды. Қажет болса, оны қосу үшін WiFi модулін орнатуға болады. Мен өте біргемін
Arduino бассейніндегі бұлтты бақылау: 7 қадам (суреттермен)
Arduino жүзу бассейнінің бұлтты мониторингі: Бұл жобаның негізгі мақсаты - Samsung ARTIK Cloud көмегімен бассейндердің рН және температуралық деңгейін бақылау. Аппараттық құралдар компоненттері: Arduino MKR1000 немесе Genuino MKR1000 қосқыш сымдары (жалпы) SparkFun рН сенсорлық жинағы 1 x 4 резистор 4.7
Pi -ді (жергілікті) бұлтты серверге айналдырыңыз!: 19 қадам (суреттермен)
Pi Pi (Local) бұлтты серверін жасаңыз!: Құжаттар мен фотолар мен музыканы жергілікті Pi Cloud серверінде сақтаңыз және қол жеткізіңіз! Ең жақсы жағы: егер сіз Интернет өшіп қалса (немесе сіз алыс жерде болсаңыз және Уикипедияға кіргіңіз келсе) оны пайдалана аласыз. Ой, егер сіздің досыңыз біреуін алса