Razvoj IoT uređaja na Arduinu pomoću usluge myDevices Cayenne. Javni poslužitelji u oblaku za IoT uređaje Značajke rada s RemoteXY

Puno sam razmišljao o pronalaženju jeftinog rješenja za povezivanje i upravljanje Arduinom putem interneta bez upotrebe bilo kakvog Ethernet štita ili čak bilo kojeg WI-FI modula. Nakon istraživanja otkrio sam da je jedini način interakcije s Arduino mikrokontrolerom njegov serijski priključak, pa sam stvorio jednostavnu aplikaciju s prozorom C # kao čvorište (HUB) za rad sa serijskim priključkom za slanje i primanje podataka na ploču.

Ova HUB aplikacija već je povezana s Internetom putem vašeg osobnog računala i pomaže u slanju i primanju podataka između mikrokontrolera i baze podataka u oblaku, uz spremanje samih podataka u internetsku bazu podataka MySQL.

Prije svega, morao sam započeti s malim primjerom koji mi omogućuje testiranje primjene ideje. U ovom primjeru nisam spojio nijedan senzor, koristio sam samo ugrađenu LED na Arduinu kako bih mogao uključiti i isključiti LED na pinu 13 slanjem slova "I" i "O" na serijski luka.

Int ulaz; // Pohranit će dolazni znak iz serijskog porta. int vodio = 13; // Pin 13 // funkcija postavljanja aktivira se jednom kada pritisnete gumb za resetiranje ili uključite stanje int; void setup () (// // inicijalizira digitalni pin LED_BUILTIN kao izlaz. Serial.begin (9600); pinMode (led, OUTPUT); // Set pin 13 kao digitalni izlaz Serial.flush ();) // funkcija petlje ponovno radi i opet uvijek void loop () (// String input = ""; // while (Serial.available ()> 0) // (// input + = (char) Serial.read (); // delay (5) ; //) state = digitalRead (led); if (Serial.available ()) (input = Serial.read (); if (input == "I") (// digitalWrite (led ,! digitalRead (led)) ; digitalWrite (led, HIGH); Serial.println (1); delay (1000);) else if (input == "O") (digitalWrite (led, LOW); Serial.println (0); delay (1000) ;) else if (input == "T") (analogRead (led); Serial.println (0); delay (1000);)))

Korak 2. Stvorite internetsku bazu podataka

Za pohranu podataka moramo upotrijebiti "mrežni posrednik" koji će služiti kao most između ploče Arduino i naše HUB aplikacije. Stoga smo odabrali besplatni hosting baze podataka koji će raditi u smjeru pohrane podataka primljenih s ploče Arduino i naredbi poslanih na njega.

Najjednostavniji izbor u našem slučaju su MySQL baze podataka. besplatan je i često se koristi široko. U donjoj prilogu naći ćete da sadrži samo dvije tablice. Prvo trebate spremiti naredbe, zatim ih poslati na ploču, a druga tablica je dobiti izlaze Arduino ploče i vratiti ih za kasniju upotrebu.

Kao web lokaciju za hosting možete odabrati freemysqlhosting.net. Online PHP MyAdmin možete pronaći na poveznici - phpmyadmin.co. Više informacija možete pronaći i na phpmyadmin.net.

Korak 3. Izrada čvorišta C #

U ovom ćemo koraku stvoriti čvorište, koje se može smatrati ulaznim filterom na računalu, kako bi prvo prenijelo podatke koji prolaze kroz njega, a zatim ih poslalo na ploču Arduino putem serijskog porta i obrnuto.

Sučelje ovog čvorišta vrlo je jednostavno, sadrži samo dva tekstna polja koja pokazuju status svake "transakcije" koja prenosi podatke na čvorište (slanje i primanje).

Bilješka. Čvorište mora uvijek biti pokrenuto kada želite raditi s Arduino pločom putem interneta.

Korak 4. Izradite web sučelje

Napokon smo stigli do najkul dijela tutorijala.

Stvorio sam web aplikaciju temeljenu na tehnologiji Asp.net C # s responzivnim sučeljem koje se može pokretati na bilo kojem uređaju, a ova se web aplikacija bavi samo mrežnom bazom podataka i ne zna da s druge strane postoji neka vrsta ploče.

Pomoću ovog sučelja možete klasificirati svoje elektroničke komponente povezane s Arduinom. Klikom na njihovo uključivanje i isključivanje jednostavno pohranjujete svoje podatke na mreži.

Primjer

Pritiskom na zeleni gumb (UKLJUČENO) u odjeljku Dnevna soba (Dvorana - gore na slici), putem Interneta šaljete uputu za uključivanje svjetla u dnevnoj sobi vaše kuće. Dakle, čvorište, koje se možda nalazi na drugom kraju svijeta, uzima indikaciju i obrađuje ga elektroničkim krugom zasnovan na Arduinu u vašem domu.

Zaštićena praznina BtnHallOn_Click (pošiljatelj objekta, EventArgs e) (AddTempOrders ("I"); // slanje slova "I" Arduinu da otvori svjetlo Halla)

Korak 5. Preuzmite projekt

Vrijeme je da sve sami isprobate i napravite vlastiti projekt.

Nadam se da će vam sve ovo biti korisno. Želim vam sjajne projekte!

Vadim Kolesnik, Tiraspol

Uzbudljiv, lagan i brz razvoj IoT uređaja s puno značajki pomoću usluge oblaka

Opće informacije

myDevices razvija softver i programe za Internet stvari (IoT) i dio je Avanquesta. myDevices Cayenne prva je aplikacija za povlačenje i ispuštanje i usluga u oblaku za pojednostavljeni razvoj IoT projekata na Raspberry Pi.

Nedavno objavljeno na portalu Radiolotsman, u kojem sam pokušao otkriti glavne prednosti i mogućnosti sustava prilikom rada na računalu s jednom pločom Raspberry Pi (RPi). No, projekt Cayenne neprestano se razvija, programeri, oslanjajući se na želje korisnika, postupno dodaju nove funkcije, uklanjajući nedostatke i pogreške.

Razvoj IoT uređaja na Arduinu i Raspberry Pi bitno se razlikuje kada se radi s Cayenneom. Što se tiče Raspberry Pi, platformu Cayenne možemo smatrati vizualnim razvojnim okruženjem: fizički povezujemo razne periferne uređaje s pločom Raspberry Pi, a zatim radimo samo u mrežnom okruženju Cayenne (postavljanje widgeta, obrada podataka, algoritmi automatizacije pisanja).

Što se tiče Arduina, nadzorna ploča Cayenne (nadzorna ploča) samo je skup widgeta i kontrola koji vizualiziraju podatke primljene od senzora i prenose korisničke podatke za upravljanje jednim ili drugim aktuatorom. Izravni rad sa senzorima, aktuatorima, dodatnim perifernim uređajima (na primjer, zaslon, druga tipkovnica), obrada uvjeta automatizacije dodijeljena je mikrokontroleru. Drugim riječima, sve se svodi na standardni razvoj Arduino uređaja; korisnik sam piše programski kod, ali s integracijom fleksibilnih IoT funkcija Cayennea u projekt. To je, po mom mišljenju, glavna prednost Cayena: na sustav možete povezati bilo koje senzore i aktuatore, ne ograničavajući se na popis podržanih perifernih uređaja.

Korisničko sučelje i priprema za rad

Što se tiče korisničkog sučelja sustava, njegovih postavki, metoda upravljanja i dodataka na nadzornoj ploči, sve to ostaje slično sustavu na Raspberry Pi, naravno, izuzev nekih jedinstvenih elemenata svojstvenih potonjoj (na primjer, udaljena radna površina , status memorije, opterećenje procesora). Stoga, da bih razumio osnove rada sa sustavom, preporučujem čitanje članaka. Sve informacije u članku relevantne su kako za web sučelje sustava, tako i za sučelje mobilne aplikacije. Članak također sadrži popis podržanih perifernih uređaja.

Da bismo razvili IoT uređaj ili aplikaciju, trebamo:

  • Imati vlastiti račun na usluzi Cayenne (možete koristiti postojeći);
  • Instalirajte Arduino IDE;
  • Dodavanje knjižnice funkcija Cayenne u Arduino IDE;
  • Konfigurirajte Arduino IDE: odaberite ploču i COM port na koji je povezan;
  • Spojite ploču za proširenje Ethernet Shield ili Wi-Fi Shield na Arduino (ili upotrijebite Arduino ploču s integriranim mrežnim sučeljem).

Mislim da je postupak instalacije Arduino IDE-a, kao i odabir ploče i porta, sam po sebi objašnjen, a mi ćemo prijeći na glavni.

Biblioteka Cayenne za Arduino može se jednostavno i brzo instalirati pomoću upravitelja knjižnice (slika 2).

Nakon instalacije knjižnice, možemo je koristiti u našim aplikacijama, a nova mapa pod nazivom Cayenne pojavit će se u odjeljku sa skicama. Po mom mišljenju, ovi primjeri ne razumiju u potpunosti način rada sa sustavom, ali ipak ih vrijedi proučiti, a također, podsjetim vas, postoji ogroman dio dokumentacije o sustavu Cayenne. Općenito, ova je knjižnica skup skica koje pojednostavljuju vezu i razmjenu podataka između senzora / aktuatora i usluge u oblaku.

Nakon završetka pripremnih radnji, postavljanja razvojnog okruženja i povezivanja Ethernet Shield ploče za proširenje, možete započeti razvoj IoT uređaja.

Spojimo ploču Arduino na računalo putem USB-a, LAN kabel spojimo na Ethernet štit. U internetskom pregledniku prijavljujemo se na račun Cayenne, a na upravljačku ploču dodajemo novi uređaj - Arduino. Dalje, odabiremo vrstu ploče, način povezivanja na Internet (postoji podosta opcija), obratimo pažnju na jedinstveni autorizacijski ključ za naš uređaj i čekamo da se ploča Arduino poveže s Cayenneom (slika 3 ).

Za svaki novi uređaj generira se novi jedinstveni ključ, koji se kasnije može pronaći u postavkama uređaja (ploče).

Čim odaberete način povezivanja s mrežom, pojavit će se prozor s izvornim kodom programa mikrokontrolera. To je minimum potreban za povezivanje uređaja s uslugom u oblaku. Imajte na umu da je vaš autorizacijski ključ već naznačen u tekstu programa i da je povezana knjižnica koja odgovara odabranom načinu povezivanja na mrežu (slika 4). Kopirajte ovaj kôd u Arduino IDE, kompajlirajte i prenesite na ploču. Ako je sve ispravno konfigurirano, na upravljačkoj ploči Cayennea pojavit će se novi aktivni uređaj i nadzorna ploča, gdje sada možete dodavati widgete i kontrole. Štoviše, već u ovoj fazi možete daljinski upravljati dostupnim digitalnim i analognim priključcima Arduina bez upisivanja ijednog retka koda - dodajte gumb widgeta na nadzornu ploču, navedite vrstu priključka (digitalni), njegovo ime na ploči i spremite widget. Sada ćete klikom na gumb u pregledniku promijeniti logičko stanje porta. Također je jednostavno, dodavanjem odgovarajućih widgeta možete kontrolirati PWM izlaze, primati "sirove" podatke s analognih ulaza Arduina i nadgledati status digitalnih ulaza.

Razvoj uređaja na konkretnom primjeru

Sada ću govoriti o dodatnim značajkama i funkcijama sustava. Kao primjer, sastavio sam jednostavan sustav koji je obuhvaćao:

  • Ploča Arduino Uno;
  • Ethernet ploča za proširenje na WIZnet W5100 kontroleru;
  • DS18B20 temperaturni senzor;
  • Fotorezistor;
  • Termistor;
  • Nekoliko LED dioda;
  • OLED zaslon na SSD1306 kontroleru.

Shematski dijagram spajanja senzora i LED-a na Arduino prikazan je na slici 5.

Podsjećam vas da se većina pitanja u vezi s povezivanjem različitih senzora i aktuatora može naći u odjeljku dokumentacije.

Mislim da neće biti pitanja o povezivanju LED-a, digitalnog senzora temperature i OLED zaslona. Analogni senzori za svjetlost i temperaturu povezani su na analogne ulaze prema otpornom krugu djelitelja. U ovom slučaju, za krug termistora potrebno je znati točan otpor otpora R6, ta će se vrijednost koristiti u izvornom kodu u izračunima.

Nakon spajanja elemenata naznačenih na dijagramu, napisat ćemo Arduino skicu, a zatim na nadzornu ploču Cayenne instalirati potrebne widgete. Trenutno je minimalna skica već učitana na ploču Arduino i ploča je definirana na nadzornoj ploči Cayenne. Kao što sam gore rekao, u ovoj fazi možemo dodati widgete za upravljanje LED diodama D1, D2, kao i primati "sirove" podatke s analognih ulaza na koje su povezani termistor i fotorezistor (slike 6, 7).

Bez pisanja jednog retka Arduino koda, već imamo jednostavan sustav daljinskog upravljanja i nadzora (slika 8).

Da biste, na primjer, za upravljanje D2 LED-om koristili digitalne temperaturne senzore, termistor i PWM, trebat ćete dodati minimalnu skicu. Prvo definirajmo potrebne knjižnice.

#include< CayenneEthernet.h>// koristimo ploču za proširenje Ethernet Shield
#include< CayenneTemperature.h>// funkcije za pretvorbu podataka s termistora
#include< OneWire.h>// funkcije za rad sa 1-žičnom sabirnicom
#include< DallasTemperature.h>// funkcije za rad s digitalnim temperaturnim senzorima
#include< Arduino.h>// standardne konstante i varijable jezika Arduino
#include< U8x8lib.h>// knjižnica za rad s OLED zaslonom u tekstualnom načinu
#include< Wire.h>// podrška za hardversko sučelje I 2 C

#define VIRTUAL_PIN_1 V0 // virtualni kanal za senzor DS18B20
#define VIRTUAL_PIN_2 V1 // - za termistor
#define VIRTUAL_PIN_3 V2 // - za LED D2 putem ovog kanala dobit ćemo podatke o vrijednosti PWM-a
#define LED2_PWM 6 // stvarni Arduino port na koji je spojen LED D2

Virtualni krugovi nisu digitalni ili analogni I / O priključci. Pri izravnom čitanju analognih ulaza korisnik prima podatke s 10-bitnog ADC-a mikrokontrolera. Vrijednosti koje vraća ADC su u rasponu 0 ... 1023 i proporcionalne su naponu na ovom ulazu. Drugim riječima, ako na analogni ulaz Arduina spojite temperaturni senzor, nećete dobiti temperaturnu vrijednost, potrebne su dodatne pretvorbe i matematički izračuni za pretvaranje napona - temperature.

Virtualni kanali dizajnirani su za pojednostavljivanje pretvorbe, formatiranja i obrade podataka. Ovo je prilično moćan alat koji se koristi za komunikaciju između Arduina i Cayennea te za jednostavno formatiranje podataka tako da se mogu lako vizualizirati na nadzornoj ploči. Zapamtite, virtualne poveznice nemaju fizičke parametre.

Cayenne.virtualWrite (V1, 123) // prijenos cjelobrojne vrijednosti preko virtualne veze V1
Cayenne.virtualWrite (V2, 12.34) // prenosi vrijednosti s pokretnom zarezom preko virtualnog kanala V2

Na primjer, nakon čitanja analognog temperaturnog senzora, vrijednost možemo pretvoriti u Celzijeve stupnjeve s jednim retkom koda i prenijeti tu vrijednost na nadzornu ploču. Uz to, virtualni kanali omogućuju vam kontrolu bilo koje periferne opreme spojene na analogni ili digitalni port Arduina, bez potrebe za upisivanjem bilo kakvog dodatnog koda. Trenutno su podržane dvije vrste podataka s kojima rade virtualni kanali: cijeli broj (cijeli broj) i pokretni zarez (float). U budućnosti se planira podrška za tipove znakova i nizove. Na nadzornoj ploči putem virtualnog kanala možete se povezati i konfigurirati prilagođeni widget za vizualizaciju prema vrsti primljenih podataka.

// Digitalni priključak na koji će biti povezani DS18B20 senzori. Ne koristite Arduino priključke 0 i 1 (Rx / Tx).
const int ds18b20_Pin = 2;
// Analogni priključak na koji je spojen termistor.
const int termistorPin = 0;
// Otpor fiksnog otpora (9 kOhm), povezan u seriju s termistorom na masu.
const otpor plovka = 9000;
// Cayenneov autorizacijski ključ. Možete ga pronaći u web sučelju Cayenne na kartici postavki uređaja.
char token = "640c9oedi4";
OneWire oneWire (ds18b20_Pin);
DallasTemperaturni senzori (& oneWire);
Termistorski termistor (termistorPin, otpor);

Po vlastitom nahođenju, u gotovo bilo kojoj fazi, izvornom kodu možete dodati izlaz za otklanjanje pogrešaka putem serijskog porta.

U odjeljku inicijalizacije odredit ćemo sljedeće funkcije:

void postavljanje ()
{
Cayenne.begin (žeton); // povezivanje s Cayenneom navedenim ključem autorizacije
senzori.begin (); // inicijalizacija digitalnih temperaturnih senzora
u8x8.begin (); // inicijalizacija i izlaz tekstualnih podataka na OLED zaslon

u8x8.setPowerSave (0);
u8x8.setFont (u8x8_font_torussansbold8_r);
u8x8.drawString (2.0, "Cayenneov test");
u8x8.drawString (1,2, "Sustav je pokrenut");
}

U glavnoj petlji programa imat ćemo samo jednu funkciju:

petlja void ()
{
Cayenne.run ();
}

Sva komunikacija s nadzornom pločom Cayenne odvija se pomoću nekoliko funkcija:

CAYENNE_IN (Virtual_Pin) - definira funkciju koja se poziva kada uređaj prima ažurirane podatke putem virtualne veze s poslužitelja Cayenne.

CAYENNE_OUT (Virtual_Pin) - definira funkciju koja se poziva kada je potrebno poslati ažurirane podatke s uređaja na poslužitelj Cayenne.

CAYENNE_CONNECTED () - funkcija se izvršava svaki put kada se uređaj poveže s poslužiteljem Cayenne. Općenito se ova funkcija koristi za sinkronizaciju.

Cayenne.syncAll () - funkcija koja generira zahtjev poslužitelju Cayennea za sinkronizaciju svih widgeta. Analogni i digitalni priključci Arduina vratit će se i svaki virtualni kanal generirat će CAYENNE_IN događaj.

Cayenne.syncVirtual (Virtual_Pin) - sinkronizacija na navedenom virtualnom kanalu. Kao rezultat izvršenja, poziva se odgovarajući obrađivač CAYENNE_IN.

U mom krugu LED D2 spojen je na digitalni port D6 Arduina. Ovaj port ima alternativnu funkciju - PWM izlaz. Da bismo implementirali daljinsko upravljanje tim LED-ima u PWM načinu, trebamo primati podatke s nadzorne ploče. Da bismo to učinili, napisat ćemo funkciju koja će se izvršiti prilikom ažuriranja podataka putem virtualnog kanala V2:

CAYENNE_IN (V2)
{
// dobivanje podataka o vrijednosti PWM-a s nadzorne ploče (klizač)
int PWMValue = getValue.asInt (); // vrijednost u rasponu 0 - 1023
analogWrite (LED2_PWM, PWMValue / 4); // za PWM, vrijednost mora biti u rasponu 0 - 255
}

Sada na nadzornu ploču dodajte widget "Slider" nazvan LED_2 PWM (PWM), a u njegovim postavkama naznačit ćemo da radi putem virtualnog kanala 2 (slika 9).

Nakon što prenesete skicu na ploču, možete pomoću klizača na Cayenneovoj nadzornoj ploči kontrolirati svjetlinu D2 LED. Sve je vrlo brzo i jednostavno ...

CAYENNE_OUT (V0)
{
senzori.requestTemperatures (); // dobivanje podataka iz digitalnih temperaturnih senzora.
// transformiramo podatke s termistora, formatiramo ih i šaljemo poslužitelju putem virtualnog kanala V1
Cayenne.celsiusWrite (V1, termistor.getCelsius ());
// formatirajte podatke s digitalnog senzora temperature i pošaljite ih poslužitelju putem virtualnog kanala V0
Cayenne.celsiusWrite (V0, sensors.getTempCByIndex (0));
}

Zbog upotrebe virtualnih kanala, cijeli funkcijski kod za prijenos potpuno različitih podataka sastoji se od dva retka. Na nadzornu ploču dodajte widgete za temperaturni senzor i termistor DS18B20 (gotovi su na upravljačkoj ploči). Postavljamo widgete, učitavamo skicu na ploču i ... gotovi ste (slike 10a, 10b)!


Slika 10. Prikaz nadzorne ploče Cayenne za Arduino kontrolu (temperaturni senzori,
osvjetljenje, LED kontrola D1, PWM kontrola LED D2):

Ne zaboravite da su te iste funkcije upravljanja i nadzora dostupne u mobilnoj aplikaciji. Svi widgeti instalirani u web sučelje mogu se vidjeti u mobilnoj aplikaciji (slika 10b).

Vanjski prikaz uređaja s povezanim perifernim uređajima prikazan je na slici 11.

Sposobnost razvoja bežičnih IoT uređaja

Možda ste primijetili da na nekim snimkama zaslona možete vidjeti moju upravljačku ploču, na kojoj se, uz Arduino Uno i Raspberry Pi, nalazi i uređaj nazvan ESP8266-1. Točno, ovo je dodatni uređaj na poznatom modulu ESP-12 (ESP8266), koji je povezan s poslužiteljem Cayenne putem Wi-Fi-ja i ima svoju zasebnu nadzornu ploču (slike 12a, 12b). Takav je uređaj bežična nadzorna i upravljačka jedinica. Modul je povezan s dvije LED diode (jedna je spojena na PWM izlaz ESP8266) i digitalnim senzorom temperature DS18B20.


Slika 12. Nadzorna ploča za bežični uređaj na modulu ESP-12:
a) web sučelje, b) mobilna aplikacija.

Uz podršku jezgre ESP8266 u Arduino IDE-u, implementacija bežičnih IoT uređaja s Cayenneom ne razlikuje se od razvoja s Arduinom. Drugim riječima, bilo koji modul na čipu ESP8266 je Arduino ploča s Wi-Fi sučeljem. Za ovaj Wi-Fi modul napišemo sličnu skicu, koristimo iste knjižnice za rad sa senzorima, dostupni su nam digitalni i analogni ulazno / izlazni priključci. Ovaj modul prikupio je ogromnu količinu informacija, razne dokumentacije i razvoja.

Sklop za spajanje perifernih uređaja na modul ESP8266 prikazan je na slici 13. Koristio sam zasebni modul ESP-12 bez uspona s integriranim krugom napajanja i programskim sučeljem, što je uvelike zakompliciralo rad u fazi preuzimanja skice. Najbolja opcija bila bi upotreba gotovog modula tipa nodeMCU v3 koji je izrađen u faktoru oblika Arduino i ima sklop za podudaranje sučelja. (Vrlo važna točka prilikom programiranja modula). Vanjski pogled modula s povezanim LED-ima i temperaturnim senzorom prikazan je na slici 14.

Što se tiče povezivanja s poslužiteljem Cayenne i razmjene podataka, ovdje je sve kao za Arduino. Svi koncepti virtualnih kanala su sačuvani, koriste se iste funkcije, a koristi se i jedinstveni autorizacijski ključ. Jedina razlika je u fazi povezivanja modula s Internetom.

Da bismo povezali uređaj na modul ESP8266, postupamo na isti način kao dodavanje bilo koje ploče Arduino i dolazimo do faze čekanja da se uređaj poveže s Cayenneom, gdje će se generirati minimalna skica.

Moramo promijeniti ovu skicu. Uključujemo sljedeće knjižnice:

#include "CayenneDefines.h" // Cayenne konstante i varijable
#include "BlynkSimpleEsp8266.h" // funkcije za rad s ESP8266
#include "CayenneWiFiClient.h" // funkcije za implementaciju Wi-Fi klijenta

char token = "3yj62u9ogi";
char ssid = "Network_SSID"; // SSID i lozinka za vašu Wi-Fi mrežu.
char lozinka = "Network_Password";

U odjeljak inicijalizacije dodajte redak:

Cayenne.begin (token, ssid, lozinka);

Kompajliramo, prenosimo na modul (traje dulje od prijenosa na Arduino ploču), čekamo vezu i aktivaciju novog uređaja na Cayenne nadzornoj ploči. Dalje, sve je kao i za Arduino: dodajemo funkcije za rad sa senzorima i I / O priključcima, dodajemo widgete na nadzornu ploču. Jednostavno nevjerojatno, zar ne?!

Zaključak

Na temelju rezultata rada s Cayenneom na Raspberry Pi i Arduino, definitivno mogu reći da se Raspberry Pi ne bi trebao koristiti za razvoj IoT uređaja, čak ni s Cayenneom. To se ne može reći za Arduino - unatoč ograničenim resursima, nedostatku višezadaćnosti, maloj procesorskoj snazi ​​(iako je ovo kontroverzna točka, s obzirom na karakteristike novih Arduino ploča na ARM procesorima), idealan je za razvoj jednostavnog IoT-a uređaji i sustavi kućne automatizacije.

Osim toga, u ovom kontekstu, glavna prednost Arduina, kao što sam gore napomenuo, je sposobnost samostalnog razvoja uređaja, proučavanja sklopova, pisanja koda, razvijanja programskih vještina, unatoč argumentima profesionalnih programera da ne možete naučiti programirati s Arduinom. Možda, ali ... U odnosu na Arduino, platforma Cayenne pruža samo grafičko korisničko sučelje i neka pojednostavljenja u obradi podataka. Sve ostalo morate sami razviti, uključujući primarnu obradu podataka sa senzora, podsustav za obradu događaja, kao i algoritme za uvjete i automatizaciju. Sada dodajte Arduinu jednostavnost razvoja bežičnih IoT uređaja na Wi-Fi modulu ESP8266 i već službenu podršku (iako ne potpunu) najnovijeg ESP32 čipa koji ima bogatu perifernu opremu, a vi imate velike mogućnosti za razvoj potpuno novih uređaja a privlačenje ovog procesa nije samo za amatere, već i za profesionalce.

U vrijeme pisanja ovog članka, Cayenne nije najavio službenu podršku za module koji se temelje na ESP8266 čipu. U početku je to zasluga zajednice - amateri i inženjeri koji rade ili koriste Arduino IDE i znaju za podršku za ESP8266, uz pomoć knjižnica Cayenne mogli su se povezati i koristiti ESP8266. No, čak je i u to vrijeme na forumima zajednice Cayenne već bilo moguće upoznati se s velikim brojem različitih projekata bežičnih IoT uređaja.

Nakon dugo vremena testiranja svojih uređaja na Arduinu i ESP8266, mogu reći da potonji radi vrlo stabilno. Pomalo niska pouzdanost Arduina s Ethernet štitom posljedica je poznatog problema smrzavanja kontrolera W5100, ali postoji nekoliko načina za njegovo rješavanje, kako hardverskog tako i softverskog. Pretpostavljam da se to ne odnosi na Arduino ploče s integriranim Ethernetom ili Wi-Fi mrežom.

Nije prošlo mnogo vremena otkako je napisan članak o Raspberry Pi i Cayenneu, ali puno je više novih značajki i podržanih perifernih uređaja. Osim što imaju ogroman izbor raznih proširivih ploča, senzora i aktuatora, odgovarajuće knjižnice, projekte i primjere za Arduino, sada u Cayenneu korisnici imaju pristup LoRa uređajima, mrežama i uslugama, knjižnicama za podršku MQTT mrežnog protokola za Arduino, C , C ++, mBed, biblioteke za rad s komarnikom MQTT. Svakako, za razvoj IoT uređaja i sustava kućne automatizacije na Arduinu, preporučio bih usluge Cayenne.

Programiranje raznih mikrokontrolera i mikroračunala poput Arduina, Raspberry Pi i sličnih jedna je od najzanimljivijih i najrelevantnijih aktivnosti. Dizajniranje uređaja na tim platformama prevazišlo je hobi geekova i profesionalnih programera: ove se ploče koriste za stvaranje robota, alatnih strojeva, quadcoptera, IoT uređaja (pametna kuća), poslužitelja, pa čak i Hi-Fi audio sučelja.

Nažalost, tržište mikrokontrolera vrlo je segmentirano. Programirani su kroz različita okruženja i sučelja. Situacija je pozvana da spasi projekt nazvan Blynk.

Blynk je usluga zasnovana na oblaku za stvaranje grafičkih kontrolnih ploča i prikladna je za širok raspon mikroračunala i mikrokontrolera. Tamo gdje je prije bilo potrebno napisati punopravno I / O sučelje ili kupiti dodatne module za prikupljanje podataka od senzora, sada to možete postići petominutnim radom u Blynku.

Da biste stvorili vlastiti projekt kojim se upravlja putem Blynka, treba vam vrlo malo: instalirajte aplikaciju (dostupne su verzije za iOS i Android) ili upotrijebite web obrazac. Ovdje ćete se morati registrirati u jednom koraku - unesite svoju adresu e-pošte i lozinku. Registracija je potrebna zbog činjenice da je Blynk rješenje u oblaku i bez njega bilo koji korisnik može dobiti kontrolu nad dijelom hardvera.

Zainteresirani mogu poslužitelj instalirati lokalno. U ovom slučaju pristup Internetu nije potreban.

Aplikacija će zahtijevati određene vještine. Prvo morate upariti računalo ili pametni telefon s programabilnom pločom. Program podržava povezivanje s pločama kroz širok spektar sučelja:

  • USB (serijski),
  • Adafruit CC3000 WiFi,
  • Službeni Arduino WiFi štit,
  • Službeni Ethernet štit (W5100),
  • ENC28J60,
  • ESP8266 (WiFi modem),
  • SeeedStudio Ethernet Shield V2.0 (W5200),
  • RN-XV WiFly,
  • ESP8266.

Osim postavljanja veze, trebate samo pravilno povezati module budućeg uređaja. Nakon toga, u radni oblik aplikacije, morate dodati dostupne module (widgete), konfigurirati potrebne izlazne adrese i odrediti željene parametre (ako je potrebno, možete sami napisati svoj kod). Inače, drag'n'drop se koristi za stvaranje widgeta ili programa. Puno simulatora upravljačkih uređaja dostupno je za upravljanje - prekidači, klizači, displeji, za svaki od njih možete napisati vlastitu logiku. Postoje zasebni obrasci za prikaz i organiziranje informacija od potrebnih senzora u obliku grafikona.

Dakle, platforma je pogodna i za početnike i za naprednije korisnike koji ne žele trošiti vrijeme na pisanje aplikacija za upravljanje projektima: od čitanja podataka s meteorološke stanice i upravljanja pametnim domom do upravljanja robotima.

Sve informacije potrebne za početak objavljuju se na službenoj web stranici. Blynk jest, tako da svi mogu sudjelovati u stvaranju novih značajki. Trenutno je korištenje usluge potpuno besplatno, u budućnosti će se situacija donekle promijeniti - prije svega zbog unovčavanja novih funkcija. Dakle, već je poznato da će se pristup GPIO sučeljima kupiti kao kupnja u aplikaciji.

Blynk trenutno radi sa sljedećim pločama:

  • Arduino: Uno, Nano, Mini, Pro Mini, Pro Micro, Mega, YÚN (most), zbog;
  • Raspberry Pi;
  • Čestica (bivša Spark Core);
  • ESP8266;
  • TinyDuino (CC3000);
  • Wicked WildFire (CC3000).

Divna stvar je ESP8266. Prilično moćan procesor, puno memorije, ugrađeni WiFi kontroler. ESP32 je, naravno, još bolji, ali košta i puno više. Ali mi sada ne razgovaramo o njima. Točnije, ne baš o njima. Na ESP-u je vrlo lako izgraditi gotovo bilo koju kućnu automatizaciju, štoviše, daljinskim upravljanjem i upravljanjem sa pametnog telefona ili računala. Primjer takvog uređaja nalazi se na ovom web mjestu. Jedan je problem što će vam za rad s takvim uređajem, ne samo iz kućne mreže, već i s bilo kojeg mjesta na svijetu (gdje naravno postoji pristup Internetu), trebati nekakav poslužitelj - posrednik koji će primati poruke s uređaja i prenose vam ih i obrnuto. Naravno, postoje mogućnosti i izravna komunikacija, ali ih ovdje neću razmatrati zbog složenosti implementacije ili visoke cijene.

Popis dan u ovom članku ne tvrdi da je potpun i još manje jedinstven, samo sam pokušao analizirati i strukturirati mogućnosti određenih besplatnih usluga. Prije svega za sebe, ali ako se pokaže korisnim nekome drugome, iskoristite ga za svoje zdravlje. Kad sam tražio javni MQTT poslužitelj za sebe, pretraživao sam puno internetskih izvora. Gledao sam prije svega esp8266.ru, ali nažalost, polovica tamošnjih službi ili više ne radi ili mi osobno ne odgovaraju iz jednog ili drugog razloga. Sve što je ovdje napisano prvenstveno je moje osobno iskustvo, vaše iskustvo s tim uslugama može biti potpuno drugačije. Ako poznajete neke druge slične usluge - pišite u komentarima ili poštom (pošta i ostali kontakti nalaze se u gornjem desnom kutu zaglavlja web stranice), a ja ću pokušati provjeriti i dopuniti popis.

MQTT brokeri

MQTT protokol je možda prvo na što naiđete u tražilicama kada tražite način za daljinsko upravljanje raznim "pametnim stvarima". Ne mogu jamčiti da je ovo najjednostavniji protokol (jednostavno nemam s čime uspoređivati, nekako sam se odmah zaustavio na njemu), ali osobno mi nije stvarao poteškoće. Puno je primjera. Postoji više gotovih biblioteka za Arduino IDE, kako kažu "odaberite ukus". Dovoljno je mobilnih aplikacija koje možete odabrati za pametni telefon i upravljačku ploču izrađenu od drevnog tableta. Dakle, ovo je vjerojatno najpopularnija opcija za implementaciju daljinskog upravljanja. Postoji i puno poslužitelja u oblaku, zovu se MQTT brokeri. Ovdje neću razmatrati načelo rada protokola i poslužitelja, ovih je podataka sasvim dovoljno na drugim web mjestima.

CloudMQTT.com

Počeo sam s ovom uslugom. Jednostavno zato što se na njemu temelje gotovo svi primjeri rada s MQTT protokolom. Usluga je vrlo prikladna i jednostavna, sve je intuitivno. U 2018. godini usluga je omogućila povezivanje do 10 uređaja na besplatnom tarifnom planu, što je za mene bilo u redu. Međutim, do kraja 2018. vlasnici usluge revidirali su svoju politiku i sada je na besplatnom tarifnom planu "Slatka mačka" dostupno samo 5 priključaka. Za mene osobno to je vrlo malo. Mogu istodobno povezati tri "kontrolna" uređaja - dva pametna telefona i tablet, a za sam ESP ostala su samo dva priključka. I već imam puno različitih "automatizacija", a planira se još. Naravno, možete stvoriti nekoliko slučajeva brokera na jednom računu, iako su nedavno podložni ograničenjima. Ali u ovom će slučaju tri upravljačka uređaja i dalje "proždirati" tri veze za svaku instancu i nećete htjeti da neprijatelj postavi takvu ekonomiju. U vrijeme pisanja ovog članka, najjeftiniji plaćeni tarifni plan "Skromni jež" košta 5 dolara mjesečno. Ne, jedan prilično poznati vodozemac me zadavio da platim takav novac svaki mjesec... A mogućnosti nisu tako velike - 25 veza. Stoga sam morao potražiti druge mogućnosti.

profesionalci: prikladno i jednostavno

Minuse: samo 5 priključaka na besplatnom tarifnom planu

flespi.io

Već duže vrijeme koristim posrednika mqtt.flespi.io. Privukao me činjenicom da je u vrijeme kad sam počeo raditi s njim istovremeno dopustio čak 100 konkurentskih veza i goleme količine prenesenih i pohranjenih poruka. Predivan! Međutim, usluga nije tako prihvatljiva kao CloudMQTT. Upravljačka ploča nije vrlo prikladna (iako se poboljšava), postavljanje prava pristupa na prvi pogled nije jasno, autorizacija uređaja i pametnih telefona pomoću tokena s ograničenim vremenom valjanosti. Nedostaju neke funkcije koje trebam ili nisam pronašao kako ih koristiti. Na primjer, nisam pronašao kako ukloniti zadržane poruke iz baze podataka. Strogo govoreći, ovo daleko nije samo MQTT posrednik, pa možda jednostavno nisam razumio sve njegove mogućnosti. Ponekad se na različitim pametnim telefonima informacije u nekim temama prestaju ažurirati. Nekoliko puta, zbog pogrešaka u firmware-u i stalnih zahtjeva uređaja prema poslužitelju, usluga je nekoliko sati potpuno blokirala račun. Ali sve bi se to moglo oprostiti takvim prilikama. No, nažalost, ovdje je prevladala želja za zarađivanjem - od 2019. uvedena je granica od 10 veza na besplatnoj tarifi. U tome nema ničeg prijekornog, ali još nisam spreman platiti toliki novac za hobi, pa čak i za usluge prilično sumnjive kvalitete. Općenito, tražit ćemo isti, ali s sedefnim gumbima ...

profesionalci: prije je bilo do 100 veza

Minuse: nije prikladno, teško je konfigurirati pristup, zadržani se ne mogu ukloniti s ploče

Javni posrednik HiveMQ

Potpuno besplatan javni posrednik bez ograničenja. O njima se barem ne govori na početnoj stranici brokera. Ali postoje velika "ALI" - ovaj broker nema nikakvo odobrenje, odnosno uopće. Odnosno, sve poruke poslane između uređaja i svako vas može pročitati. To ne bi bila velika tragedija, ako je to samo neki pokazatelj temperature i vlage, oni ne predstavljaju tajnu. Ali što se tiče daljinskog upravljanja "pametnom kućom", takav posrednik u načelu više nije prikladan. Uostalom, ne biste željeli da itko može uključiti bilo koji uređaj u kući ili isključiti alarm, na primjer.

profesionalci

Minuse

Eclipse MQTT

Još jedan javni posrednik bez odobrenja. Kao što je napisano na web mjestu, ovaj posrednik namijenjen je prvenstveno testiranju i nije namijenjen pohrani i prijenosu povjerljivih podataka. Da biste se povezali s poslužiteljem, trebate koristiti sljedeće parametre: iot.eclipse.org poslužitelj, port 1883; za TLS v1.2, v1.1 ili v1.0 - port 8883. Također je dostupna veza putem WebSockets. Općenito, isto što i HiveMQ, samo u bočnoj projekciji ...

profesionalci: besplatno, bez ograničenja veze

Minuse: prikladno samo za ispitne i vremenske stanice bez daljinskog upravljanja

mosquitto.org

I još jedan javni broker bez odobrenja. Ne morate ponavljati, sve je isto kao za HiveMQ i Eclipse MQTT. Napominjemo - činjenica da svi ovi poslužitelji podržavaju TLS enkripciju ne znači da su vaši podaci zaštićeni. Kanal za prijenos između uređaja i poslužitelja zaštićen je, ali sami podaci su u javnoj domeni.

profesionalci: besplatno, bez ograničenja veze

Minuse: prikladno samo za ispitne i vremenske stanice bez daljinskog upravljanja

IBM Cloud (Bluemix)

Ovo nije mqtt posrednik, to je cijela platforma "Internet of Things Platform". Ali uključuje i mqtt brokera. Na besplatnom tarifnom paketu "Lite" dopušteno je do 500 registriranih uređaja i 200 MB podataka za svaku metriku. Prilično šik ne samo za dom već i za komercijalne uređaje. Ali, kao i uvijek, ne bez "ALI". Prvo, ovu je platformu vrlo teško razumjeti. Postoji dokumentacija, ali ima je puno. Ne - PUNO! Proveo sam više od jednog sata kako bih više-manje razumio kako uspostaviti vezu. Drugo, platforma omogućuje objavljivanje tema u strogo definiranom formatu: „iot-2 / evt / event_id / fmt / format_string“. Isto tako s naredbama: “iot-2 / cmd / command_id / fmt / format_string“. I to je sve - bez sloboda - to jest, samo broj poruke i sama poruka. Ali već postoji više formata za prenesene poruke - "json", "xml", "txt" i "csv". Možda će se ovaj pristup nekome činiti vrlo ispravnim i prikladnim, ali nije me privukao. Da, i sve je komplicirano - izgleda, izgleda, ima puno prilika, ali svi će se prvo morati nositi s tim.

profesionalci: vrlo visoka ograničenja veze

Minuse: vrlo teško za početnika, ograničenja tema

mqtt.dioty.co

Ovo je potpuno besplatan posrednik. Zbogom. Stranica postavki veze kaže: „Ovaj MQTT posrednik trenutno je u beta verziji. U ovoj fazi beta testiranja nećemo vam naplatiti ako prijeđete ograničenje od 50 000 poruka mjesečno. Međutim, zadržavamo pravo privremeno suspendirati vaš račun u slučaju da ometate uslugu drugim korisnicima. U ovom ćemo vas slučaju uvijek kontaktirati e-poštom kako bismo pokušali razumjeti vaše specifične potrebe i način na koji im možemo udovoljiti. ". 50.000 poruka mjesečno je oko 70 poruka na sat, što nije toliko s obzirom na to da jedan uređaj može objaviti do 50 poruka po sesiji slanja podataka sa senzora. Posrednik podržava autorizaciju i TLS vezu. Registracija je povezana s Google računom. Postoji malo ograničenje - sve vaše teme moraju započeti s adresom e-pošte putem koje ste se registrirali u usluzi, na primjer: „/ [e-pošta zaštićena]/… /… /… ”. Ali ovaj je problem manje-više značajan samo pri postavljanju MQTT klijenata na pametnom telefonu (upisivanje više teksta), pa čak i tada ne uvijek. Po mom mišljenju, ova usluga zaslužuje pažnju. Nisam provjeravao rad s njim, samo sam se prijavio.

profesionalci: potpuno besplatno

Minuse: zahtijeva određeni prefiks za teme, ograničenje je oko 70 poruka na sat

Solace.Cloud (PubSub +)

Nije toliko MQTT posrednik koliko cijela IoT platforma. Besplatni tarifni plan omogućuje do 50 veza, do 1 GB prenesenih podataka mjesečno, do 4 GB pohranjenih podataka (ispravljene poruke). Nije loše. No, čak i u besplatnoj verziji ima puno postavki - teško je to shvatiti "na brzinu". Zato ga jedno vrijeme nisam koristio. Možda će doći vrijeme, shvatit ću i postaviti raspoloženje.

profesionalci: do 50 veza

Minuse: prilično teško naučiti

myqtthub.com

Najvjerojatnije estonski broker. Na besplatnom tarifnom planu omogućuje: do 100 korisnika, ali do 50 veza; 10 MB pohranjenih podataka; do 50 pretplata po vezi, maksimalno 250 pretplata (i nije jasno je li pretplata "home / #" jedna pretplata ili više?); 300 poruka u minuti, ali ne više od 800 na sat i ne više od 10.000 dnevno. Na temelju redovitih (svakih pet minuta) publikacija istodobno dobivamo najviše 34 poruke. Postoje i ograničenja - za više pojedinosti pogledajte glavnu stranicu usluge. Ograničenja, međutim, izgledaju sasvim stvarna za kućnu upotrebu. Nisam probao ...

profesionalci: do 50 veza

Minuse: ograničenje broja poruka

mqtt.by

Bjeloruski broker jednostavan za upotrebu. O ograničenjima se ništa ne govori. Podržava autorizaciju, ali moguće je neke teme učiniti javnima, odnosno otvorenima za sve ostale korisnike usluge. Ali nema podrške za sigurnu vezu (TLS), to može biti kritično za neke programe. Svaka objavljena tema mora započeti s prefiksom "/ korisnik / korisničko ime", što donekle komplicira konfiguraciju mobilnih mqtt klijenata, ali nije bitno. Dobra mu je strana što poslužitelj ima javno dostupne teme s datumom i vremenom, što je vrlo povoljno za upravljačku ploču zasnovanu na tabletima koja radi 24 sata dnevno - u isto vrijeme postoji još jedan sat (sto dvanaest 🙂) . Općenito, sasvim je normalan posrednik, ako samo djeluje stabilno.

profesionalci: bez ikakvih ograničenja, postoje javne teme, svoje teme možete objaviti

Minuse: nema SSL / TLS šifriranih veza

mqtt.4api.ru

Ruski besplatni posrednik - "svima pružamo pristup besplatnom mqtt poslužitelju." Ovlaštenje i registracija na usluzi putem društvenih mreža. Pojavilo se, očito, ne tako davno. Iako sama web lokacija ima SSL certifikat, parametri veze sadrže podatke samo za "No SSL", očito SSL veza nije dostupna za uređaje. Stranica s vezom također kaže sljedeće: "Ne preporučujemo upotrebu ovog poslužitelja za vitalne projekte". Upravljačka ploča ima vrlo skromnu funkcionalnost, pa morate koristiti softver nezavisnih proizvođača

profesionalci: bez ikakvih ograničenja

Minuse: nema SSL / TLS šifriranja veza, slaba funkcionalnost upravljačke ploče

Druge usluge

Nećete biti puni samo MQTT-a. MQTT je jednostavan i prikladan, ali omogućuje vam pregled informacija "ovdje i sada", bez povijesti promjena tijekom vremena. Postoje i druge usluge za pregled karata koje je također lako postaviti. Neki od njih su predstavljeni u nastavku.

ThingSpeak

ThingSpeak dostupan je kao besplatna usluga za neprofitne male projekte (<3 миллиона сообщений в год или ~ 8 200 сообщений в день). Сервис позволяет накапливать получаемые данные в своих хранилищах, после чего их можно удобно просматривать в виде графиков. В том числе и на сторонних сайтах, .

Od značajki usluge - ima integraciju s MatLab Analytics, ali koliko sam puta pokušao konfigurirati MatLab skripte, ništa nije proizašlo. Pa, nisam baš željela. Na besplatnom računu usluga vam omogućuje stvaranje do četiri kanala, a svaki kanal može pohraniti do 8 polja s različitim podacima. Također postoji još jedno ograničenje u besplatnom računu - ne možete objavljivati ​​podatke više od svakih 15 sekundi (preporučuje se pauza od 20 sekundi), ovo je, kao, "zaštita" od prekoračenja ograničenja od 8.200 poruka dnevno. U principu, svi moji "izdavači" lako se uklapaju u tu granicu, to mi je dovoljno. Uslugu koristim već duže vrijeme, prilično je prikladna i jednostavna, osim MatLaba. Postoji nekoliko klijentskih programa za android, ali mnogo manje nego za MQTT.

profesionalci: jednostavna uporaba na ESP-u, user-friendly web mjestu

Minuse: mnoga ograničenja na besplatnom računu

open-monitoring.online

Ova je usluga donekle slična ThingSpeak-u - možete joj poslati podatke na isti način, a zatim ih pregledati u obliku tablica, grafikona i histograma. Sučelje je jednostavnije od ThingSpeak-a, ali ga je i puno lakše prilagoditi.

U početku je ova usluga stvorena, koliko sam shvatio, za praćenje parametara osobnih solarnih elektrana, ali je sasvim prikladna za druge svrhe. Usluga je dostupna svima i besplatno, bez značajnih ograničenja u ovom trenutku. Jedino ograničenje koje sam do sada pronašao je da slanje grupe vrijednosti za jedan kontroler na poslužitelj ne može biti duže od jednom u minuti. No, čini se da nema ograničenja broja vrijednosti za svaki kontroler i broja regulatora. Slanje podataka na poslužitelj vrši se jednostavnim get-zahtjevom, implementacija na ArduinoIDE trajala mi je ne više od sat vremena. Za razliku od ThingSpeak, spremljeni podaci mogu se pregledavati na jednom grafikonu (prekrivati), a nadzorna ploča može se konfigurirati tako da prikazuje najnovije vrijednosti. Pohranjene vrijednosti možete pogledati i u jednostavnoj tablici.

profesionalci: jednostavna uporaba na ESP-u, sučelje prilagođeno korisniku, gotovo bez ograničenja

Minuse: nema načina za prikazivanje grafikona na web lokacijama trećih strana (za razliku od ThingSpeak), pa, ili još nisam pronašao kako to učiniti

beebotte

Glavna stranica ove usluge kaže: "Povežite sve i sve u stvarnom vremenu koristeći bogati API koji podržava REST, WebSockets i MQTT". Osobno još nisam koristio ovu uslugu. Sudeći prema onome što sam razumio iz opisa, ovo je divlja mješavina mqtt brokera i thingspeak.com. U besplatnom načinu rada, broj kanala i resursa nije ograničen, ali je broj poruka ograničen: 0,05 milijuna dnevno | 1,5 milijuna mjesečno. Za pohranjene poruke ograničenja su još niža: 5.000 dnevno | 150.000 mjesečno. Uz to, poruke se zadržavaju samo najviše tri mjeseca, nakon čega se brišu. To jest, ne možete vidjeti vrijeme tijekom cijele godine. Još ne znam ništa o mobilnom klijentu za pametni telefon. Registrirano. Pokušat ću. Prerano je donositi zaključke.

Blynk

Aktivno promovirana usluga za daljinsko upravljanje "pametnim uređajima". Čak bih rekao agresivno - pišu na sve forume gdje je to potrebno, a gdje ne. Općenito, po mom osobnom mišljenju, ova platforma nije za hobiste, već prije za posao. U "slobodnom načinu" daje se vrlo malo resursa, osim možda za treptanje LED-a ili uključivanje jednog releja. Općenito, jednom sam to probao - i napustio ga, odmah sam ostao bez resursa. Prepohlepno.

profesionalci: Nisu pronašli

Minuse: pohlepni, postoji samo jedan mobilni klijent

To je sve za sada. Ako znate druge načine daljinskog upravljanja ESP-om (nužno s "mobitela"), molim vas, napišite mi. Raspravit ćemo i, možda, dopuniti članak.