Pagsisimula Sa Blynk: Mga Simpleng DIY IoT Device

Pagsisimula Sa Blynk: Mga Simpleng DIY IoT Device

Ang Blynk [Broken URL Tinanggal] ay isang serbisyo ng Internet of Things (IoT) na idinisenyo upang makagawa ng remote control at pagbabasa ng data ng sensor mula sa iyong mga aparato nang mabilis at madali hangga't maaari. Sa artikulong ito ay saklaw namin ang eksaktong kung ano ang Blynk, kung paano ito gumagana, at magbigay ng dalawang maikling halimbawa ng mga proyekto sa iba't ibang paggamit ng serbisyo sa NodeMCU at Raspberry Pi development boards.





Hindi kailanman naging madali upang simulan ang pagbuo ng mga matalinong bagay gamit ang mga microcontroller, at ang mga aparato ng IoT ay mabilis na lumago sa katanyagan sa mga nagdaang taon. Ang mga board ng pag-unlad tulad ng Arduino o Raspberry Pi ay maaaring magamit upang makontrol ang lahat mula sa mga socket ng kuryente sa iyong bahay hanggang sa mga dekorasyong Pasko na pinapagana ng galaw.





Ang isang lugar na maaaring magdulot ng isang problema para sa hindi alam ang pag-coding at networking. Nilalayon ni Blynk na alisin ang pangangailangan para sa malawak na pag-coding, at gawing madali upang ma-access ang iyong mga aparato mula sa kahit saan sa iyong smartphone. Libre itong gamitin para sa mga hobbyist at developer, kahit na magagamit din ito upang magamit nang komersyal sa isang bayad - maaaring gamitin ng mga kumpanya ang Blynk upang lumikha ng kanilang sariling mga app at system pagkatapos ay ibenta ang mga ito gamit ang kanilang sariling pag-tatak.





Gumagamit si Blynk ng sariling server at library upang maisagawa ang serbisyo, ngunit ang Blynk app na tila ito ang pangunahing lakas.

Ipasok ang Blynk App

Ang Blynk app ay magagamit nang libre sa Android at iOS. Ito ang panimulang punto para sa iyong mga proyekto, na nagtatampok ng isang simpleng gamitin na drag at drop system para sa pagbuo ng mga pasadyang kontrol para sa iyong pag-set up ng IoT. Mabilis ang daloy ng trabaho: kapag nagsisimula ng isang bagong proyekto na sinenyasan kang pumili ng iyong development board mula sa isang malawak na listahan, at pati na rin ang iyong paraan ng koneksyon. Nagpapadala ang app ng isang token ng pahintulot sa pamamagitan ng email para sa pagkonekta sa iyong aparato sa server ng Blynk.



magbahagi ng mga file sa pagitan ng mac at pc

Ang mga elemento ng kontrol ay tinatawag Mga Widget : iba't ibang mga uri ng mga pamamaraan ng pag-input at nagpapakita ng output kabilang ang mga pindutan, slider, isang joystick, mga graph at feedback sa teksto. Mayroon ding mga tukoy na sangkap ng sangkap, na may mga inilarawan sa istilo ng mga kontrol para sa LEDS, mga LCD display, at kahit na live na naka-stream na video. Kapansin-pansin din ang mga widget na nagdaragdag ng mga tampok, tulad ng awtomatikong pag-post sa Twitter, at pasadyang mga notification.

Habang ang app ay libre, nililimitahan nito kung gaano karaming mga widget ang maaari mong gamitin nang sabay-sabay sa pamamagitan ng pagbibigay sa kanila ng lahat ng gastos na 'Enerhiya'. Binibigyan ka ng app ng isang balanse na 2,000 upang mapaglaro, na may pagpipilian na bumili ng higit pa kung kinakailangan.





Nalaman ko na ang panimulang balanse na ibinigay ay higit pa sa sapat para sa mga halimbawang proyekto na nakalista dito, kahit na kung ang iyong pag-set up ay mas kumplikado maaari mong makita ang iyong sarili na nauubusan ng katas nang mabilis.

Ang bawat widget ay may isang menu sa pag-edit na nagbibigay-daan sa iyo upang baguhin ang pangalan at kulay. Piliin mo kung aling pin ang makakaapekto (maging isang pin sa iyong board o isa sa mga virtual na pin ni Blynk) kasama ang saklaw ng mga halagang ipadadala. Para sa mga output na ipinapakita tulad ng mga graphic at text box, maaari mo ring piliin kung gaano mo kadalas nais na ma-update ito, na posibleng makatipid ng mahalagang bandwidth.





Nagtatampok din si Blynk ng kakayahang magtalaga ng mga tagubilin sa mga 'virtual' na pin, na kung saan ay naka-configure ang mga koneksyon ng user sa pagitan ng app at ng hardware. Ang isang solong pindutan sa app ay maaaring magamit upang makapagsimula ng maraming iba't ibang mga kaganapan sa aparato. Saklawin namin kung paano gamitin ang mga ito sa ibang pagkakataon sa artikulo.

Binibigyan ng app ang pagpipilian ng pagbabahagi ng iyong proyekto sa iba. Ang isang QR code ay nabuo na maaaring maipadala sa pamamagitan ng email o direktang na-scan, at ginagamit ng sinumang mayroon ding Blynk app. Ang sinumang pagbabahagi mo ay hindi maaaring gumawa ng mga pagbabago sa proyekto, ginagawa itong isang mabilis at maginhawang paraan upang ibahagi ang kontrol sa iyong mga aparato. Ito ay nagkakahalaga ng pansin ngunit ang iyong proyekto sa app ay dapat na tumatakbo para sa iba upang magkaroon ng access sa hardware.

Maaari mo ring ibahagi ang proyekto nang hindi pinapayagan ang pag-access sa iyong hardware, na kung saan ay isang mahusay na paraan upang turuan ang mga tao kung paano gamitin ang app nang hindi pinapayagan na i-on at i-off nila ang iyong mga ilaw!

Natagpuan ko ang paglikha ng isang app na napakabilis at madaling maunawaan. Kapag nilikha, maaari mo nang simulang gamitin ito kaagad sa pamamagitan ng pagpindot sa simbolo ng pag-play sa kanang sulok sa itaas. Kung kailangan mong gumawa ng mga pagbabago sa paglaon maaari mo lamang pindutin ang parehong pindutan upang bumalik sa mode ng pag-edit.

Ang Blynk Server

Kapag nakalikha ka ng isang app upang makontrol ang iyong aparato, mayroon kang dalawang mga pagpipilian para sa kung paano makipag-usap dito.

Ang Blynk cloud server ay mabilis, madaling tumugon, at malayang gamitin. Ang pagkonekta sa isang aparato na Wi-Fi ay kasing dali ng pagkopya ng iyong nabuong code ng pagpapahintulot sa iyong sketch ng Arduino, at pagbibigay ng iyong mga detalye sa Wi-Fi. Para sa Raspberry Pi, nagbibigay si Blynk ng isang script ng pagsubok na maaari mong patakbuhin kasama ang iyong code ng pahintulot sa parehong epekto. Mamaya sa artikulong ito, lilikha kami ng aming sariling script gamit ang Blynk library upang kumonekta sa serbisyo.

Ang pangalawang pagpipilian ay upang host ng sarili mo Blynk server. Nagbibigay ang Blynk ng isang bukas na mapagkukunan ng Netty based Java server na maaaring patakbuhin mula sa iyong computer, o kahit isang Raspberry Pi. Ito ay may iba't ibang mga benepisyo para sa ilang mga gumagamit sa mga tuntunin ng pag-andar at seguridad, bagaman para sa aming mga halimbawa dito magtutuon kami sa paggamit ng ibinigay na Blynk cloud server.

Ang Blynk Library

Ang pangatlo at pangwakas na elemento ng Blynk ay ang Blynk library . Gumagana ang library na ito sa isang malaking listahan ng mga board ng pag-unlad upang payagan ang komunikasyon sa pagitan ng app at ng iyong hardware.

Sa pinakasimpleng ito, ang kailangan lamang ay i-install ang library, at i-load ang isa sa mga na-anotasyong halimbawa ng sketch na ibinigay.

Blynk: Paunang Pag-set up

I-install ang Blynk app sa iyong smartphone, at lumikha ng isang account. Tiyaking gumagamit ka ng isang email address na maaari mo talagang ma-access dahil doon ipapadala ang iyong mga token sa pahintulot. Lumikha ngayon ng isang proyekto, pipili kung aling board ang iyong gagamitin at kung paano ka makokonekta dito. Ang parehong mga halimbawa dito ay kumonekta sa pamamagitan ng Wi-Fi, kahit na ang mga koneksyon sa pamamagitan ng Bluetooth, Ethernet, at kahit GSM ay posible rin.

Lumikha ng iyong proyekto. Awtomatiko itong magpapadala ng isang token ng pahintulot. Kung hindi mo ito natanggap, maaari mo itong muling ipadala sa pamamagitan ng pagpili ng icon ng mga setting ng proyekto (ang maliit na kulay ng nuwes), pagpili ng iyong aparato, at pagpili sa 'E-mail'.

Susunod, i-install ang mga aklatan ng Blynk mula sa website ng Blynk. Para sa Arduino, i-install ang library sa pamamagitan ng pagkopya ng mga file sa iyong Arduino> mga aklatan folder. Kung bago ka sa Arduino, narito ang a gabay upang makapagsimula ka .

Para sa Raspberry Pi, kakailanganin mong tiyakin na mayroon ka munang naka-install na Node.js. Mayroong isang gabay upang mai-install ang Node.js sa artikulong ito kung kailangan mo ito.

Una, siguraduhin na ang iyong Pi ay napapanahon, at na-install ang mahalagang pakete ng build.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

Pagkatapos i-install ang Tagapamahala ng Node Package , ang Bukas sarado silid-aklatan, at ang Kumurap library sa pamamagitan ng pag-type nito sa iyong window ng Terminal.

sudo npm install -g npm
sudo npm install -g onoff
sudo npm install -g blynk-library

Maaari mong suriin ang lahat ay gumana sa pamamagitan ng pagpapatakbo ng script ng pagsubok na Blynk:

blynk.js [YourAuthorizationTokenHere]

Sa ibinigay na gumagana ang lahat, dapat ganito ang hitsura:

Kung nakakuha ka ng anumang mga error, tiyaking napapanahon ang iyong Pi, at mayroon kang pinakabagong bersyon ng Node.js na naka-install, bago muling i-install ang mga aklatan ng NPM, OnOff at Blynk.

Mabilis na Pag-set up Sa NodeMCU

Ipinapakita ng unang halimbawang ito kung gaano kabilis mag-set up ng mga simpleng system gamit ang Blynk. Hindi ito nangangailangan ng pag-coding, at sa sandaling pag-setup ganap na itong mag-isa. Hangga't may access ang board sa iyong koneksyon sa Wi-Fi, maaari mo itong ma-access mula sa kahit saan gamit ang iyong smartphone.

Upang magsimula, mag-set up ng isang simpleng circuit sa isang breadboard. Ikonekta ang pin D0 sa positibong binti ng isang LED, at bumalik sa pin ng GND sa pamamagitan ng resistor na 220 Ohm.

Buksan ang iyong proyekto sa NodeMCU sa Blynk app. Sa kanang bahagi, piliin ang Pindutan widget mula sa menu. Piliin ang iyong pindutan sa iyong proyekto upang buksan ang menu ng mga pag-aari. Dito maaari mong pangalanan ito, at piliin kung aling pin sa iyong board na NodeMCU dapat itong makaapekto. Pumili pin D0 mula sa listahan ng output, at switch mode upang gawin itong isang on at off switch, sa halip na isang pansamantalang push switch.

Pindutin muli (lahat ng mga pagbabago ay awtomatikong nai-save), pagkatapos ay pindutin ang icon ng pag-play sa kanang sulok sa itaas upang simulan ang iyong app. Maaari mong pindutin ang parehong pindutan na ito sa anumang oras upang bumalik sa pag-edit ng iyong proyekto.

Susunod, buksan ang Arduino IDE at piliin ang iyong NodeMCU board at port mula sa menu ng mga tool. Kung hindi mo nakikita ang iyong board sa menu na ito, maaaring kailanganin mong i-install ang mga aklatan ng ESP8266 (dapat makatulong ang gabay na ito).

Ngayon buksan ang ESP8266 standalone script na ibinigay ni Blynk sa kanilang silid-aklatan sa pamamagitan ng pag-navigate sa File> Mga Halimbawa> Blynk> Boards_WiFi> ESP8266_Standalone . Palitan ang placeholder para sa token ng pahintulot sa natanggap mo sa pamamagitan ng email, at ipasok ang iyong mga detalye sa Wi-Fi.

char auth[] = 'YourAuthToken';
char ssid[] = 'YourNetworkName';
char pass[] = 'YourPassword';

I-save ang sketch sa ilalim ng isang bagong pangalan, at i-upload ito sa iyong board. Ngayon kapag pinindot mo ang pindutan sa app, dapat i-on at i-off ang LED. Kung hindi ito gumagana, suriin na pinindot mo ang icon ng pag-play sa app.

Sa mga simpleng kaso tulad nito, ang Blynk ay hindi kapani-paniwalang mabilis na mai-set up.

Mahalaga rin na tandaan na dahil gumagamit ito ng Blynk server, maaari mong makontrol ang iyong board mula sa kahit saan, hangga't may access ang board sa iyong koneksyon sa Wi-Fi sa bahay, at ang iyong smartphone ay may access sa mobile data.

Blynk sa Raspberry Pi

Maaari mong gamitin ang Blynk nang eksakto sa parehong paraan tulad ng sa itaas na halimbawa sa Raspberry Pi sa pamamagitan ng paggamit ng Blynk test script, ngunit may ilang mga mas malalim na pagpapaandar na ibinibigay ng mga virtual na pin ni Blynk, na titingnan namin ngayon.

Gumagawa ang Blynk gamit ang Node.js, kaya ang code na isusulat namin ngayon ay nasa Javascript. Kung bago ka sa wika, dapat itong maging isang mahusay na panimulang aklat upang makapagsimula.

Gagamitin namin ang Blynk library upang lumikha ng isang app na nag-uulat kung ang isang pintuan sensor ay bukas o sarado, at nagpapadala ng isang email at itulak ang abiso sa iyong mobile phone kapag bumukas ang pinto.

Kakailanganin mong:

  • Door magnet switch (kilala rin bilang reed switch)
  • 1x 1k? risistor
  • 1x 10k? risistor
  • 1x 220? risistor
  • 1x LED
  • Mga wire ng Breadboard at hookup

I-set up ang iyong breadboard na tulad nito:

100 porsiyento ng disk na ginagamit

Tandaan na ang library ni Blynk ay gumagamit ng mga numero ng GPIO ng mga pin ng Pi, kaya gagamitin namin ang mga ito sa buong proyektong ito. Ikonekta ang mga 5V at GND na pin sa mga riles ng kuryente sa breadboard. Ikonekta ang GPIO pin 22 sa Raspberry Pi sa LED anode, at ikonekta ang cathode sa ground rail sa pamamagitan ng 220? risistor Ikonekta ang GPIO pin 17 sa isang bahagi ng 1k? risistor, at ikonekta ang 10? risistor sa kabilang panig, at ang 5V na bahagi ng power rail. Sa wakas, ikonekta ang iyong switch ng tambo sa gilid ng GND ng power rail sa isang gilid, at sa linya kung saan ang 1k? at 10k? nagtagpo ang mga resistors sa kabilang banda. Ang pag-set up ng resistor na ito ay magiging sanhi ng pagbasa ng boltahe sa pin 17 nang bumukas ang switch.

Lumikha ng isang bagong proyekto sa Blynk app, at piliin ang iyong board na Raspberry Pi. Mula sa menu ng widget pumili ng isang Labeled Value, Email, at isang Notification widget

Piliin ang Halaga na May Label, pangalanan ito, at piliin virtual pin V0 tulad ng input pin. Maaari mo ring baguhin kung paano ipinakita ang impormasyon. Sa kasong ito idagdag ang 'Ang pinto ay' bago / i-pin / sa tab na Label. Maaari nating iwan ang halaga ng Frequency ng Pagbabasa sa default na setting na ito, bagaman maaari mo itong baguhin upang magpadala ng data sa iyong app sa ibang rate.

Mahalagang tandaan na hindi mo talaga kailangang maglagay ng isang email address sa email widget dahil idaragdag namin ito sa code sa paglaon, kahit na ang widget ay dapat naroroon upang gumana ito.

Kapag nasisiyahan ka sa hitsura ng iyong app, pindutin ang pindutang Play sa kanang sulok sa itaas.

Lumikha ngayon ng isang bagong script na tinatawag blynkdoor.js . Ang buong code ay magagamit ng buong anotasyon dito .

sudo nano blynkdoor.js

Kailangan naming magsimula sa pamamagitan ng pag-import ng Blynk library, pagdaragdag ng aming pahintulot na key, at paglikha ng isang halimbawa ng Blynk upang magamit sa aming script.

var blynklib = require('/usr/local/lib/node_modules/blynk-library');
var AUTH ='PasteAuthorizationCodeHere'
var blynk = new blynklib.Blynk(AUTH);

Kailangan din naming i-import ang OnOff library, at ideklara ang mga variable na na-setup ang aming reed switch at LED. Lilikha rin kami ng variable para sa virtual na pin na na-set up namin sa Blynk app.

var Gpio = require('onoff').Gpio,
reed = new Gpio(17, 'in', 'both'), //register changes 'both' when switch is opened and closed
led = new Gpio(22, 'out');
var virtualPin = 0;

Ngayon ay gagamitin namin ang panuorin pagpapaandar mula sa library ng OnOff upang panoorin ang mga pagbabago sa aming reed switch. Ang switch ng pinto ay alinman sa 0 o 1 , at tuwing nagbabago ang halagang iyon isinusulat namin ang pagbabago sa LED pin.

reed.watch(function(err,value){
led.writeSync(value);

Maaari naming gamitin ang halaga upang magpadala din ng data sa Blynk app. Kung sarado ang pinto, nais naming makita iyon sa iyong widget na Labeled Value. Kung magbubukas ang pinto, nais naming makatanggap ng isang notification at email na nagsasabi sa amin. Ginagawa namin ito sa isang kung pahayag, at paggamit virtual na Sumulat , abisuhan , at email function mula sa Blynk library. Ang buong dokumentasyon para sa Blynk ay matatagpuan dito .

if(value==0){
blynk.virtualWrite(virtualPin,'Closed');
console.log('Door Closed');
};
if(value==1){
blynk.notify('The door just opened!');
blynk.email('email@address.here', 'Front Door', 'The front door just opened.');
blynk.virtualWrite(virtualPin,'Open');
console.log('Door Open');
};
});

Ngayon tuwing ang reed switch ay nagrerehistro ng pagbabago ng halaga, ang data ay ipinapadala sa aming virtual pin, at sa kaso ng pagbubukas ng pinto sa notification widget sa app, pati na rin ang pagsusulat sa console. Tandaan na ang panghuling brace ay nagmula sa kung saan namin sinimulan ang panuorin pagpapaandar sa itaas.

Sa wakas, kailangan naming i-reset ang pin kapag natapos ang programa. Ito ay kapareho ng GPIO.cleanup () marahil ay pamilyar ka na sa.

process.on('SIGINT', function () {
led.unexport();
reed.unexport();
});

Ngayon ay i-save ang iyong code at exit. Patakbuhin ang iyong script gamit ang node.

sudo node blynkdoor.js

Ngayon kapag inilipat mo ang magnet mula sa reed sensor, dapat kang makakuha ng isang abiso na nagsasabi sa iyo na binuksan ang pinto, at dapat baguhin ang iyong naka-label na display. Isara muli ang switch, at makikita mo na nagbago muli ang may label na display.

Mahalagang tandaan na ang Blynk app ay dapat na tumatakbo sa iyong telepono upang makatanggap ng mga push notification, kahit na gumagana ang mga email kung tumatakbo ang app o hindi.

Sa maikling panahon na ginugol sa ngayon kasama ang Blynk, tila isang napakadaling serbisyo na gagamitin. Sa pinakasimpleng ito ay pinapayagan ang mga tao na walang kaalaman sa pag-coding upang madaling makagawa ng mga sistema ng automation ng bahay sa DIY. Sa isang maliit na labis na kaalaman sa pag-coding nagiging mas malakas ito, na pinapayagan para sa mas kumplikadong mga system at maraming pag-trigger ng kaganapan mula sa solong pagpindot sa pindutan sa app.

Ang proyektong ito ay isang pangunahing pagpapakilala kay Blynk, kahit na ang aming saklaw dito ay madaling mabago para sa halos anumang proyekto sa pag-aautomat ng bahay o proyekto ng microcontroller.

Nagamit mo na ba ang Blynk? Mayroon ka bang nakatutuwang kumplikadong sistema gamit ang serbisyo na nais mong ibahagi sa amin? Ipaalam sa amin sa mga komento sa ibaba!

Credit sa Larawan: Giuseppe Caccavale sa pamamagitan ng YouTube.com

Magbahagi Magbahagi Mag-tweet Email Canon vs. Nikon: Aling Camera Brand Ay Mas Mabuti?

Ang Canon at Nikon ay ang dalawang pinakamalaking pangalan sa industriya ng camera. Ngunit aling tatak ang nag-aalok ng mas mahusay na lineup ng mga camera at lente?

Basahin Susunod
Mga Kaugnay na Paksa
  • DIY
  • Smart Home
  • Arduino
  • Raspberry Pi
  • Pag-aautomat sa Bahay
  • Internet ng Mga Bagay
  • Elektronika
Tungkol sa May-akda Ian Buckley(216 Mga Artikulo Nai-publish)

Si Ian Buckley ay isang freelance journalist, musikero, tagapalabas at tagagawa ng video na naninirahan sa Berlin, Germany. Kapag hindi siya nagsusulat o nasa entablado, nakikipag-usap siya sa mga elektronikong DIY o code sa pag-asang maging isang baliw na siyentista.

Higit pa Mula kay Ian Buckley

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe
Kategorya Diy