Първи стъпки с Blynk: Прости DIY IoT устройства

Първи стъпки с Blynk: Прости DIY IoT устройства

Blynk [Broken URL Removed] е услуга Интернет на нещата (IoT), предназначена да направи дистанционното управление и четенето на сензорни данни от вашите устройства възможно най -бързо и лесно. В тази статия ще разгледаме какво точно е Blynk, как работи и ще предоставим два кратки примерни проекта за различни приложения на услугата с NodeMCU и Raspberry Pi дъски за разработка.





Никога не е било по -лесно да започнете да разработвате интелигентни обекти с помощта на микроконтролери, а IoT устройствата бързо набраха популярност през последните години. Табла за развитие като Arduino или Raspberry Pi могат да се използват за контрол на всичко-от контактите във вашия дом до коледната украса, активирана от движение.





Една област, която може да създаде проблем за непосветените, е кодирането и работата в мрежа. Blynk има за цел да премахне необходимостта от широко кодиране и да улесни достъпа до вашите устройства от всяка точка на вашия смартфон. Той е безплатен за използване от любители и разработчици, въпреки че е достъпен и за търговско ползване срещу заплащане - компаниите могат да използват Blynk, за да създават свои собствени приложения и системи, след което да ги продават със собствена марка.





Blynk използва свой собствен сървър и библиотека, за да накара услугата да работи, но това е приложението на Blynk, което изглежда е основната му сила.

Влезте в приложението Blynk

Приложението Blynk е достъпно безплатно за Android и iOS. Това е отправна точка за вашите проекти, включваща лесна за използване система за плъзгане и пускане за изграждане на персонализирани контроли за вашата настройка на IoT. Работният процес е бърз: когато стартирате нов проект, ще бъдете подканени да изберете вашата платка за разработка от обширен списък, а също и вашия метод за свързване. След това приложението изпраща маркер за оторизация по имейл за свързване с вашето устройство през Blynk сървъра.



как да вземете изображение от pdf

Извикват се контролни елементи Приспособления : различни видове методи за въвеждане и изходни дисплеи, включително бутони, плъзгачи, джойстик, графики и текстова обратна връзка. Съществуват и специфични за компонентите джаджи със стилизирани контроли за светодиоди, LCD дисплеи и дори поточно видео на живо. Забележителни са и джаджи, които добавят функции, като автоматично публикуване в Twitter и персонализирани известия.

Въпреки че приложението е безплатно, то ограничава колко джаджи можете да използвате наведнъж, като им дадете всички разходи за „енергия“. Приложението ви дава баланс от 2000 за игра, с възможност за закупуване на повече, ако е необходимо.





Открих, че предоставеният начален баланс е повече от достатъчен за примерните проекти, изброени тук, макар че ако настройката ви е по -сложна, може да се окажете, че ще изчерпите сока доста бързо.

Всяка джаджа има меню за редактиране, което ви позволява да промените името и цвета. След това избирате на какъв щифт да повлияете (независимо дали става въпрос за щифт на дъската или един от виртуалните пинове на Blynk) заедно с диапазона от стойности, които да изпратите. За изходни дисплеи, като графики и текстови полета, можете също да изберете колко често искате да се актуализира, което потенциално спестява ценна честотна лента.





Blynk също така разполага с възможността да присвоява инструкции на „виртуални“ щифтове, които са конфигурирани от потребителя връзки между приложението и хардуера. Следователно един бутон в приложението може да се използва за задействане на много различни събития на устройството. Ще разгледаме как да ги използвате по -късно в статията.

Приложението дава възможност за споделяне на вашия проект с други. Генерира се QR код, който може да бъде изпратен по имейл или директно сканиран и използван от всеки, който също има приложението Blynk. Който и да споделяте, не може да прави промени в проекта, което го прави бърз и удобен начин за споделяне на контрола върху вашите устройства. Заслужава да се отбележи обаче, че вашият проект в приложението трябва да се изпълнява, за да могат другите да имат достъп до хардуера.

Можете също да споделите проекта, без да разрешавате достъп до вашия хардуер, което е чудесен начин да научите хората как да използват приложението, без да им позволявате да включват и изключват светлините ви!

Открих, че създаването на приложение е много бързо и интуитивно. След като бъде създаден, можете да започнете да го използвате веднага, като натиснете символа за възпроизвеждане в горния десен ъгъл. Ако трябва да направите промени по -късно, можете просто да натиснете същия бутон, за да се върнете в режим на редактиране.

Blynk сървърът

След като създадете приложение за управление на вашето устройство, имате две възможности как да комуникирате с него.

Облачният сървър Blynk е бърз, отзивчив и безплатен за използване. Свързването с Wi-Fi устройство е толкова лесно, колкото да копирате генерирания код за оторизация в скицата на Arduino и да предоставите своите данни за Wi-Fi. За Raspberry Pi, Blynk предоставя тестов скрипт, който можете да изпълните с вашия код за оторизация за същия ефект. По -късно в тази статия ще създадем наш собствен скрипт, използвайки библиотеката Blynk за свързване към услугата.

Вторият вариант е да домакин на своя собствена Blynk сървър. Blynk предоставя Java сървър с отворен код Netty, който може да се стартира от вашия компютър или дори Raspberry Pi. Това има различни предимства за някои потребители по отношение на функционалност и сигурност, въпреки че за нашите примери тук ще се концентрираме върху използването на предоставения облачен сървър Blynk.

Библиотеката на Блинк

Третият и последен елемент на Blynk е Библиотека на Blynk . Тази библиотека работи с огромен списък от дъски за разработка, които позволяват комуникация между приложението и вашия хардуер.

Най -простото, всичко, което се изисква, е да инсталирате библиотеката и да заредите една от добре представените примерни скици.

Blynk: Първоначална настройка

Инсталирайте приложението Blynk на вашия смартфон и създайте акаунт. Уверете се, че използвате имейл адрес, до който действително имате достъп, тъй като там ще бъдат изпратени вашите жетони за оторизация. Сега създайте проект, като изберете коя дъска ще използвате и как ще се свързвате с нея. И двата примера тук се свързват чрез Wi-Fi, въпреки че са възможни и връзки чрез Bluetooth, Ethernet и дори GSM.

Създайте своя проект. Това автоматично ще изпрати маркер за оторизация. Ако не го получите, можете да го изпратите отново, като изберете иконата за настройки на проекта (малката гайка), изберете вашето устройство и изберете „E-mail“.

След това инсталирайте библиотеките на Blynk от уебсайта на Blynk. За Arduino инсталирайте библиотеката, като копирате файловете във вашия Arduino> библиотеки папка. Ако сте нов в Arduino, ето един ръководство, за да започнете .

За Raspberry Pi първо трябва да се уверите, че имате инсталиран Node.js. В тази статия има ръководство за инсталиран Node.js, ако имате нужда от него.

Първо, уверете се, че вашият Pi е актуален и има ли инсталиран основния пакет за изграждане.

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

След това инсталирайте Node Package Manager , Вкл библиотека и Мигайте библиотека, като въведете това в прозореца на терминала.

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

Можете да проверите дали всичко е работило, като изпълните тестовия скрипт на Blynk:

blynk.js [YourAuthorizationTokenHere]

Ако всичко работи, трябва да изглежда така:

Ако получите някакви грешки, уверете се, че вашият Pi е актуален и имате инсталирана най -новата версия на Node.js, преди да преинсталирате библиотеките NPM, OnOff и Blynk.

Бърза настройка с NodeMCU

Този първи пример показва колко бързо се настройват прости системи, използващи Blynk. Не изисква кодиране и след настройка е напълно самостоятелен. Докато платката има достъп до вашата Wi-Fi връзка, можете да получите достъп до нея отвсякъде с помощта на вашия смартфон.

За начало настройте проста схема на макет. Свържете щифт D0 към положителния крак на светодиод и обратно към щифта GND през резистор 220 Ohm.

Отворете вашия проект NodeMCU в приложението Blynk. От дясната страна изберете Бутон джаджа от менюто. Изберете своя бутон във вашия проект, за да отворите менюто със свойства. Тук можете да го наименувате и да изберете кой щифт на вашата NodeMCU платка трябва да повлияе. Изберете щифт D0 от списъка с изходи и превключете режима, за да го направите превключвател за включване и изключване, а не за моментно натискане.

Натиснете назад (всички промени се запазват автоматично), след това натиснете иконата за възпроизвеждане в горния десен ъгъл, за да стартирате приложението си. Можете да натиснете същия бутон по всяко време, за да се върнете към редактирането на вашия проект.

След това отворете Arduino IDE и изберете вашата NodeMCU платка и порт от менюто с инструменти. Ако не виждате дъската си в това меню, може да се наложи да инсталирате библиотеките ESP8266 (това ръководство би трябвало да ви помогне).

Сега отворете самостоятелния скрипт ESP8266, предоставен от Blynk в библиотеката им, като отидете до Файл> Примери> Blynk> Boards_WiFi> ESP8266_Standalone . Заменете заместителя на маркера за оторизация с този, който сте получили по имейл, и въведете данните си за Wi-Fi.

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

Запазете скицата под ново име и я качете на дъската си. Сега, когато натиснете бутона в приложението, светодиодът трябва да се включва и изключва. Ако не работи, проверете дали сте натиснали иконата за възпроизвеждане в приложението.

В прости случаи като тези Blynk се настройва изключително бързо.

Също така си струва да се отбележи, че тъй като това използва Blynk сървъра, можете да контролирате борда си отвсякъде, стига платката да има достъп до домашната ви Wi-Fi връзка, а вашият смартфон да има достъп до мобилни данни.

Blynk на Raspberry Pi

Можете да използвате Blynk точно по същия начин, както в горния пример на Raspberry Pi, като използвате тестовия скрипт на Blynk, но има някои по -дълбоки функционалности, които виртуалните щифтове на Blynk предоставят, които ще разгледаме сега.

Blynk работи с Node.js, така че кодът, който ще напишем днес, ще бъде в Javascript. Ако сте нов в езика, това би трябвало да е чудесен пример за начало.

Ще използваме библиотеката Blynk, за да създадем приложение, което отчита дали сензорът на вратата е отворен или затворен, и изпраща имейл и push известие до вашия мобилен телефон, когато вратата се отвори.

Ще имаш нужда:

  • Магнитен превключвател на вратата (известен също като тръстиков превключвател)
  • 1x 1k? резистор
  • 1x 10k? резистор
  • 1x 220? резистор
  • 1x LED
  • Кабелни платки и свързващи проводници

Настройте своя макет така:

как да направим Windows 10 по -бърз за игри

Обърнете внимание, че библиотеката на Blynk използва GPIO номерата на щифтовете на Pi, така че ще ги използваме през целия проект. Свържете щифтовете 5V и GND към захранващите шини на платката. Свържете GPIO пин 22 на Raspberry Pi към LED анода и свържете катода към заземяващата шина през 220? резистор. Свържете GPIO щифт 17 към едната страна на 1k? резистор и свържете 10? резистор от другата страна и 5V страната на захранващата шина. И накрая, свържете вашия тръстиков превключвател към страната GND на захранващата шина от едната страна и на линията, където 1k? и 10 хиляди? резистори се срещат от друга. Тази настройка на издърпващ се резистор ще накара напрежението на щифт 17 да прочете високо, когато превключвателят се отвори.

Създайте нов проект в приложението Blynk и изберете вашата платка Raspberry Pi. От менюто на приспособление изберете Етикетирана стойност, Имейл и джаджа за Известия

Изберете етикетираната стойност, дайте й име и изберете виртуален щифт V0 тъй като това е входен щифт. Можете също да промените начина на показване на информацията. В този случай добавете „Вратата е“ преди / pin / в раздела Label. Можем да оставим стойността на Честотата на четене при настройката по подразбиране, въпреки че можете да промените това, за да изпращате данни към приложението си с различна скорост.

Струва си да се отбележи, че всъщност не е нужно да въвеждате имейл адрес в джаджата за имейл, тъй като по -късно ще го добавим в кода, въпреки че джаджата трябва да присъства, за да работи.

След като сте доволни от това как изглежда приложението ви, натиснете бутона за възпроизвеждане в горния десен ъгъл.

Сега създайте нов скрипт, наречен blynkdoor.js . Пълният код е достъпен напълно анотиран тук .

sudo nano blynkdoor.js

Трябва да започнем с импортиране на библиотеката Blynk, добавяне на нашия ключ за оторизация и създаване на екземпляр на Blynk, който да се използва в нашия скрипт.

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

Трябва също да импортираме библиотеката OnOff и да декларираме променливи, които настройват нашия тръстиков превключвател и светодиод. Ще създадем и променлива за виртуалния щифт, който сме настроили в приложението Blynk.

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;

Сега ще използваме гледам функция от библиотеката OnOff, за да следите за промени в нашия тръстиков превключвател. Превключвателят на вратата е или в положение 0 или 1 , и когато тази стойност се промени, ние записваме тази промяна на LED щифта.

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

Можем да използваме стойността и за изпращане на данни към приложението Blynk. Ако вратата е затворена, ние искаме да можем да видим това във вашия джаджа Labeled Value. Ако вратата се отвори, искаме да получим известие и имейл, в които да ни каже. Правим това с оператор if и с помощта virtualWrite , уведомявам , и електронна поща функции от библиотеката Blynk. Пълната документация за Blynk може да бъде намерена тук .

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');
};
});

Сега, когато тръстиковият превключвател регистрира промяна на стойността, данните се изпращат към нашия виртуален пин, а в случай на отваряне на вратата към приспособлението за уведомяване в приложението, както и записване в конзолата. Обърнете внимание, че финалните скоби са от мястото, където сме започнали гледам функция по -горе.

И накрая, трябва да нулираме щифта, когато програмата приключи. Това е същото като GPIO.cleanup () вероятно вече сте запознати.

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

Сега запазете кода си и излезте. Стартирайте скрипта си с помощта на node.

sudo node blynkdoor.js

Сега, когато преместите магнита далеч от сензора за тръстика, трябва да получите известие, което ви казва, че вратата е отворена и вашият етикет с етикет трябва да се промени. Затворете превключвателя отново и ще видите, че обозначеният дисплей отново се променя.

Заслужава да се отбележи, че приложението Blynk трябва да работи на телефона ви, за да получавате push известия, въпреки че имейлите работят независимо дали приложението работи или не.

За краткото време, прекарано досега с Blynk, изглежда много лесна за използване услуга. Най -простото позволява на хора без кодиращи познания да изграждат лесно системи за домашна автоматизация „направи си сам“. С малко допълнителни познания за кодиране той става още по -мощен, позволявайки много по -сложни системи и множество задействания на събития от едно натискане на бутони в приложението.

Този проект беше основно въведение в Blynk, въпреки че това, което разгледахме тук, може лесно да бъде променено за почти всеки проект за домашна автоматизация или микроконтролер.

Използвали ли сте Blynk? Имате ли луда сложна система, използваща услугата, която бихте искали да споделите с нас? Кажете ни в коментарите по -долу!

Кредит на изображението: Джузепе Какавале чрез YouTube.com

Дял Дял Туит електронна поща Canon срещу Nikon: Коя марка фотоапарат е по -добра?

Canon и Nikon са двете най -големи имена в камерата. Но коя марка предлага по -добрата гама от фотоапарати и обективи?

Прочетете Напред
Свързани теми
  • Направи си сам
  • Умен дом
  • Arduino
  • Малина Пи
  • Домашна автоматизация
  • Интернет на нещата
  • Електроника
За автора Иън Бъкли(216 статии са публикувани)

Иън Бъкли е журналист на свободна практика, музикант, изпълнител и видео продуцент, живеещ в Берлин, Германия. Когато не пише или е на сцената, той се занимава с „направи си сам“ електроника или код с надеждата да стане луд учен.

Още от Иън Бъкли

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате