Mündəricat:

Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması: 14 Addım (Şəkillərlə)
Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması: 14 Addım (Şəkillərlə)
Anonim
Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması
Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması
Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması
Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması
Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması
Ev Xəbərdarlığı: Böyük Ekranda Arduino + Bulud Mesajlaşması

Cib telefonu çağında insanların 24/7 zənginizə cavab verəcəyini gözləyərdiniz.

Ya … yox. Arvadım evə gəldikdən sonra telefon əl çantasında qalır və ya batareyası boşdur. Torpaq xəttimiz yoxdur. Yağışlı bir gecədə qatar stansiyasından evə asansör istəmək və ya açarlarımın hələ də masamda olub -olmadığını soruşmaq üçün zəng etmək və ya SMS göndərmək sözün əsl mənasında arzudur.

Bu problemi tez -tez həll etmək üçün kifayət edərəm. Bir Arduino və Freetronics Dot Matrix Display (DMD) ilə bir az məşğul olmaq çox zəhlətökən (həyat yoldaşım üçün) bir cihazla nəticələndi, amma mənim üçün inanılmaz bir ünsiyyət cihazı və məlumat mərkəzi. Bəyəndim və bu yalnız 1 -ci versiya!

Home Alert bu hissələrdən hazırlanır:

  • 16x32 LED -lərdən ibarət Freetronics Dot Matrix Display. Fərqli rənglərdə olurlar, amma bu gadgetın "kritik" bildirişlər üçün olduğunu vurğulamaq üçün qırmızıdan istifadə edirəm.
  • Ethernet Qalxanı olan Arduino Uno.
  • Bu və ya digər kimi real vaxt saatı.
  • Piezo səs siqnalı
  • DHT22 temperatur və rütubət sensoru.

Home Alert, bulud əsaslı bir proqram sahibi Heroku-da yerləşdirilən bir veb səhifəsi vasitəsilə idarə olunur. Veb səhifə, Sinatra veb tətbiq çərçivəsindən və Redis açar-dəyər mağazasından istifadə edərək Ruby-də kodlanır.

Forma istifadəçidən yeni bir mesaj gözlədiyi ana səhifəyə baxın (bu addımdakı ilk əlavə edilmiş şəkildəki kimi göstərin).

Birinci sahə ədədi aparat kodunu qəbul edir. Xüsusi bir Ev Alert sistemini hədəf almağa imkan verən bir koddur, çünki hər birinə özünəməxsus bir kod verilə bilər. Və ya eyni kodu birdən çox yerə göstərmək üçün eyni kodu paylaşan birdən çox Ev Xəbərdarlığınız ola bilər.

Göstərmək istədiyiniz mesaj ikinci sahəyə gedir. Orada yazdığınız hər hansı bir mətn DMD -də göstəriləcək.

Bir az səs -küy salmaq istəyirsinizsə, Bəli yoxlayın! onay qutusu və səs siqnalı yaxınlıqdakı hər kəsin diqqətini çəkəcəkdir.

Bu yazıda həm Arduino aparat, həm proqram təminatı, həm də Sinatra mini veb tətbiqinin öz Ev Alert sisteminizi necə quracağınızı sizə göstərəcəyəm.

Gəlin başlayaq!

Addım 1: Hardware

Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq

DMD, gadgetın mərkəz nöqtəsidir. Kiçik bir LCD ekranla gedə bilərdim, amma bu layihənin əsas fikri uzaqdan görünən və eşidilən bir şey istehsal etmək idi. Vizual hissə üçün böyük və parlaq bir şeyə ehtiyacım var idi və bu Freetronics ekranı mənə lazım olan şeydir. Hər bir paneldə bir sıra 16x32 LED var və daha böyük ekranlar yaratmaq üçün bunlardan bir neçəsini birləşdirə bilərsiniz. Bu, yaxın gələcəkdə etmək istədiyim bir şeydir.

DMD, istifadəsi asan olan Arduino kitabxanası ilə birlikdə gəlir. Arduino ilə yüksək sürətli SPI vasitəsilə əlaqə qurur. Kitabxananı Freetronics Github səhifəsindən əldə edə bildim, sonra demo eskizini işə saldım və qutunun açılmasından bir neçə dəqiqə sonra işə başladım. Yalnız Arduinonun gücünü istifadə edən belə parlaq bir ekran görəndə təəccübləndim. İzləyicilərinizi müvəqqəti olaraq kor etmək istəyirsinizsə, bu DMD -yə xüsusi bir enerji təchizatı qoşa bilərsiniz. Bu onların diqqətini çəkməsə, heç bir şey olmayacaq!

Fiziki olaraq bu ekran 320 mm (G), 160 mm (H) və 14 mm (D) ölçüsündədir.

Arxa paneldə ən azı 4Amps tutumlu 5V, xarici güc üçün konnektorlar, HUB1 işarələnmiş Arduino konnektoru və əks tərəfdə papatya zəncirvari əlavə ekranlar üçün bağlayıcı var. Sənədlərə görə, dörd DMD-ə qədər papatya zənciri edə bilərsiniz.

DMD bir Arduino Uno tərəfindən idarə olunur. Freetronics, düzgün SPI və məlumat pinlərinə birbaşa yapışan çox rahat bir "DMDCON" konnektoru təmin edir.

DMD-dən başqa, Arduino Uno, Ethernet Shield, real vaxt saatı, buzzer və DHT22 istifadə etdim. Bütün bu komponentlər üçün Udemy kursumda fəaliyyətlərini izah edən mühazirələr hazırladım. (Utanmadan özünü tanıtmaq: arduinosbs.com ünvanındakı e-poçt siyahıma daxil olun və 55 mühazirəyə endirimli giriş imkanı verən bir kupon alın).

DS18072 saat IC-yə əsaslanan real vaxt saatı, I2C cihazıdır, buna görə də Uno-nun I2C avtobusunu tətbiq edən analoq pinləri 1 və 2-yə qoşulur.

Səs siqnalı, rəqəmsal pin 3 -ə bağlıdır, oradan ton () funksiyasından istifadə edərək idarə edirəm.

DHT22 sensoru rəqəmsal pin 2-yə bağlıdır. 5V xətti ilə məlumat xətti arasında 10KΩ çəkmə müqavimətini bağlamaqda diqqətli olun.

Addım 2: Arduino Sketch

Eskiz, xətt sayı baxımından böyük deyil, lakin bütün kitabxanalar sayəsində Uno -nun mövcud flash yaddaşını demək olar ki, tükəndirir. Yaddaş optimallaşdırması üçün çox yer var, amma prototip hazırlama mərhələsindəyəm, bu başqa bir gün üçün bir layihədir. Bu kod Github -da mövcuddur.

Budur eskiz, quraşdırılmış şərhlərlə (PDF əlavəsinə baxın).

Bu eskizin əsas məsuliyyəti Arduino'yu veb xidmətinin istehlakçısı etməkdir. Veb xidməti, iki istifadəçi nöqtəsi olan sadə bir veb saytdır, bunlardan biri insan istifadəçisinin veb brauzer vasitəsi ilə daxil olması və DMD-də göstərmək istədiyi bir mətn sətrini təqdim etməsi, digəri isə Arduinonun daxil olmaq üçün əldə edəcəyi bir saytdır. həmin mətn sətrini əldə edin.

Zəhmət olmasa əlavə edilmiş PDF faylını yükləyin və oxuyun, işini izah edən əlaqədar şərhlər var.

Addım 3: Sinatra səhnəyə çıxır

Sinatra səhnəyə çıxır!
Sinatra səhnəyə çıxır!

Veb saytlar və veb xidmətləri yaratmağın bir çox yolu var. Vebi dəstəkləyən kitabxanaları olan proqramlaşdırma dillərindən tutmuş tam xüsusiyyətli çərçivələrə qədər bu iş üçün birini seçmək çaşqın və çətin ola bilər.

Çox sayda veb tətbiq texnologiyasından istifadə etdim və oynadım və Sinatra'nın veb xidmətləri və kiçik veb saytlar qurmaq üçün ideal olduğunu gördüm. Xüsusilə, bir Arduino gadgetını dəstəkləmək üçün bir veb xidməti qurduğumda, Sinatra həqiqətən yaxşı bir seçimdir.

Sinatra nədir və niyə bu qədər yaxşı seçimdir? Soruşduğunuza şadam!

Sinatra, veb tətbiqlərinin sürətli inkişafı üçün bir dildir. Çox məşhur və ifadəli ümumi məqsədli bir skript dili olan Ruby üzərində qurulmuşdur. Sinatranın bir "DSL", bir Alana Xüsusi Dil olaraq adlandırıldığını eşidə bilərsiniz. Buradakı domen İnternetdir. Sinatra üçün yaradılmış açar sözlər (sözlər) və sintaksis elədir ki, insanların veb tətbiqetmələri yaratmasını asanlaşdırır və sürətləndirir.

Ruby on Rails və Django kimi veb tətbiqetmələri inkişaf etdirmək üçün "fikirləşən" çərçivələrin çox populyar olduğu bir zamanda, Sinatra spektrin əks ucunu tutur. Ruby on Rails və Django, proqramçıdan müəyyən bir konvensiyaya və bir iş tərzinə riayət etməsini tələb etsə də (bu da öz növbəsində dik və uzun öyrənmə əyrisi deməkdir), Sinatra belə bir tələb irəli sürmür.

Sinatra, konseptual olaraq dünyanın Rails və Djangosundan daha sadədir. Bir neçə dəqiqə ərzində Arduino ilə qarşılıqlı əlaqə qura biləcək bir veb tətbiqi ilə işə başlaya bilərsiniz.

Bir nümunə ilə göstərəcəyəm. Sinatra minimal veb tətbiqinin necə göründüyü budur (hələlik aşağıdakıları oxuyun, əslində bunu kompüterinizdə etməyin, çünki ehtimal ki, bunun üçün hələ ön şərtləriniz yoxdur):

Tək bir faylda buna my_app.rb deyək, bu mətni əlavə edin:

'sinatra'get'/'"Salam, dünya!" bitməsini tələb edin

Komanda satırında proqramı bu şəkildə başladın:

yaqut my_app.rb

Tətbiqiniz başlayacaq və bu mətni konsolda görəcəksiniz:

peter@ubuntu-dev: ~/arduino/sinatra_demo $ ruby my_app.rbPuma 2.8.1 başlayır…* Min mövzu: 0, maksimum mövzu: 16* Ətraf: inkişaf* TCP-də dinləmə: // localhost: 4567 == Sinatra/1.4.4, 4567 -də Puma'nın ehtiyat nüsxəsi ilə inkişaf etdirmək üçün səhnəyə çıxdı

Tətbiq artıq müştəri istəklərini qəbul etməyə hazırdır. Bir brauzer açın, https:// localhost: 4567 -ə yönləndirin və görəcəyiniz budur (əlavə edilmiş ekran görüntüsünə baxın).

Bu, bir faylda dörd sadə kod sətiridir. Bunun əksinə olaraq, Rails, çərçivənin tələblərini təmin etmək üçün yaradılan yüzdən çox fayl tələb edərdi. Səhv başa düşməyin, Rails'i sevirəm, amma həqiqətənmi?…

Beləliklə, Sinatra sadədir və sürətli qaçır. Ruby, Sinatra və Buludda tətbiq yerləşdirmə haqqında heç bir şey bilmədiyinizi güman edəcəyəm, buna görə də növbəti hissədə sizi sıfırdan Arduino veb xidmətinizin Buluda yerləşdirilməsinə qədər addım -addım aparacağam.

Addım 4: İnkişaf Maşınınızı Qurun

Sinatra Ruby proqramlaşdırma dilinə əsaslanır. Beləliklə, Sinatra qurmadan əvvəl Ruby qurmalısınız.

Redis adlı bir açar-dəyər mağaza serveri də qurmalısınız. Redis'i məlumatları bir açara qarşı saxlayan bir verilənlər bazası olaraq düşünün. Məlumatları əldə etmək üçün açardan istifadə edirsiniz və bu, ənənəvi əlaqəli verilənlər bazası üçün nəzərdə tutulmuş məlumat strukturlarının elastikliyindən çox sürət üçün optimallaşdırılmışdır. Home Alert mesajlarını Redisdə saxlayır.

Addım 5: Mac və ya Linux -da Ruby

Bir Mac və ya Linux kompüterindən istifadə edirsinizsə, Ruby qurğunuzu (RVM: Ruby Version Manager) quraşdırmaq və idarə etmək üçün RVM istifadə etməyi məsləhət görürəm. Ruby -ni RVM ilə qurmaq üçün təlimatlar bu səhifədədir və ya sadəcə bu əmri qabığınıza kopyalayıb yapışdırın:

curl -sSL https://get.rvm.io | bash -s sabit -kol

Oturun, arxaya oturun, rahatlayın və RVM və Ruby -nin yüklənməsini, tərtib olunmasını və quraşdırılmasını tamamlayın.

Addım 6: Windows -da Ruby

Windows əməliyyat sistemindəsinizsə, Ruby Installer for Windows veb saytında bu təlimatı izləməyi və quraşdırma tətbiqindən istifadə etməyi məsləhət görürəm.

Addım 7: Yaqutunuzu yoxlayın və qurun

Yazı zamanı ən son sabit Ruby versiyası 2.1.1.p76 -dır. Bunu yazaraq RVM ilə quraşdırılmış versiyanı yoxlaya bilərsiniz:

rvm məlumatı

RVM və Ruby haqqında çoxlu məlumatlar görünəcək. Mənim vəziyyətimdə, bu Ruby bölməsidir:

yaqut: tərcüməçi: "yaqut" versiyası: "2.1.1p76" tarixi: "2014-02-24" platforması: "x86_64-linux" patchlevel: "2014-02-24 versiya 45161" full_version: "ruby 2.1.1p76 (2014) -02-24 versiyası 45161) [x86_64-linux]"

Ruby 2.1.1 -dən də istifadə etməyinizi məsləhət görürəm, buna görə də bundan daha köhnə bir şey görürsünüzsə, aşağıdakı kimi yeniləyin:

rvm quraşdırma 2.1.1

Bu Ruby 2.1.1 quraşdıracaq. RVM layihə saytı, RVM və Ruby qurğunuzu necə idarə edəcəyiniz haqqında bir çox məlumat ehtiva edir.

Addım 8: Sinatra (bütün platformalar) quraşdırın

Ruby -də kod "daşlar" adlanan paketlər olaraq paylaşılır. Sinatranı təşkil edən kod kompüterinizə belə bir qiymətli daş kimi quraşdırıla bilər:

gem quraşdır sinatra

Bu xətt bütün kodları və sənədləri alacaq və kompüterinizə quraşdıracaq.

Addım 9: Mac və ya Linux -da Redis

Mac və ya Linux -da Redis qurmaq asandır. Proses Redis veb saytında izah edilmişdir. Kabuk terminalını açın və bu əmrləri yazın:

$ wget https://download.redis.io/releases/redis-2.8.7.tar…$ tar xzf redis-2.8.7.tar.gz $ cd redis-2.8.7 $ etmək

Yazaraq Redis'i işə salın:

$ src/redis-server

… və bitirdin!

Addım 10: Windows -da Redis

Windows -da Redis yalnız inkişaf üçün tövsiyə olunur və onu pulsuz Visual Studio Express inkişaf mühitindən istifadə edərək tərtib etməlisiniz. İşlətmək üçün bir az vaxt lazımdır, amma yaxşı işləyir və səy göstərməyə dəyər. Layihənin Github səhifəsindəki təlimatları izləyin. Orada Visual Studio Express səhifəsinə bir keçid də tapa bilərsiniz.

Addım 11: Veb Xidməti Tətbiqi yaradın

Veb Xidməti Tətbiqini yaradın
Veb Xidməti Tətbiqini yaradın

Tətbiqi quraq və inkişaf etdirmə maşınınızda işləyək. Arduino eskizini test edərkən tətbiqin bu nümunəsinə qoşulmaq üçün düzəldəcəyik. Hər şeyin yaxşı işlədiyinə əmin olduqdan sonra buludda yerləşdirəcəyik və bulud nümunəsini istifadə etmək üçün eskizi yeniləyəcəyik.

Budur Ruby kodu, hamısı "web.rb" adlı bir faylda (bu kod Github -da mövcuddur).

Vacibdir: Əlavə edilmiş PDF faylını yükləyin və oxuyun, ətraflı əlaqədar şərhləri ehtiva edir (davam etməzdən əvvəl bunu edin!).

İndi Home Alert sisteminizi sınaya bilərsiniz. Eskizinizdə, inkişaf etdirmə maşınınızı və inkişaf Sinatra serverinizin port nömrəsini göstərmək üçün WEBSITE və WEBPAGE sabitlərini dəyişdirin. Mənim vəziyyətimdə, IP 172.16.115.136 -da bir inkişaf maşınım var və inkişaf Sinatra serveri 5000 portunu dinləyir, buna görə eskiz parametrlərim belədir:

#define HW_ID "123"#WEB SAYTINI "172.16.115.136:5000:0# WEB SƏHİFƏSİNİ təyin et"/get_message/"

Bu IP ünvanı yalnız ev şəbəkəmdəki cihazlar üçün əlçatandır.

HW_ID ayarı, "hardware ID" ni, yəni DMD -ni idarə edən Arduinonun özünü Sinatra tətbiqində tanıdacağı identifikatoru təmsil edir. Doğrulamanın çox əsas bir növüdür. Veb tətbiqi, təqdim olunan HW_ID -ə əsaslanaraq bir Arduinoya mesaj göndərəcək. Eyni HW_ID ilə birdən çox cihazınız ola bilər, bu halda bütün cihazlar eyni mesajı göstərəcək. "Gizlilik" istəsəniz, digər insanların təxmin edə bilməyəcəyi çox sayda təsadüfi simvolu olan bir şəxsiyyət nömrəsi seçin. Həm də diqqətli olun, heç bir ünsiyyət şifrələnmir.

İndi davam edin və Sinatra tətbiqinizi işə salın, bunu yazın (Sinatra layihə qovluğunda olduğunuzu güman edərək):

yaqut web.rb

… və buna bənzər bir şey görəcəksiniz (bəzi təfərrüatlar dəyişə bilər, əgər bu baş verməsə, sən yaxşısan):

10:42:18 veb.1 | pid 4911910 ilə başladı: 42: 18 web.1 | Puma 2.8.1 başlayır… 10: 42: 18 veb.1 | * Min mövzu: 0, maksimum mövzu: 1610: 42: 18 web.1 | * Ətraf mühit: inkişaf10: 42: 18 web.1 | * Tcp: //0.0.0.0: 5000 dinləyirəm

Veb brauzerinizi serverin dinlədiyi yerə göstərin və bunu görəcəksiniz (ikinci əlavəyə baxın).

Eskizinizi Arduinoya yükləyin, yerli şəbəkənizə bağlı olduğundan əmin olun. Hər şey yaxşı olarsa, Arduino veb xidmətinizi hər dəqiqədə bir dəfə sorğu -sual edəcək. Göstərmək üçün bir mesaj verin: HW kodu sahəsinə, eskizdə HW_ID sabitliyi üçün təyin etdiyiniz şəxsiyyəti daxil edin. "Mesajınız" sahəsinə bir şey yazın və "Buzz?" onay qutusu.

Göndərin, bir dəqiqə gözləyin və mesajınızın DMD -də göründüyünü görün!

Addım 12: Heroku istifadə edərək Buludda yerləşdirin

İndi Home Alert inkişaf edir, buludda işləyək. Veb tətbiqetmələrini yerləşdirmək üçün saysız -hesabsız variantlar mövcuddur. Home Alert -in əhatə dairəsinə və mürəkkəbliyinə əsaslanaraq qərara gəldim ki, öz şəxsi şəxsi serverimi qurmağa çalışmağa dəyməz. Bunun əvəzinə bir proqram sahibi Heroku kimi bir xidmətə getmək daha yaxşıdır. Ölçüsümə görə, Herokunun sərbəst səviyyəsi kifayət qədərdir. Redis komponenti üçün belə, Heroku ilə işləyən bir çox Redis təminatçılarından birindən pulsuz bir plan seçə bildim.

Yenə də bir az səy sərf olunur ki, bu da tətbiqimin Herokunun spesifikasiyalarına uyğun gələ bilməsi üçün bir qədər dəyişdirilməsi ilə əlaqədardır. Detallar buradadır, amma əslində bu faylları Sinatra layihənizə əlavə etməlisiniz (təqib edən bütün fayllar Github hesabımdan yüklənə bilər):

* config.ru: Tətbiqin hansı faylda olduğunu Herokuya bildirir. Budur məzmun:

tələb './web'run Sinatra:: Tətbiq

Birinci sətir web.rb -ə işarə edir və ikinci xətt tətbiqinizi işə salır.

* Gemfile: Tətbiqin tələb etdiyi daşları (yaqut kod paketləri) ehtiva edir. Tətbiqinizin işləməsi üçün başqa hansı kodu quraşdırmalı olduğunu anlamaq üçün Heroku bu faylın içərisinə baxacaq. Gemfile -ə baxmağın başqa bir yolu, layihəniz üçün asılılıqların siyahısının olmasıdır. Bu asılılıqlardan hər hansı biri mövcud deyilsə, tətbiqiniz işləməyəcək. Bu tətbiq üçün Gemfile içərisində olanlar budur:

mənbə "https://rubygems.org" ruby "2.1.1" gem 'sinatra'gem' puma'gem 'redis'

Birincisi, bütün Gem kodlarının mənbə deposunu rubygems.org olaraq təyin edir. Bundan sonra, proqramı işə salmaq üçün Ruby 2.1.1 versiyası tələb olunur. Sonra tələb olunan daşları siyahıya alır: Sinatra, Puma (əla Ruby veb tətbiq serveri) və Redis.

* Procfile: serverinizə necə başlamağınızı Heroku -ya izah edir. Burada yalnız bir xətt var:

veb: rackup -s puma -p $ PORT

Bu sətir, "veb" in tələb olunan yeganə xidmət növü olduğunu (arxa fonda işləmək üçün "işçi" kimi başqalarına sahib ola biləcəyinizi) və xidmətə başlamaq üçün Heroku ":" dan sonra gələn əmri istifadə etməli olduğunu söyləyir.

İnkişaf etdirmə maşınınızdakı bu ardıcıllığı izləyərək Herokunun nə edəcəyini simulyasiya edə bilərsiniz (yalnız oxdan əvvəl testi yazın; oxun ardınca gələnlər yalnız əmrin təsviridir):

$> gem install bundler -> Gemfile -i necə idarə edəcəyini bilən Bundler -i quraşdırır. $> bundle install -> Bundler Gemfile -i işlədir və asılılıqları quraşdırır. $> rackup config.ru -> Rackup, config.ru faylını emal edə bilən bir vasitədir. Normalda Ruby -in sonrakı versiyası ilə gəlir, əgər belə yükləməzsə: gem quraşdırma rafı.

Son addım, tətbiqinizin həqiqətən işə salınması ilə nəticələnir. Daha əvvəl ruby web.rb ilə başladığınız zaman eyni çıxışı görməlisiniz. İkinci tətbiqin, Heroku'nun necə başladığı fərqi ilə işləyən eyni tətbiqdir.

Demək olar ki, bu proqramı Heroku hesabınıza yerləşdirməyə hazırıq. Hələ almamısınızsa, davam edin və indi yaradın. Sonra, hesabınızı və yerli inkişaf maşınınızı və xüsusən də Heroku Toolbeltini qurmaq üçün sürətli başlanğıc təlimatına əməl edin.

Heroku Toolbelt, Heroku əmr satırı müştərisini Git (açıq mənbə kodu idarəetmə sistemi) və Foreman (Procfile əsaslı tətbiqləri idarə etməyə kömək edən Ruby vasitəsi) quraşdırır.

Heroku veb saytındakı təlimatlara uyğun olaraq Heroku Toolbelt -in quraşdırılmasını başa vurduqdan sonra tətbiqinizi yerləşdirmək üçün bu addımları yerinə yetirin (hər şey əmr satırında, tətbiqin kataloqunda yazılır):

$> heroku login -> $> git init -> Tətbiqiniz üçün $> git add əmr xətti ilə Heroku -ya daxil olun. -> (nöqtəyə diqqət yetirin!) Mövcud qovluqdakı bütün faylları Git anbarına əlavə edin $> gitapt -m “init" -> Bu faylları yeni bir mesajla depoya daxil edin $> heroku create -> Yeni yaradın Heroku tətbiqinizə. Heroku tətbiqinizə "alovlu-galaxy-997" kimi bir şey təsadüfi bir ad verəcək. Daha sonra veb brauzeriniz vasitəsilə daxil ola biləcəyiniz üçün adını və URL -ni qeyd edin. Bu URL belə görünəcək: "https://blazing-galaxy-997.herokuapp.com/". Yeni tətbiqinizin ana adını ("blazing-galaxy-997.herokuapp.com" hissəsini) Arduino eskizinizin WEBSITE sabitinə kopyalamalısınız. Daha sonra unutmamaq üçün bunu indi edin. $> heroku əlavələri: rediscloud əlavə et -> Tətbiqinizə Rediscloud Redis xidmətinin pulsuz səviyyəsini əlavə edir. Konfiqurasiya parametrləri avtomatik olaraq yaradılır və tətbiqinizə təqdim olunur. $> git push heroku master -> Kodunuzu Herokuya yerləşdirin. Bu, kodu avtomatik olaraq köçürəcək, Herokudan asılılıqlar quracaq və tətbiqə başlayacaq. Prosesin sonunda belə bir şey görəcəksiniz: "https://blazing-galaxy-997.herokuapp.com Heroku-ya yerləşdirildi", bu da tətbiqinizin artıq ictimai Buludda olduğu anlamına gəlir! Təbrik edirik!

Davam et, bir fırlanma ver!

Addım 13: Hamısını bir yerə yığın

Veb tətbiqiniz yerləşdirildikdə, yenilənmiş eskizi Arduino -ya yükləyin (veb tətbiqinin istehsal nümunənizi göstərmək üçün WEBSITE sabitini yenilədiyinizi unutmayın).

Herokudakı tətbiqinizə daxil olmaq üçün brauzerdən istifadə edin. Təqdimatda olduğu kimi, birinci mətn qutusuna hardware identifikatorunuzu, ikincisinə mesajınızı yazın və səs siqnalı aktivləşdirmək üçün onay qutusunu işarələyin.

Mesajınız hər şey yaxşı olarsa bir dəqiqə sonra DMD -də görünəcək!

Addım 14: Potensial

Ev Alert sisteminizlə edə biləcəyiniz daha çox şey var …

Heroku arxa ucuna sahib olmaq, inanılmaz funksionallıq əlavə edə biləcək bir çox məntiq əlavə edə biləcəyiniz deməkdir. Məsələn, tətbiqin təkrar bildirişləri, bildirişləri idarə etmək və ya strobe işıqları kimi əlavə bildiriş cihazlarını idarə etmək qabiliyyətini əlavə edə bilərsiniz. Ev avtomatlaşdırma ərazisinə və nəzarət işıqlarına və qapılarına qədər genişləndirə bilərsiniz. Hər birində fərqli mesajları və ya daha böyük bir ekranda bir mesajı göstərmək üçün birdən çox DMD əlavə edə bilərsiniz. Sadəcə olaraq burada mümkün olanı cızıram!

Zövq alın!

Tövsiyə: