Pierwsze kroki z Blynk: proste urządzenia IoT DIY

Pierwsze kroki z Blynk: proste urządzenia IoT DIY

Blynk [Broken URL Removed] to usługa Internetu rzeczy (IoT) zaprojektowana, aby zdalne sterowanie i odczytywanie danych z czujników z urządzeń było tak szybkie i łatwe, jak to tylko możliwe. W tym artykule omówimy dokładnie, czym jest Blynk, jak to działa, i przedstawimy dwa krótkie przykładowe projekty dotyczące różnych zastosowań usługi z płytami rozwojowymi NodeMCU i Raspberry Pi.





Rozpoczęcie tworzenia inteligentnych obiektów przy użyciu mikrokontrolerów nigdy nie było łatwiejsze, a urządzenia IoT szybko zyskały na popularności w ostatnich latach. Płytki rozwojowe, takie jak Arduino lub Raspberry Pi, mogą być używane do sterowania wszystkim, od gniazd zasilania w domu po aktywowane ruchem ozdoby świąteczne.





Jednym z obszarów, który może stanowić problem dla niewtajemniczonych, jest kodowanie i tworzenie sieci. Blynk ma na celu wyeliminowanie potrzeby rozbudowanego kodowania i ułatwienie dostępu do urządzeń z dowolnego miejsca na smartfonie. Jest bezpłatny dla hobbystów i programistów, ale jest również dostępny do użytku komercyjnego za opłatą – firmy mogą używać Blynk do tworzenia własnych aplikacji i systemów, a następnie sprzedawać je z własnym brandingiem.





Blynk korzysta z własnego serwera i biblioteki, aby usługa działała, ale to aplikacja Blynk wydaje się być jej główną siłą.

Wejdź do aplikacji Blynk

Aplikacja Blynk jest dostępna bezpłatnie na Androida i iOS. Jest to punkt wyjścia dla Twoich projektów, wyposażony w prosty w użyciu system przeciągania i upuszczania do tworzenia niestandardowych kontrolek dla Twojej konfiguracji IoT. Przepływ pracy jest szybki: podczas rozpoczynania nowego projektu zostaniesz poproszony o wybranie swojej płytki programistycznej z obszernej listy, a także metody połączenia. Aplikacja wysyła następnie token autoryzacyjny e-mailem w celu połączenia z urządzeniem przez serwer Blynk.



jak zrobić grę roblox

Elementy sterujące nazywane są Widżety : różne rodzaje metod wprowadzania i wyświetlania wyników, w tym przyciski, suwaki, joystick, wykresy i informacje zwrotne tekstowe. Istnieją również widżety specyficzne dla komponentów, ze stylizowanymi kontrolkami dla diod LED, wyświetlaczy LCD, a nawet strumieniowego wideo na żywo. Godne uwagi są również widżety, które dodają funkcje, takie jak automatyczne publikowanie na Twitterze i niestandardowe powiadomienia.

Chociaż aplikacja jest bezpłatna, ogranicza liczbę widżetów, których możesz używać jednocześnie, nadając im koszt „energii”. Aplikacja zapewnia saldo 2000 do zabawy, z możliwością dokupienia większej ilości w razie potrzeby.





Odkryłem, że podane saldo początkowe było więcej niż wystarczające dla przykładowych projektów wymienionych tutaj, chociaż jeśli twoja konfiguracja jest bardziej skomplikowana, może się okazać, że dość szybko zabraknie Ci energii.

Każdy widżet posiada menu edycji pozwalające na zmianę nazwy i koloru. Następnie wybierasz, który pin ma mieć wpływ (czy to pin na twojej tablicy, czy jeden z wirtualnych pinów Blynk) wraz z zakresem wartości do wysłania. W przypadku wyświetlaczy wyjściowych, takich jak wykresy i pola tekstowe, możesz również wybrać, jak często chcesz je aktualizować, potencjalnie oszczędzając cenną przepustowość.





Blynk oferuje również możliwość przypisywania instrukcji do „wirtualnych” pinów, które są skonfigurowanymi przez użytkownika połączeniami między aplikacją a sprzętem. Pojedynczy przycisk w aplikacji może zatem służyć do wyzwalania wielu różnych zdarzeń na urządzeniu. Omówimy, jak z nich korzystać w dalszej części artykułu.

Aplikacja daje możliwość dzielenia się swoim projektem z innymi. Generowany jest kod QR, który można wysłać e-mailem lub bezpośrednio zeskanować, a może go użyć każdy, kto ma również aplikację Blynk. Osoby, z którymi się dzielisz, nie mogą wprowadzać zmian w projekcie, dzięki czemu jest to szybki i wygodny sposób współdzielenia kontroli nad swoimi urządzeniami. Warto jednak zauważyć, że Twój projekt w aplikacji musi być uruchomiony, aby inni mieli dostęp do sprzętu.

Możesz także udostępnić projekt bez zezwalania na dostęp do swojego sprzętu, co jest świetnym sposobem na nauczenie ludzi, jak korzystać z aplikacji bez włączania i wyłączania światła!

Uważam, że tworzenie aplikacji jest bardzo szybkie i intuicyjne. Po utworzeniu możesz od razu zacząć z niego korzystać, naciskając symbol odtwarzania w prawym górnym rogu. Jeśli chcesz wprowadzić zmiany później, możesz po prostu nacisnąć ten sam przycisk, aby wrócić do trybu edycji.

Serwer Blynk

Po utworzeniu aplikacji do sterowania urządzeniem masz dwie możliwości komunikowania się z nim.

Serwer w chmurze Blynk jest szybki, responsywny i darmowy. Połączenie z urządzeniem Wi-Fi jest tak proste, jak skopiowanie wygenerowanego kodu autoryzacyjnego do szkicu Arduino i podanie szczegółów Wi-Fi. W przypadku Raspberry Pi Blynk udostępnia skrypt testowy, który można uruchomić za pomocą kodu autoryzacyjnego w tym samym celu. W dalszej części tego artykułu stworzymy własny skrypt za pomocą biblioteki Blynk, aby połączyć się z usługą.

Druga opcja to: zorganizuj swój własny Serwer Blynk. Blynk zapewnia otwarty serwer Java oparty na Netty, który można uruchomić z komputera, a nawet Raspberry Pi. Ma to różne korzyści dla niektórych użytkowników pod względem funkcjonalności i bezpieczeństwa, chociaż w naszych przykładach skoncentrujemy się na korzystaniu z dostarczonego serwera w chmurze Blynk.

Biblioteka Blynka

Trzecim i ostatnim elementem Blynk jest Biblioteka Blynka . Ta biblioteka współpracuje z ogromną listą płyt programistycznych, aby umożliwić komunikację między aplikacją a twoim sprzętem.

W najprostszym przypadku wszystko, co jest wymagane, to zainstalowanie biblioteki i załadowanie jednego z dostarczonych, dobrze oznaczonych, przykładowych szkiców.

Blynk: Konfiguracja początkowa

Zainstaluj aplikację Blynk na swoim smartfonie i utwórz konto. Upewnij się, że używasz adresu e-mail, do którego faktycznie masz dostęp, ponieważ to tam będą wysyłane Twoje tokeny autoryzacyjne. Teraz stwórz projekt, wybierając tablicę, której będziesz używać i jak będziesz się z nią łączyć. Oba przykłady tutaj łączą się przez Wi-Fi, chociaż możliwe są również połączenia przez Bluetooth, Ethernet, a nawet GSM.

Stwórz swój projekt. Spowoduje to automatyczne wysłanie tokena autoryzacyjnego. Jeśli go nie otrzymasz, możesz wysłać go ponownie, wybierając ikonę ustawień projektu (mała nakrętka), wybierając swoje urządzenie i wybierając „E-mail”.

Następnie zainstaluj biblioteki Blynk ze strony internetowej Blynk. W przypadku Arduino zainstaluj bibliotekę, kopiując pliki do swojego Arduino > biblioteki teczka. Jeśli jesteś nowy w Arduino, oto przewodnik na dobry początek .

W przypadku Raspberry Pi musisz najpierw upewnić się, że masz zainstalowany Node.js. W tym artykule znajduje się przewodnik po zainstalowaniu Node.js, jeśli go potrzebujesz.

Po pierwsze, upewnij się, że Twoje Pi jest aktualne i ma zainstalowany pakiet niezbędny do kompilacji.

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

Następnie zainstaluj Menedżer pakietów węzłów , ten Wł.Wył. biblioteka i Migać bibliotekę, wpisując to w oknie terminala.

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

Możesz sprawdzić, czy wszystko działa, uruchamiając skrypt testowy Blynk:

blynk.js [YourAuthorizationTokenHere]

Jeśli wszystko działa, powinno to wyglądać tak:

Jeśli pojawią się jakieś błędy, upewnij się, że Twoje Pi jest aktualne i masz zainstalowaną najnowszą wersję Node.js, przed ponowną instalacją bibliotek NPM, OnOff i Blynk.

Szybka konfiguracja z NodeMCU

Ten pierwszy przykład pokazuje, jak szybko można skonfigurować proste systemy za pomocą Blynk. Nie wymaga kodowania, a po skonfigurowaniu jest całkowicie samodzielny. Dopóki tablica ma dostęp do połączenia Wi-Fi, możesz uzyskać do niego dostęp z dowolnego miejsca za pomocą smartfona.

Na początek skonfiguruj prosty obwód na płytce prototypowej. Podłącz pin D0 do dodatniej nogi diody LED i z powrotem do pinu GND przez rezystor 220 Ohm.

Otwórz projekt NodeMCU w aplikacji Blynk. Po prawej stronie wybierz Przycisk widget z menu. Wybierz przycisk w swoim projekcie, aby otworzyć jego menu właściwości. Tutaj możesz go nazwać i wybrać, który pin na płycie NodeMCU powinien mieć wpływ. Wybierz kołek D0 z listy wyjść i tryb przełączania, aby był to przełącznik włączania i wyłączania, a nie chwilowy przełącznik wciskany.

Naciśnij wstecz (wszystkie zmiany są zapisywane automatycznie), a następnie naciśnij ikonę odtwarzania w prawym górnym rogu, aby uruchomić aplikację. Możesz nacisnąć ten sam przycisk w dowolnym momencie, aby wrócić do edycji projektu.

Następnie otwórz Arduino IDE i wybierz swoją płytę NodeMCU i port z menu narzędzi. Jeśli nie widzisz swojej płyty w tym menu, być może będziesz musiał zainstalować biblioteki ESP8266 (ten przewodnik powinien pomóc).

Teraz otwórz samodzielny skrypt ESP8266 Blynk dostarczony w ich bibliotece, przechodząc do Plik > Przykłady > Blynk > Boards_WiFi > ESP8266_Standalone . Zastąp symbol zastępczy tokena autoryzacyjnego tym, który otrzymałeś e-mailem, i wprowadź dane Wi-Fi.

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

Zapisz szkic pod nową nazwą i prześlij go na swoją tablicę. Teraz po naciśnięciu przycisku w aplikacji dioda LED powinna się włączać i wyłączać. Jeśli to nie działa, sprawdź, czy nacisnąłeś ikonę odtwarzania w aplikacji.

W prostych przypadkach, takich jak te, Blynk jest niezwykle szybki w konfiguracji.

Warto również zauważyć, że ponieważ wykorzystuje on serwer Blynk, możesz kontrolować swoją tablicę z dowolnego miejsca, o ile tablica ma dostęp do domowego połączenia Wi-Fi, a Twój smartfon ma dostęp do danych mobilnych.

Blynk na Raspberry Pi

Możesz używać Blynk dokładnie w taki sam sposób, jak w powyższym przykładzie na Raspberry Pi, używając skryptu testowego Blynk, ale istnieją pewne głębsze funkcje, które zapewniają wirtualne szpilki Blynk, które teraz przyjrzymy się.

Blynk działa przy użyciu Node.js, więc kod, który napiszemy dzisiaj, będzie w JavaScript. Jeśli jesteś nowicjuszem w tym języku, to powinien być świetny element wprowadzający na początek .

Wykorzystamy bibliotekę Blynk do stworzenia aplikacji, która raportuje, czy czujnik drzwi jest otwarty, czy zamknięty, i wysyła wiadomość e-mail i powiadomienie push na telefon komórkowy, gdy drzwi się otwierają.

Będziesz potrzebować:

  • Przełącznik magnetyczny drzwi (znany również jako kontaktron)
  • 1x 1k? rezystor
  • 1x 10 tys. rezystor
  • 1x 220? rezystor
  • 1x LED
  • Płytka do krojenia chleba i przewody przyłączeniowe

Skonfiguruj swoją tablicę prototypową w następujący sposób:

jak pisać z tabletu z Androidem

Zauważ, że biblioteka Blynk używa numerów GPIO pinów Pi, więc będziemy ich używać w tym projekcie. Podłącz piny 5V i GND do szyn zasilających na płytce stykowej. Podłącz pin GPIO 22 na Raspberry Pi do anody LED i podłącz katodę do szyny uziemiającej przez 220? rezystor. Połączyć pin 17 GPIO z jednej strony 1k? rezystor i podłączyć 10? rezystor po drugiej stronie, a po stronie 5V szyny zasilającej. Na koniec podłącz kontaktron do strony GND szyny zasilającej z jednej strony, a na linii gdzie 1k? i 10k? rezystory spotykają się po drugiej. Ta konfiguracja rezystora podciągającego spowoduje, że napięcie na styku 17 będzie wysokie, gdy przełącznik się otworzy.

Utwórz nowy projekt w aplikacji Blynk i wybierz swoją płytę Raspberry Pi. Z menu widżetów wybierz wartość z etykietą, e-mail i widżet powiadomień

Wybierz wartość z etykietą, nazwij ją i wybierz wirtualny pin V0 ponieważ jest to pin wejściowy. Możesz także zmienić sposób wyświetlania informacji. W takim przypadku dodaj 'Drzwi są ' przed /pin/ w zakładce Etykieta. Możemy pozostawić wartość Częstotliwość odczytu jako ustawienie domyślne, ale możesz to zmienić, aby przesyłać dane do aplikacji z inną szybkością.

Warto zauważyć, że tak naprawdę nie musisz wprowadzać adresu e-mail do widżetu poczty e-mail, ponieważ dodamy go później do kodu, chociaż widżet musi być obecny, aby działał.

Gdy będziesz zadowolony z wyglądu swojej aplikacji, naciśnij przycisk Odtwórz w prawym górnym rogu.

Teraz utwórz nowy skrypt o nazwie blynkdoor.js . Pełny kod jest dostępny z pełnymi adnotacjami tutaj .

sudo nano blynkdoor.js

Musimy zacząć od zaimportowania biblioteki Blynk, dodania naszego klucza autoryzacyjnego i utworzenia instancji Blynk do użycia w naszym skrypcie.

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

Musimy również zaimportować bibliotekę OnOff i zadeklarować zmienne, które konfigurują nasz kontaktron i diodę LED. Stworzymy również zmienną dla wirtualnego pinu, który ustawiliśmy w aplikacji 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;

Teraz użyjemy zegarek funkcja z biblioteki OnOff do obserwowania zmian w naszym kontaktronie. Przełącznik drzwi jest albo w 0 lub 1 , a ilekroć ta wartość się zmieni, zapisujemy tę zmianę do pinu LED.

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

Możemy użyć tej wartości również do wysłania danych do aplikacji Blynk. Jeśli drzwi są zamknięte, chcemy to zobaczyć w widgecie wartości oznaczonej etykietą. Jeśli drzwi się otworzą, chcemy otrzymać powiadomienie i e-mail z informacją. Robimy to za pomocą instrukcji if i używając virtualWrite , notyfikować , oraz e-mail funkcje z biblioteki Blynk. Pełną dokumentację Blynk można znaleźć tutaj .

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

Teraz za każdym razem, gdy kontaktron zarejestruje zmianę wartości, dane przesyłane są do naszego wirtualnego pinu, a w przypadku otwarcia drzwi do widżetu powiadomień w aplikacji, także do konsoli. Zwróć uwagę, że ostatnie nawiasy klamrowe pochodzą od miejsca, w którym zaczęliśmy zegarek funkcja powyżej.

Na koniec musimy zresetować pin po zakończeniu programu. To jest to samo co GPIO.oczyszczanie() prawdopodobnie już znasz.

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

Teraz zapisz swój kod i wyjdź. Uruchom swój skrypt za pomocą węzła.

sudo node blynkdoor.js

Teraz, gdy odsuniesz magnes od czujnika kontaktronowego, powinieneś otrzymać powiadomienie informujące o otwarciu drzwi, a Twój oznaczony wyświetlacz powinien się zmienić. Zamknij przełącznik ponownie, a zobaczysz, że oznakowany wyświetlacz ponownie się zmienia.

Warto zauważyć, że aplikacja Blynk musi być uruchomiona na telefonie, aby otrzymywać powiadomienia push, chociaż e-maile działają niezależnie od tego, czy aplikacja jest uruchomiona, czy nie.

W krótkim czasie spędzonym do tej pory z Blynk wydaje się, że usługa jest bardzo łatwa w użyciu. W najprostszy sposób pozwala osobom bez znajomości kodowania łatwo budować systemy automatyki domowej DIY. Przy odrobinie dodatkowej wiedzy na temat kodowania staje się jeszcze bardziej wydajny, umożliwiając znacznie bardziej złożone systemy i wiele wyzwalaczy zdarzeń po naciśnięciu jednego przycisku w aplikacji.

Ten projekt był podstawowym wprowadzeniem do Blynk, chociaż to, co tutaj omówiliśmy, można łatwo zmodyfikować dla prawie każdego projektu automatyki domowej lub mikrokontrolera.

Czy używałeś Blynka? Masz szalenie skomplikowany system korzystający z usługi, którą chciałbyś się z nami podzielić? Daj nam znać w komentarzach poniżej!

Źródło obrazu: Giuseppe Caccavale przez YouTube.com

Udział Udział Ćwierkać E-mail Canon kontra Nikon: która marka aparatu jest lepsza?

Canon i Nikon to dwie największe marki w branży aparatów fotograficznych. Ale która marka oferuje lepszą gamę aparatów i obiektywów?

Czytaj dalej
Powiązane tematy
  • majsterkowanie
  • Inteligentny dom
  • Arduino
  • Malina Pi
  • Automatyka domowa
  • Internet przedmiotów
  • Elektronika
O autorze Ian Buckley(216 opublikowanych artykułów)

Ian Buckley jest niezależnym dziennikarzem, muzykiem, performerem i producentem wideo mieszkającym w Berlinie w Niemczech. Kiedy nie pisze ani nie występuje na scenie, majstruje przy elektronice DIY lub kodowaniu w nadziei, że zostanie szalonym naukowcem.

Więcej od Iana Buckleya

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować