Mundarija:

Uy haqida ogohlantirish: Arduino + Katta displeyda bulutli xabarlar: 14 qadam (rasmlar bilan)
Uy haqida ogohlantirish: Arduino + Katta displeyda bulutli xabarlar: 14 qadam (rasmlar bilan)

Video: Uy haqida ogohlantirish: Arduino + Katta displeyda bulutli xabarlar: 14 qadam (rasmlar bilan)

Video: Uy haqida ogohlantirish: Arduino + Katta displeyda bulutli xabarlar: 14 qadam (rasmlar bilan)
Video: Octopus Max EZ v1.0 - TFT35 E3 2024, Dekabr
Anonim
Uy haqida ogohlantirish: Arduino + bulutli xabarlar katta displeyda
Uy haqida ogohlantirish: Arduino + bulutli xabarlar katta displeyda
Uy haqida ogohlantirish: Arduino + bulutli xabarlar katta displeyda
Uy haqida ogohlantirish: Arduino + bulutli xabarlar katta displeyda
Uy haqida ogohlantirish: Arduino + bulutli xabarlar katta displeyda
Uy haqida ogohlantirish: Arduino + bulutli xabarlar katta displeyda

Mobil telefonlar asrida, odamlar sizning qo'ng'iroqingizga 24/7 javob berishini kutardingiz.

Yoki yo'qmi. Xotinim uyga qaytgach, telefon qo'lidagi sumkada qoladi yoki batareyasi tugab qoladi. Bizda yer chizig'i yo'q. Yomg'irli kechada poezd stantsiyasidan uyga ko'tarilishni so'rash uchun qo'ng'iroq qilish yoki SMS yuborish yoki kalitlarim stolimda qoladimi, deb so'rash - tom ma'noda orzu.

Menda bu muammo tez -tez uchrab turadi va uni hal qilish uchun etarli. Arduino va Freetronics nuqta matritsali displeyi (DMD) bilan biroz chalkashish juda zerikarli (xotinim uchun) gadjetga olib keldi, lekin men uchun ajoyib aloqa qurilmasi va axborot markazi. Menga yoqadi va bu faqat 1 -versiya!

Uy ogohlantirishlari quyidagi qismlardan iborat:

  • Freetronics nuqta matritsali displey, bu 16x32 diodli LEDlardan iborat. Ular turli xil ranglarda bo'ladi, lekin men bu gadjet "tanqidiy" bildirishnomalar uchun ekanligini ta'kidlash uchun qizil rangdan foydalanaman.
  • Ethernet qalqoni bo'lgan Arduino Uno.
  • Haqiqiy vaqtda, bu yoki boshqa.
  • Piezo ovozli signal
  • DHT22 harorat va namlik sensori.

Home Alert bulutli ilovalar xosti Heroku-da joylashgan veb-sahifa orqali boshqariladi. Veb-sahifa Sinatra veb-ilovalari ramkasi va Redis kalit-qiymat do'koni yordamida Ruby-da kodlangan.

Bosh sahifaga qarang (bu qadamda birinchi ilova qilingan rasmda ko'rsatiladi), bu erda forma foydalanuvchidan yangi xabarni kutadi.

Birinchi maydon raqamli apparat kodini qabul qiladi. Bu ma'lum bir uy ogohlantirish tizimiga yo'naltirishga imkon beruvchi kod, chunki ularning har biriga o'ziga xos kod berilishi mumkin. Yoki siz bir xil kodni almashtiradigan bir nechta uy ogohlantirishlariga ega bo'lishingiz mumkin, shunda bir xil xabar bir nechta joylarga ko'rsatiladi.

Siz ko'rsatmoqchi bo'lgan xabar ikkinchi maydonga o'tadi. Siz kiritgan har qanday matn DMDda ko'rsatiladi.

Agar siz shovqin qilmoqchi bo'lsangiz, Ha ni belgilang! katakchani belgilang va zilzila yaqin atrofdagi odamlarning e'tiborini tortishi aniq.

Ushbu maqolada men sizga Arduino apparat va dasturiy ta'minotini, shuningdek Sinatra mini veb -ilovasini qanday qilib o'zingizning uy ogohlantirish tizimini yaratishni ko'rsataman.

Qani boshladik!

1 -qadam: Uskuna

Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna

DMD - bu gadjetning asosiy nuqtasi. Men kichkina LCD displey bilan borishim mumkin edi, lekin bu loyihaning asosiy g'oyasi uzoqdan ko'rinadigan va eshitiladigan narsalarni ishlab chiqarish edi. Vizual qism uchun menga katta va yorqin narsa kerak edi va bu Freetronics displeyi aynan menga kerak bo'lgan narsadir. Har bir panelda 16x32 diodli LEDlar mavjud va siz ulardan bir nechtasini bir -biriga yopishtirib, ancha katta displeylarni yaratishingiz mumkin. Bu men yaqin kelajakda qilmoqchi bo'lgan narsa.

DMD Arduino kutubxonasi bilan birga keladi. u Arduino bilan yuqori tezlikdagi SPI orqali aloqa qiladi. Men kutubxonani Freetronics Github sahifasidan oldim, so'ngra demo eskizini ishga tushirdim va quti ochilganidan bir necha daqiqa o'tgach uni ishga tushirdim. Men faqat Arduino quvvatidan foydalanadigan bunday yorqin displeyni ko'rib hayron bo'ldim. Agar siz tomoshabinlarni vaqtincha ko'r qilmoqchi bo'lsangiz, ushbu DMD -ga maxsus quvvat manbasini ulashingiz mumkin. Agar bu ularning e'tiborini jalb qilmasa, hech narsa bo'lmaydi!

Jismoniy jihatdan bu displeyning o'lchami 320 mm (Vt), 160 mm (H) va 14 mm (D).

Orqa panelda tashqi quvvat ulagichlari, kamida 4Amps quvvatga ega 5V, HUB1 bilan belgilangan Arduino ulagichi va qarama-qarshi tomondan romashka bilan bog'langan qo'shimcha displeylar uchun ulagich mavjud. Hujjatlarga ko'ra, siz to'rtta DMD-ni zanjirband qilishingiz mumkin.

DMD Arduino Uno tomonidan boshqariladi. Freetronics juda qulay "DMDCON" ulagichini taqdim etadi, u to'g'ridan -to'g'ri SPI va ma'lumotlar pinlariga to'g'ri ulanadi.

DMDdan tashqari, men Arduino Uno, Ethernet Shield, real vaqtda soat uzilishi, ovozli signal va DHT22 ishlatardim. Bu komponentlarning barchasi uchun men Udemy kursimda ularning ishlashini tavsiflovchi ma'ruzalar yaratdim. (Uyatsiz, arduinosbs.com saytidagi elektron pochtamga yoziling va 55 ta ma'ruzaga chegirmali kirish huquqini beruvchi kupon oling).

Haqiqiy vaqt, DS18072 IC IC ga asoslangan uzilish I2C qurilmasi bo'lib, u I2C avtobusini amalga oshiruvchi Uno analog pimlari 1 va 2 ga ulangan.

Buzzer raqamli pin 3 ga ulangan, men uni ton () funktsiyasi yordamida boshqaraman.

DHT22 sensori raqamli pin 2 ga ulangan. 5V chizig'i va ma'lumotlar chizig'i orasidagi 10KΩ tortish qarshiligini ulashda ehtiyot bo'ling.

2 -qadam: Arduino eskizi

Eskiz chiziqlar soni jihatidan unchalik katta emas, lekin barcha kutubxonalar tufayli Uno -ning mavjud flesh xotirasini deyarli charchatadi. Xotirani optimallashtirish uchun juda ko'p joy bor, lekin men prototiplash bosqichida bo'lganim uchun bu boshqa kunga mo'ljallangan loyihadir. Bu kod Github -da mavjud.

Mana eskiz, o'rnatilgan sharhlar bilan (PDF qo'shimchasiga qarang).

Ushbu eskizning asosiy mas'uliyati Arduino -ni veb -xizmatining iste'molchisi qilishdir. Veb-xizmat-bu ikkita yakuniy nuqtaga ega oddiy veb-sayt, bittasi odamga veb-brauzer orqali kirishi va DMD-da ko'rsatishni xohlagan matnli qatorni yuborishi, ikkinchisi esa Arduino-ga kirish uchun. matn satrini oling.

Iltimos, biriktirilgan PDF -faylni yuklab oling va o'qing, unda uning ishlashini tavsiflovchi o'rnatilgan sharhlar mavjud.

3 -qadam: Sinatra sahnaga chiqadi

Sinatra sahnaga chiqadi!
Sinatra sahnaga chiqadi!

Veb -saytlar va veb -xizmatlarni yaratishning ko'plab usullari mavjud. Veb-kutubxonalari bo'lgan dasturlash tillaridan tortib to to'laqonli ramkalargacha, bu ish uchun birini tanlash chalkash va qiyin bo'lishi mumkin.

Men juda ko'p sonli veb -ilovalar texnologiyalaridan foydalanganman va o'ynaganman va Sinatra veb -xizmatlar va kichik veb -saytlar yaratish uchun ideal ekanligini topdim. Ayniqsa, men Arduino gadjetini qo'llab -quvvatlash uchun veb -xizmatni yaratganimda, Sinatra - bu juda yaxshi tanlov.

Sinatra nima va u nima uchun yaxshi tanlov? Siz so'raganingizdan xursandman!

Sinatra - bu veb -ilovalarning tez rivojlanishi uchun til. U Ruby -ning tepasida qurilgan, bu juda mashhur va ifodali umumiy maqsadli skript tili. Siz Sinatrani "DSL", domenga xos til deb atashini eshitishingiz mumkin. Bu erda domen - bu Internet. Sinatra uchun yaratilgan kalit so'zlar (so'zlar) va sintaksis shundayki, odamlarga veb -ilovalarni yaratishni oson va tez qiladi.

Ruby on Rails va Django kabi veb-ilovalarni ishlab chiqish uchun "fikrli" ramkalar juda mashhur bo'lgan paytda, Sinatra spektrning qarama-qarshi uchini egallaydi. Ruby on Rails va Django dasturchidan muayyan konvensiya va ish uslubiga rioya qilishni talab qilsa -da (bu, o'z navbatida, tik va uzoq o'qishni anglatadi), Sinatra bunday talablarni qo'ymaydi.

Sinatra kontseptual jihatdan dunyoning Rails va Djangosiga qaraganda ancha sodda. Siz Arduino bilan bir necha daqiqada aloqa o'rnatadigan veb -ilovani ishga tushirishingiz mumkin.

Men misol bilan ko'rsataman. Sinatra minimal veb -ilovasi nimaga o'xshaydi (hozircha quyidagilarni o'qing, aslida buni kompyuteringizda qilmang, chunki sizda hozircha buning uchun zarur shartlar yo'q):

Keling, uni bitta faylda my_app.rb deb ataymiz va ushbu matnni qo'shamiz:

"sinatra'get"/'do "Salom, dunyo!" tugashini talab qiling

Buyruqning satrida dasturni quyidagicha ishga tushiring:

ruby my_app.rb

Sizning dasturingiz ishga tushadi va siz bu matnni konsolda ko'rasiz:

peter@ubuntu-dev: ~/arduino/sinatra_demo $ ruby my_app.rbPuma 2.8.1 boshlanmoqda…* Minimal mavzular: 0, maksimal mavzular: 16* Atrof-muhit: rivojlanish* Tcp orqali tinglanmoqda: // localhost: 4567 == Sinatra/1.4.4 4567 -da Puma -dan zaxira nusxasini yaratish bilan sahnaga chiqdi

Endi dastur mijozlar so'rovlarini qabul qilishga tayyor. Brauzerni oching va uni https:// localhost: 4567 ga yo'naltiring, shunda siz ko'rasiz (ilova qilingan skrinshotga qarang).

Bu bitta faylda to'rtta oddiy kod satri. Bundan farqli o'laroq, Rails faqat ramka talablarini qondirish uchun yaratilgan yuzdan ortiq fayllarni talab qilgan bo'lar edi. Xato qilmang, men Railsni yaxshi ko'raman, lekin haqiqatan ham? …

Shunday qilib, Sinatra oddiy va tez yuguradi. Men siz Ruby, Sinatra va Bulutda ilovalarni joylashtirish haqida hech narsa bilmasligingizni taxmin qilaman, shuning uchun keyingi bo'limda men sizni Arduino veb -xizmatini Bulutga joylashtirishga qadam qo'yaman.

4 -qadam: Rivojlanish mashinangizni o'rnating

Sinatra Ruby dasturlash tiliga asoslangan. Shunday qilib, Sinatra -ni o'rnatishdan oldin Ruby -ni o'rnatishingiz kerak.

Bundan tashqari, Redis deb nomlangan kalit-qiymatli do'kon serverini o'rnatishingiz kerak bo'ladi. Redisni kalitlarga qarshi ma'lumotlarni saqlaydigan ma'lumotlar bazasi deb o'ylang. Ma'lumotni olish uchun siz kalitdan foydalanasiz va u an'anaviy relyatsion ma'lumotlar bazasi uchun mo'ljallangan ma'lumotlar tuzilmalarining moslashuvchanligi emas, balki tezligi uchun optimallashtirilgan. Home Alert o'z xabarlarini Redisda saqlaydi.

5 -qadam: Mac yoki Linuxda Ruby

Agar siz Mac yoki Linux kompyuteridan foydalanayotgan bo'lsangiz, Ruby -ni o'rnatish va boshqarish uchun RVM -dan foydalanishni tavsiya qilaman (RVM: Ruby Version Manager). Ruby -ni RVM bilan o'rnatish bo'yicha ko'rsatmalar ushbu sahifada yoki faqat ushbu buyruqni qobig'ingizga nusxalash va joylashtirish:

curl -sSL https://get.rvm.io | bash -s barqaror -ruby

O'tiring, o'tiring, dam oling va RVM va Ruby -ni yuklab olish, kompilyatsiya qilish va o'rnatishni tugatguncha kuting.

6 -qadam: Windows -da Ruby

Agar siz Windows -da bo'lsangiz, men ushbu qo'llanmani Windows uchun Ruby Installer veb -saytida bajarishni va o'rnatish dasturidan foydalanishni maslahat beraman.

7 -qadam: Ruby -ni tekshiring va o'rnating

Yozish paytida Ruby -ning so'nggi barqaror versiyasi 2.1.1.p76. Siz buni yozib RVM bilan o'rnatilgan versiyani tekshirishingiz mumkin:

rvm ma'lumoti

RVM va Ruby haqida ko'plab ma'lumotlar paydo bo'ladi. Menimcha, bu Ruby bo'limi:

ruby: tarjimon: "ruby" versiyasi: "2.1.1p76" sana: "2014-02-24" platformasi: "x86_64-linux" patchlevel: "2014-02-24 versiya 45161" full_version: "ruby 2.1.1p76 (2014) -02-24 versiyasi 45161) [x86_64-linux]"

Men sizga Ruby 2.1.1 dan foydalanishni maslahat beraman, shuning uchun agar siz undan kattaroq narsani ko'rsangiz, quyidagicha yangilang:

rvm o'rnatish 2.1.1

Bu Ruby 2.1.1 ni o'rnatadi. RVM loyihasi sayti RVM va Ruby o'rnatilishini boshqarish haqida ko'p ma'lumotlarni o'z ichiga oladi.

8 -qadam: Sinatra -ni o'rnating (barcha platformalar)

Ruby -da kod "qimmatbaho toshlar" deb nomlangan paketlar sifatida almashiladi. Sinatra -ni tashkil etuvchi kod kompyuteringizga qimmatbaho tosh sifatida o'rnatilishi mumkin:

marvarid sinatra o'rnatish

Bu satr barcha kod va hujjatlarni oladi va uni kompyuteringizga o'rnatadi.

9 -qadam: Mac yoki Linux -da Redis

Redis -ni Mac yoki Linux -da sozlash oson. Jarayon Redis veb -saytida tasvirlangan. Qobiq terminalini oching va quyidagi buyruqlarni kiriting:

$ 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

Yozish orqali Redis -ni ishga tushiring:

$ src/redis-server

… va siz tugatdingiz!

10 -qadam: Windows -da Redis

Windows -da Redis faqat ishlab chiqish uchun tavsiya etiladi va siz uni bepul Visual Studio Express ishlab chiqish muhiti yordamida kompilyatsiya qilishingiz kerak bo'ladi. Uni ishga tushirish uchun biroz vaqt kerak bo'ladi, lekin u yaxshi ishlaydi va bunga arziydi. Loyihaning Github sahifasidagi ko'rsatmalarga amal qiling. U erda siz Visual Studio Express sahifasiga havolani ham topasiz.

11 -qadam: Veb -xizmat dasturini yarating

Veb -xizmat dasturini yarating
Veb -xizmat dasturini yarating

Keling, ilovani tuzamiz va uni ishlab chiqish mashinangizda ishga tushiramiz. Biz Arduino eskizini sinovdan o'tkazayotganimizda, bu misolga ulanish uchun moslashtiramiz. Hamma narsa yaxshi ishlayotganiga ishonch hosil qilganimizdan so'ng, biz bulutga joylashamiz va bulut misolini ishlatish uchun eskizni yangilaymiz.

Mana Ruby kodi hammasi bitta faylda "web.rb" (bu kod Github -da mavjud).

Muhim: biriktirilgan PDF -faylni yuklab oling va o'qing, unda batafsil sharhlar bor (davom etishdan oldin buni qiling!).

Endi siz uy ogohlantirish tizimini sinab ko'rishingiz mumkin. Eskizda, ishlab chiqish mashinasi va ishlab chiqish Sinatra serverining port raqamini ko'rsatish uchun WEB -SAYT va WEB -sahifa doimiylarini o'zgartiring. Menimcha, menda IP 172.16.115.136 da ishlab chiqish mashinasi bor va Sinatra serveri 5000 portini eshitadi, shuning uchun eskiz sozlamalari:

#HW_ID "123" ni belgilang#"172.16.115.136:5000:0# WEB -SAHIFA" ni aniqlang "/get_message/"

Bu IP -manzilga faqat mening uy tarmog'imdagi qurilmalar kirishlari mumkin.

HW_ID sozlamalari "apparat identifikatori" ni, ya'ni DMD -ni boshqaruvchi Arduino o'zini Sinatra ilovasida aniqlaydigan identifikatorni ifodalaydi. Bu autentifikatsiyaning juda asosiy turi. Veb -dastur Arduino -ga taqdim etilgan HW_ID -ga asoslangan xabarni topshiradi. Sizda bir xil HW_ID bilan bir nechta qurilmalar bo'lishi mumkin, bu holda barcha qurilmalar bir xil xabarni ko'rsatadi. Agar siz "maxfiylik" ni xohlasangiz, boshqa odamlar taxmin qila olmaydigan tasodifiy belgilarga ega identifikatorni tanlang. Ehtiyot bo'ling, hech qanday aloqa shifrlanmagan.

Endi davom eting va Sinatra ilovasini ishga tushiring, buni yozing (agar siz Sinatra loyiha papkasida bo'lsangiz):

ruby web.rb

… va siz shunga o'xshash narsani ko'rasiz (ba'zi tafsilotlar farq qilishi mumkin, agar bu buzilmasa, siz yaxshisiz):

10:42:18 veb.1 | 4911910 pid bilan boshlangan: 42: 18 veb.1 | Puma 2.8.1 boshlanadi… 10: 42: 18 veb.1 | * Minimal mavzular: 0, maksimal oqimlar: 1610: 42: 18 veb.1 | * Atrof -muhit: rivojlanish10: 42: 18 veb.1 | * Tcp: //0.0.0.0: 5000 da tinglanmoqda

Veb -brauzeringizni server tinglayotgan joyga yo'naltiring va siz buni ko'rasiz (ikkinchi qo'shimchani ko'ring).

Eskizni Arduino -ga yuklang, u mahalliy tarmoqqa ulanganligiga ishonch hosil qiling. Agar hammasi yaxshi bo'lsa, Arduino har daqiqada bir marta sizning veb -xizmatingizni so'rab oladi. Ko'rsatish uchun xabar bering: HW kodi maydoniga eskizda HW_ID doimiyligi uchun o'rnatgan identifikatorni kiriting. "Sizning xabaringiz" maydoniga biron bir narsani kiriting va "Buzz?" katakchani belgilang.

Yuboring, bir daqiqa kuting va xabaringiz DMDda paydo bo'lishini ko'ring!

12 -qadam: Heroku yordamida bulutga joylashtiring

Endi Home Alert ishlab chiqilmoqda, keling uni bulutda ishlaylik. Veb -ilovalarni joylashtirish uchun son -sanoqsiz variantlar mavjud. Home Alert -ning ko'lami va murakkabligiga asoslanib, men o'z shaxsiy virtual serverimni o'rnatishga ko'p kuch sarflamaslikka qaror qildim. Buning o'rniga, dastur xosti Heroku kabi xizmatga murojaat qilish yaxshiroqdir. Mening o'lchovimga ko'ra, Xerokuning bo'sh darajasi etarli darajada. Hatto Redis komponenti uchun ham men Heroku bilan ishlaydigan ko'plab Redis provayderlaridan birining bepul rejasini tanlay oldim.

Shunday bo'lsa -da, biroz harakat talab etiladi, bu mening arizamni Heroku spetsifikatsiyalariga mos kelishi uchun biroz o'zgartirilishi bilan bog'liq. Tafsilotlar bu erda, lekin aslida bu fayllarni Sinatra loyihangizga qo'shishingiz kerak bo'ladi (keyingi fayllarni Github hisobimdan yuklab olish mumkin):

* config.ru: U Heroku -ga qaysi faylda ilova borligini aytadi. Mana tarkibi:

talab './web'run Sinatra:: Ilova

Birinchi satr web.rb -ga ishora qiladi va ikkinchi satr aslida sizning ilovangizni boshqaradi.

* Gemfile: unda ilova talab qiladigan qimmatbaho toshlar (ruby kodli paketlar) mavjud. Heroku sizning ilovangiz ishlashi uchun yana qanday kodni o'rnatish kerakligini aniqlash uchun ushbu faylning ichiga qaraydi. Gemfile -ga qarashning yana bir usuli - bu sizning loyihangizga bog'liqliklar ro'yxatini o'z ichiga oladi. Agar ushbu bog'liqliklardan hech biri mavjud bo'lmasa, sizning arizangiz ishlamaydi. Bu dastur uchun Gemfile ichida nima bor:

manba "https://rubygems.org" ruby "2.1.1" gem 'sinatra'gem' puma'gem 'redis'

Birinchidan, u barcha gem kodlarining manba omborini rubygems.org qilib belgilaydi. Keyinchalik, dasturni ishga tushirish uchun Ruby 2.1.1 versiyasi talab qilinadi. Keyin u kerakli marvaridlarni ro'yxatlaydi: Sinatra, Puma (Ruby veb -ilovalari uchun ajoyib server) va Redis.

* Procfile: u Heroku -ga serveringizni qanday ishga tushirishni aytadi. Bu erda faqat bitta qator bor:

veb: rackup -s puma -p $ PORT

Bu satrda aytilishicha, "veb" - bu xizmat ko'rsatishning yagona turi (sizda "ishlovchi" kabi boshqa foydalanuvchilar bo'lishi mumkin) va xizmatni ishga tushirish uchun Heroku ":" dan keyin kelgan buyruqni ishlatishi kerak.

Siz ishlab chiqarish mashinangizda ushbu ketma -ketlikni bajarib, Heroku nima qilmoqchi ekanligini simulyatsiya qilishingiz mumkin (faqat o'qdan oldin testni yozing; o'qdan keyingi narsa faqat buyruq tavsifi):

$> gem install bundler -> Gemfile bilan ishlashni biladigan Bundler -ni o'rnatadi. $> bundle install -> Bundler Gemfile -ni qayta ishlaydi va bog'liqliklarni o'rnatadi. $> rackup config.ru -> Rackup -config.ru faylini qayta ishlash vositasi. Odatda u Ruby -ning keyingi versiyasi bilan birga keladi, agar u bunday o'rnatilmasa: gem install rack.

Oxirgi qadam sizning ilovangizni ishga tushirishga olib keladi. Siz avval ruby web.rb bilan boshlaganingizdagidek bir xil chiqishni ko'rishingiz kerak. Bu xuddi shu dastur ishlaydi, farqi shundaki, ikkinchi usul Heroku uni qanday ishga tushiradi.

Biz ushbu ilovani sizning Heroku hisobingizga joylashtirishga deyarli tayyormiz. Agar sizda hali yo'q bo'lsa, davom eting va hoziroq yarating. Keyin, hisobingizni va mahalliy ishlab chiqish mashinangizni, ayniqsa, Heroku asboblar kamarini sozlash bo'yicha tezkor ko'rsatmalarga amal qiling.

Heroku Toolbelt Heroku buyruq qatori mijozi, Git (ochiq manba kodli boshqaruv tizimi) va Foreman (Procfile-ga asoslangan ilovalarni boshqarishga yordam beradigan Ruby vositasi) ni o'rnatadi.

Heroku veb -saytidagi ko'rsatmalarga muvofiq Heroku asboblar kamarini o'rnatishni tugatganingizdan so'ng, ilovangizni joylashtirish uchun quyidagi amallarni bajaring (hamma narsa buyruq satrida, dastur katalogida yoziladi):

$> heroku login -> $> git init -> $> git add ilovangiz uchun Git omborini ishga tushirish buyrug'i orqali Heroku -ga kiring. -> (nuqtaga e'tibor bering!) Joriy katalogdagi barcha fayllarni Git omboriga qo'shing $> git obligatsiya -m “init" -> Bu fayllarni omborga kiriting, yangi xabar bilan $> heroku create -> Yangisini yarating. Heroku-dagi ilova. Heroku sizning ilovangizga tasodifiy nom beradi, masalan "galaktik-997". Keyinroq veb -brauzer orqali kirishingiz uchun ism va URL manzilini yozing. Bu URL manzili shunday bo'ladi: "https://blazing-galaxy-997.herokuapp.com/". Shuningdek, siz yangi ilovangizning host nomini ("blazing-galaxy-997.herokuapp.com" qismi) Arduino eskizining WEBSITE konstantasiga ko'chirishingiz kerak bo'ladi. Keyinchalik buni unutmaslik uchun buni hozir qiling. $> heroku addons: rediscloud qo'shish -> Arizangizga Rediscloud Redis xizmatining bepul darajasini qo'shadi. Konfiguratsiya sozlamalari avtomatik ravishda yaratiladi va ilovangizga taqdim etiladi. $> git push heroku master -> Kodingizni Heroku -ga joylashtiring. Bu kodni avtomatik ravishda uzatadi, Heroku -ga bog'liqliklarni o'rnatadi va dasturni ishga tushiradi. Jarayon oxirida siz shunga o'xshash narsani ko'rasiz: "https://blazing-galaxy-997.herokuapp.com Heroku-ga joylashtirilgan", demak sizning arizangiz endi hamma uchun ochiq bulutda! Tabriklaymiz!

Davom eting, aylaning!

13 -qadam: Hammasini bir joyga to'plash

Veb -ilovangiz joylashtirilgach, Arduino -ga yangilangan eskizni yuklang (esda tutingki, siz veb -ilovaning ishlab chiqarish nusxasini ko'rsatish uchun WEBSITE doimiyligini yangiladingiz).

Heroku -dagi ilovangizga kirish uchun brauzerdan foydalaning. Xuddi kirish qismida bo'lgani kabi, birinchi matnli maydonga apparat identifikatoringizni, ikkinchisiga o'z xabaringizni kiriting va signalni faollashtirish uchun katakchani belgilang.

Agar hamma narsa yaxshi bo'lsa, sizning xabaringiz bir daqiqadan so'ng DMD -da paydo bo'ladi!

14 -qadam: Potentsial

Uy ogohlantirish tizimi yordamida siz juda ko'p narsalarni qilishingiz mumkin …

Heroku -ning orqa tomoniga ega bo'lish, siz ajoyib funktsiyalarni qo'sha oladigan juda ko'p mantiqni qo'shishingiz mumkinligini anglatadi. Misol uchun, siz ilovaga takroriy bildirishnomalarni boshqarish, bildirishnomalarni boshqarish yoki qo'shimcha xabarnomalarni boshqarish, masalan, strobe chiroqlari va boshqalarni boshqarish imkoniyatini qo'shishingiz mumkin. Siz uni uy avtomatlashtirish hududiga, boshqaruv chiroqlari va eshiklariga kengaytira olasiz. Siz bir nechta DMD -ni qo'shishingiz yoki har birida turli xil xabarlarni yoki bitta xabarni birlashtirilgan kattaroq displeyda aks ettirishingiz mumkin. Men bu erda mumkin bo'lgan narsaning sirtini chizaman!

Xursand bo'ling!

Tavsiya: