![Үй эскертүүсү: Arduino + Булуттагы билдирүү чоң дисплейде: 14 кадам (сүрөттөр менен) Үй эскертүүсү: Arduino + Булуттагы билдирүү чоң дисплейде: 14 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/002/image-5114-77-j.webp)
Мазмуну:
- 1 -кадам: Аппараттык
- 2 -кадам: Arduino эскизи
- 3 -кадам: Sinatra сахнага чыгат
- 4 -кадам: Сиздин өнүктүрүү машинаңызды орнотуңуз
- 5 -кадам: Ruby Mac же Linux боюнча
- 6 -кадам: Windows боюнча Ruby
- 7 -кадам: Рубиңизди текшерип, орнотуңуз
- 8 -кадам: Sinatra орнотуу (бардык платформалар)
- 9 -кадам: Mac же Linuxто Redis
- 10 -кадам: Windows боюнча Redis
- 11 -кадам: Желе кызматы тиркемесин түзүңүз
- 12 -кадам: Heroku аркылуу булутка жайгаштыруу
- 13 -кадам: Бардыгын бириктирүү
- 14 -кадам: Потенциал
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:53
![Үйгө эскертүү: Arduino + Cloud дисплейинде чоң дисплейде Үйгө эскертүү: Arduino + Cloud дисплейинде чоң дисплейде](https://i.howwhatproduce.com/images/002/image-5114-78-j.webp)
![Үйгө эскертүү: Arduino + Cloud дисплейинде чоң дисплейде Үйгө эскертүү: Arduino + Cloud дисплейинде чоң дисплейде](https://i.howwhatproduce.com/images/002/image-5114-79-j.webp)
![Үйгө эскертүү: Arduino + Cloud дисплейинде чоң дисплейде Үйгө эскертүү: Arduino + Cloud дисплейинде чоң дисплейде](https://i.howwhatproduce.com/images/002/image-5114-80-j.webp)
Уюлдук телефондордун доорунда, адамдар 24/7 чалууңузга жооп берет деп күтөт элеңиз.
Же жок. Аялым үйгө келгенден кийин, телефон анын сумкасында калат же батарейкасы бүтүп калат. Бизде жер тилкеси жок. Жамгырлуу түндө вокзалдан үйгө лифт сурап чалуу же SMS жөнөтүү же менин ачкычтарым столумда дагы деле жокпу деп сурап чалуу - бул чын эле каалоо.
Менде бул көйгөй көп учурда чечүүнү кепилдөө үчүн жетиштүү. Arduino жана Freetronics Dot Matrix Display (DMD) менен бир аз алаксытуу абдан аянычтуу (аялым үчүн) гаджетке алып келди, бирок мен үчүн укмуштуудай байланыш түзмөгү жана маалымат борбору. Мен аны жакшы көрөм, жана бул 1 -версия!
Home Alert бул бөлүктөрдөн турат:
- Freetronics Dot Matrix дисплейи, бул 16x32 LED диапазону. Алар ар кандай түстө болот, бирок мен бул гаджет "критикалык" билдирмелер үчүн экенин баса белгилөө үчүн кызыл түстү колдоном.
- Ethernet Shield менен Arduino Uno.
- Чыныгы убакыттагы сааттын үзүлүшү, тигил же бул сыяктуу.
- Пьезо сигнал
- DHT22 температура жана нымдуулук сенсору.
Home Alert булутка негизделген колдонмо хосту Heroku жайгаштырылган веб баракча аркылуу көзөмөлдөнөт. Веб-баракча Rubyде коддолгон, Sinatra веб колдонмо алкагын жана Redis ачкыч-баалуулук дүкөнүн колдонот.
Үй баракчасын карап көрүңүз (бул кадамдын биринчи тиркелген сүрөтүндө көрсөтүү), анда форма колдонуучудан жаңы билдирүүнү күтөт.
Биринчи талаа сандык аппараттык кодду кабыл алат. Бул конкреттүү Home Alert системасын бутага алууга мүмкүндүк берген код, анткени ар бирине уникалдуу код берилиши мүмкүн. Же сиз бир эле кодду бөлүшкөн бир нече үй эскертүүсүнө ээ боло аласыз, ошол эле билдирүү бир нече жерге көрсөтүлөт.
Көрсөткүңүз келген билдирүү экинчи талаага барат. Сиз киргизген бардык текст DMDде көрсөтүлөт.
Эгер кандайдыр бир ызы -чуу кылгыңыз келсе, Ооба дегенди текшериңиз! белгилөө кутучасы, жана коңгуроо жакын жердегилердин көңүлүн бураары шексиз.
Бул макалада мен сизге Arduino аппараттык жана программалык камсыздоону, ошондой эле Sinatra мини веб тиркемесин кантип өзүңүздүн Home Alert системаңызды курууну көрсөтөм.
Баштайлы!
1 -кадам: Аппараттык
![Аппараттык Аппараттык](https://i.howwhatproduce.com/images/002/image-5114-81-j.webp)
![Аппараттык Аппараттык](https://i.howwhatproduce.com/images/002/image-5114-82-j.webp)
![Аппараттык Аппараттык](https://i.howwhatproduce.com/images/002/image-5114-83-j.webp)
DMD - бул гаджеттин борбору. Мен кичинекей LCD экраны менен бармакмын, бирок бул долбоордун негизги идеясы алыстан көрүнүп жана угула турган нерсени чыгаруу болчу. Визуалдык бөлүк үчүн мага чоң жана жаркыраган нерсе керек болчу, жана бул Freetronics дисплейи дал мага керек болчу. Ар бир панелде 16x32 LED диапазону камтылган, жана сиз алардын бир нечесин бириктирип, чоңураак дисплейлерди түзө аласыз. Бул мен жакынкы келечекте кылгым келген нерсе.
DMD колдонууга оңой Arduino китепканасы менен коштолот. ал Arduino менен жогорку ылдамдыктагы SPI аркылуу байланышат. Мен китепкананы Freetronics Github баракчасынан ала алдым, андан кийин демо эскизди күйгүзүп, кутучаны ачкандан бир нече мүнөттүн ичинде иштей алдым. Ардуинонун гана күчүн колдонуп, мындай жаркыраган дисплейди көрүп таң калдым. Эгерде сиз көрүүчүлөрүңүздү убактылуу сокур кылгыңыз келсе, бул DMDге атайын электр энергиясын тиркеп койсоңуз болот. Эгерде бул алардын көңүлүн албаса, анда эч нерсе болбойт!
Физикалык жактан бул дисплейдин өлчөмү 320 мм (W), 160 мм (H) жана 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 ICге негизделген реалдуу убакыт сааты I2C түзмөгү болуп саналат, ошондуктан ал I2C шинасын ишке ашыруучу Uno аналогдук казыктары 1 жана 2ге туташкан.
Зумер 3 -санарип пинге туташкан, мен аны тон () функциясын колдонуп башкарам.
DHT22 сенсору санарип пин 2ге туташкан. 5V линиясы менен маалымат линиясынын ортосундагы 10KΩ тартма каршылыгын туташтырууда этият болуңуз.
2 -кадам: Arduino эскизи
Эскиз линиялардын саны боюнча чоң эмес, бирок бардык камтылган китепканалардын жардамы менен Uno жеткиликтүү флеш -эсин дээрлик түгөтөт. Эстутумду оптималдаштыруу үчүн көп орун бар, бирок мен прототиптөө стадиясында болгондуктан, бул башка күндүн долбоору. Бул код Githubда жеткиликтүү.
Бул жерде эскиз, камтылган комментарийлер менен (PDF тиркемесин караңыз).
Бул эскиздин негизги жоопкерчилиги - Arduino желе кызматын керектөөчү кылуу. Веб-сервис-бул эки акыркы чекити бар жөнөкөй веб-сайт, бири веб-браузер аркылуу кирүүгө жана DMDде көрсөтүүнү каалаган текст сабын тапшырууга, экинчиси Arduino кирүү үчүн. ошол текст сабын алуу.
Сураныч, тиркелген PDF файлын жүктөп алып, окуңуз, анда анын ишин сүрөттөгөн камтылган комментарийлер бар.
3 -кадам: Sinatra сахнага чыгат
![Sinatra сахнага чыгат! Sinatra сахнага чыгат!](https://i.howwhatproduce.com/images/002/image-5114-84-j.webp)
Веб -сайттарды жана веб -кызматтарды түзүүнүн көптөгөн жолдору бар. Вебди колдогон китепканалары бар программалоо тилдеринен баштап, толук кандуу алкактарга чейин, бул жумушка бирин тандоо башаламан жана кыйын болушу мүмкүн.
Мен веб -приложениянын бир топ технологияларын колдондум жана ойнодум, жана Sinatra веб -кызматтарды жана чакан веб -сайттарды куруу үчүн идеалдуу экенин байкадым. Тактап айтканда, мен Arduino гаджетин колдоо үчүн веб кызматын курганымда, Sinatra чындыгында жакшы тандоо.
Sinatra деген эмне жана ал эмне үчүн жакшы тандоо? Сураганыңызга кубанычтамын!
Sinatra веб -тиркемелерди тез өнүктүрүү үчүн тил. Бул Ruby үстүнө курулган, абдан популярдуу жана экспрессивдүү жалпы максаттуу сценарий тили. Сиз Синатраны "DSL", доменге таандык тил деп атаганын уга аласыз. Бул жерде домен Желе болуп саналат. Sinatra үчүн түзүлгөн ачкыч сөздөр (сөздөр) жана синтаксис ушунчалык, бул адамдарга веб -тиркемелерди түзүүнү оңой жана тез кылат.
Ruby on Rails жана Django сыяктуу веб-тиркемелерди иштеп чыгуу үчүн "пикирленген" негиздер абдан популярдуу болгон учурда, Sinatra спектрдин карама-каршы четин басып алат. Ruby on Rails жана Django программисттен белгилүү бир конвенцияны жана иштерди жасоону талап кылат (бул өз кезегинде тик жана узак окуу ийримин билдирет), Sinatra мындай талаптарды койбойт.
Синатра концептуалдык жактан дүйнөнүн Rails жана Djangosуна караганда алда канча жөнөкөй. Сиз Arduino менен бир нече мүнөттүн ичинде өз ара аракеттене ала турган веб -тиркеме менен иштей аласыз.
Мен мисал менен көрсөтөм. Бул жерде Sinatra минималдуу веб тиркемеси кандай көрүнөт (азырынча төмөнкүлөрдү окуңуз, чындыгында муну компьютериңизде жасабаңыз, анткени сизде азырынча бул үчүн алдын ала шарттар жок):
Бир файлда, аны my_app.rb деп атап, бул текстти кошуңуз:
"sinatra'get"/'do "Hello, world!" end талап кылынат
Буйрук сабында колдонмону төмөнкүдөй баштаңыз:
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 -кадам: Ruby Mac же Linux боюнча
Эгерде сиз Mac же Linux компьютерин колдонуп жатсаңыз, Ruby орнотууңузду орнотуу жана башкаруу үчүн RVM колдонууну сунуштайм (RVM: Ruby Version Manager). Ruby'ди RVM менен орнотуу боюнча көрсөтмөлөр бул бетте, же бул буйрукту кабыгыңызга көчүрүп чаптаңыз:
curl -sSL https://get.rvm.io | bash -s туруктуу --ruby
Отур, артка, эс алып, RVM менен Rubyдин жүктөлүшүн, компиляциясын жана орнотулушун аяктоону күт.
6 -кадам: Windows боюнча Ruby
Эгерде сиз Windowsта болсоңуз, мен Ruby Installer for Windows веб -сайтындагы бул көрсөтмөнү аткарууну сунуштайм жана орнотуу тиркемесин колдонуңуз.
7 -кадам: Рубиңизди текшерип, орнотуңуз
Жазуу учурунда, Rubyдин акыркы туруктуу версиясы 2.1.1.p76. Сиз муну терүү менен RVM менен орнотулган версиясын текшере аласыз:
rvm маалыматы
RVM жана Ruby жөнүндө көптөгөн маалыматтар пайда болот. Менин учурда, бул Ruby бөлүмү:
ruby: interpreter: "ruby" version: "2.1.1p76" date: "2014-02-24" platform: "x86_64-linux" patchlevel: "2014-02-24 revision 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 түзгөн кодду компьютериңизге мындай асыл таш катары орнотсо болот:
gem орнотуу 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 $ make
Терүү аркылуу Redisти иштетиңиз:
$ src/redis-сервер
… жана сиз бүттүңүз!
10 -кадам: Windows боюнча Redis
Windows боюнча Redis иштеп чыгуу үчүн гана сунушталат, жана аны акысыз Visual Studio Express иштеп чыгуу чөйрөсүн колдонуу менен түзүшүңүз керек болот. Аны иштетүү үчүн бир аз убакыт талап кылынат, бирок ал жакшы иштейт жана аракетке татыктуу. Долбоордун Github баракчасындагы көрсөтмөлөрдү аткарыңыз. Ал жерде сиз Visual Studio Express барагына шилтемени таба аласыз.
11 -кадам: Желе кызматы тиркемесин түзүңүз
![Желе кызматы тиркемесин түзүңүз Желе кызматы тиркемесин түзүңүз](https://i.howwhatproduce.com/images/002/image-5114-85-j.webp)
Келгиле, тиркемени куруп, аны иштеп чыгуучу машинаңызда иштетели. Биз Arduino эскизин сынап жатканда колдонмонун бул нускасына туташуу үчүн тууралайбыз. Баары жакшы иштеп жатканына канааттангандан кийин, биз булутка жайгаштырабыз жана булуттун мисалын колдонуу үчүн эскизди жаңыртабыз.
Мына Ruby коду, бардыгы "web.rb" деп аталган бир файлда (бул код Githubда жеткиликтүү).
Маанилүү: Тиркелген PDF файлын жүктөп алып, окуңуз, анда толук камтылган комментарийлер бар (улантуудан мурун муну кылыңыз!).
Эми сиз Home Alert системаңызды колдонуп көрсөңүз болот. Эскизде WEBSITE жана WEBPAGE константтарын иштеп чыгуучу машинаңызга жана өнүктүрүү Sinatra сервериңиздин портуна көрсөтүү үчүн өзгөртүңүз. Менин учурда, менде IP 172.16.115.136 боюнча иштеп чыгуучу машина бар, жана иштеп чыгуу Sinatra сервери 5000 портун угуп жатат, андыктан менин эскиз жөндөөлөрүм:
#аныктоо HW_ID "123"#WEBITE "172.16.115.136:5000:0# WEBPAGEди аныктоо"/get_message/"
Бул IP дареги менин үй тармагымдагы түзмөктөр үчүн гана жеткиликтүү.
HW_ID жөндөөсү "аппараттык идентификаторду" билдирет, башкача айтканда, DMDди башкарган Arduino Синатра тиркемесине өзүн тааныта турган идентификатор. Бул аутентификациянын эң негизги түрү. Веб -тиркеме Arduinoго HW_IDдин негизинде сураган билдирүүнү тапшырат. Сизде бир эле HW_ID менен бир нече түзмөк болушу мүмкүн, бул учурда бардык түзмөктөр бир эле билдирүүнү көрсөтүшөт. Эгер сиз "купуялуулукту" кааласаңыз, башка адамдар болжой албаган көптөгөн кокустук белгилери бар ID тандаңыз. Ошондой эле сак болгула, эч кандай байланыш шифрленген эмес.
Эми Sinatra колдонмоңузду баштаңыз жана муну териңиз (эгер сиз Sinatra проектинин папкасында болсоңуз):
ruby web.rb
… жана сиз мындай нерсени көрөсүз (кээ бир деталдар өзгөрүшү мүмкүн, эгер бул бузулбаса, сиз жакшы):
10:42:18 web.1 | pid 4911910 менен башталды: 42: 18 web.1 | Puma 2.8.1 башталууда… 10: 42: 18 web.1 | * Мин темалар: 0, эң жогорку темалар: 1610: 42: 18 web.1 | * Айлана -чөйрө: өнүгүү10: 42: 18 веб.1 | * Tcp боюнча угуу: //0.0.0.0: 5000
Веб -браузериңизди сервер угуп жаткан жерге көрсөтүп, муну көрөсүз (экинчи тиркемени караңыз).
Эскизди Arduinoго жүктөңүз, ал жергиликтүү тармагыңызга туташкандыгын текшериңиз. Эгерде баары ойдогудай болсо, Arduino веб кызматыңызды мүнөтүнө бир жолу сурамжылап турат. Көрсөтүү үчүн билдирүү бериңиз: HW коду талаасында, эскизде HW_ID константасына койгон IDңизди териңиз. "Сиздин билдирүүңүз" талаасына каалаган нерсени териңиз жана "Buzz?" белгилөө кутучасы.
Тапшырыңыз, бир мүнөт күтө туруңуз жана сиздин билдирүүңүздүн DMDде пайда болгонун көрүңүз!
12 -кадам: Heroku аркылуу булутка жайгаштыруу
Эми Home Alert иштеп чыгууда, булутта иштейли. Веб тиркемелерди жайгаштыруу үчүн сан жеткис варианттар бар. Home Alertтин көлөмүнө жана татаалдыгына таянып, мен өзүмдүн жеке виртуалдык серверимди орнотуу бул аракетке арзыбайт деп чечтим. Анын ордуна, тиркеме хосту Heroku сыяктуу кызматка баруу жакшы. Менин масштабым боюнча, Герокунун бекер катмары жетиштүү. Redis компоненти үчүн дагы, мен Heroku менен иштеген көптөгөн Redis провайдерлеринин ичинен бекер планды тандай алдым.
Ошентсе да, бир аз аракет бар, бул менин арызымды Герокунун спецификациясына ылайык келиши үчүн бир аз өзгөртүүгө байланыштуу. Чоо -жайы бул жерде, бирок негизинен бул файлдарды Sinatra долбооруңузга кошушуңуз керек (кийинки файлдардын бардыгын менин Github эсебимден жүктөп алсаңыз болот):
* config.ru: Бул Херокуга тиркемени камтыган файлды айтат. Бул жерде мазмуну:
талап './web'run Sinatra:: Application
Биринчи сап web.rbге көрсөтөт, ал эми экинчи сап сиздин колдонмоңузду иштетет.
* Gemfile: анда тиркеме талап кылган асыл таштар (рубин коду топтомдору) камтылган. Колдонмоңуз иштеши үчүн, Хероку бул файлдын ичине карап, дагы кандай кодду орнотушу керек экенин түшүнөт. Gemfile кароонун дагы бир жолу - бул сиздин долбоорго көз карандылыктын тизмесин камтыйт. Эгерде бул көз карандылыктардын бири жок болсо, сиздин колдонмоңуз иштебейт. Бул колдонмо үчүн Gemfile ичинде эмне бар:
булак "https://rubygems.org" Ruby "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 эсебиңизге жайгаштырууга дээрлик даярбыз. Эгерде сизде азырынча жок болсо, анда улантыңыз жана азыр түзүңүз. Андан кийин, каттоо эсебиңизди жана жергиликтүү өнүгүү машинаңызды, айрыкча Heroku Toolbeltти орнотуу үчүн тез баштоочу көрсөтмөнү аткарыңыз.
Heroku Toolbelt Heroku буйрук сабынын кардарын, Git (ачык булак кодун башкаруу тутуму) жана Foreman (Procfile негизделген тиркемелерди башкарууга жардам берүүчү Ruby куралы) орнотот.
Heroku сайтынын көрсөтмөлөрүнө ылайык Heroku Toolbeltти орнотууну аяктагандан кийин, колдонмоңузду жайылтуу үчүн бул кадамдарды аткарыңыз (бардыгы команданын сабында, колдонмонун каталогунда жазылган):
$> heroku login -> $> git init -> $ Git репозиторийи үчүн Git репозиторийин баштоо $> git add. -> (чекитке көңүл буруңуз!) Учурдагы каталогдогу бардык файлдарды Git репозиторийине кошуу $> gitapt -m “init” -> Бул файлдарды репозиторийге жазуу, $> heroku create -> Жаңы түзүү Heroku колдонмосу. Heroku сиздин колдонмого кокустук ат берет, мисалы "galaxy-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'га болгон көз карандылыкты орнотот жана тиркемени баштайт. Процесстин аягында сиз мындай нерсени көрөсүз: "https://blazing-galaxy-997.herokuapp.com Heroku жайгаштырылган", демек сиздин колдонмоңуз азыр коомдук булутта жашайт! Куттуктайм!
Баргыла, айланайын!
13 -кадам: Бардыгын бириктирүү
Веб -тиркемесиңиз орнотулганда, жаңыртылган эскизди Arduinoго жүктөңүз (веб -тиркемени өндүрүүчү нускаңызды көрсөтүү үчүн WEBSITE константасын жаңыртканыңызды унутпаңыз).
Колдонмоңузга Heroku'га кирүү үчүн браузериңизди колдонуңуз. Киришүүдөгүдөй эле, биринчи текст кутусуна аппараттык идентификаторуңузду, экинчисине билдирүүңүздү териңиз, жана коңгуроону иштетүү үчүн белгилөө кутучасын белгилеңиз.
Баары ойдогудай болсо, сиздин билдирүүңүз бир мүнөттөн кийин DMDде пайда болот!
14 -кадам: Потенциал
Home Alert тутумуңуз менен дагы көп нерселерди жасай аласыз …
Heroku арткы учуна ээ болуу, сиз укмуштуудай функцияларды кошо турган логиканы көп кошо аласыз дегенди билдирет. Мисалы, сиз тиркемени кайталап эскертүүлөрдү, ырастоолорду башкаруу же строб чырактары сыяктуу кошумча кабарлоо жабдууларын башкаруу жөндөмүн кошо аласыз. Ар биринде ар кандай билдирүүлөрдү көрсөтүү үчүн же бир чоң дисплейде бир билдирүүнү көрсөтүү үчүн бир нече DMD кошо аласыз. Мен бул жерде мүмкүн болгон нерселерди гана тырмап жатам!
Ырахат!
Сунушталууда:
Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен)
![Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен) Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-2315-j.webp)
Батарея менен иштөөчү LED Жарыгы (лары) Күндүн кубаттуулугу менен: Аялым самын жасоону үйрөтөт, анын сабактарынын көбү кечинде болчу, кышында бул жерде саат 16:30 чамасында караңгы кирип калат, анын кээ бир окуучулары бизди табууда кыйналышкан. үй Бизде маңдайкы жазуу бар болчу, бирок көчө лигасы менен да
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
![Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен) Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-1574-23-j.webp)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Булуттагы нымдуулук: 5 кадам
![Булуттагы нымдуулук: 5 кадам Булуттагы нымдуулук: 5 кадам](https://i.howwhatproduce.com/images/010/image-29771-j.webp)
Булуттагы нымдуулук: Жай келе жатат, кондиционери жоктор үй ичиндеги атмосфераны кол менен башкарууга даяр болушу керек. Бул постто мен адамдын жайлуулугу үчүн эң маанилүү параметрлерди өлчөөнүн заманбап жолун сүрөттөп жатам: температура жана нымдуулук. Т
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
![Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен) Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/006/image-15346-7-j.webp)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет
YABC - Дагы бир Blynk Controller - IoT Булуттагы Температура жана Нымдуулук Контролери, ESP8266: 4 Steps
![YABC - Дагы бир Blynk Controller - IoT Булуттагы Температура жана Нымдуулук Контролери, ESP8266: 4 Steps YABC - Дагы бир Blynk Controller - IoT Булуттагы Температура жана Нымдуулук Контролери, ESP8266: 4 Steps](https://i.howwhatproduce.com/images/002/image-5147-38-j.webp)
YABC - Дагы бир Blynk Controller - IoT Булуттагы Температура жана Нымдуулук Контролору, ESP8266: Саламатсыздарбы, мен жакында эле үйдө козу карындарды өстүрө баштадым, устрицалар, бирок менде бул контроллердин үчтөн бир бөлүгү бар. ал дагы ушул Kombucha нерсени жасап жатат жана жылуулук үчүн термостат катары