Blynk: Raspberry ve Arduino'nun kolay kontrolü. IoT eklentileri için genel bulut sunucuları Arduino korsanlığı için bulut hizmetleri

Herhangi bir Ethernet ekranı kullanmadan veya herhangi bir WI-FI modülünde gezinmeden Arduino'yu İnternet üzerinden bağlamak ve kontrol etmek için ucuz bir çözüm bulmak için bunlar hakkında çok düşündüm. Daha fazla araştırmadan sonra, Arduino mikrodenetleyici ile etkileşim kurmanın tek yolunun seri port (seri port) olduğunu gösterdim, bu yüzden seri portlu robotlar için hub (HUB) gibi basit bir C# eklentisi oluşturdum düzenleme için ve tahtada veri alma.

Bu HUB programı, kişisel bilgisayarınız aracılığıyla zaten İnternete bağlıdır ve mikrodenetleyici ile kasvetli veri tabanı arasındaki verileri yönetmeye ve yakalamaya ve verilerin kendisini MySQL çevrimiçi veritabanına kaydetmeye yardımcı olur.

Önümde neredeyse küçük bir popo vardı, bu da fikirlerin alevlenmesini protesto etmemi sağlıyor. Bu popoya herhangi bir sensör bağlamadım, sadece Arduino ışığını açtım, böylece pin 13 üzerindeki ışıklı göstergeyi açıp açıp seri porta “I” ve “O” harflerini ayarlayarak.

int girişi; //Seri porttan giriş karakterini kaydedin. int led = 13; // Pin 13 // drop butonuna veya reset butonuna bastığınızda kurulum fonksiyonu bir kez çalışır int durumu; void setup() ( // dijital LED_BUILTIN'i çıkış olarak başlat. Serial.begin(9600); pinMode(led, OUTPUT); // Pin 13'ü şu şekilde ayarla dijital çıkış Seri.flush(); ) // döngü işlevi tekrarla ve void döngüsünü yeniden başlat() ( // String input = ""; // while (Serial.available() > 0) // ( // input += (char) Serial.read( ); // delay(5); // ) durum = digitalRead(led); if (Serial.available()) ( input = Serial.read(); led, !digitalRead(led));digitalWrite(led, HIGH ); Serial.println(1);delay(1000); (0); delay(1000); ) else if (input == "T") ( analogRead(led); Serial.println(0);

Krok 2. Online bazi danih oluşturulması

Verileri kaydetmek için Arduino kartı ile HUB eklentimiz arasında köprü görevi görecek bir "çevrimiçi aracı" kullanabiliriz. Bu yüzden alındık barındırma Veri tabanı, verileri doğrudan kaydetmenin bir yolu olarak Arduino kartını çıkarır ve ona komutlar gönderir.

Aklımız için en basit seçim bazi danih MySQL, çünkü tse bezkoshtovno ve geniş çapta vikoristovuєtsya çal. Aşağıdaki ekteki arşivde, intikam almak için sadece iki tablo olduğunu ortaya çıkaracaksınız. bazı komutları kaydedin, sonra onları tahtaya ve diğer masaya gönderin - çıkarın, Arduino'ya ödeme yapın ve belirsiz bir intikam için ilham verin.

Hosting olarak freemysqlhosting.net sitesini tercih edebilirsiniz. Çevrimiçi PHP MyAdmin, phpmyadmin.co adresinde bulunabilir. Daha fazla bilgi phpmyadmin.net adresinde bulunabilir.

Krok 3. C# hub'ının oluşturulması

En kısa tarafında bir PC'de giriş filtresi olarak görülebilecek bir hub oluşturacağız, böylece verilerin ilk aktarılabilmesi için içinden geçmesi gerekir, ardından son bağlantı noktasından Arduino kartına göndereceğiz. ve sonra.

Bu merkezin arayüzü daha da basit, iki intikamdan daha az metin alanları, cildin "işleminin" durumunu göstermek için, hub'ın verilerini (güç ve kontrol) iletir.

Not. Arduino kartınızla İnternet üzerinden çalışmak istiyorsanız, hub birçok başlatmadan sorumludur.

Krok 4. Bir web arayüzü oluşturuyoruz

Gelelim dersin en havalı kısmına.

Asp.net C# teknolojisine dayalı, uyarlamalı arayüzlü, her eklentide kullanılabilen bir web eklentisi oluşturmuş olan bu web eklentisi, ancak çevrimiçi bir veritabanı ile doğru olabilir ve ne olduğunu bilmiyorum. diğer tarafta ücretli.

Bu arayüz yardımı için Arduino'ya bağlı elektronik bileşenlerinizi sınıflandırabilirsiniz. Fareyi tıklatarak, açarak ve taklit ederek çevrimiçi olarak veri toplarsınız.

popo

“Oturma Odası” şubesindeki (Salon - küçük bir salon için daha fazlası) yeşil düğmeye (AÇIK) bastıktan sonra, bileti İnternet üzerinden düzenler ve oturma odanızın ışığını açarsınız. Bu sayede dünyanın diğer ucunda yer alan hub, bir siparişi kabul eder ve standınızda Arduino tabanlı bir elektronik lanset yardımıyla işler.

Korumalı void BtnHallOn_Click(nesne gönderici, EventArgs e) ( AddTempOrders("I");

Krok 5. Zavantazhuemo projesi

Her şeyi kendiniz denemenin ve kendi projenizi inşa etmenin zamanı geldi.

Her şeye ihtiyacın olduğuna bahse girerim. Size harika projeler diliyorum!

Vadim Kolesnik, m.Tiraspil

Ağlamak, kasvetli bir hizmetin yardımı için Arduino'daki konuşmaların İnternetine tüm işlevsel eklerin bu basit swidka rozrobka

Zagalni en çok

myDevices perakende ile uğraşıyor yazılım ve konuşmanın İnterneti (IoT) alanına eklemeler ve Avanquest şirketinin gelişimi. myDevices Cayenne, IoT projelerinin Raspberry Pi'de kolay dağıtımı için ilk sürükle ve bırak eklenti ve çirkin hizmettir.

Portalda, bir Raspberry Pi (RPi) tek kartlı bilgisayarda çalışırken ana avantajları ve sistem yeteneklerini ortaya çıkarmaya çalıştığım Radiolotsman yakın zamanda yayınlandı. Ale, Cayenne projesi sürekli gelişiyor, perakendeciler coristuvachiv'e yardım etmek için acele ediyor, adım adım yeni işlevler ekliyor, eksiklikleri ve afları kullanıyor.

IoT cihazlarının Arduino ve Raspberry Pi üzerinde Cayenne robotlarıyla geliştirilmesi temelde tartışmalıdır. Raspberry Pi'niz varsa, Cayenne platformunu görsel bir ara katman yazılımı ile kullanabilirsiniz: Raspberry Pi kartına farklı çevre birimlerini fiziksel olarak bağlarız ve yalnızca çevrimiçi Cayenne ortasında kullanılabilir (widget'larımız, veri işlememiz var, otomasyon algoritmaları yazıyoruz) ).

Arduino'ya bağlı Cayenne paneli (gösterge tablosu), sensörlerden alınan verileri görselleştirebilmeleri ve koristuvach'ın verilerini onları ve diğer viconic eklerini kontrol etmek için iletebilmeleri için sadece bir dizi widget ve kontrol öğesidir. Sensörler, aviyonik ekler, ek çevre birimleri (örneğin bir ekran, başka bir klavye) içeren aracı robot olmadan, otomasyon zihinlerinin işlenmesi bir mikro denetleyiciye dayanır. Yani her şey standart bir dağıtıma indirgenmiş, Arduino'ya ekleyeceğim; koristuvach kendin yaz program kodu Cayenne'in soft IoT fonksiyonlarının projeye entegrasyonu ile birlikte. Kendi görüşüme göre, Cayenne'in ana avantajı şudur: Sisteme, sensörler veya diğer mekanizmalar olsun, desteklenen bir çevre birimleri listesine müdahale etmeden bağlanabilirsiniz.

Coristuvacha'nın arayüzü ve hazırlık çalışmaları

Sistem arayüzüne değer, її aksesuar panelindeki iyileştirme, kontrol yöntemleri ve widget'lar, her şey Raspberry Pi'deki benzer sistemlerle doldurulur, açıkçası, birkaç benzersiz öğe için, geri kalanın gücü . Bunun için robotik ve sistemlerin temellerini anlamak için bu makaleleri okumanızı tavsiye ederim. Yazıdaki tüm bilgiler hem sistemin web arayüzü hem de mobil eklenti için geçerlidir. Ayrıca, makalede desteklenen çevre birimlerinin bir listesi vardır.

IoT'nin gelişimi için bir program ekleyeceğim veya ihtiyacımız olan:

  • Cayenne hizmetinde görünüş kayıtlarının anneleri (kazanmak mümkündür);
  • entegre Arduino IDE'yi kurun;
  • Cayenne fonksiyon kütüphanesini Arduino IDE'ye yükleyin;
  • Arduino IDE'yi özelleştirin: mümkün olduğunca bağlı olan kartı ve COM portunu seçin;
  • Ethernet Shield veya Wi-Fi Shield genişletme kartını Arduino'ya bağlayın (veya ağ arayüzü entegrasyonu ile Arduino kartını kullanın).

Arduino IDE ara katman yazılımını kurma ve o portu ödemeyi seçme sürecinin açıklama gerektirmeyeceğini düşünüyorum ve ana konuya geçeceğiz.

Arduino için Cayenne kütüphanesinin kurulumu, kütüphane yöneticisinin (Malyunok 2) yardımıyla kolay ve hızlıdır.

Kütüphane kurulumundan sonra eklerimizden alıntı yapabilir ve eskizlerin dağıtımında görünebiliriz. Nova klasörü Ben Cayenne'im. Benim düşünceme göre, bu izmaritler sistemle nasıl çalışılacağını, prote їх varto vchity'nin daha net anlaşılmasına izin vermiyor ve ayrıca, sanırım, Cayenne sistemi hakkında büyük bir belge bölümü var. Sensörler / aktüatörler ve kasvetli bir hizmet arasında kolayca bağlantı kurmanıza ve veri alışverişinde bulunmanıza izin veren, vahşi türe bir dizi eskiz içeren bir kitaplık verilmiştir.

Hazırlık işlemlerini tamamladıktan, genişletmenin ortasını kurduktan ve Ethernet Kalkanı genişletme kartını bağladıktan sonra, eklentinin IoT genişletmesini oluşturabilirsiniz.

USB bilgisayara bağlı Arduino kartı, Ethernet Kalkanına bağlı çit kablosu yerel hatlar. İnternet tarayıcısında Cayenne oblik kaydını girebilir ve ödeme panelinde yeni bir eklenti - Arduino - ekleyebilirsiniz. Sonra ödeme türünü, internete bağlanma yolunu seçiyoruz (birçok seçeneği belgeliyoruz), eklentimiz için benzersiz yetkilendirme anahtarına saygı duyuyoruz ve Arduino kartının Cayenne'e bağlantısını kontrol ediyoruz (Bebek 3).

Cilt yeni eki için yeni bir benzersiz anahtar oluşturulur, bunu ekin kurulumunda bulabilirsiniz (ödeme).

Cihaza bağlanma şeklini seçtiğiniz anda, mikrodenetleyici program kodu ile birlikte pencerede görünecektir. Kasvetli bir hizmete bağlantı için gerekli minimum değeri oluşturacağım. Yetkilendirme anahtarınızın program metninde zaten belirtildiğini ve sınıra bağlanmanın tam tersini onayladığı için kitaplığın bağlı olduğunu unutmayın (Malyunok 4). Bu kodu Arduino IDE'ye kopyalayın, derleyin ve panodan indirin. Her şey doğru ayarlanmışsa, Cayenne oyma panelinde yeni bir aktif eklenti ve bir aksesuar paneli görünecektir, böylece artık o oyma elemanına widget'lar ekleyebilirsiniz. Ayrıca bu aşamada herhangi bir kod yazmadan Arduino'nun mevcut dijital ve analog portlarını uzaktan kontrol edebilirsiniz - aksesuar panelinde bir widget düğmesi ekleyin, portun tipini (dijital) belirtin ve widget'ı kaydedin. Şimdi tarayıcıdaki düğmeye basarak bağlantı noktasının mantıksal standardını değiştireceksiniz. Yani basitçe, giriş girişleri ekleyerek, PWM çıkışlarını kontrol edebilir, Arduino analog girişlerinden "efendim" verilerini kabul edebilir ve dijital girişleri kontrol edebilirsiniz.

Belirli bir popo üzerine bir dağıtım yapacağım

şimdi sana bundan bahsedeceğim ek yetenek ve sistem işlevleri. Bir popo gibi ben zibrav basit sistem, aşağıdakileri aldıysanız depoya:

  • Arduino Uno kartı;
  • WIZnet W5100 denetleyicisindeki Ethernet Kalkanı genişletme kartı;
  • Sıcaklık sensörü DS18B20;
  • fotodirenç;
  • termistör;
  • Dekilka svіtlodіodіv;
  • Denetleyici SSD1306'daki OLED ekran

Sensörleri ve ışık diyotlarını Arduino'ya bağlamak için prensip şeması küçük 5'te gösterilmiştir.

Tahmin edeceğim, çeşitli sensörlerin ve diğer müştemilatların bağlantılarından bağlanan en fazla güç kaynağı nedir, belgelerin dağıtımının ayrıntılarını öğrenebilirsiniz.

Işık diyotları, dijital sıcaklık sensörü ve OLED ekranın güç kaynağına bağlanmasının iyi olmadığını düşünüyorum. Analog ışık ve sıcaklık sensörleri, dirençli dilatör devresinin arkasındaki analog girişlere bağlanır. Bununla termistörün mızrağı için, direnç R6'nın opirini daha kesin olarak bilmek gerekir, araştırma saati için varyansın değeri çıkış kodundan alınmalıdır.

Eleman şemasında bağlantı belirtildikten sonra bir Arduino taslağı yazacağız ve ardından gerekli widget'ları Cayenne aksesuar paneli üzerine kuracağız. üzerinde Narazi Arduino kartında zaten minimum bir çizim vardır ve kart Cayenne aksesuarları panelinde görüntülenir. Yukarıda belirttiğim gibi bu aşamada D1, D2 LED'leri ile aydınlatma için eklentiler ekleyebilir, ayrıca termistör ve fotorezistörün bağlı olduğu analog girişlerden “efendim” verilerini alabiliriz (Malyunki 6, 7).

Arduino kodunun doğru satırını yazmadan, basit bir uzaktan kumanda ve kontrol sistemini zaten ortadan kaldırdık (Malyunok 8).

sob zadiyati dijital sıcaklık sensörleri, Termistör, PWM, örneğin, D2 ışık diyotunu kontrol etmek için, minimum bir çizim eklemeniz gerekir. Kütüphaneler çok önemlidir.

#Dahil etmek< CayenneEthernet.h>// Ethernet Kalkanı genişletme kartını hackle
#Dahil etmek< CayenneTemperature.h>// Termistörden gelen verileri dönüştürmek için işlevler
#Dahil etmek< OneWire.h>// 1-Wire bus'lı robotlar için fonksiyonlar
#Dahil etmek< DallasTemperature.h>// Dijital sıcaklık sensörlü robotlar için fonksiyonlar
#Dahil etmek< Arduino.h>// standart sabitler ve değişen Arduino hareketleri
#Dahil etmek< U8x8lib.h>// metin modunda OLED ekranlı robotlar için kitaplık
#Dahil etmek< Wire.h>// Donanım arayüzü desteği I 2 C

#define VIRTUAL_PIN_1 V0 // DS18B20 sensörü için sanal kanal
#define VIRTUAL_PIN_2 V1 // - termistör için
#define VIRTUAL_PIN_3 V2 // -- ışık diyotu D2 için bu kanal PWM değeri hakkında veri alacak
#define LED2_PWM 6 // LED D2'nin bağlı olduğu gerçek Arduino portu

Sanal kanallar - dijital, analog giriş / çıkış portları. Aracısız analog girişleri okurken, veriler 10-bit ADC mikrodenetleyiciden alınır. ADC tarafından döndürülen değerler 0...1023 aralığında ve o girişteki orantısal gerilimde olmalıdır. Başka bir deyişle, Arduino'nun analog girişine bir sıcaklık sensörü bağlarsanız ve sıcaklık değerini almazsanız, voltaj - sıcaklığı dönüştürmek için o matematiksel hesaplamayı ek işlemeye ihtiyacınız olacaktır.

Verilerin dönüştürülmesini basitleştirmek için biçimlendirmeleri ve işlemeleri sanal kanallar olarak tanınır. Arduino ve Cayenne arasında değiş tokuş yapmak ve ayrıca tahtada görselleştirme yöntemiyle verilerin basit biçimlendirilmesi için kullanılan sert bir araç kullanmak gerekir. Sanal kanalların fiziksel parametreleri değiştirmediğini unutmayın.

Cayenne.virtualWrite(V1, 123) // tamsayı değerinin sanal kanal V1 tarafından iletimi
Cayenne.virtualWrite(V2, 12.34) // kayan nokta değerlerinin sanal kanal V2 üzerinden aktarılması

Örneğin, bir analog sıcaklık sensörünü okuduktan sonra, Celsius derece değerini bir kod satırında dönüştürmek ve değeri kontrol paneline aktarmak mümkündür. Ayrıca sanal kanallar, herhangi bir yazma işlemine gerek kalmadan analog veya dijital Arduino bağlantı noktalarına bağlı herhangi bir çevre biriminin kontrolünü gerçekleştirmenize olanak tanır. ek kod. Şu anda, sanal kanalların kullanıldığı iki tür veri desteklenmektedir: tamsayı (tamsayı) ve kayan nokta (kayan nokta). Sembolik türleri ve dizileri desteklemek için başka planlar yapılmaktadır. Aksesuar panelinde, sanal bir kanal aracılığıyla, görselleştirme için bir widget olan alınan verilerin türünü bağlayabilir ve ayarlayabilirsiniz.

// DS18B20 sensörlerinin bağlı olduğu dijital port. Arduino bağlantı noktası 0 ve 1'i (Rx/Tx) değiştirmeyin.
const int ds18b20_Pin = 2;
// Termistörü bağlayan analog port.
const int termistörPin = 0;
// Topraklama için bir termistör ile seri olarak sabit bir direncin (9 kOhm) Opir'i.
sabit şamandıra direnci = 9000;
// Yetkilendirme anahtarı Cayenne. Kurulum sekmesinde Cayenne web arayüzünde bulabilirsiniz.
char belirteci = "640c9oedi4";
OneWire oneWire(ds18b20_Pin);
DallasSıcaklık sensörleri(&oneWire);
Termistör termistörü(termistörPin, direnç);

Kendi takdirinize bağlı olarak, pratik olarak herhangi bir aşamada ekleyebilirsiniz. çıkış kodu seri bağlantı noktasında vergi bilgilerini görüntüleme.

Aşağıdaki işlevlere sahibiz:

geçersiz kurulum()
{
Cayenne.begin(belirteç); // atanan yetkilendirme anahtarıyla Cayenne'e bağlan
sensörler.begin(); // dijital sıcaklık sensörlerinin başlatılması
u8x8.begin(); // başlatma ve visnovok metin bilgisi OLED ekranda

u8x8.setPowerSave(0);
u8x8.setFont(u8x8_font_torussansbold8_r);
u8x8.drawString(2,0,"Cayenne Testi");
u8x8.drawString(1,2,"Sistem Çalışıyor");
}

Ana program döngüsünde sadece bir fonksiyonumuz olacak:

boşluk döngüsü()
{
Cayenne koşusu();
}

Cayenne aksesuar paneliyle tüm veri alışverişi, bir dizi ek işlev için sayılır:

CAYENNE_IN(Sanal_Pin) - Cayenne sunucusundan bir sanal kanal aracılığıyla veri güncellemelerini kaldırdığınızda çağrılacak işlevi belirtir.

CAYENNE_OUT(Sanal_Pin) - ekteki güncellenmiş verileri Cayenne sunucusuna göndermek gerekirse geri aramak için işlevi ayarlayın.

CAYENNE_CONNECTED() - Cayenne'e her bağlandığımda işlev devre dışı bırakılacak. Zagalom, senkronizasyon için bu işlevin oynatılması gerekiyor.

Cayenne.syncAll() - Tüm widget'ları senkronize etmek için formu Cayenne sunucusuna gönderen işlev. Arduino analog ve dijital bağlantı noktaları güncellenecek ve dış görünüm sanal kanalı CAYENNE_IN alt öğesini oluşturacaktır.

Cayenne.syncVirtual(Virtual_Pin) - belirtilen sanal kanal için senkronizasyon. Yazma sonucunda CAYENNE_IN fişi çağrılır.

Devremde Arduino'nun D6 dijital portuna bağlı bir D2 ışığı var. Bu bağlantı noktasının alternatif bir işlevi olabilir - PWM'yi açın. PWM modunda ışık yayan diyotlu uzaktan kumandanın uygulanması için aksesuar panelinden veri almamız gerekecek. Bunun için V2 sanal kanalında veriler güncellendiğinde kullanılacak bir fonksiyon yazacağız:

CAYENNE_IN(V2)
{
// aksesuar panelinden (kaydırıcı) PWM değeri hakkında veri alıyoruz
int PWMValue = getValue.asInt(); // aralık değeri 0 - 1023
analogWrite(LED2_PWM, PWMValue / 4); // PWM değerleri için 0 - 255 aralığında olabilir
}

Şimdi, aksesuarlar panelinde, LED_2 WIM (PWM) adlı “Slider” widget'ını ekleyin ve ayarlarda sanal kanal 2 (Malyunok 9) aracılığıyla nasıl çalıştığını belirtmek mümkündür.

Krokiyi tahtadan aldıktan sonra, D2 ışığının parlaklığını ayarlamak için Cayenne aksesuar panelindeki ek kaydırıcıyı kullanabilirsiniz. Her şey akıllı ve basit.

CAYENNE_OUT(V0)
{
sensörler.requestSıcaklıklar(); // Dijital sıcaklık sensörlerinden alınan veriler.
// Termistörden gelen verileri dönüştürün, biçimlendirin ve sanal kanal V1 üzerinden sunucuya gönderin
Cayenne.celsiusWrite(V1, thermistor.getCelsius());
//dijital sıcaklık sensöründen gelen verileri biçimlendirme ve sanal kanal V0 aracılığıyla sunucuya gönderme
Cayenne.celsiusWrite(V0,ensor.getTempCByIndex(0));
}

Sanal kanalların seçiminden başlayarak, tamamen farklı verileri iletmek için tüm fonksiyon kodu iki satırdan oluşur. DS18B20 sıcaklık sensörü ve termistör için widget'lar aksesuar panosuna eklenmiştir (kontrol panelinde koku hazırdır). Şimdi aletlerimiz var, tahtada eskizimiz var ve işiniz bitti (Malyunki 10a, 10b)!


Bebek 10. Arduino kablolaması için Cayenne aksesuar panelinin görünümü (sıcaklık sensörleri,
açıklama, D1 ışığıyla aydınlatma, D2 ışığıyla PWM aydınlatması):

Bu kontrol fonksiyonlarının mobil eklentide mevcut olduğunu unutmayınız. Web arayüzüne yüklenen tüm widget'lar, mobil eklentiyi (Malyunok 10b) kullanabilirsiniz.

yıldızlı görünüm bağlı bir çevreye sahip bir uzantı küçük 11'de gösterilmiştir.

Droto-free IoT cihazları geliştirme imkanı

Bazı ekran görüntülerinde kontrol panelimi görebileceğinizi hatırlayabilirsiniz, örneğin Arduino Uno ve Raspberry Pi є eklentisi ESP8266-1. Pekala, tse zeyilname Cayenne Wi-Fi sunucusuna bağlanan ve kendi aksesuar paneline (Malyunki 12a, 12b) sahip iyi bilinen bir ESP-12 modülünde (ESP8266). Böyle bir ek, kontrol ve yönetim için dartsız bir yüksek öğretim kurumudur. Modüle iki LED (biri ESP8266 PWM çıkışına bağlı) ve bir DS18B20 dijital sıcaklık sensörü bağlanmıştır.


Bebek 12. ESP-12 modüllerinde rotor olmayan bir ek için bağlantı paneli:
a) web arayüzü; b) mobil ek.

ESP8266 çekirdeğinin Arduino IDE çekirdeği tarafından yükseltilmesinin geliştiricileri, IoT'siz IoT eklentilerinin Cayenne'de uygulanmasının Arduino genişletmesiyle hiçbir ilgisi yoktur. Başka bir deyişle, ESP8266 yongasındaki bir modülün Wi-Fi arayüzlü bir Arduino kartı olup olmadığı. Kimin için WiFi modülü benzer bir kroki yazıyoruz, sensörlü robotlar için kütüphaneler yazıp yazıyoruz, dijital ve analog giriş/çıkış portlarına erişimimiz var. Bu modülün arkasında büyük miktarda bilgi, çeşitli dokümantasyon ve yönergeler birikmiştir.

Çevre birimini ESP8266 modülüne bağlama şeması Şekil 13'te gösterilmektedir. Entegre canlı devre ve bir programlama arayüzü ile geçiş kartı olmayan bir ESP-12 silikon modülü oluşturdum, bu da robotun çizim aşamasında işini kolaylaştırdı. En iyi seçenek, Arduino form faktörüne benzeyen ve arayüzü memnun edecek bir şeması olan nodeMCU v3 gibi hazır bir modül kullanmak olacaktır. (Daha da önemli bir an, modül programlama saatidir). Modülün bağlı ışık diyotları ve bir sıcaklık sensörü ile dış görünümü küçük 14'te gösterilmiştir.

Cayenne sunucusuna bağlantı ve veri alışverişine gelince, her şey Arduino için olduğu gibidir. Sanal kanallarla ilgili tüm anlayışla ilgilenilir, işlevlerin kendileri kazanılır ve benzersiz yetkilendirme anahtarı da kazanılır. Modülü İnternete bağlama aşamasında daha az görülür.

Bağlantı için ESP8266 modülleri üzerine kuracağım ve Arduino board eklemeye benzer olacak ve bağlantı aşamasına geleceğiz, minimal bir taslağın oluşturulacağı Cayenne'e ekleyeceğim.

Bu taslağın değiştirilmesi gerekiyor. Aşağıdaki kütüphaneleri dahil ediyoruz:

#include "CayenneDefines.h" // Cayenne değişim sabitleri
#include "BlynkSimpleEsp8266.h" // ESP8266 ile çalışma işlevleri
#include "CayenneWiFiClient.h" // Wi-Fi istemcisini uygulamaya yönelik işlevler

char belirteci = "3yj62u9ogi";
char ssid = "Network_SSID"; // Wi-Fi ağınız için SSID ve şifre.
char password = "Network_Password";

Başlatma bölümünde bir satır ekliyoruz:

Cayenne.begin(belirteç, ssid, parola);

Derlenmiş, modüle yatırım yapılmış (bir saatten fazla sürer, Arduino kartına daha az yatırım yapılır), Cayenne aksesuar panelinde yeni bir eklentiyi bağlamaya ve etkinleştirmeye değer. Arduino'da olduğu gibi her şeyi verdik: robotlar için sensörler ve giriş/çıkış portları ile fonksiyonlar ekliyoruz, aksesuar paneline widget'lar ekliyoruz. Bu harika, değil mi?

Visnovok

Raspberry Pi ve Arduino'daki Cayenne robotik çantalar için kesinlikle Raspberry Pi'nin Internet of Speech cihazları oluşturmak için iyi bir seçim olmadığını söyleyebilirim, Cayenne'den gidin. Arduino hakkında söylenemez - kaynak alışverişi, zengin görevlerin kullanılabilirliği, düşük maliyet (yavaş bir an olsa bile, ARM işlemcilerdeki yeni Arduino kartlarının özellikleri) ne olursa olsun, basit IoT oluşturmak için idealdir. cihazlar ve ev otomasyon sistemleri.

Ayrıca bu bağlamda Arduino'nun asıl avantajı, daha çok saygı duyduğum için, kendini geliştirme imkanı, ekleyeceğim, devre geliştireceğim, kod yazacağım, programlama becerilerini geliştireceğim, profesyonel programcıların kanıtlarına aldırmadan Arduino programlamayı öğrenemez. Muhtemelen, ale ... Arduino'nun tanıtılmasıyla, Cayenne platformu yalnızca çekirdeğin grafiksel bir arayüzünü ve verilerin işlenmesinde bazı bilgileri sağlar. Reshta, bu tür sensörlerin birincil işlenmesi, alt sistemlerin işleme alt sistemi ve bu otomasyon algoritmalarının anlaşılması dahil olmak üzere bağımsız olarak geliştirmekten sorumlusunuz. Ve şimdi Arduino'ya Wi-Fi modülleri ESP8266 üzerinde kablosuz IoT ekleri oluşturmanın basitliğini verin yeni çip Gemide çok sayıda çevre birimine sahip olan ve temelde yeni ataşmanların geliştirilmesi ve sadece amatörlerin değil aynı zamanda profesyonellerin süreci için büyük olanaklar gösteren ESP32.

Makaleyi hazırlarken Cayenne, ESP8266 çipine dayalı modüllerin resmi olarak yükseltilmesinden bahsetmedi. Bunun ana değeri, Arduino IDE üzerinde çalışabilen ve ESP8266 desteği hakkında bilgi sahibi olan tüm amatörlerin ve mühendislerin, Cayenne kütüphanelerinin yardımıyla ESP8266'yı ESP8266'ya bağlayabilmeleridir. Ayrıca, Cayenne forumlarını ziyaret edin ve çok sayıda farklı IoT içermeyen IoT eklentisi projesi hakkında bilgi edinebilirsiniz.

Eklentilerimi Arduino ve ESP8266 üzerinde kapsamlı bir şekilde test ettikten sonra, geri kalanının hala stabil çalıştığını söyleyebilirim. Arduino'nun Ethernet Kalkanı ile düşük ek yükü, hem donanım hem de yazılım olmak üzere çeşitli yöntemler kullanarak W5100 denetleyicisinin donması probleminden kaynaklanır. Ethernet ve Wi-Fi entegrasyonu ile Arduino kartlarına gerek olmadığını kabul edebilirim.

Raspberry Pi ve Cayenne ile ilgili makalenin hazırlandığı andan itibaren, o kadar da zengin olmayan bir saat geçti, ancak önemli ölçüde daha fazla yeni işlev ve gelişmiş çevre birimleri vardı. Arduino için geniş bir yelpazede farklı genişleme kartları, sensörler ve diğer eklentiler, çeşitli kütüphaneler, projeler ve uygulamaların varlığını inceleyen Cayenne, artık mevcut eklentilere, LoRa servislerine, Arduino, C, C için MQTT birleştirme protokolü kütüphanelerine sahiptir. ++, mBed, MQTT komisyoncu sivrisinek ile çalışır. Arduino üzerinde internet sesleri ve ev otomasyon sistemlerinin geliştirilmesi için kesinlikle Cayenne servislerini öneriyorum.

Arduino, Raspberry Pi ve benzerleri gibi çeşitli mikrodenetleyici ve mikrobilgisayarları programlamak, alınması gereken en önemli ve ilgili olanlardan biridir. Bu platformlardaki eklentilerin yapımı, hobilerin ve profesyonel programcıların kapsamının ötesine geçmiştir: bu kartlar robotlar, çok yönlülük, dörtlü robotlar, IoT uygulamaları (akıllı kabinler), sunucular ve navigasyonlu Hi-Fi ses arayüzleri için tasarlanmıştır.

Ne yazık ki, mikrodenetleyici pazarı oldukça bölümlere ayrılmıştır. Programlamanız farklı medya ve arayüzler üzerinden gerçekleştirilir. Durum, Blynk adı altında vryatuvat projesi olabilir.

Blynk, grafik kontrol panelleri oluşturmak için akıllı bir hizmettir ve çok çeşitli mikrobilgisayarlar ve mikrodenetleyiciler için uygundur. Orada, daha önce, sensörlerden bilgi toplamak için eksiksiz bir giriş-çıkış arayüzü yazmak veya ek modüller eklemek gerekiyordu, şimdi Blynk'te beş genişlikli bir robot ile yapabilirsiniz.

Blynk desteğiyle başarılı bir proje oluşturmak için birkaç şey yapmanız gerekir: programı yükleyin (iOS ve Android için mevcut sürümler) veya bir web formu kullanın. Burada tek tıklamayla kaydolmanız gerekecek - e-posta ve şifre girerek. Blynk'in kasvetli bir karar olduğunu ve onsuz, yükleme üzerindeki kontrolün her türlü coristuvach tarafından alınabileceğini göz önünde bulundurarak kayıt gereklidir.

Alternatif olarak, sunucuyu yerel olarak da kurabilirsiniz. Şu anda, İnternet'e erişim gerekli değildir.

Robot programı vimagatime şarkı söyleyen yeni başlayanlar. Programlanmış bir karttan bir bilgisayar veya akıllı telefon bağlamak gerekir. Program, ek arayüzler için ödemeleri destekler:

  • USB (Seri)
  • Adafruit CC3000 WiFi,
  • Resmi Arduino WiFi Kalkanı,
  • Resmi Ethernet Kalkanı (W5100),
  • ENC28J60,
  • ESP8266 (WiFi modem),
  • SeeedStudio Ethernet Kalkanı V2.0 (W5200),
  • RN-XV WiFi,
  • ESP8266.

Krim nalashtuvannya z'єdnannya, gelecekteki ekin uygun şekilde z'єdnati modülleri gerekli değildir. Bundan sonra, programın çalışma biçiminde mevcut modüller (widget'lar) eklemeniz, widget'ların gerekli adreslerini ayarlamanız ve gerekli parametreleri belirtmeniz gerekir (tüketici için kendi kodunuzu yazabilirsiniz). Konuşmadan önce, bir widget oluşturmak için program sürükle ve bırak yöntemini kullanır. Keruvannya için, birçok keruyuchih eklentisi taklitçisi mevcuttur - jumper'lar, kaydırıcılar, ekranlar, skin z yay için, kendi mantığınızı yazabilirsiniz. Іsnuyut okremі, grafikler ışığında gerekli sensörlerden gelen bilgileri görmek ve sistemleştirmek için formlar.

Bu şekilde, platform acemiler gibi gidiyor, bu yüzden proje yönetimi için bir saat yazılım yazmak istemiyorsanız, coristuvachas için daha fazlasını yapacağız: hava istasyonlarından veri okumak ve akıllı bir evi yönetmek ve robotları yönetmek için. .

Koçanı çalışması için gerekli tüm bilgiler resmi web sitesinde yayınlanmaktadır. Blynk - böylece cilt yeni işlevlerin oluşturulmasında yer alabilir. Şu anda hizmet tamamen ücretsiz, ancak durum değişmek üzere - şimdilik, yeni işlevlerin paraya çevrilmesi için. Bu nedenle, aynı zamanda, GPIO arayüzüne erişimin bir satın alma olarak mevcut olduğu açıktır.

Şu anda Blynk aşağıdaki panolarla çalışmaktadır:

  • Arduino: Uno, Nano, Mini, Pro Mini, Pro Micro, Mega, YUN (Köprü), Due;
  • Ahududu Pi;
  • Parçacık (eski Spark Core);
  • ESP8266;
  • TinyDuino (CC3000);
  • Kötü WildFire (CC3000).

Mucizevi şey ESP8266. Bitirmek sabit işlemciçok fazla bellek, bir WiFi denetleyicisi. ESP32, açıkçası, daha kısa, ama daha pahalı. Ale hemen onlar hakkında değil. Daha doğrusu, onları bilmiyoruz. ESP'de, ister ev otomasyonu olsun, pratik yapmak kolaydır ve dahası, uzaktan kumandada bir akıllı telefondan veya bir bilgisayardan kontrol eder. Herhangi bir sitede bunun bir örneğini oluşturacağım. Bir sorun - böyle bir ataşmana sahip robotlar için sadece ev ölçüsü, Ve gezegenin herhangi bir noktasından (İnternete erişim, zrozumіlo), bir sunucuya sahip olmak gerekli olacaktır - bir ek şeklinde yardımı kabul edecek ve size ve navpaki'ye aktaracak bir aracı. Açıkçası, seçenekler ve doğrudan bir bağlantı var, ancak bunları uygulamanın veya yolun karmaşıklığı nedeniyle burada göremiyorum.

Bu makaledeki endikasyonların listesi eksiksiz ve özellikle benzersiz olduğunu iddia etmiyor, sadece sessiz chi'nin diğer ücretsiz hizmetlerin olasılığını analiz etmeye ve yapılandırmaya çalıştım. Kendiniz için pershu cherga, ancak eğri görünmek mümkünse, sağlıklı olduğunuzdan emin olun. Kendim için halka açık bir MQTT sunucusu aradıysam, o zaman İnternet kaynakları yığınını aradım. Shukav, esp8266.ru'da nasamper yaptı, ama üzücü, orada hizmetlerin yarısı artık işçi değil, aksi takdirde özellikle bu diğer parametreler için bana uymuyorlar. Burada yazılanların hepsi benim için özel dosya, Bu hizmetlerle çalışma sözleşmeniz farklı olabilir. Başka benzer hizmetler biliyorsanız - yorumlara veya postaya yazın (posta ve diğer kişiler site başlığının sağ üst köşesinde bulunur) ve listeyi kontrol etmeye ve tamamlamaya çalışacağım.

MQTT brokerleri

MQTT protokolü, çeşitli "akıllı şeyleri" uzaktan kontrol etmenin bir yolunu arıyorsanız, push sistemlerinde ortaya çıkan belki de en önemli şeydir. Protokolün en basiti olduğunu garanti edemem (özellikle dikkat etmem gereken bir şey yok, yenisinde gibiyim ve yanlış anladım), ancak özellikle günlük olarak fark etmedim. telaşlar. Daha zengin bir şekilde başvurdum. Arduino IDE için hazır kütüphaneler - göründüğü gibi sadece bir tane değil, “zevkle seç”. Mobil takviyeler- Bir akıllı telefon ve eski bir tabletten kırılmış bir kontrol paneli seçmek için yeterli. Aynı zamanda, tek başına, geniş kapsamlı küratörlüğün uygulanması için en popüler seçenektir. Khmarnyh sunucuları tezh dosit zengin, bunlara pis kokulu MQTT brokerleri denir. Protokol ve sunucularla çalışma prensibini burada göremiyorum, diğer sitelerde yeterli bilgi var.

CloudMQTT.com

servisten başladım. Sadece MQTT protokolü ile her şeyi yapabilen, yenisi üzerine kuruludur. Servis kolay ve basittir, her şey sezgisel olarak anlaşılır. 2018'de roci hizmeti, bana tamamen hakim olan ücretsiz tarife planında 10 adede kadar ek binaya izin verdi. Ancak 2018 yılı sonuna kadar hizmet sağlayıcılar poliçelerini gözden geçirdiler ve “Cute Cat” ücretsiz tarife planında artık sadece 5 abonelik mevcut. Özellikle benim için küçük. Aynı anda bağlı üç "güçlü" eke sahip olabilirim - iki akıllı telefon ve bir tablet ve ESP için yalnızca iki bağlantı gerekir. Ve farklı "otomatikler" Zaten yapacak çok şeyim var ve hala planlıyorum. Açıkçası, bir tanesinin ortasında birkaç broker kopyası üretebilirsiniz. oblіkovogo kaydı, ancak saatin geri kalanında onlarla tanıştırıldılar. Ancak böyle bir zamanda, üç kontrol eki aynı şekilde bir cilt örneği için üç bağlantıyı “görür” ve böyle bir devletlik kursanız bile korkmazsınız. Bulunan ücretli tarife planı Humble Hedgehog, yazı yazılırken ayda 5 dolar tutuyor. Hayır, bir amfibiyenin evinde boğulmak için süt sağan tek kişi benim, bu kadar kuruş öderim cilt ayı. Bu olasılık o kadar da şık değil - 25 bağlantı. Ayrıca diğer seçenekleri shukati yapma şansım oldu.

artı: elle ve basitçe

eksi: ücretsiz tarife planında 5'ten az abonelik

flespi.io

Uzun zamanımı bitirmek için bir komisyoncu mqtt.flespi.io oldum. Vin'i daha az elde ettiğim için, ancak şu anda onunla çalışmaya başlarsam, vin aynı anda 100'e kadar rakip bağlantıya ve aktarılan ve kaydedilen büyük obsyagi obyagi'ye izin verdi. Muhteşem! Ancak hizmet, CloudMQTT kadar kullanışlı değil. Kontrol paneli kolay değil (tamamen farkında olmak istiyorsanız), erişim haklarını ayarlamak ilk bakışta net değil, yetkilendirme ve ekler ve akıllı telefonlar ortak terim “dії” ile belirteçlerle. İhtiyacım olan başka bir işlev yok çünkü nasıl yaygara yapacağımı bilmiyorum. Örneğin, tabandan nasıl tasarruf edilir - hala bilmiyorum. Açıkçası, sadece bir MQTT komisyoncusu olmaktan çok uzak, bu yüzden belki de tüm olasılıkları anlamıyorum. Bazen farklı akıllı telefonlarda belirli üst kısımlardaki bilgiler güncellenmeyi durdurur. Birkaç kez, bellenim ve kurulum sonrası aflar yoluyla, sunucuya tekrar bir servis ekleyeceğim ve oblikovy kaydını birkaç yıl bloke edeceğim. Ale, böyle bir kapasite için her şey yapılabilirdi. Ne yazık ki, bu üzücü ve burada para bir dağ aldı - 2019'dan beri, ücretsiz bir oranda, elektrik arzı 10 bağlantıda sağlandı. Kötü bir şeyim yok, ama hobilerim için bu kadar kuruş ödemeye hazır değilim, ancak hizmetlerim için çok fazla para ödemeye hazır değilim. Zagalom, shukatimemo böyle bir samiy, sedefli zillerle bira ...

artı: daha önce 100 bağlantıya kadardı

eksi Kabin: kullanışlı değil, yerleşik erişim ile katlanabilir, muhafaza panelden görülemez

HiveMQ Kamu Komisyoncusu

Günlük ücretler olmadan tamamen ücretsiz kamu komisyoncusu. Kabul et baş tarafı komisyoncu onlar hakkında yazılmaz. Ale є harika "ALE" - bu komisyoncu yetkilendirilemez, bu nedenle çalışmayacaktır. Ekler ile sizin aranızda gönderilen tüm bilgileri tobto, okuyabilirsiniz. Kim için büyük bir trajedi olmayacaktı, sanki sadece sıcaklık ve nem belirtileri varmış gibi, pis kokunun sırrı yok. Ve sağda "makul bir ev" tarafından uzak bir yönetim varsa, o zaman böyle bir komisyoncu prensipte uygun değildir. Aja Örneğin, kabinde bir tür eklentiyi veya alarmı açabiliyorsanız, istemediniz.

artı

eksi

Tutulma MQTT'si

Yetkisiz başka bir kamu komisyoncusu. Sitede yazıldığı gibi, görevlendirme komisyoncusu, gizli bilgilerin toplanması ve aktarılması için değil, test için ayarlanmıştır. Sunucuya bağlanmak için şu parametreleri izleyin: iot.Eclipse.org sunucusu, bağlantı noktası 1883; TLS v1.2, v1.1 veya v1.0 için - bağlantı noktası 8883. WebSockets için bağlantı mevcuttur. Zagalom, aynı ve HiveMQ, yalnızca beyaz bir projeksiyonda.

artı: ücret yok, bağlantı ücreti yok

eksi: sadece uzaktan izleme olmadan test ve hava istasyonları için gelin

mosquitto.org

І Yetkisiz başka bir büyük komisyoncu. HiveMQ ve Eclipse MQTT'nin sahip olduğu aynıları tekrar edemezsiniz. Tüm sunucuları destekleyenlere saygı gösterin. TLS şifrelemesi bu, verilerinizin çalındığı anlamına gelmez. Ek ile sunucu arasındaki iletim kanalının çalınması, aksi takdirde açık erişimde olması gerekir.

artı: ücret yok, bağlantı ücreti yok

eksi: sadece uzaktan izleme olmadan test ve hava istasyonları için gelin

IBM Bulut (Bluemix)

Bir mqtt komisyoncusu değil, "Nesnelerin İnterneti Platformu". Depodaki Ale, mqtt komisyoncusudur. Ücretsiz “Lite” tarife planında, 500'e kadar ek kaydına ve cilt metriği başına 200 MB bilgiye izin verilir. Sadece ev için değil, ticari müştemilatlar için de tamamen şık. Ale, yak zavzhdi, “ALE” olmadan olmaz. İlk olarak, platformdan büyümek daha zordur. Belgeler є, ale її daha da zengin. HI - BİRÇOK zenginlik! Nasıl bir bağlantı kurulacağını daha iyi anlayabilmem için bir yıldan fazla zaman harcadım. Başka bir şekilde platform, konuların kesinlikle belirtilen biçimde yayınlanmasına izin verir: "iot-2/evt/event_id/fmt/format_string". Komutlarla aynı: "iot-2/cmd/ command_id /fmt/ format_string ". Ve hepsi bu - günlük özgürlükler - bu sadece bildirimin kendisinin sayısı. Ve format ekseni size neyin iletildiğini, hatta daha fazlasını söyleyecektir - "json", "xml", "txt" ve "csv". Muhtemelen, böyle bir pidhіd kime daha doğru ve kullanışlı olacak, ancak daha az suçluluk duymadan. Bu ve her şey akıcı bir şekilde vlashtovano - olasılıklar, her şeyi çağırıyor, daha da zengin, ama bunu çözme şansımız var.

artı: bağlantıda daha da fazla sınır

eksi: yeni başlayanlar için katlanabilir, üstlere göre döşenir.

mqtt.dioty.co

Tse zaten povnistu bezkoshtovny komisyoncusu. Boowai. Bağlantı parametrelerinin yanında adım adım yazılmıştır: “Bu MQTT brokeri şu anda beta aşamasındadır. Beta testinin bu aşamasında herhangi bir ücret talep etmiyoruz, bu nedenle aylık 50.000 yenileme sınırını aşacaksınız. Bununla birlikte, sanki diğer coristuvachiv'lerin hizmetine katkıda bulunuyormuşsunuz gibi, eğik kaydınızın görevini zamanında atama hakkımızı saklı tutuyoruz. Bir noktada, özel ihtiyaçlarınızı ve bunları tatmin edebildiğimiz için anlamaya çalışmak için sizinle e-posta yoluyla iletişim kurmaya devam edeceğiz.” Ayda 50.000 güncelleme - yılda yaklaşık 70 güncelleme, o kadar zengin değil, iyi olduğu kadar, sensörlerden 50 güncellemeye kadar veri düzenleme oturumu başına bir ek yayınlanabilir. Aracı, yetkilendirmeyi ve TLS bağlantısını destekler. Kayıt oblkovo'ya bağlı Google girişi. Є küçük değişim - tüm konularınız adreslerden kaynaklanmaktadır e-posta, yaku aracılığıyla hizmete kaydoldunuz, örneğin: “/ [e-posta korumalı]/…/…/…”. Ancak, akıllı telefonlarda MQTT istemcileri kurarken sorun az çok suttevadır (yazmak için daha fazla metin), bunun için endişelenmeyin. Benim düşünceme göre, bu hizmet saygı için tamamen övgüye değerdir. Onunla işi değiştirmedim, sadece kayıt oldum.

artı: çoğunlukla ücretsiz

eksi: konular için gerekli şarkı öneki, obezzhenya yılda yaklaşık 70 güncelleme

Solace.Cloud (PubSub+)

Fiyat, tüm IoT platformu gibi MQTT komisyoncusu değil. Ücretsiz tarife planında, 50'ye kadar aboneliğe, ayda 1 GB'a kadar veri aktarımına, 4 GB'a kadar tasarrufa izin verilir (yenilenmiş yenileme). Fena değil. Yine de, ücretsiz sürüm zengin bir şekilde geliştirilmiş bir tasarıma sahiptir - bir başkasının "anlık" alması kolaydır. O saatte, onun için açgözlü olmadım. Muhtemelen saati gelecek, o ruh halini halledeceğim.

artı: 50 bağlantıya kadar

eksi: ustalıkta katlamayı bitirmek

myqtthub.com

Belli ki Estonyalı bir komisyoncu. Ücretsiz tarife planında, ödenekler: 100'e kadar ücret ve 50'ye kadar abonelik; Kaydedilecek 10MB veri; abonelik başına 50'ye kadar abonelik, maksimum 250 abonelik ("ev/#" aboneliğinin yalnızca bir abonelik mi yoksa daha fazla mı olduğu neden açık değil?); Quilling için 300 ödenek, ancak yılda 800'den fazla ve günde 10.000'den fazla değil. Normal (beş dakikalık cilt) yayınların dışına çıkarsanız, bir seferde en fazla 34 hatırlatıcı yayınlayın. Є y sche obmezhennya - hizmetin ana tarafında daha ayrıntılı harika. Obmezhennya, vtim, gerçek ev vikoristannya gibi görünüyorsun. denemedim...

artı: 50 bağlantıya kadar

eksi: kіlkіstyu podomlen için obmezhennya

mqtt.by

Basit bir Belarus komisyoncusu. Değişim hakkında hiçbir şey söylenmiyor. Destekleyici yetkilendirme ve ayrıca corystuvachiv hizmetini çözmek için açılabilmeleri için genel konular oluşturma olasılığı. Ancak güvenli bağlantı (TLS) desteği yoktur, ancak bazı programlar için kritik olabilir. Konuyla ilgili yayınların görünümü, "/user/im'ya_koristuvacha" önekinden sorumludur; bu, mobil mqtt istemcilerini kurmayı kolaylaştırır, ancak suttvo'yu değil. Üç artı - sunucuda, tablete dayalı kontrol paneli için daha uygun olan, o saatin tarihi ile küresel olarak erişilebilir konular var, çünkü yapılması 24 yıl sürüyor - bulaşıcı ve yıldönümü bir tane daha (yüz ve on iki). Zagalom, tamamen normal bir komisyoncu olarak, sadece istikrarlı bir şekilde çalışıyor.

artı: herhangi bir kısıtlama olmaksızın, є genel konular, konularınızı yayınlayabilirsiniz

eksi: SSL/TLS şifreli bağlantı yok

mqtt.4api.ru

Rus ücretsiz komisyoncu - “tüm müşteriler için ücretsiz bir mqtt sunucusuna erişim sağlıyoruz”. Hizmet üzerinden yetkilendirme ve kayıt sosyal Hizmetler. Ortaya çıkmak, her şeyi aramak, çok uzun zaman önce değil. Sitenin kendisinin bir SSL sertifikasına sahip olmasını istiyorsanız, bağlantı parametrelerinde yalnızca "SSL'siz" için veri belirtin, belki de eklenti için SSL bağlantısı mevcut değildir. Bağlantının yanında şöyle yazıyor: "Hayat kurtaran projeler için bu sunucuyu kazanmanızı önermiyoruz." Kontrol paneli mütevazı bir işlevselliğe sahip olabilir, bu nedenle üçüncü taraf yazılımı kullanmak gerekir

artı: herhangi bir engel olmadan

eksi Stan: SSL/TLS şifreli bağlantı yok, kontrol paneli işlevi yok

Diğer servisler

Bir MQTT oturmayacak. MQTT basit ve kullanışlıdır, ancak saatteki değişiklik geçmişi olmadan "burada ve her seferinde" bilgileri gözden geçirmenizi sağlar. Programları ve diğer hizmetleri gözden geçirmek, onlarla çalışmak ve özellikle zorlaşmamak. Bunların fiilleri aşağıda sunulmuştur.

ThingSpeak

ThingSpeak mevcut yak ücretsiz hizmet ticari olmayan küçük projeler için (<3 миллиона сообщений в год или ~ 8 200 сообщений в день). Сервис позволяет накапливать получаемые данные в своих хранилищах, после чего их можно удобно просматривать в виде графиков. В том числе и на сторонних сайтах, .

Hizmetin bazı özellikleri MatLab Analytics ile entegre edilebilir, ancak MatLab komut dosyalarını düzeltmeye çalışmadım, bu yüzden hiçbir şeyim yoktu. Şey, gerçekten istemiyordum. Dökülmeyen bir oblіkovogo kaydı ile hizmet, bir cilt kanalı için dört adede kadar kanal oluşturmanıza izin verir, farklı miktarlarda 8'e kadar sulama kaydedebilirsiniz. Ücretsiz bir hesapta bile sadece bir değişim vardır - 15 saniye boyunca bir defadan fazla veri yayınlamak mümkün değildir (20 saniyelik bir duraklama önerilir), çünkü limit aktarımı açısından bi "koruma" dır. Günde 8200 bildirim. Prensip olarak, tüm "yayıncılarım", daha küçük olan bu sınıra kolayca sığar. Uzun zamandır bir hizmete kök salıyorum, bunu kolay ve basit bir şekilde yaptım, bu yüzden MatLab'a saygı duyma. Є kіlka programı - Android için kliєntіv, daha az zengin, MQTT için nizh.

artı: ESP'de basit wiki, manuel site

eksi: ücretsiz bir oblіkovomu kaydında zengin bir şekilde sınırlandırılmıştır

open-monitoring.online

Bu hizmet ThingSpeak'e biraz benzer - verilere aynı şekilde tablolara, grafiklere ve histogramlara bakarak da bakabilirsiniz. Arayüz daha basittir, ThingSpeak'te daha düşüktür, ancak daha basittir.

Bu hizmetlerden birkaçı, anladığım kadarıyla, kişisel uykulu enerji santrallerinin parametrelerini izlemek için yaratılmıştır, ancak bir bütün olarak başka amaçlar için uygundur. Hizmet, şu anda suttєvih obmezheniya olmadan, usim ve ücretsiz olarak mevcuttur. Şimdiye kadar gördüğüm gibi bir değişim - bir denetleyici için bir grup değerin sunucusuna düzeltme, her sırada birden fazla olamaz. Ale için cilt denetleyicisi için değerlerin sayısı ve ortamdaki denetleyicilerin sayısı bilinmiyor. Sunucuya verinin gücü basitçe talep edilir, ArduinoIDE'deki uygulama beni bir yıldan fazla sürmedi. ThingSpeak görünümünde, kaydedilmiş verileri bir grafikte (faturalarla birlikte) görüntüleyebilir ve ayrıca diğer değerleri görmek için gösterge tablosunu ayarlayabilirsiniz. Basit bir tabloya bakmanın değerindeki tasarruflara da bakabilirsiniz.

artı: ESP'de basit yazma, manuel arayüz, kenarlık olmayabilir

eksi: grafikleri üçüncü taraf bir sitede (bir ThingSpeak hesabında) görüntülemek mümkün değil, nasıl yapacağımı henüz bilmiyorum

arı kovanı

Bu hizmetin ana tarafında, sert bir şekilde yazılmıştır: “REST, WebSockets ve MQTT'yi destekleyen zengin bir API ile her şeyin gerçek zamanlı olarak bağlantısı”. Özellikle bu hizmet için henüz zafer kazanmadım. Açıklamadan anladığım kadarıyla fiyat çılgın mqtt brokeri vethingspeak.com. Maliyetsiz modda, kanal ve kaynak sayısı sınırlandırılmamıştır, ancak yenileme sayısı sınırlandırılmıştır: Günde 0,05 Milyon | Ayda 1.5 Milyon. Tasarruf etmenize yardımcı olmak için limitler daha azdır: Günde 5.000 | Ayda 150 000. Üstüne üstlük en fazla üç aydan daha az süre korunur ve ardından görülürler. Bütün nehir için havayı iyileştirmeyeceksin. Akıllı telefon için mobil istemci hakkında henüz hiçbir şey bilmiyorum. Kayıtlı. Deneyeceğim. Şimdilik Visnovki robiti.

göz kırpmak

Uzaktan bakım hizmeti, "akıllı ek binalar" tarafından aktif olarak tanıtılmaktadır. Bi, agresif bir şekilde diyorum - tüm forumlarda yazın, gerek ve gerek yok. Zagalom, bence bu platform amatörler için değil, iş için. "Şoksuz modda" verilen birkaç kaynak vardır, ışığı açmak veya bir röleyi açmak daha iyidir. Aceleyle bir kez denedikten sonra, kaynaklar bittiğinde onu attım. Çok hevesli.

artı: bilmiyorum

eksi: susamış, mobil istemci yalnızca bir

Şimdilik, her şey. ESP'yi uzaktan yönetmenin başka yollarını biliyorsanız (obv'yazkovo z "mobile") - kibar olun, bana yazın. Bunu tartışabiliriz, mümkün, makaleyi tamamlayacağız.

Şaraptan önce, izleme için bir bisiklet bulduktan sonra bir Arduino ekleyeceğim.

Patlıyordu.

/* -- Yeni proje -- Grafiksel kullanıcı arayüzünün kaynak kodu RemoteXY editörü tarafından otomatik olarak oluşturulmuştur. RemoteXY kitaplığının 2.3.5 veya sonraki sürümünü kullanan bir bilgisayar için http://remotexy.com/en/library/ ANDROID 4.3.1 veya sonraki sürüm bağlantısıyla indirilir; - iOS 1.3.5 veya sonraki sürüm için; Tsey kaynak kodu özgür bir yazılımdır; Özgür Yazılım Vakfı altında yayınlanan GNU Kısıtlı Genel Kamu Lisansını onarabilir ve/veya değiştirebilirsiniz; sürüm 2.1 Lisansı veya (isteğe bağlı olarak) sürümün sürümü olabilir. */ /////////////////////////////////////////// // RemoteXY kitaplığı içerir // /////////////////////////////////////// /////// /// // RemoteXY kitaplığının bağlantı moduna atanır #define REMOTEXY_MODE__ESP8266_HARDSERIAL_CLOUD #include // bir bağlantı kurun #define REMOTEXY_SERIAL Seri #define REMOTEXY_SERIAL_SPEED 9600 #define REMOTEXY_WIFI_SSID "***************" #define REMOTEXY_WIFI_PASSWORD "**********" # define REMOTEXY_CLOUD_SERVER .com " #define REMOTEXY_CLOUD_PORT 6376 #define REMOTEXY_CLOUD_TOKEN "******************************" #include // DHT11 dht11 DHT kütüphanesini ekleyin; // Change class dht11 #define DHT11_PIN 7 // DHT11 sensör bağlantıları 4 numaralı dijital pin için const int analogSignal = A3; //analog sinyal pin bağlantısı const int digitalSignal = 8; //dijital sinyal pini boolean noGas bağlantısı; //Gaz varlığının değerini kaydetmek için değiştirildi int gas = 0; //gaz miktarını kaydetmek için değiştirildi şamandıra hum = 0; //Suyun şamandıra sıcaklığını kaydetmek için değiştirildi = 0; //Sıcaklığı kaydetmek için değiştirildi int chk; //Pardon DHT char msgBuffer'ı kaydetmek için değiştirin; // arayüz yapılandırması #pragma paketi(push, 1) 81,22,11, 2,26,31,31,79,78,0,79,70,70, 0,66,132,10,13,31,24, 7,10,27, 21,2,24, 66,132,56,13,31,24,4, 41,31,24,2,24,67,4,16,5,20, 5,38,23, 20,5,2,26,11,67, 4, 63,6,20,5,39,52,20,5,2,26, 11); // yapı tüm değişiklikleri kontrol arayüzünüze atar struct ( // giriş değişkeni uint8_t switch_1; // =1 açarsa i değiştirirse =0 kapatıyorsa // çıkış değişkeni int8_t level_1; // =0..100 level konumlar int8_t level_2; / / =0..100 eşit karakter metni_1; // = UTF8 dizesi sıfır karakterle biter metin_2; #pragma paketi(pop) ///////////////// //////////// ////////////////////// // // RemoteXY'yi BİTİR //// ///////////// /////////////////////// /// #define PIN_SWITCH_1 13 geçersiz kurulum( ) ( RemoteXY_Init(); pinMode (PIN_SWITCH_1, OUTPUT); / / YAPILACAK kod kuracaksınız) void loop() ( RemoteXY_Handler(); digitalWrite(PIN_SWITCH_1 )?LOW:HIGH);noGas = digitalRead(digitalSignal); // gaz varlığı değeri gaz = analogRead(analogSignal); = DHT.temperature ; RemoteXY.level_1 = hum; RemoteXY.level_2 = temp; dtostrf(hum, 6, 2, RemoteXY.text_1); / veri aktarımı için RemoteXY yapısını etiketleyin)

Panolardan Vikoristovuemo sandviçi.

Başarısız bir şekilde, her şey hemen sipariş edildi:

Kasvetli RemoteXY hizmeti ortaya çıktığı andan itibaren, fotoğrafın üzerinden bir yıl geçmişti.

RemoteXY ile çalışmanın özellikleri.

1. Her şey zaten basit. Kendi yolunda iyidir. Örneğin, Blynk ve Cayenne'den, bir yıl içinde sıfırdan kalkıp gitmeniz pek olası değildir. Örneğin, "KaScada Cloud" kazanmak için özel bir banyo cihazına ihtiyaç duyacaktır.

2. Sunucu tarafında veri kaydetmenin bir yolu yoktur: ücretle bağlantı yok - eklentide "Bağlantı yok" olacaktır.

3. Maliyetsiz sadece 5 tasarım öğesi vardır, ancak PRO programının maliyeti camdan bir saatten fazla değildir.

4. Tek bir programla, hem kasvetli bir sunucu aracılığıyla hem de doğrudan karttan arama yapmak mümkündür. Doğrusu, bir gecede değil. І hemen geçiş yapmak imkansız - tahtadaki taslağı değiştirmeniz gerekiyor. Bluetooth ve USB aracılığıyla bir akıllı telefonu bir panoya bağlamak da mümkündür.