Talaan ng mga Nilalaman:
- Hakbang 1: Ang Hardware
- Hakbang 2: Ang Arduino Sketch
- Hakbang 3: Tumatagal sa Entablado si Sinatra
- Hakbang 4: I-set up ang Iyong Development Machine
- Hakbang 5: Ruby sa Mac o Linux
- Hakbang 6: Ruby sa Windows
- Hakbang 7: Suriin at Itakda ang Iyong Ruby
- Hakbang 8: I-install ang Sinatra (lahat ng Mga Platform)
- Hakbang 9: Muling gawin sa Mac o Linux
- Hakbang 10: Muling gawin sa Windows
- Hakbang 11: Lumikha ng Application sa Web Service
- Hakbang 12: Lumipat sa Cloud Gamit ang Heroku
- Hakbang 13: Pagsasama-sama sa Lahat ng Ito
- Hakbang 14: Potensyal
Video: Alerto sa Home: Arduino + Cloud Messaging sa isang Malaking Display: 14 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Sa edad ng mga mobile phone, aasahan mong magiging madaling tumugon ang mga tao sa iyong tawag 24/7.
O hindi. Kapag nakakauwi na ang aking asawa, ang telepono ay nanatiling nakalibing sa kanyang hand bag, o ang baterya nito ay flat. Wala kaming linya sa lupa. Ang pagtawag o pag-SMS upang humiling ng isang pag-angat sa bahay mula sa istasyon ng tren sa isang maulan na gabi o pagtawag upang tanungin kung ang aking mga susi ay nasa mesa pa rin ay literal na nag-iisip.
Mayroon akong problemang ito madalas na sapat upang mag-garantiya ng isang solusyon. Ang kaunting tinkering sa isang Arduino at isang Freetronics Dot Matrix Display (DMD) ay nagresulta sa isang nakakainis (para sa aking asawa) na gadget, ngunit isang kamangha-manghang aparato sa komunikasyon at sentro ng impormasyon para sa akin. Mahal ko ito, at bersyon 1 lang ito!
Ang Home Alert ay gawa sa mga bahaging ito:
- Isang Freetronics Dot Matrix Display, na isang hanay ng 16x32 LEDs. Dumating ang mga ito sa iba't ibang kulay, ngunit gumagamit ako ng pula upang bigyang-diin na ang gadget na ito ay para sa mga "kritikal" na notification.
- Isang Arduino Uno na may Ethernet Shield.
- Isang breakout ng real-time na orasan, tulad nito o nito.
- Isang piezo buzzer
- Isang sensor ng temperatura at kahalumigmigan ng DHT22.
Kinokontrol ang Home Alert sa pamamagitan ng isang web page na naka-host sa Heroku, isang host na application na nakabatay sa cloud. Ang web page ay naka-code sa Ruby, gamit ang Sinatra web app framework, at ang Redis na key-value store.
Tingnan ang home page (ipakita sa unang naka-attach na imahe sa hakbang na ito), kung saan naghihintay ang form ng isang bagong mensahe mula sa gumagamit.
Tumatanggap ang unang patlang ng isang bilang ng code ng hardware. Ito ay isang code na nagbibigay-daan sa iyo upang mag-target ng isang tukoy na sistema ng Alerto sa Home, dahil ang bawat isa ay maaaring mabigyan ng isang natatanging code. O kaya, maaari kang magkaroon ng maraming Mga Alerto sa Home na nagbabahagi ng parehong code, upang ang parehong mensahe ay ipinapakita sa maraming mga lokasyon.
Ang mensahe na nais mong ipakita ay papunta sa pangalawang patlang. Anumang teksto na nai-type mo doon ay ipapakita sa DMD.
Kung nais mong gumawa ng isang ingay, suriin ang Oo! checkbox, at ang buzzer ay sigurado na makakuha ng pansin ng sinumang malapit.
Sa artikulong ito, ipapakita ko sa iyo kung paano bumuo ng iyong sariling Home Alert system, parehong hardware at software ng Arduino, pati na rin ang Sinatra mini web application.
Magsimula na tayo!
Hakbang 1: Ang Hardware
Ang DMD ay ang focal point ng gadget. Maaari akong umalis kasama ang isang maliit na LCD screen, ngunit ang pangunahing ideya para sa proyektong ito ay upang makabuo ng isang bagay na makikita at maririnig mula sa malayo. Para sa biswal na bahagi, kailangan ko ng isang bagay na malaki at maliwanag, at ang display ng Freetronics na ito ay eksaktong kinakailangan ko. Naglalaman ang bawat panel ng isang hanay ng 16x32 LEDs, at maaari mong idikit ang ilan sa mga ito upang lumikha ng mas malaking mga pagpapakita. Ito ay isang bagay na nais kong gawin sa malapit na hinaharap.
Ang DMD ay may isang madaling gamitin na Arduino library. nakikipag-usap ito sa Arduino sa pamamagitan ng high-speed SPI. Nakuha ko ang library mula sa pahina ng Freetronics Github, pagkatapos ay sunugin ang demo sketch at gawin itong gumana sa loob ng ilang minuto ng pagbukas ng kahon. Nagulat ako nang makita ang isang maliwanag na display na gumagamit lamang ng lakas mula sa Arduino. Kung nais mong pansamantalang mabulag ang iyong mga manonood, maaari kang maglakip ng isang nakatuong supply ng kuryente sa DMD na ito. Kung hindi nito nakuha ang kanilang pansin, wala!
Pisikal, ang display na ito ay sumusukat sa 320mm (W), 160mm (H) at 14mm (D).
Naglalaman ang back panel ng mga konektor para sa panlabas na lakas, 5V na may hindi kukulangin sa 4Amps na kapasidad, ang Arduino connector ay minarkahan ng HUB1, at ang konektor para sa mga karagdagang pagpapakita ng daisy-chaining sa kabilang panig. Ayon sa dokumentasyon, maaari kang daisy-chain hanggang sa apat na DMD.
Ang DMD ay kinokontrol ng isang Arduino Uno. Nagbibigay ang Freetronics ng isang napaka-maginhawang konektor na "DMDCON" na direkta lamang na snaps papunta sa tamang SPI at mga data pin.
Maliban sa DMD, gumamit ako ng Arduino Uno, isang Ethernet Shield, isang breakout ng real-time na orasan, isang buzzer, at isang DHT22. Para sa lahat ng mga sangkap na ito, lumikha ako ng mga lektura na naglalarawan sa kanilang operasyon sa aking kurso sa Udemy. (Walang kahihiyang pagtataguyod sa sarili: mag-sign up sa aking listahan ng email sa arduinosbs.com at makatanggap ng isang kupon na magbibigay sa iyo ng may diskwento na pag-access sa lahat ng 55 mga lektura).
Ang real-time na orasan, isang breakout batay sa DS18072 na orasan IC, ay isang I2C aparato kaya nakakonekta ito sa mga analog pin ng Uno na 1 at 2, na nagpapatupad ng I2C bus.
Ang buzzer ay konektado sa digital pin 3, mula sa kung saan kinokontrol ko ito gamit ang tone () function.
Ang sensor ng DHT22 ay konektado sa digital pin 2. Mag-ingat na ikonekta ang 10KΩ pull-up risistor sa pagitan ng linya ng 5V at ng linya ng data.
Hakbang 2: Ang Arduino Sketch
Ang sketch ay hindi malaki sa mga tuntunin ng bilang ng linya, ngunit halos maubos nito ang magagamit na flash memory ng Uno salamat sa lahat ng mga isinamang aklatan. Mayroong maraming puwang para sa pag-optimize ng memorya, ngunit dahil nasa yugto ako ng prototyping, iyon ay isang proyekto para sa isa pang araw. Magagamit ang code na ito sa Github.
Narito ang sketch, na may naka-embed na mga komento (tingnan ang kalakip na PDF).
Ang pangunahing responsibilidad ng sketch na ito ay upang gawing isang consumer ng isang serbisyo sa web ang Arduino. Ang serbisyo sa web ay isang simpleng web site na may dalawang mga end-point, isa para ma-access ng isang gumagamit sa pamamagitan ng isang web browser at magsumite ng isang text string na nais nilang ipakita sa DMD, at isa pa kung saan i-access ng Arduino upang kunin ang string ng teksto na iyon.
Mangyaring i-download at basahin ang nakalakip na PDF file, naglalaman ito ng mga naka-embed na komento na naglalarawan sa pagpapatakbo nito.
Hakbang 3: Tumatagal sa Entablado si Sinatra
Maraming paraan upang lumikha ng mga web site at serbisyo sa web. Mula sa mga wika sa pagprograma na may mga aklatang sumusuporta sa web, hanggang sa mga tampok na balangkas, maaari itong maging nakalilito at mahirap pumili ng isa para sa trabahong ito.
Ginamit ko at nilalaro ang isang patas na bilang ng mga teknolohiya ng aplikasyon sa web, at nalaman na ang Sinatra ay mainam para sa pagbuo ng mga serbisyo sa web at maliit na mga web site. Sa partikular, kapag bumuo ako ng isang serbisyo sa web upang suportahan ang isang Arduino gadget, ang Sinatra ay isang napakahusay na pagpipilian.
Ano ang Sinatra, at bakit napakahusay na pagpipilian? Natutuwa akong tinanong mo!
Ang Sinatra ay isang wika para sa mabilis na pag-unlad ng mga web application. Bumuo ito sa tuktok ng Ruby, isang tanyag at nagpapahayag na pangkalahatang layunin ng wika ng pag-script. Maaari mong marinig ang Sinatra na tinukoy bilang isang "DSL", isang Domain na Tiyak na Wika. Ang domain dito ay ang Web. Ang mga keyword (salita) at ang syntax na nilikha para sa Sinatra ay tulad na ginagawang madali at mabilis para sa mga tao na lumikha ng mga web application.
Sa oras kung saan ang tinaguriang mga "opinionated" na balangkas para sa pag-unlad ng web app tulad ng Ruby on Rails at Django ay sobrang tanyag, nakuha ni Sinatra ang kabaligtaran na dulo ng spectrum. Habang hinihiling ng Ruby on Rails at Django sa programmer na sundin ang isang tukoy na kombensiyon at paraan ng paggawa ng mga bagay (na kung saan, nagpapahiwatig ng isang matarik at mahabang pag-aaral na kurba), si Sinatra ay hindi gumagawa ng ganoong mga kinakailangan.
Ang Sinatra ay mas simple sa konsepto kaysa sa Riles at Djangos ng mundo. Maaari kang bumangon at tumatakbo sa isang web application na maaaring makipag-ugnay sa iyong Arduino sa loob ng ilang minuto.
Magpapakita ako ng isang halimbawa. Narito kung ano ang hitsura ng isang minimal na web app ng Sinatra (basahin lamang ang sumusunod sa ngayon, huwag mo talagang gawin ito sa iyong computer dahil malamang na wala ka pang mga kinakailangang pag-set up para dito):
Sa isang solong file, tawagan natin itong my_app.rb, idagdag ang tekstong ito:
nangangailangan ng 'sinatra'get' / 'gawin ang "Kumusta, mundo!" na wakasan
Sa linya ng utos, simulan ang app na tulad nito:
ruby my_app.rb
Magsisimula ang iyong app, at makikita mo ang teksto na ito sa console:
peter @ ubuntu-dev: ~ / arduino / sinatra_demo $ ruby my_app.rbPuma 2.8.1 simula… * Min thread: 0, max thread: 16 * Kapaligiran: pag-unlad * Pakikinig sa tcp: // localhost: 4567 == Sinatra / 1.4.4 ay kinuha ang entablado sa 4567 para sa pag-unlad na may backup mula sa Puma
Handa na ang app na makatanggap ng mga kahilingan sa kliyente. Magbukas ng isang browser, ituro ito sa https:// localhost: 4567, at ito ang iyong makikita (tingnan ang nakalakip na screenshot).
Iyon ang apat na simpleng mga linya ng code sa isang solong file. Sa kaibahan, ang Riles ay nangangailangan ng higit sa isang daang mga file, na nabuo nang simple upang masiyahan ang mga kinakailangan ng balangkas. Huwag kang magkamali, mahal ko ang Rails, ngunit talaga?…
Kaya, ang Sinatra ay simple, at mabilis na tumakbo. Ipagpalagay ko na wala kang alam tungkol sa Ruby, Sinatra, at paglawak ng application sa Cloud, kaya sa susunod na seksyon ay ihahatid ka namin hakbang-hakbang mula zero hanggang sa pag-deploy ng iyong serbisyo sa web ng Arduino hanggang sa Cloud.
Hakbang 4: I-set up ang Iyong Development Machine
Ang Sinatra ay batay sa wika ng programa ng Ruby. Kaya, kailangan mong i-install ang Ruby bago mo i-install ang Sinatra.
Kakailanganin mo ring mag-install ng isang key-value store server na tinatawag na Redis. Isipin ang Redis bilang isang database na nag-iimbak ng data laban sa isang susi. Ginagamit mo ang susi upang makuha ang data, at ito ay na-optimize para sa bilis kaysa sa kakayahang umangkop ng mga istruktura ng data na idinisenyo para sa isang tradisyonal na pamanggit na database. Iniimbak ng Home Alert ang mga mensahe nito sa Redis.
Hakbang 5: Ruby sa Mac o Linux
Kung gumagamit ka ng isang Mac o Linux computer, inirerekumenda kong gamitin mo ang RVM upang mai-install at pamahalaan ang iyong pag-install ng Ruby (RVM: Ruby Version Manager). Ang mga tagubilin para sa pag-install ng Ruby sa RVM ay nasa pahinang ito, o kopyahin lamang at i-paste ang utos na ito sa iyong shell:
curl -sSL https://get.rvm.io | bash -s stable - mabula
Umupo, bumalik, mamahinga, at hintayin ang pag-download, pagtitipon, at pag-install ng RVM at Ruby upang makumpleto.
Hakbang 6: Ruby sa Windows
Kung nasa Windows ka, inirerekumenda kong sundin ang patnubay na ito sa Ruby Installer para sa Windows web site, at gamitin ang application ng pag-setup.
Hakbang 7: Suriin at Itakda ang Iyong Ruby
Sa oras ng pagsulat, ang pinakabagong matatag na paglabas ng Ruby ay 2.1.1.p76. Maaari mong suriin ang bersyon na na-install sa RVM sa pamamagitan ng pag-type nito:
impormasyon sa rvm
Maraming impormasyon tungkol sa RVM at Ruby ay lilitaw. Sa aking kaso, ito ang seksyon ng Ruby:
ruby: interpreter: bersyon ng "ruby": "2.1.1p76" petsa: "2014-02-24" platform: "x86_64-linux" patchlevel: "2014-02-24 rebisyon 45161" full_version: "ruby 2.1.1p76 (2014 -02-24 rebisyon 45161) [x86_64-linux]"
Inirerekumenda ko na gamitin mo rin ang Ruby 2.1.1, kaya kung may nakikita kang mas matanda kaysa doon, mag-upgrade tulad nito:
mag-install ng rvm ng 2.1.1
I-install nito ang Ruby 2.1.1. Ang site ng proyekto ng RVM ay naglalaman ng maraming impormasyon tungkol sa RVM at kung paano pamahalaan ang iyong pag-install ng Ruby.
Hakbang 8: I-install ang Sinatra (lahat ng Mga Platform)
Sa Ruby, ibinahagi ang code bilang mga pakete na tinatawag na "mga hiyas". Ang code na bumubuo sa Sinatra ay maaaring mai-install sa iyong computer bilang isang hiyas na tulad nito:
gem install ng sinatra
Kukunin ng linyang ito ang lahat ng code at dokumentasyon at mai-install ito sa iyong computer.
Hakbang 9: Muling gawin sa Mac o Linux
Madali ang pag-set up ng Redis sa Mac o Linux. Ang proseso ay ipinaliwanag sa Redis web site. Buksan ang terminal ng shell, at i-type ang mga utos na ito:
$ 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
Patakbuhin ang Redis sa pamamagitan ng pagta-type:
$ src / redis-server
… at tapos ka na!
Hakbang 10: Muling gawin sa Windows
Ang Redis sa Windows ay inirerekumenda lamang para sa pag-unlad, at kakailanganin mong ipunin ito gamit ang libreng kapaligiran sa pag-unlad ng Visual Studio Express. Nangangailangan ito ng kaunting oras upang mapatakbo ito, ngunit gumagana ito ng maayos at sulit ang pagsisikap. Sundin ang mga tagubilin sa pahina ng Github ng proyekto. Doon, mahahanap mo rin ang isang link sa pahina ng Visual Studio Express.
Hakbang 11: Lumikha ng Application sa Web Service
Buuin natin ang application at patakbuhin ito sa iyong development machine. Aayos namin ang sketch ng Arduino upang kumonekta sa pagkakataong ito ng application habang sinusubukan namin ito. Kapag nasiyahan kami na ang lahat ay gumagana nang maayos, magpapakalat kami sa cloud at i-update ang sketch upang magamit ang cloud instance.
Narito ang Ruby code, lahat sa isang solong file na pinangalanang "web.rb" (ang code na ito ay magagamit sa Github).
Mahalaga: I-download at basahin ang nakalakip na PDF file, naglalaman ito ng detalyadong naka-embed na mga komento (mangyaring gawin ito bago ka magpatuloy!).
Maaari mo nang subukan ang iyong Home Alert system. Sa iyong sketch, palitan ang mga WEBSITE at WEBPAGE na patuloy upang ituro ang iyong development machine at numero ng port para sa iyong development Sinatra server. Sa aking kaso, mayroon akong isang development machine sa IP 172.16.115.136, at ang pagpapaunlad ng server ng Sinatra ay nakikinig sa port 5000, kaya ang aking mga setting ng sketch ay:
#define HW_ID "123" #define WEBSITE “172.16.115.136dagdag000arui#define WEBPAGE“/ get_message /"
Ang IP address na ito ay maa-access lamang para sa mga aparato sa aking home network.
Ang setting ng HW_ID ay kumakatawan sa "hardware ID", iyon ay, ang ID kung saan ang Arduino na kumokontrol sa DMD ay makikilala ang sarili nito sa application ng Sinatra. Ito ay isang napaka-pangunahing uri ng pagpapatotoo. Ang web application ay magbibigay ng isang mensahe sa isang Arduino na humihiling para dito batay sa ibinigay na HW_ID. Maaari kang magkaroon ng maraming mga aparato na may parehong HW_ID, kung saan ang lahat ng mga aparato ay magpapakita ng parehong mensahe. Kung nais mo ang "privacy", pumili ng isang ID na may maraming mga random character na hindi mahulaan ng ibang tao. Mag-ingat din, walang komunikasyon na naka-encrypt.
Ngayon lang at simulan ang iyong Sinatra app, i-type ito (sa pag-aakalang ikaw ay nasa folder ng proyekto ng Sinatra):
ruby web.rb
… at makakakita ka ng tulad nito (maaaring mag-iba ang ilang mga detalye, hangga't hindi ito nag-crash, ok ka lang):
10:42:18 web.1 | nagsimula sa pid 4911910: 42: 18 web.1 | Puma 2.8.1 simula… 10: 42: 18 web.1 | * Min thread: 0, max thread: 1610: 42: 18 web.1 | * Kapaligiran: pag-unlad10: 42: 18 web.1 | * Pakikinig sa tcp: //0.0.0.0: 5000
Ituro ang iyong web browser sa lokasyon kung saan nakikinig ang server, at makikita mo ito (tingnan ang pangalawang kalakip).
I-upload ang iyong sketch sa Arduino, tiyaking nakakonekta ito sa iyong lokal na network. Kung maayos ang lahat, i-poll ng Arduino ang iyong serbisyo sa web minsan bawat minuto. Bigyan ito ng isang mensahe upang maipakita: Sa patlang ng HW code, i-type ang parehong ID na itinakda mo para sa patuloy na HW_ID sa sketch. Mag-type ng anuman sa patlang na "Iyong mensahe", at suriin ang "Buzz?" checkbox.
Isumite, maghintay para sa isang minuto, at makita ang iyong mensahe na lilitaw sa DMD!
Hakbang 12: Lumipat sa Cloud Gamit ang Heroku
Ngayon na ang Home Alert ay gumagana sa pagpapaunlad, gawin itong gumagana sa Cloud. Mayroong hindi mabilang na mga pagpipilian na magagamit para sa pag-deploy ng mga aplikasyon sa web. Batay sa saklaw at pagiging kumplikado ng Home Alert, napagpasyahan kong ang pagse-set up ng aking sariling virtual na pribadong server ay hindi sulit. Sa halip, mas mahusay na pumunta para sa isang serbisyo tulad ng Heroku, isang application host. Para sa aking sukat, ang libreng baitang ng Heroku ay higit sa sapat. Kahit na para sa bahagi ng Redis, nakakapili ako ng isang libreng plano mula sa isa sa maraming mga tagabigay ng Redis na gumagana sa Heroku.
Gayunpaman, may kaunting pagsisikap na kasangkot, na kung saan ay may kinalaman sa pagkuha ng aking application na bahagyang nabago upang maaari itong sumunod sa mga pagtutukoy ng Heroku. Narito ang mga detalye, ngunit mahalagang kakailanganin mong idagdag ang mga file na ito sa iyong proyekto sa Sinatra (lahat ng mga sumusunod na file ay maaaring ma-download mula sa aking Github account):
* config.ru: Sinasabi nito sa Heroku kung aling file ang naglalaman ng application. Narito ang mga nilalaman:
nangangailangan ng './web'run Sinatra:: Aplikasyon
Ang unang linya ay tumuturo sa web.rb, at ang pangalawang linya ay talagang pinapatakbo ang iyong aplikasyon.
* Gemfile: naglalaman ito ng mga Diamante (mga ruby code package) na kinakailangan ng application. Hahanapin ni Heroku sa loob ng file na ito upang malaman kung anong iba pang code ang kailangan nitong mai-install upang gumana ang iyong aplikasyon. Ang isa pang paraan upang tingnan ang Gemfile ay naglalaman ng isang listahan ng mga dependency para sa iyong proyekto. Kung alinman sa mga dependency na ito ay hindi magagamit, ang iyong aplikasyon ay hindi gagana. Narito kung ano ang nasa loob ng Gemfile para sa app na ito:
pinagmulan "https://rubygems.org" ruby "2.1.1" gem 'sinatra'gem' puma'gem 'redis'
Una, itinatakda nito ang mapagkukunan ng imbakan ng lahat ng Gem code na maging rubygems.org. Susunod, kinakailangan nito ang Ruby bersyon 2.1.1 na ginagamit upang patakbuhin ang application. Pagkatapos ay nakalista ito ng mga kinakailangang Hiyas: Sinatra, Puma (isang mahusay na Ruby web application server), at Redis.
* Procfile: sinasabi nito sa Heroku kung paano simulan ang iyong server. Mayroon lamang isang linya dito:
web: rakup -s puma -p $ PORT
Sinasabi ng linyang ito na ang "web" ay ang tanging uri ng serbisyo na kinakailangan (maaari kang magkaroon ng iba, tulad ng "manggagawa", para sa pagproseso ng background), at upang simulan ang serbisyo ay dapat gamitin ng Heroku ang utos na darating pagkatapos ng ":".
Maaari mong gayahin kung ano ang gagawin ni Heroku sa pamamagitan ng pagsunod sa pagkakasunud-sunod na ito sa iyong machine sa pag-unlad (i-type lamang ang pagsubok bago ang arrow; kung ano ang sumusunod sa arrow ay isang paglalarawan lamang ng utos):
$> bundler ng pag-install ng hiyas -> i-install ang Bundler, na alam kung paano hawakan ang Gemfile. $> pag-install ng bundle -> Pinoproseso ng Bundler ang Gemfile at nai-install ang mga dependency. $> rakup config.ru -> Ang rackup ay isang tool na maaaring maproseso ang config.ru file. Karaniwan itong may kasamang susunod na bersyon ng Ruby, kung hindi nito ‘i-install ito tulad nito: gem install rack.
Ang huling hakbang ay nagreresulta sa aktwal na paglulunsad ng iyong aplikasyon. Dapat mong makita ang eksaktong parehong output tulad ng kapag sinimulan mo ito sa ruby web.rb nang mas maaga. Ito ay ang parehong application na tumatakbo, sa pagkakaiba lamang na ang pangalawang pamamaraan ay kung paano ito sinisimulan ni Heroku.
Halos handa na kaming i-deploy ang application na ito sa iyong Heroku account. Kung wala ka pang isa, magpatuloy at lumikha ng isa ngayon. Pagkatapos, sundin ang gabay na mabilis na pagsisimula upang mai-set up ang iyong account at ang iyong lokal na pag-unlad na makina, at lalo na ang Heroku Toolbelt.
Ang Heroku Toolbelt ay nag-install ng Heroku command line client, Git (ang open source source code management system), at Foreman (isang tool na Ruby na tumutulong na pamahalaan ang mga application na batay sa Procfile).
Sa sandaling nakumpleto mo ang pag-install ng Heroku Toolbelt sumusunod sa mga tagubilin sa Heroku web site, sundin ang mga hakbang na ito upang maipalipat ang iyong aplikasyon (ang lahat ay nai-type sa linya ng utos, sa loob ng direktoryo ng app):
$> pag-login sa heroku -> Mag-log in sa Heroku sa pamamagitan ng linya ng utos na $> git init -> Pasimulan ang isang Git na lalagyan para sa iyong application na $> git add. -> (pansinin ang tuldok!) Idagdag ang lahat ng mga file sa kasalukuyang direktoryo sa Git repository na $> git commit -m "init" -> Ipadala ang mga file na ito sa lalagyan, na may isang bagong mensahe na $> heroku create -> Lumikha ng isang bagong app sa Heroku. Bibigyan ng Heroku ang iyong app ng isang random na pangalan, isang bagay tulad ng "nagliliyab-galaxy-997". Itala ang pangalan, at ang URL upang ma-access mo ito sa pamamagitan ng iyong web browser sa ibang pagkakataon. Ganito ang magiging hitsura ng URL na ito: “https://blazing-galaxy-997.herokuapp.com/“. Kakailanganin mo ring kopyahin ang hostname (ang bahaging "blazing-galaxy-997.herokuapp.com" na bahagi) ng iyong bagong aplikasyon sa pare-parehong WEBSITE ng iyong Arduino sketch. Gawin ito ngayon upang hindi mo makalimutan sa paglaon. $> heroku addons: magdagdag ng rediscloud -> Nagdaragdag ng libreng baitang ng serbisyo ng Rediscloud Redis sa iyong application. Ang mga setting ng pagsasaayos ay awtomatikong nilikha at ginawang magagamit sa iyong aplikasyon. $> git push heroku master -> I-deploy ang iyong code sa Heroku. Awtomatiko nitong ililipat ang code, i-set up ang anumang mga dependency sa Heroku, at simulan ang application. Sa pagtatapos ng proseso, makakakita ka ng tulad nito: "https://blazing-galaxy-997.herokuapp.com na ipinakalat sa Heroku", na nangangahulugang ang iyong aplikasyon ay live na ngayon sa pampublikong Cloud! Binabati kita!
Sige, paikutin mo!
Hakbang 13: Pagsasama-sama sa Lahat ng Ito
Gamit ang iyong web application na na-deploy, i-upload ang na-update na sketch sa Arduino (tandaan na na-update mo ang pare-pareho ang WEBSITE upang ituro ang iyong halimbawa ng produksyon ng web application).
Gamitin ang iyong browser upang ma-access ang iyong app sa Heroku. Tulad ng sa pagpapakilala, i-type ang iyong hardware ID sa unang text box, ang iyong mensahe sa pangalawa, at lagyan ng tsek ang check box upang maisaaktibo ang buzzer.
Ang iyong mensahe ay lilitaw sa DMD sa paligid ng isang minuto sa paglaon kung ang lahat ay maayos!
Hakbang 14: Potensyal
Marami pang magagawa sa iyong Home Alert system …
Ang pagkakaroon ng Heroku back end ay nangangahulugang maaari kang magdagdag ng maraming lohika na maaaring magdagdag ng kamangha-manghang pag-andar. Halimbawa, maaari kang magdagdag ng kakayahan para sa application na pamahalaan ang mga paulit-ulit na abiso, pagkilala, o kontrolin ang karagdagang hardware sa pag-abiso tulad ng mga ilaw ng strobo atbp Maaari mo itong palawigin sa teritoryo ng automation ng bahay at kontrolin ang mga ilaw at pintuan. Maaari kang magdagdag ng maraming mga DMD upang maipakita ang alinman sa magkakaibang mga mensahe sa bawat isa o isang solong mensahe sa isang pinagsamang mas malaking display. Kinakamot ko lang ang ibabaw ng kung ano ang posible dito!
Mag-enjoy!
Inirerekumendang:
Kinokontrol ng Kulay ng Cloud ng App: 7 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Kulay ng Cloud ng App: Kumusta, sa itinuturo na ito ay ipinapakita ko sa iyo kung paano bumuo ng isang ilaw sa silid mula sa isang grid ng gravel path. Ang buong bagay ay maaaring makontrol sa pamamagitan ng WLAN gamit ang isang app.https: //youtu.be/NQPSnQKSuoMay ilang mga problema sa proyekto. Ngunit sa huli maaari mo itong gawin
Internet / cloud Controlled Home Automation Gamit ang Esp8266 (aREST, MQTT, IoT): 7 Hakbang (na may Mga Larawan)
Internet / cloud Controlled Home Automation Gamit ang Esp8266 (aREST, MQTT, IoT): LAHAT ng mga kredito sa http://arest.io/ para sa cloud service !! IoT ang pinaguusapan na paksa sa mundo ngayon !! Ang mga cloud server at serbisyo na ginagawang posible ito ay ang atraksyon ng mundo ngayon … RULING OUT THE DISTANCE BARRIER was and is the
Pagkonekta ng isang DHT11 / DHT22 Sensor sa Cloud Gamit ang isang ESP8266-based Board: 9 Mga Hakbang
Pagkonekta ng isang DHT11 / DHT22 Sensor sa Cloud Gamit ang isang Board na nakabatay sa ESP8266: Sa nakaraang artikulo, ikinonekta ko ang aking board na NodeMCU na nakabatay sa ESP8266 sa isang serbisyo ng Cloud4RPi. Ngayon, oras na para sa isang tunay na proyekto
Pagsubaybay sa Plant at Mga Alerto Sa ESP8266 at AskSensors IoT Cloud: 6 na Hakbang
Pagsubaybay sa Plant at Mga Alerto Sa ESP8266 at AskSensors IoT Cloud: Nilalayon ng proyektong ito ang pagbuo ng isang matalinong sistema ng pagsubaybay ng halaman gamit ang ESP8266 at ang AskSensors IoT Platform. Ang sistemang ito ay maaaring magamit upang subaybayan ang antas ng kahalumigmigan ng lupa upang magbigay ng mga pamantayan sa layunin ng mga desisyon sa irigasyon. na makakatulong na matiyak ang patubig
Gawin ang iyong Pi isang (Lokal) Cloud Server !: 19 Mga Hakbang (na may Mga Larawan)
Gawin ang iyong Pi isang (Lokal) Cloud Server !: I-save at i-access ang mga dokumento at larawan at musika sa iyong sariling lokal na Pi Cloud server! Ang pinakamagandang bahagi: maaari mo itong magamit kung, o kailan, bumababa ang Internet (o kung nasa isang malayong lugar ka at nais ng pag-access sa Wikipedia). Oh siya, at kung ang iyong kaibigan ay makakakuha ng isa at ika