Turinys:

Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane: 14 žingsnių (su paveikslėliais)
Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane: 14 žingsnių (su paveikslėliais)

Video: Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane: 14 žingsnių (su paveikslėliais)

Video: Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane: 14 žingsnių (su paveikslėliais)
Video: Birž 6: MILŽINIŠKI NERAMUMAI!!! NUPLAUTAS UKRAINIEČIŲ 20 km STRATEGINIS PLACDARMAS | Karas Ukrainoje 2024, Lapkritis
Anonim
Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane
Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane
Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane
Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane
Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane
Namų įspėjimas: „Arduino +“pranešimai iš debesies dideliame ekrane

Mobiliųjų telefonų amžiuje galite tikėtis, kad žmonės reaguos į jūsų skambutį visą parą.

Arba ne. Kai mano žmona grįžta namo, telefonas lieka palaidotas rankinėje arba jo baterija išsikrovusi. Mes neturime fiksuoto ryšio. Skambinti ar rašyti SMS žinutes, kad lietingą naktį paprašytumėte lifto namo iš geležinkelio stoties, arba skambinti ir paklausti, ar mano raktai vis dar yra ant mano stalo, pažodžiui yra noras.

Turiu šią problemą pakankamai dažnai, kad pateisinčiau sprendimą. Šiek tiek pasimėgavus „Arduino“ir „Freetronics Dot Matrix Display“(DMD), atsirado labai erzinanti (mano žmonai) programėlė, bet man nuostabus ryšio įrenginys ir informacijos centras. Man tai patinka, ir tai tik 1 versija!

„Home Alert“sudarytas iš šių dalių:

  • „Freetronics Dot Matrix“ekranas, kurį sudaro 16x32 šviesos diodai. Jie būna įvairių spalvų, bet aš naudoju raudoną, norėdamas pabrėžti, kad ši programėlė skirta „kritiniams“pranešimams.
  • „Arduino Uno“su „Ethernet“skydu.
  • Tikro laiko laikrodžio išjungimas, toks ar šis.
  • Pjezo garsinis signalas
  • DHT22 temperatūros ir drėgmės jutiklis.

„Home Alert“valdomas per tinklalapį, kuris priglobtas „Heroku“, debesų pagrindu veikiančios programos priegloboje. Tinklalapis koduojamas „Ruby“, naudojant „Sinatra“žiniatinklio programų sistemą ir „Redis“raktų vertės parduotuvę.

Pažvelkite į pagrindinį puslapį (šiame žingsnyje parodykite pirmame pridėtame paveikslėlyje), kur forma laukia naujo vartotojo pranešimo.

Pirmajame lauke priimamas skaitmeninis aparatūros kodas. Tai kodas, leidžiantis taikyti pagal konkrečią namų įspėjimo sistemą, nes kiekvienai gali būti suteiktas unikalus kodas. Arba galite turėti kelis namų įspėjimus, bendrinančius tą patį kodą, kad tas pats pranešimas būtų rodomas keliose vietose.

Pranešimas, kurį norite rodyti, pereina į antrą lauką. Bet koks ten įvestas tekstas bus rodomas DMD.

Jei norite kelti triukšmą, patikrinkite Taip! žymimasis laukelis, o garsinis signalas tikrai sulauks visų netoliese esančių žmonių dėmesio.

Šiame straipsnyje aš jums parodysiu, kaip sukurti savo namų įspėjimo sistemą, tiek „Arduino“aparatinę ir programinę įrangą, tiek „Sinatra mini“žiniatinklio programą.

Pradėkime!

1 žingsnis: Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

DMD yra pagrindinis įtaiso taškas. Galėjau eiti su mažu LCD ekranu, tačiau pagrindinė šio projekto idėja buvo sukurti tai, ką būtų galima pamatyti ir išgirsti iš tolo. Vizualinei daliai man reikėjo kažko didelio ir ryškaus, o šis „Freetronics“ekranas yra būtent tai, ko man reikėjo. Kiekviename skydelyje yra 16x32 šviesos diodų masyvas, ir galite sujungti kelis iš jų, kad sukurtumėte daug didesnius ekranus. Tai kažkas, ką norėčiau padaryti artimiausiu metu.

DMD yra lengvai naudojama „Arduino“biblioteka. jis bendrauja su „Arduino“per didelės spartos SPI. Man pavyko gauti biblioteką iš „Freetronics Github“puslapio, tada suaktyvinti demonstracinį eskizą ir pradėti jį veikti per kelias minutes nuo dėžutės atidarymo. Nustebau pamačiusi tokį ryškų ekraną, kuriame naudojama tik „Arduino“energija. Jei norite laikinai apakinti savo žiūrovus, prie šio DMD galite prijungti specialų maitinimo šaltinį. Jei tai neatkreips jų dėmesio, nieko nebus!

Fiziškai šis ekranas yra 320 mm (platus), 160 mm (aukštis) ir 14 mm (gylis).

Galiniame skydelyje yra išorinio maitinimo jungtys, 5 V, kurių galia ne mažesnė kaip 4 amperai, „Arduino“jungtis, pažymėta HUB1, ir jungtis, skirta priešingai prijungti papildomus ekranus. Remiantis dokumentais, galite susieti grandinę iki keturių DMD.

DMD valdo „Arduino Uno“. „Freetronics“siūlo labai patogią „DMDCON“jungtį, kuri tiesiog užsifiksuoja tiesiai ant tinkamo SPI ir duomenų kaiščių.

Išskyrus DMD, aš naudoju „Arduino Uno“, „Ethernet Shield“, realaus laiko laikrodžio išjungimą, garso signalą ir DHT22. Visiems šiems komponentams sukūriau paskaitas, apibūdinančias jų veikimą savo „Udemy“kursuose. (Begėdiška savireklama: prisiregistruokite prie mano el. Pašto sąrašo adresu arduinosbs.com ir gaukite kuponą, suteikiantį nuolaidą visoms 55 paskaitoms).

Realaus laiko laikrodis, išsiveržimas, pagrįstas DS18072 laikrodžio IC, yra I2C įrenginys, todėl jis prijungtas prie „Uno“analoginių 1 ir 2 kaiščių, kuriuose įdiegta I2C magistralė.

Garsinis signalas yra prijungtas prie 3 skaitmeninio kaiščio, iš kurio aš jį valdau naudodamas tono () funkciją.

DHT22 jutiklis prijungtas prie 2 skaitmeninio kaiščio. Būkite atsargūs ir prijunkite 10KΩ ištraukiamąjį rezistorių tarp 5V linijos ir duomenų linijos.

2 žingsnis: „Arduino“eskizas

Eskizas nėra didelis eilučių skaičiaus požiūriu, tačiau beveik išnaudoja „Uno“turimą „flash“atmintį dėl visų įtrauktų bibliotekų. Yra daug vietos atminties optimizavimui, bet kadangi esu prototipų kūrimo stadijoje, tai yra kitos dienos projektas. Šį kodą galima rasti „Github“.

Čia yra eskizas su įterptais komentarais (žr. PDF priedą).

Pagrindinė šio eskizo atsakomybė yra padaryti „Arduino“žiniatinklio paslaugos vartotoju. Žiniatinklio paslauga yra paprasta svetainė, turinti du galinius taškus: vieną, skirtą žmogui pasiekti per interneto naršyklę ir pateikti teksto eilutę, kurią jie nori rodyti DMD, o kitą-prieigą prie „Arduino“. gauti tą teksto eilutę.

Atsisiųskite ir perskaitykite pridėtą PDF failą, jame yra įterptų komentarų, apibūdinančių jo veikimą.

3 žingsnis: Sinatra užima sceną

Sinatra užima sceną!
Sinatra užima sceną!

Yra daug būdų, kaip sukurti svetaines ir interneto paslaugas. Nuo programavimo kalbų su žiniatinklį palaikančiomis bibliotekomis iki visapusiškų sistemų, gali būti painu ir sunku pasirinkti vieną šiam darbui.

Aš naudojau ir žaidžiau su daugybe žiniatinklio programų technologijų ir pastebėjau, kad „Sinatra“idealiai tinka kurti interneto paslaugas ir mažas svetaines. Visų pirma, kai kuriu žiniatinklio paslaugą, skirtą palaikyti „Arduino“programėlę, „Sinatra“yra tikrai geras pasirinkimas.

Kas yra „Sinatra“ir kodėl tai toks geras pasirinkimas? Džiaugiuosi, kad paklausėte!

Sinatra yra kalba, skirta sparčiai plėtoti žiniatinklio programas. Jis sukurtas ant „Ruby“- labai populiarios ir išraiškingos bendrosios paskirties scenarijų kalbos. Galite išgirsti, kad „Sinatra“vadinama „DSL“, konkrečiai sričiai skirta kalba. Domenas čia yra žiniatinklis. „Sinatra“sukurti raktiniai žodžiai (žodžiai) ir sintaksė leidžia žmonėms lengvai ir greitai kurti žiniatinklio programas.

Tuo metu, kai vadinamosios „pagrįstos“žiniatinklio programų kūrimo sistemos, tokios kaip „Ruby on Rails“ir „Django“, yra labai populiarios, „Sinatra“fiksuoja priešingą spektro galą. Nors „Ruby on Rails“ir „Django“reikalauja, kad programuotojas laikytųsi tam tikros konvencijos ir būdų, kaip elgtis (o tai savo ruožtu reiškia stačią ir ilgą mokymosi kreivę), „Sinatra“tokių reikalavimų nekelia.

„Sinatra“konceptualiai yra daug paprastesnė nei pasaulio bėgiai ir „Djangos“. Galite pradėti veikti naudodami žiniatinklio programą, kuri per kelias minutes gali sąveikauti su jūsų „Arduino“.

Parodysiu pavyzdžiu. Štai kaip atrodo minimali žiniatinklio programa „Sinatra“(kol kas tiesiog perskaitykite tai, to iš tikrųjų nedarykite savo kompiuteryje, nes tikriausiai dar neturite tam reikalingų sąlygų):

Viename faile, pavadinkime jį my_app.rb, pridėk šį tekstą:

reikalauti 'sinatra'get'/'do "Hello, world!" end

Komandinėje eilutėje paleiskite programą taip:

rubinas my_app.rb

Jūsų programa bus paleista, o konsolėje pamatysite šį tekstą:

peter@ubuntu-dev: ~/arduino/sinatra_demo $ ruby my_app.rb Puma 2.8.1 pradedant…* Minimalios temos: 0, maksimalios temos: 16* Aplinka: kūrimas* Klausymas naudojant tcp: // localhost: 4567 == Sinatra/1.4.4 užėmė 4567 kūrimo etapą, sukurdamas atsarginę kopiją iš „Puma“

Programa dabar paruošta priimti klientų užklausas. Atidarykite naršyklę, nukreipkite ją į https:// localhost: 4567, ir tai pamatysite (žr. Pridėtą ekrano kopiją).

Tai keturios paprastos kodo eilutės viename faile. Priešingai, „Rails“būtų reikėję daugiau nei šimto failų, sugeneruotų tiesiog tam, kad atitiktų sistemos reikalavimus. Nesupraskite manęs neteisingai, aš myliu „Rails“, bet ar tikrai?…

Taigi, „Sinatra“yra paprasta ir greita. Aš darysiu prielaidą, kad jūs nieko nežinote apie „Ruby“, „Sinatra“ir programų diegimą „Cloud“, todėl kitame skyriuje žingsnis po žingsnio nukreipsite jus nuo nulio iki jūsų „Arduino“žiniatinklio paslaugos diegimo debesyje.

4 žingsnis: nustatykite savo kūrimo mašiną

„Sinatra“yra pagrįsta „Ruby“programavimo kalba. Taigi, prieš diegdami „Sinatra“, turite įdiegti „Ruby“.

Taip pat turėsite įdiegti raktų vertės parduotuvės serverį „Redis“. Pagalvokite apie „Redis“kaip apie duomenų bazę, kurioje saugomi duomenys prieš raktą. Norėdami gauti duomenis, naudojate raktą ir jis yra optimizuotas greičiui, o ne duomenų struktūrų lankstumui, kuriam sukurta tradicinė santykių duomenų bazė. „Home Alert“savo žinutes saugo „Redis“.

5 veiksmas: „Ruby“sistemoje „Mac“arba „Linux“

Jei naudojate „Mac“arba „Linux“kompiuterį, rekomenduoju naudoti „RVM“, kad įdiegtumėte ir tvarkytumėte „Ruby“diegimą (RVM: „Ruby Version Manager“). Šiame puslapyje pateikiamos instrukcijos, kaip įdiegti „Ruby“su RVM, arba tiesiog nukopijuokite ir įklijuokite šią komandą į savo apvalkalą:

curl -sSL https://get.rvm.io | bash -s stabilus -trintis

Atsisėskite, atsipalaiduokite ir palaukite, kol bus baigtas RVM ir „Ruby“atsisiuntimas, kompiliavimas ir diegimas.

6 veiksmas: „Ruby“sistemoje „Windows“

Jei naudojate „Windows“, rekomenduoju vadovautis šiuo vadovu „Ruby Installer for Windows“svetainėje ir naudoti sąrankos programą.

7 veiksmas: patikrinkite ir nustatykite „Ruby“

Rašymo metu paskutinis stabilus „Ruby“leidimas yra 2.1.1.p76. Galite patikrinti versiją, kuri buvo įdiegta naudojant RVM, įvesdami tai:

rvm informacija

Bus rodoma daug informacijos apie RVM ir Ruby. Mano atveju tai rubino skyrius:

ruby: interpreter: "ruby" versija: "2.1.1p76" data: "2014-02-24" platforma: "x86_64-linux" patchlevel: "2014-02-24 revision 45161" full_version: "ruby 2.1.1p76 (2014 m. -02-24 peržiūra 45161) [x86_64-linux]"

Aš taip pat rekomenduoju naudoti „Ruby 2.1.1“, taigi, jei matote ką nors senesnio, atnaujinkite taip:

rvm įdiegimas 2.1.1

Tai įdiegs „Ruby 2.1.1“. RVM projekto svetainėje yra daug informacijos apie RVM ir kaip valdyti „Ruby“diegimą.

8 veiksmas: įdiekite „Sinatra“(visas platformas)

„Ruby“kodas dalijamasi kaip paketai, vadinami „brangakmeniais“. „Sinatra“kodą galima įdiegti jūsų kompiuteryje kaip perlą:

perlas įdiegti sinatra

Ši eilutė atsiųs visą kodą ir dokumentus ir įdiegs juos jūsų kompiuteryje.

9 veiksmas: iš naujo paleiskite „Mac“arba „Linux“

„Redis“nustatyti „Mac“ar „Linux“yra paprasta. Procesas aprašytas „Redis“svetainėje. Atidarykite apvalkalo terminalą ir įveskite šias komandas:

$ 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

Paleiskite „Redis“įvesdami:

$ src/redis-server

… ir padarei!

10 veiksmas: iš naujo paleiskite „Windows“

„Redis“sistemoje „Windows“rekomenduojama naudoti tik kuriant, ir turėsite ją sukompiliuoti naudodami nemokamą „Visual Studio Express“kūrimo aplinką. Norint jį paleisti, reikia šiek tiek laiko, tačiau jis veikia gerai ir yra vertas pastangų. Vykdykite projekto „Github“puslapyje pateiktas instrukcijas. Čia taip pat rasite nuorodą į „Visual Studio Express“puslapį.

11 veiksmas: sukurkite žiniatinklio paslaugos programą

Sukurkite žiniatinklio paslaugų programą
Sukurkite žiniatinklio paslaugų programą

Sukurkime programą ir paleiskite ją savo kūrimo mašinoje. Mes bandysime koreguoti „Arduino“eskizą, kad prisijungtume prie šios programos egzemplioriaus. Kai būsime patenkinti, kad viskas veikia gerai, įdiegsime į debesį ir atnaujinsime eskizą, kad galėtume naudoti debesies egzempliorių.

Čia yra Ruby kodas, viskas viename faile, pavadintame „web.rb“(šį kodą galima rasti „Github“).

Svarbu: atsisiųskite ir perskaitykite pridėtą PDF failą, kuriame yra išsamių įterptų komentarų (prieš tęsdami tai darykite!).

Dabar galite išbandyti savo namų įspėjimo sistemą. Savo eskize pakeiskite WEBSITE ir WEBPAGE konstantas, kad jos nurodytų jūsų kūrimo mašiną ir jūsų „Sinatra“serverio prievado numerį. Mano atveju turiu kūrimo mašiną IP 172.16.115.136, o kūrimo „Sinatra“serveris klauso 5000 prievado, todėl mano eskizo nustatymai yra šie:

#define HW_ID "123" #define WEBSITE "172.16.115.136:5000”#define WEBPAGE"/get_message/"

Šis IP adresas pasiekiamas tik mano namų tinklo įrenginiams.

Nustatymas „HW_ID“reiškia „aparatūros ID“, tai yra ID, kuriuo „Arduino“, valdantis DMD, identifikuoja save „Sinatra“programai. Tai labai paprasta autentifikavimo rūšis. Žiniatinklio programa perduos pranešimą „Arduino“, prašydama jo pagal pateiktą HW_ID. Galite turėti kelis įrenginius su tuo pačiu HW_ID, tokiu atveju visi įrenginiai rodys tą patį pranešimą. Jei norite „privatumo“, pasirinkite ID su daugybe atsitiktinių simbolių, kurių kiti žmonės negalės atspėti. Taip pat saugokitės, jokia komunikacija nėra užšifruota.

Dabar paleiskite „Sinatra“programą, įveskite tai (darant prielaidą, kad esate „Sinatra“projekto aplanke):

rubino tinklas.rb

… Ir pamatysite kažką panašaus (kai kurios detalės gali skirtis, jei tai nepavyks, viskas gerai):

10:42:18 žiniatinklis.1 | prasidėjo pid 4911910: 42: 18 web.1 | Puma 2.8.1 pradedant… 10: 42: 18 žiniatinklis.1 | * Minimalios temos: 0, maksimalios temos: 1610: 42: 18 žiniatinklis.1 | * Aplinka: kūrimas10: 42: 18 žiniatinklis.1 | * Klausymas naudojant tcp: //0.0.0.0: 5000

Nukreipkite savo žiniatinklio naršyklę į vietą, kurios serveris klausosi, ir tai pamatysite (žr. Antrą priedą).

Įkelkite eskizą į „Arduino“ir įsitikinkite, kad jis prijungtas prie vietinio tinklo. Jei viskas gerai, „Arduino“kas minutę apklaus jūsų žiniatinklio paslaugą. Pateikite jam rodomą pranešimą: HW kodo lauke įveskite tą patį ID, kurį nustatėte eskizui HW_ID konstantai. Lauke „Jūsų pranešimas“įveskite bet ką ir patikrinkite „Buzz?“žymimasis langelis.

Pateikite, palaukite minutę ir pamatysite, kaip jūsų pranešimas rodomas DMD!

12 veiksmas: įdiekite į debesį naudodami „Heroku“

Dabar, kai namų įspėjimas yra kuriamas, pradėkime jį naudoti „Cloud“. Interneto programų diegimui yra daugybė galimybių. Remdamasis „Home Alert“apimtimi ir sudėtingumu, nusprendžiau, kad sukurti savo virtualų privatų serverį neverta. Vietoj to geriau kreiptis į tokią paslaugą kaip „Heroku“, programų priegloba. Mano mastu, Heroku nemokama pakopa yra daugiau nei pakankamai. Net „Redis“komponentui galėjau pasirinkti nemokamą planą iš vieno iš daugelio „Redis“teikėjų, dirbančių su „Heroku“.

Vis dėlto reikia įdėti šiek tiek pastangų, nes mano programa turi būti šiek tiek pakeista, kad ji atitiktų „Heroku“specifikacijas. Išsami informacija yra čia, tačiau iš esmės turėsite pridėti šiuos failus prie savo „Sinatra“projekto (visus tolesnius failus galite atsisiųsti iš mano „Github“paskyros):

* config.ru: jis nurodo Heroku, kuriame faile yra programa. Štai turinys:

reikalauti './web'run Sinatra:: Taikymas

Pirmoji eilutė nurodo web.rb, o antroji eilutė iš tikrųjų vykdo jūsų programą.

* Gemfile: jame yra brangakmenių (rubino kodo paketų), kurių reikalauja programa. „Heroku“ieškos šio failo viduje ir išsiaiškins, kokį kitą kodą reikia įdiegti, kad jūsų programa veiktų. Kitas būdas pažvelgti į „Gemfile“yra tai, kad yra jūsų projekto priklausomybių sąrašas. Jei kuri nors iš šių priklausomybių nepasiekiama, jūsų programa neveiks. Štai kas yra šios programos „Gemfile“:

šaltinis "https://rubygems.org" ruby "2.1.1" perlas 'sinatra'gem' puma'gem 'redis'

Pirma, jis nustato viso „Gem“kodo šaltinio saugyklą kaip rubygems.org. Be to, programai paleisti reikalinga „Ruby“versija 2.1.1. Tada jame išvardijami reikalingi brangakmeniai: „Sinatra“, „Puma“(puikus „Ruby“žiniatinklio programų serveris) ir „Redis“.

* Procfile: jame Heroku nurodoma, kaip paleisti serverį. Čia yra tik viena eilutė:

svetainė: rackup -s puma -p $ PORT

Šioje eilutėje sakoma, kad „žiniatinklis“yra vienintelė reikalinga paslauga (galite naudoti kitas, pvz., „Darbuotojas“, kad apdorotumėte foną), ir kad norėdami pradėti paslaugą, „Heroku“turi naudoti komandą, esančią po „:“.

Galite imituoti, ką veiks Herokas, vadovaudamiesi šia seka savo kūrimo mašinoje (tik įveskite testą prieš rodyklę; tai, kas yra po rodyklės, yra tik komandos aprašymas):

$> gem install bundler -> įdiegia „Bundler“, kuri žino, kaip tvarkyti „Gemfile“. $> paketo diegimas -> Bundler apdoroja „Gemfile“ir įdiegia priklausomybes. $> rackup config.ru -> „Rackup“yra įrankis, galintis apdoroti failą config.ru. Paprastai jis pateikiamas kartu su vėlesne „Ruby“versija, jei ji neįdiegiama taip: „gem install rack“.

Paskutiniame žingsnyje iš tikrųjų paleidžiama jūsų programa. Turėtumėte matyti tą pačią išvestį, kurią anksčiau pradėjote naudodami ruby web.rb. Veikia ta pati programa, tik tuo skirtumu, kad antrasis metodas yra tai, kaip Heroku ją paleidžia.

Mes beveik pasiruošę įdiegti šią programą į jūsų „Heroku“paskyrą. Jei dar neturite, eikite į priekį ir sukurkite jį dabar. Tada vadovaukitės trumpo pradžios vadovu, kad nustatytumėte paskyrą ir vietinę kūrimo mašiną, ypač „Heroku“įrankių juostą.

„Heroku Toolbelt“įdiegia „Heroku“komandinės eilutės klientą „Git“(atvirojo kodo valdymo sistema) ir „Foreman“(„Ruby“įrankis, padedantis valdyti „Procfile“programas).

Baigę diegti „Heroku Toolbelt“vadovaudamiesi „Heroku“svetainėje pateiktomis instrukcijomis, atlikite šiuos veiksmus, kad jūsų programa būtų įdiegta (viskas įvesta komandų eilutėje, programos kataloge):

$> heroku prisijungimas -> Prisijunkite prie „Heroku“naudodami komandinę eilutę $> git init -> Inicijuokite savo programos „Git“saugyklą $> git add. -> (atkreipkite dėmesį į tašką!) Įtraukite visus dabartinio katalogo failus į „Git“saugyklą $> git įsipareigokite -m „init“-> Įtraukite šiuos failus į saugyklą su nauju pranešimu $> heroku create -> Create a new „Heroku“programa. „Heroku“suteiks jūsų programai atsitiktinį pavadinimą, panašų į „blazing-galaxy-997“. Užsirašykite pavadinimą ir URL, kad vėliau galėtumėte jį pasiekti naudodami žiniatinklio naršyklę. Šis URL atrodys taip: „https://blazing-galaxy-997.herokuapp.com/“. Taip pat turėsite nukopijuoti naujos programos pagrindinio kompiuterio pavadinimą („blazing-galaxy-997.herokuapp.com“) į „Arduino“eskizo WEBSITE konstantą. Padarykite tai dabar, kad vėliau nepamirštumėte. $> heroku priedai: pridėti rediscloud -> prideda nemokamą „Rediscloud Redis“paslaugos pakopą prie jūsų programos. Konfigūracijos nustatymai automatiškai sukuriami ir pasiekiami jūsų programai. $> git push heroku master -> Įdėkite savo kodą į Heroku. Tai automatiškai perkels kodą, nustatys visas priklausomybes nuo „Heroku“ir paleis programą. Proceso pabaigoje pamatysite kažką panašaus: „https://blazing-galaxy-997.herokuapp.com dislokuotas„ Heroku ““, o tai reiškia, kad jūsų programa dabar veikia viešajame debesyje! Sveikinu!

Pirmyn, suktis!

13 žingsnis: surinkite viską kartu

Įdiegę žiniatinklio programą, įkelkite atnaujintą eskizą į „Arduino“(atminkite, kad atnaujinote WEBSITE konstantą, kad nurodytumėte savo žiniatinklio programos gamybos egzempliorių).

Naudokite naršyklę, kad pasiektumėte savo programą „Heroku“. Kaip ir įžangoje, pirmame teksto laukelyje įveskite aparatūros ID, antrame - pranešimą ir pažymėkite žymimąjį laukelį, kad suaktyvintumėte signalą.

Jūsų pranešimas bus rodomas DMD maždaug po minutės, jei viskas bus gerai!

14 žingsnis: potencialas

Naudodamiesi namų įspėjimo sistema galite nuveikti daug daugiau …

Turėdami „Heroku“galinę dalį, galite pridėti daug logikos, kuri gali pridėti nuostabių funkcijų. Pvz., Galite pridėti galimybę programai valdyti pakartotinius pranešimus, patvirtinimus arba valdyti papildomą pranešimų aparatūrą, pvz., Žibintus ir tt. Galite išplėsti ją į namų automatikos teritoriją ir valdyti žibintus bei duris. Galite pridėti kelis DMD, kad kiekviename pranešime būtų rodomi skirtingi pranešimai arba vienas pranešimas bendrame didesniame ekrane. Aš tik kasau paviršių, kas čia įmanoma!

Mėgautis!

Rekomenduojamas: