Mydevices Cayenne hizmetini kullanarak Arduino'daki IOT cihazlarının geliştirilmesi. Blynk: Kontrol Arduino için Kolay Kontrol Ahududu ve Arduino Bulut Hizmetleri

Oturumlar - Bkinatçıların saflarında arındırın!
Bugün, ESP8266 yönetimini, yeni Blink Cloud servisini kullanarak akıllı telefonunuzdan (iOS veya Android) 5 dakika içinde yapılandıracağız. Video ve kesimin altındaki detaylar.


Smartphone'da Blynk uygulamasını yükleyin

Ekle kayıt olun ve yeni bir proje oluşturun.

Örneğin, projenin adını girin ESP8266.. Alanda Donanım modeli. Seç ESP8266.. (Umarım desteklenen ekipmanların etkileyici listesini fark edeceksiniz) otomatik olarak oluşturulur Auth belirteç. Posta kutunuza gönderin.

Düğmeye bastıktan sonra Oluşturmak. ESP8266 kontrol panelinizin UI'sini tasarlamak için boş bir alan mevcut olacaksınız.

Sağdaki üstte artı tıklayın - araç çubuğu görünecektir Widget kutusu. Kontrol panelinize widget eklemek için. Widget'ların listesinin hala doldurulacağına dikkat edilmeye değer.

Örnek için, widget türünü seçin Buton. - Bu widget hemen panelinize eklenir. Bir dokunuşla düzenleyin. İsim doldurulamaz, sadece doğru, alanda göstergenin rengini seçebilirsiniz. Çıkış pimi Doğru seç Dijital.ve herhangi bir serbest pim bıraktı GPIO.. Aşağıdaki düğme türünü değiştirin Değiştirmek.

Sonra, Blynk kütüphanesini Arduino IDE'de ayarlayın. Bu, resmi talimatlara yardımcı olacaktır. Kütüphaneyi de alabilirsin son sürüm Depodan sağa ve manuel olarak ayarlayın. Sonra, bir örnek seçin ESP8266_STANDALONE ve içinde reçete Auth belirteç.hangi posta ile aldık SSID ve Şifre sen Wifi ağı. Esp8266'da çizimi tamamlayın ve dökün.

Harika bir şey - esp8266. Oldukça güçlü işlemci, çok fazla bellek, yerleşik WiFi denetleyicisi. ESP32, elbette, daha da iyisi, ama aynı zamanda daha pahalıdır. Ama şimdi onlar hakkında değil. Daha kesin olarak, tam olarak onlar hakkında değil. ESP'de hemen hemen her ev otomasyonu inşa etmek çok kolaydır ve uzaktan kumanda ve bir akıllı telefon veya bilgisayardan kontrol. Böyle bir cihazın bir örneği bu sitede. Bir sorun - sadece böyle bir cihazla çalışmak için ev ağıGezegendeki herhangi bir yerden (elbette internete erişimin olduğu durumlarda), belirli bir sunucu gereklidir - cihazdan mesaj alacak bir arabulucu ve bunları size aktarır ve tam tersidir. Tabii ki, seçenekler ve doğrudan iletişim var, ancak uygulamaların karmaşıklığı veya yüksek maliyet nedeniyle onları burada düşünmeyeceğim.

Bu makalede verilen liste dolgunluk talep etmiyor ve daha da benzersizlikten daha fazlası, bazı ücretsiz hizmetlerin olanaklarını analiz etmeye ve yapmayı denedim. Her şeyden önce, kendiniz için, ancak başkaları için yararlı olacaksa - sağlıkta kullanın. Kendim için bir halk mqtt sunucusu aradığımda, birçok internet kaynağını kabul ettim. Her şeyden önce ESP8266.ru'su arıyordum, ama ne yazık ki, hizmetlerin yarısı var ya da hiçbir işçinin yarısı var ya da artık bir veya başka bir parametre için benim için uygun değil. Burada yazılan tüm bunlar benim kişisel deneyimimden önce, bu hizmetler ile olan deneyiminiz tamamen farklı olabilir. Bu tür bir hizmetleri biliyorsanız - yorumlarınızı veya postalara yazın (posta ve diğer kişiler, sitenin kapaklarının sağ üst köşesinde) ve bir liste kontrol etmeyi ve eklemeyi deneyeceğim.

Mqtt brokerleri

MQTT protokolü belki de bir yol ararken arama motorlarında satın aldığınız ilk şeydir. uzaktan kumanda çeşitli "akıllı parçalar". Bunun en kolay protokol olduğunu (bir şeyle karşılaştıracak hiçbir şeyim yok, bir şekilde hemen ona durdurulacak hiçbir şeyim yok), ama kişisel olarak herhangi bir zorluk yaratmadı. Örnekler - çok. Arduino IDE için hazır kütüphaneler de yalnız değil, "Tadı seç" derken. Mobil uygulamalar, hem bir akıllı telefon için hem de eski bir tabletten yapılan bir kontrol paneli için yeterlidir. Böylece bu muhtemelen uzaktan kumandayı uygulamak için en popüler seçenektir. Bulut sunucuları da oldukça fazla, onlar MQTT broker olarak adlandırılır. Protokolün ve sunucuların çalışma ilkesini burada göz önünde bulundurmayacağım, bu bilgi diğer sitelerde oldukça yeterli.

Cloudmqtt.com.

Bu hizmetten başladım. Sadece tüm MQTT protokolü ile çalışma örneklerinin neredeyse tüm örnekleri dayanmaktadır. Hizmet oldukça rahat ve basit, her şey sezgiseldir. 2018'de servis ücretsiz izin verilir tarife planı Memnun kaldığı 10 cihaza kadar bağlanır. Bununla birlikte, 2018 yılı sonuna kadar, hizmet sahipleri politikalarını revize ettiler ve ücretsiz "sevimli kedi" tarifesi planında sadece 5 bağlantı mevcuttur. Şahsen benim için bu çok küçük. Aynı anda üç "kontrol" aygıtını - iki akıllı telefon ve bir tablet bağlayabilirim ve sadece iki bağlantı ESP'nin kendisi için kalır. Ve zaten çok farklı otomatik arabam var ve hala planlanıyor. Tabii ki, birinin içindeki brokerlerin birkaç örneğine yaklaşabilirsiniz. hesapSon zamanlarda kısıtlamalar getirmiş olmasına rağmen. Ancak bu durumda, üç kontrol cihazı hala "" her bir örnek için üç bağlantıyı ve bu tür bir ekonomiyi "e-postayla gönderecek - ve düşman istemiyor. En ucuz ücretli şarj planı "mütevazi kirpi" ayda 5 $ yazma sırasında duruyor. Hayır, böyle parayı ödemek için oldukça ünlü bir amfibi olduğum. her ay. Evet ve olasılıklar çok akıllı değil - 25 bağlantı. Bu nedenle, diğer seçenekleri aramak zorunda kaldım.

artış: Kullanışlı ve kolay

Eksi: Ücretsiz bir tarife planında sadece 5 bağlantı

flespi.io.

Çok uzun zamandır Mqtt.flespi.io brokerini kullandım. Beni onunla çalışmaya başladığım zaman, aynı anda ve çok miktarda bulaşan ve kaydedilmiş mesajların 100 kadar rekabet eden bağlantı olarak kabul ettiği gerçeğiyle. Muhteşem! Ancak, servis CloudMQTT kadar uygun değildir. Kontrol paneli çok uygun değildir (iyileştirilmiş olmasına rağmen), erişim haklarının ayarı ilk bakışta, yetkilendirme ve cihazlarda ve belirteç akıllı telefonlarda sınırlı bir süre ile net değildir. Bazı fonksiyonların işlevi yoktur, yoksa nasıl kullanılacağını bulamadım. Örneğin, Tabandan kaydedilmiş (tutulan) mesajları silmek - hiç bulamadım. Kesinlikle konuşursak, bu sadece bir MQTT brokeri değil, belki de tüm yeteneklerini anlamadım. Bazen farklı akıllı telefonlar Bazı konularda bilgileri temizler. Cihazın sunucuya firmware ve kalıcı temyizdeki hatalar nedeniyle birkaç kez hizmet, hizmetin hesabı birkaç saat boyunca tamamladı. Ancak bunların hepsi bu tür fırsatlar için affedilebilir. Ancak ne yazık ki ve burada kazanma arzusu üst aldı - 2019'dan bu yana, serbest tarife üzerinde 10 bağlantı kısıtlaması getirildi. Bu konuda azalan hiçbir şey yoktur, ancak hobi için bu para ödemeye ve hatta oldukça şüpheli kalitenin hizmetleri için bile ödemeye hazır değilim. Genel olarak, aynısını arayacağız, ancak inci düğmeleri ile ...

artış: 100 bağlantıya kadar çıkmadan önce

Eksi: Uygun değil, erişimin ayarlanmasında katlanmış, panelden tutulmaz

HIVEMQ kamu brokeri.

Herhangi bir kısıtlama olmadan tamamen ücretsiz kamu komisyoncusu. En azından ana Sayfa Broker onlar hakkında yazılmamış. Ama büyük bir "ama" var - bu komisyoncunun yetkisi yok, yani, hayır. Yani, cihaz arasındaki tüm gönderilenler ve bir mesajınız var birini okuyabilir. Bu, sadece herhangi bir sıcaklık ve nem göstergesi olsaydı, büyük bir trajedi olmazdı, sırrını temsil etmiyorlar. Ancak "akıllı evin" uzaktan yönetimi söz konusu olduğunda, böyle bir broker ilke olarak uygun değil. Sonuçta, kimsenin evdeki herhangi bir cihazı etkinleştirmesini veya alarmı devre dışı bırakmasını istemem.

artış

Eksi

Eclipse mqtt.

Yetkilendirmeden başka bir kamu komisyoncusu. Sitede yazıldığı gibi, bu broker öncelikle test için tasarlanmıştır ve gizli bilgileri saklamak ve iletmek için tasarlanmamıştır. Sunucuya bağlanmak için aşağıdaki parametreleri kullanmanız gerekir: sunucu iot.eclipse.org, port 1883; TLS V1.2, v1.1 veya v1.0 - port 8883 için. Bağlantı ve web sayfaları mevcuttur. Genel olarak, HIVEMQ ile aynı, sadece lateral projeksiyonda ...

artış: Ücretsiz, bağlantı kısıtlamaları olmadan

Eksi: Uzaktan kumanda olmadan test ve hava durumu istasyonları için uygundur

mosquitto.org.

Ve yetkili başka bir kamu komisyoncusu. HIVEMQ ve ECLIPSE MQTT ile aynı olanı tekrarlayamazsınız. Tüm bu sunucuların TLS şifrelemesini desteklemesinin, verilerinizin korunması anlamına gelmediğini unutmayın. Cihaz ve sunucu arasındaki iletim kanalı korunuyor, ancak verilerin kendileri açık erişimdiler.

artış: Ücretsiz, bağlantı kısıtlamaları olmadan

Eksi: Uzaktan kumanda olmadan test ve hava durumu istasyonları için uygundur

IBM Cloud (Bluemix)

Bu bir MQTT broker değil, bu bir platformdur "şeylerin interneti". Ancak bileşiminde bir MQTT komisyoncusu var. Ücretsiz tarife planında "Lite", 500 kayıtlı cihaza kadar ve her metrik hakkında 200 MB bilgiye izin verilir. Sadece ev için değil, aynı zamanda ticari cihazlar için de oldukça zariftir. Ancak, her zaman olduğu gibi "ama" değil. İlk olarak, bu platformu anlamak çok zor. Bir dokümantasyon var, ama çok. Hayır - çok! Bir saat daha fazla harcadım - bağlantıyı nasıl yapılandıracağınızı daha az anlama. İkincisi, platform, konuları kesin olarak belirli bir formatta yayınlamanıza izin verir: "IOT-2 / EVT / Event_ID / FMT / Format_string". Benzer şekilde, komutlarla: "iot-2 / cmd / command_id / fmt / format_string". Ve hepsi - özgürlük yok - yani, sadece mesaj numarası ve mesajın kendisidir. Ancak, iletilen mesajların formatları zaten daha büyüktür - "JSON", "XML", "txt" ve "CSV". Belki de böyle bir yaklaşım çok doğru ve rahat görünecek, ama beni etkilemedi. Evet, ve tüm niyetler için zordur - görünüşe göre, ama bununla birlikte herkesin ilk önce yapabilmek zorunda kalacak.

artış: Bağlantılarda çok büyük sınırlar

Eksi: Acemi için çok karmaşık, konulardaki kısıtlamalar

mqtt.dioty.co.

Bu tamamen ücretsiz bir broker. A kadar. Bağlantı ayarları sayfasında aşağıdakiler yazılmıştır: "Bu MQTT Broker şu anda Beta'da çalışıyor. Beta testinin bu aşamasında, ayda 50000 mesajda limiti aşarsanız ücret talep etmeyeceğiz. Ancak, diğer kullanıcıların hizmetini etkilemeniz durumunda, hesabınızı geçici olarak askıya alma hakkını saklı tutarız. Bu durumda, özel ihtiyaçlarınızı ve onları nasıl tatmin edebileceğimizi anlamaya çalışmak için her zaman sizinle e-posta yoluyla iletişim kuracağız. ". Ayda 50.000 mesaj, saatte yaklaşık 70 mesajdır, bu, bir cihazın sensörlerden 50 mesajdan bir veri oturumu için yayınlayabileceğini düşünüyorsanız, bu kadar çok değil. Broker, yetkilendirmeyi ve TLS bağlantısını destekler. Kayıt Google Hesabına bağlanır. Küçük bir kısıtlama var - tüm konularınız adresiyle başlamalıdır e-postaHizmette kayıt oldunuz, örneğin, böylece: "/ [E-posta Korumalı]/ ... / ... / ... ". Ancak bu sorun, yalnızca bir akıllı telefondaki MQTT istemcilerini kurarken az ya da çok önemlidir (daha fazla metin kazanın) ve her zaman değildir. Benim görüşüme göre, bu hizmet mükemmel bir şekilde dikkatini hak ediyor. Onunla kontrol etmedim, yeni kayıt oldum.

artış: Tamamen bedava

Eksi: Konular için belirli bir önek gereklidir, saatte yaklaşık 70 mesajın bir kısıtlaması

Solace.cloud (pubsub +)

Bu, tüm iot platformu olarak çok fazla MQTT brokeri değildir. Serbest bir tarife planında, ayda en fazla 1 GB iletilen veriye, 4 GB'a kadar kaydedilmiş veriye (Redianed mesajları). Fena değil. Ama hatta Ücretsiz sürüm Çok fazla ayar - "kapsamla" bulmak zor. Bu yüzden bir zamanlar onlardan zevk almadım. Belki de zaman gelecek, ilgileneceğim ve yapılandıracağım.

artış: 50 bağlantıya kadar

Eksi: Mastering'de oldukça katlanmış

myqtthub.com.

Görünüşe göre Estonya komisyoncusu. Ücretsiz tarife planında: 100 kullanıcıya kadar, ancak 50 bağlantıya kadar; 10 MB kayıtlı veri; Bağlantı için en fazla 50 abonelik, en fazla 250 abonelik (ve net değil, abonelik "Home / #" bir abonelik mi yoksa çok mu?); Dakikada 300 mesaj, ancak saatte 800'den fazla ve günde 10.000'den fazla değil. Düzenli (her beş dakikalık) yayınlardan geçerseniz, bir seferde en fazla 34 mesaj bulunmuyor. Hala kısıtlamalar var - hizmetin ana sayfasında daha fazlası gibi. Ancak sınırlamalar, için oldukça gerçek görünüyor ev kullanımı. Denemedim ...

artış: 50 bağlantıya kadar

Eksi: Mesaj sayısındaki kısıtlamalar

mqtt.by.

Kullanımı kolay Belarus Broker. Kısıtlamalar hakkında hiçbir şey yok. Yetkilendirmeyi destekler, ancak hizmetin diğer tüm kullanıcılarına açılması, yani bazı konular yapmak mümkündür. Ancak güvenli bağlantı desteği (TLS) yoktur, bazı uygulamalar için kritik olabilir. Yayınlanan her konu, Mobil MQTT müşterilerinin ayarını bir araya getiren "/ Kullanıcı / Kullanıcı_adı" öneki ile başlamalıdır, ancak önemli ölçüde değil. Avantajlardan - sunucuda, günde 24 saat çalışan, aynı anda ve saat hala yalnız olan bir tablete dayalı kontrol paneli için çok uygun olan bir tarih ve saate sahip kamu konuları vardır. on iki 🙂). Genel olarak, oldukça normal bir komisyoncu, sadece istikrarlı çalışmaya çalışmak.

artış: Herhangi bir kısıtlama olmadan, halkın konuları vardır, konularınızı yayınlayabilirsiniz.

Eksi: SSL / TLS Bağlantı Şifrelemesi Yok

mqtt.4api.ru.

Rus ücretsiz broker - "Herkes için ücretsiz bir MQTT sunucusuna erişim sağlıyoruz." Hizmete izin verme ve kayıt sosyal ağlar. Görünüşe göre görünüşte, çok uzun zaman önce değildi. Sitenin kendisi bir SSL sertifikasına sahip olmasına rağmen, veri parametreleri yalnızca "SSL olmadan" belirtilir, görünüşte cihazlar için SSL bağlantıları mevcut değildir. Hala bağlantı sayfasında aşağıdakileri yazdı: "Kullanmayı önermiyoruz bu sunucu Hayati projeler için. " Kontrol paneli çok mütevazı bir işlevselliğe sahiptir, bu nedenle üçüncü tarafı kullanmanız gerekir.

artış: Herhangi bir kısıtlama olmadan

Eksi: YOK SSL / TLS Bağlantı Şifrelemesi, Kötü Kontrol Paneli Fonksiyonel

Diğer servisler

Bir mqtt beslenmeyecek. MQTT basit ve kullanışlıdır, ancak zamandaki değişikliklerin tarihi olmadan "burada ve şimdi" bilgisini görüntülemenizi sağlar. Grafikleri görüntülemek için, başka hizmetler de var, aynı zamanda zor değil. Bazıları aşağıda.

Şeyleripeak.

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

Hizmetin özelliklerinden - Matlab Analytics ile entegrasyonuna sahiptir, ancak Matlab Scripts'i yapılandırmaya ne kadar denemedim, bu yüzden çıkmadım. Peki, çok değil ve istedim. Serbest bir hesapta, hizmet, dört kanal oluşturmanıza olanak sağlar, kanalların her biri farklı verilerle 8 alana kadar kaydedilebilir. Ücretsiz hesapta bile başka bir kısıtlama var - verileri her 15 saniyenin her birinden daha sık yayınlanması imkansızdır (20 saniyelik bir duraklama önerilir), günde 8 200 mesajın sınırını aşmaktan "koruma" gibidir. Prensip olarak, tüm "yayıncılarım" bu sınıra kolayca sığar, yeterince sahibim. Hizmeti oldukça uzun süre kullanırım, matlab sayılmazsa oldukça uygun ve basittir. Birkaç program var - Android için müşteriler, ancak MQTT'den çok daha az.

artış: Esp, uygun web sitesi üzerinde basit kullanım

Eksi: Ücretsiz hesapta birçok kısıtlama

open-Monitoring.Online

Bu servis şeylere benzer - ayrıca veri gönderebilir ve ardından tablolar, grafikler ve histogramlar şeklinde göz atabilirsiniz. Arayüz, şeylerden daha basittir, aynı zamanda özelleştirmek için çok daha kolaydır.

Başlangıçta, bu hizmet, kişisel güneş enerjisi santrallerinin parametrelerini izlemek için, anladığım kadarıyla, ancak diğer amaçlar için de uygundur. Hizmet, şu anda önemli kısıtlamalar olmadan herkese ve ücretsiz olarak kullanılabilir. Anladım tek kısıtlama, bir denetleyici için sunucuya bir değer grubu göndermek, dakikada bir kez daha sık olamaz. Ancak her kontrolör için değerlerin sayısı ve kısıtlama denetleyicileri sayısına göre, hayır gibi görünüyor. Sunucuya veri göndermek, basit bir kazan talebi tarafından gerçekleştirilir, arduinoide uygulaması bir saatten fazla olmamıştır. Nesnelerin aksine, kaydedilen veriler bir grafikte (kaplama ile) görüntülenebilir ve en son değerleri çıkarmak için bazı gösterge tablosunu özelleştirebilir. Kaydedilen değerleri basit bir tablo biçiminde de görüntüleyebilirsiniz.

artış: ESP'de basit kullanım, uygun bir arayüz, neredeyse hiç kısıtlamalar yok

Eksi: Üçüncü taraf sitelerdeki grafiklerin çekilme olasılığı yoktur (şeylerden farklı olarak), ya da henüz nasıl yapacağımı henüz bulmadım.

beebotte

Bu hizmetin ana sayfasında, aşağıdakiler şunları yazılmıştır: "Her şeyi ve her şeyi gerçek zamanlı olarak, dinlenmeyi, WebOckets ve MQTT'yi destekleyen zengin bir API kullanarak gerçek zamanlı olarak bağlayın." Şahsen, henüz bu hizmeti kullanmadım. Açıklamadan anlaşıldığım şeyin yargılaması, bu MQTT Broker ve Chatingpeak.com'un vahşi bir karışımıdır. Ücretsiz modda, kanalların ve kaynakların sayısı sınırlı değildir, ancak mesaj sayısı sınırlıdır: günde 0.05 milyon | Ayda 1.5 milyon. Sınırlı mesajlar için sınırlar daha azdır: günde 5 000 | Ayda 150 000. Ek olarak, mesajlar sadece en fazla üç aydır saklanır, ardından çıkarılır. Yani, bütün yıl için hava, bakmayacaksın. Akıllı telefon için mobil istemcim hakkında henüz bana bildirilmedi. Kayıtlı. Yapmaya çalışacağım. Sonuçları çok erken yapmak için.

Blynk.

Uzaktan kumanda "akıllı cihazlar" için aktif olarak teşvik edilebilir hizmet. Hatta agresif bir şekilde söylerdim - tüm forumlar ihtiyacımız olan ve gerekli olmadığı yerde yazıyor. Genel olarak, kişisel görüşüm, bu platform sevenler için değil, iş için değil. "Serbest modda", LED'i hatırlamak veya bir röle açmak dışında çok az kaynak verilir. Genel olarak, bir kez denedim - ve hemen kaynaklar ve sona erdi. Aşırı aç gözlü.

artış: bulunamadı

Eksi: Garegi, mobil müşteri sadece bir tane

Hepsi ise. ESP'yi uzaktan yönetmenin başka yollarını biliyorsanız ("Mobile" ile gereklidir) - Lütfen bana e-posta gönderin. Bize bir makale ekleyelim ve muhtemelen bir makale ekleyelim.

Cloud Server Remotexy aracılığıyla bağlantı, cihazın bir internet olduğu yerde dünyanın herhangi bir yerinden kontrol etmenizi sağlar.

ESP8266 modülü, WiFi erişim noktasına bağlanmak için bir istemci olarak yapılandırılacaktır. Erişim noktası internete erişimi olmalıdır. Remotexy kütüphanesi cihazı bir bulut sunucusuna kaydeder.

Mobil uygulama bulut sunucusuna bağlanır ve doğrudan cihaza bağlanır. Böylece, cihaz internetteki herhangi bir yerden ulaşılacaktır.

Not:İÇİNDE şu an Bir bulut sunucusundaki bağlantı bir test adımı geçer. Bu, sunucudaki olası kesintilerdir.

Adım 1. Grafik arayüzü projesi oluşturun

Adım 5. ESP8266'yı ayarlayın

ESP8266 modülünün yapılandırılması gerekir. Belki de modülünüz zaten gerekli varsayılan ayarlara sahiptir, ancak kontrol etmek daha iyidir.

Kontrol etmeniz gerekenler:

  • Modül, V0.40'dan düşük olmayan sürüm komutlarının desteğiyle bir ürün yazılımı vardır;
  • Modül 115200 hızı için yapılandırılmıştır.

Adım 6. ESP8266'yı Arduino Uno'ya bağlayın

ESP8266'yı aşağıdaki şemaya göre ARDUINO UNO'ya bağlayın. Lütfen RX-TX kişilerinin crosshair ile bağlandığını unutmayın.

ESP8266 modülünün sinyallerinin düzeyleri 3.3V ve Arduino'dadır, 5V'dir, sinyal seviyesini dönüştürmek için dirençli bir voltaj bölücüsü kullanmak gerekir.


Adım 7. Arduino'daki kroki yükleyin.

Eskiz Arduino'da olağan şekilde yüklenir. Bununla birlikte, ESP8266 modülünün Rehber 0 ve 1'e bağlı olması nedeniyle, programlama imkansız hale gelir. Derleyici bir hata gösterecektir.

Programlamadan önce, temas edenler 0 ve 1. programlamasından ESP8266'ya giden tellerin fişini çekin. Sonra kontakları yere iade edin. Arduino Reset düğmesine tıklayın.

Not:İlk işaret, programlamanın başarıyla geçtiği, bu, sıfırlamadan hemen sonra ESP8266 modülündeki Mavi LED'in yanıp sönmesidir. Mavi LED'in titremesi, Arduino ve ESP8266 arasında veri alışverişi anlamına gelir. Bu 8'de Arduino, ESP8266'yı erişim noktasına bağlanmak için yapılandırılmış olarak yapılandırılmıştır. Bir süre sonra, LED tekrar yanıp söner, bu da Remotexy Cloud sunucusuna kaydolma girişimleri anlamına gelir.

Adım 8. Mobil uygulamanızdan bağlanın.

Power ESP8266'yı kontrol edin.

ESP8266'nızın güç kaynağı gücünden yoksun olması da mümkündür. Bazı Arduino panolarının, tepe modlarında 200-300 mA yayınlayabilmesi için zayıf bir voltaj stabilizatörü 3.3 V'dir. Bu durumda, seri monitörde, komut dizisinin bir molasını da göreceksiniz.

Vadim Kolesnik, Tiraspol

Arduino'da bir bulut hizmeti kullanarak tam özellikli internet cihazlarının heyecan verici, basit ve hızlı gelişimi

Genel

myDevices, Şeylerin İnternet'teki yazılım ve uygulamaların geliştirilmesinde (iot) ve Avanquest'in bir bölümüdür. MyDEvices Cayenne - Ahududu PI'da Basitleştirilmiş IOT geliştirme projeleri için ilk sürükle ve bırak uygulama ve bulut hizmeti.

Radiotozman portalının yakın zamanda, Ahududu Pi Tek Yönetim Kurulu Bilgisayar (RPI) üzerinde çalışırken sistemin ana avantajlarını ve yeteneklerini ortaya çıkarmaya çalıştığım için yayınlandı. Ancak, Cayenne Projesi sürekli gelişiyor, geliştiriciler, kullanıcıların isteklerine dayanarak, yavaş yavaş yeni özellikler ekler, eksiklikleri ve hataları ortadan kaldırır.

Cayenne ile çalışırken Arduino ve Ahududu PI'deki IOT cihazlarının gelişimi temel olarak farklılık gösterir. Ahududu PI ile ilgili olarak, Cayenne platformu görsel geliştirme ortamı olarak kabul edilebilir: Fiziksel olarak farklı çevre birimlerini Ahududu PI tahtasına bağlıyoruz ve daha sonra yalnızca çevrimiçi Cayenne ortamında çalışıyoruz (widget'ları, veri işleme, yazma otomasyon algoritmaları).

Arduino ile ilgili olarak, Cayenne Dashboard, yalnızca sensörlerden gelen verileri görselleştiren ve kontrolleri veya diğer yürütme cihazlarını kontrol etmek için kullanıcı verilerini ileten bir dizi widget ve kontrol grubudur. Doğrudan sensörlerle, yürütme aygıtları, ek çevre birimleri (örneğin, ekran, ikinci klavye) ile çalışma, otomasyon koşullarının işlenmesi mikrodenetleyiciye atanır. Başka bir deyişle, her şey Arduino'daki cihazın standart gelişimine geçiyor; Kullanıcının kendisi program kodunu yazar, ancak Cayenne'nin esnek iot fonksiyonlarının projesine entegrasyonla. Bu görüşte, bence, bence, Cayenne'nin temel avantajı: Desteklenen çevre birimlerinin listesini sınırlamadan, herhangi bir sensör ve aktüatörleri sisteme bağlayabilirsiniz.

Kullanıcı arayüzü ve iş hazırlığı

Sistemin kullanıcı arayüzü için, ayarları, kontrol yöntemleri ve gösterge tablosundaki kontrol yöntemleri ve widget'larına gelince, tüm bu, elbette, bireysel benzersiz unsurlar hariç, bireysel benzersiz unsurlar hariç (örneğin, A) Uzak Masaüstü, Hafıza Durumu, İşlemci Yükleniyor). Bu nedenle, sistemle çalışmanın temellerini anlamak için, makalelerle tanışmayı öneririm. Makaledeki tüm bilgiler, hem sistemin hem web arayüzü hem de mobil uygulama arayüzü için geçerlidir. Ayrıca, makalede, desteklenen çevre listesinin bir listesini gösterir.

IOT cihazlarını veya uygulamalarını geliştirmek için, ihtiyacımız var:

  • CAYENNE HİZMETİ ÜZERİNE HESABI (MEVCUT KULLANINIZ);
  • Entegre bir Arduino IDE geliştirme ortamı kurun;
  • Arduino IDE'de Cayenne işlevlerinin bir kütüphanesini ekleyin;
  • Arduino IDE'yi yapılandırın: Bir ücret ve bağlı olduğu COM bağlantı noktası seçin;
  • Arduino Ethernet Shield veya Wi-Fi Shield Uzantı Kuruluna bağlanın (veya Arduino kartını entegre bir ağ arayüzü ile kullanın).

Arduino IDE geliştirme ortamını kurma sürecinin yanı sıra açıklamalardaki ücret ve limanların seçimi gerek yok ve ana birine gideceğiz.

Arduino için Cayenne Kütüphanesi, Kütüphane Yöneticisi'ni kullanarak basit ve hızlı bir şekilde kurulur (Şekil 2).

Kütüphaneyi kurduktan sonra, uygulamalarınızda kullanabiliyoruz ve Cayenne adına sahip yeni bir klasör, Eskiz Örnekleri bölümünde görünecektir. Bence, bu örnekler, sistemle nasıl çalışacağınızı tam olarak anlamanıza izin vermez, ancak yine de, keşfedilmeleri gerektiği ve ayrıca, Cayenne sisteminde belgelerin büyük bir bölümünün olduğunu hatırlatalım. Genel durumda, bu kütüphane, sensörler / aktüatörler ve bulut hizmeti arasındaki bağlantı ve veri alışverişini basitleştirmenize izin veren bir skeç kümesidir.

Hazırlık işlemlerini gerçekleştirerek, Geliştirme ortamını ve Ethernet kalkanı uzatma kartının bağlantısını yapılandırarak, IOT cihazını geliştirmeye başlayabilirsiniz.

Arduino bir USB bilgisayara bağlanır, Ethernet Shield'da yerel ağ kablosunu bağlayın. İnternet tarayıcısında, Cayenne hesabına giriş yapıp kontrol panelinde yeni bir cihaz ekliyoruz - Arduino. Sonra, Kurulun türünü, İnternete bağlanma yöntemi (oldukça fazla seçenek), cihazımızın benzersiz yetki anahtarına dikkat edin ve Arduino kartının Cayenne'ye (Şekil 3) bekleyin.

Her yeni cihaz için, gelecekte Cihaz Ayarlarında (Ücretler) bulunabilecek yeni bir benzersiz anahtar oluşturulur.

Ağa bağlanmanın bir yolunu seçtiğinizde, Microcontroller programının kaynak koduna sahip bir pencere görünecektir. Cihazı bulut servisine bağlamak için gereken minimum budur. Lütfen programın metninin, yetkilendirme anahtarınızı zaten belirttiğini ve seçilen ağa bağlanma yöntemine karşılık gelen kütüphaneyi bağladığına dikkat edin (Şekil 4). Bu kodu Arduino IDE'de kopyalayın, ücretle derleyin ve yükleyin. Her şey uygun şekilde yapılandırılmışsa, artık Widget'ları ve kontrolleri ekleyebileceğiniz, Cayenne kontrol panelinde yeni bir aktif cihaz ve gösterge tablosu görünecektir. Ayrıca, zaten bu aşamada, mevcut dijital ve analog Arduino bağlantı noktalarını uzaktan kontrol ederek, tek bir kod satırı yazmadan, bir widget ekleyerek, bir widget ekleyebilir, portun türünü (dijital), tahtadaki adını belirtebilir ve Widget'ı kaydedin. Şimdi, tarayıcıdaki düğmeye tıklayarak, portun mantıksal durumunu değiştirirsiniz. Ayrıca, sadece uygun widget'ları ekleyerek, PWM çıkışlarını yönetebilir, analog Arduino girişlerinden "RAW" verilerini alabilirsiniz, dijital girişlerin durumunu kontrol edebilirsiniz.

Belirli bir örnekte bir cihazın geliştirilmesi

Şimdi size sistemin ek özelliklerini ve işlevlerini anlatacağım. Örnek olarak, aşağıdakileri içeren basit bir sistem topladım:

  • Arduino Uno Board;
  • Wiznet W5100 Denetleyicisi'nde Ethernet Shield Uzatma Kurulu;
  • DS18B20 sıcaklık sensörü;
  • Fotorezistor;
  • Termistör;
  • Birkaç led;
  • SSD1306 denetleyicisinde OLED ekran.

Bağlantı sensörlerinin ve arduino için LED'lerin şematik bir diyagramı, Şekil 5'te gösterilmiştir.

Çeşitli sensörlerin ve aktüatörlerin bağlantısı ile ilgili soruların çoğunun, belgeler bölümündeki cevapları bulabileceğinizi hatırlatayım.

LED'leri, dijital sıcaklık sensörünün ve OLED'in soruların biriktirmesinin ortaya çıkmayacağını düşünüyorum. Analog aydınlatma ve sıcaklık sensörleri, dirençli bölücü şemasına göre analog girişlere bağlanır. Aynı zamanda, termistörün zinciri için, R6 direncinin tam direncini bilmek gerekir, bu değer hesaplamalar sırasında kaynak kodunda kullanılacaktır.

Diyagramda belirtilen makaleleri bağladıktan sonra, Sketch Arduino'yu yazın ve daha sonra Cayenne Dashboard'a gerekli widget'ları kurun. Şu anda, Arduino Kurulu zaten minimum kroki yükledi ve Kurul Cayenne Dashboard'da belirlendi. Yukarıda söylediğim gibi, bu aşamada, D1, D2 LED'lerini kontrol etmek için widget'lar ekleyebilir ve ayrıca termistörün ve fotorezistörün bağlandığı analog girişlerden "ham" verileri elde edebiliriz (Şekil 6, 7).

Tek bir Arduino kodunu yazmadan önce basit bir uzaktan kumanda sistemi ve kontrolü aldık (Şekil 8).

Dijital sıcaklık sensörlerini, termistör, PWM'yi kullanmak için, örneğin D2 LED'ini kontrol etmek için minimum kroki eklemek gerekir. Başlamak için gerekli kütüphaneleri tanımlarız.

#Dahil etmek.< CayenneEthernet.h> // Ethernet kalkanı uzatma ücretini kullanın
#Dahil etmek.< CayenneTemperature.h> // termistör ile veri dönüştürme fonksiyonları
#Dahil etmek.< OneWire.h> // 1 telli otobüsle çalışmak için fonksiyonlar
#Dahil etmek.< DallasTemperature.h> // dijital sıcaklık sensörleriyle çalışmak için fonksiyonlar
#Dahil etmek.< Arduino.h> // standart sabitler ve değişkenler Arduino.
#Dahil etmek.< U8x8lib.h> // Metin modunda OLED ekran ile çalışmak için kütüphane
#Dahil etmek.< Wire.h> // Donanım arayüzü için destek 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 // - D2 LED'i için, PWM'nin değeri hakkında veri alacağız.
#Define led2_pwm 6 // D2 LED'in bağlı olduğu gerçek Arduino bağlantı noktası

Sanal kanallar dijital değildir ve analog giriş / çıkış portları değildir. Analog girişleri okurken, kullanıcı 10 bitlik bir mikrodenetleyici ADC'den veri alır. ADC tarafından döndürülen değerler 0 ... 1023 aralığında ve bu girişteki voltajla orantılıdır. Başka bir deyişle, sıcaklık sensörünü analog Arduino girişine bağlarsanız, sıcaklık değerini alamayacaksınız, voltajın sıcaklığını dönüştürmek için ek dönüşümler ve matematiksel hesaplamalar gerekecektir.

Veri dönüştürmeyi, biçimlendirme ve işlemeyi basitleştirmek için sanal kanallar tasarlanmıştır. Bu, Arduino ve Cayenne arasında değiş tokuş etmek için kullanılan ve ayrıca gösterge tablosundaki anlaşılır görselleştirmelerinin amacı için kolay veri biçimlendirme için kullanılan oldukça güçlü bir araçtır. Unutmayın, sanal kanalların fiziksel parametreleri yoktur.

Cayenne.virtualwrite (v1, 123) // tamsayı değerinin iletimi Sanal Kanal V1
Cayenne.virtualwrite (v2, 12.34) // Yüzer virgül değerlerinin devri Sanal kanal v2

Örneğin, analog sıcaklık sensörünü okuyarak, değeri Santigrat derecelerine dönüştürebileceğiz ve bu değeri gösterge paneline aktarabiliyoruz. Ek olarak, sanal kanallar, herhangi bir ek kodu yazmaya gerek kalmadan, Arduino analog veya dijital bağlantı noktalarına bağlı herhangi bir çevre kontrolünü uygulamanıza izin verir. Şu anda, sanal kanalların çalıştığı iki tür veri desteklenir: Tamsayı (tam sayı) ve kayan nokta (yüzer). Gelecekte, sembolik tipleri ve dizilerin desteklenmesi planlanmaktadır. Sanal kanaldaki gösterge panelinde, kullanıcı widget tarafından görselleştirme için alınan veri türünü bağlayabilir ve yapılandırabilirsiniz.

// DS18B20 sensörlerinin bağlanacağı dijital bağlantı noktası. Arduino 0 ve 1 (RX / TX) bağlantı noktaları kullanmayın.
Const Int DS18B20_PIN \u003d 2;
// Termistörün bağlı olduğu analog bağlantı noktası.
Const Int Termistorpin \u003d 0;
// Kalıcı Bir Dirençeye Dayanıklı (9 COM), termistörlü bir termistöre dahil edilmiştir.
Const Float Direnci \u003d 9000;
// Cayenne Yetkilendirme Anahtarı. Cihaz ayarları sekmesinde Cayenne Web Arayüzünde bulabilirsiniz.
Char belirteci \u003d "640c9odi4";
Onewire onewire (DS18B20_PIN);
Dallastemperature sensörleri (ve onewire);
Termistör termistör (termistörpin, direnç);

Ek olarak, neredeyse herhangi bir aşamada, hata ayıklama bilgisi seçimini kaynak koduna sıralı bağlantı noktasına ekleyebilirsiniz.

Başlatma bölümünde aşağıdaki işlevleri göstereceğiz:

void kurulumu ()
{
Cayenne.begin (belirteç); // Belirtilen Yetkilendirme Anahtarı ile Cayenne'ye Bağlayın
Sensörler.Begin (); // dijital sıcaklık sensörlerinin başlatılması
u8x8.begin (); // OLED ekranda başlatma ve metin bilgi ekranı

u8x8.setpowersave (0);
u8x8.setfont (u8x8_font_torussansbold8_r);
U8x8.Drawstring (2.0, "Cayenne Test");
u8x8.Drawstring (1,2, "Sistem Koşu");
}

Ana program döngüsünde, yalnızca bir fonksiyona sahip olacağız:

boşluk döngüsü ()
{
Cayenne.run ();
}

Cayenne Dashboard ile tüm veri alışverişi birkaç fonksiyon kullanılarak gerçekleştirilir:

Cayenne_in (Virtual_Pin) - Cayenne sunucusundan sanal kanal üzerinden güncellenmiş verilerin aygıtı tarafından alındıktan sonra adlandırılan işlevi belirtir.

Cayenne_out (virtual_pin) - Güncellenmiş verileri cihazdan Cayenne sunucusuna göndermek istediğinizde çağrılan işlevi belirler.

Cayenne_connected () - Cihazın Cayenne sunucusuna bağlı olduğu her seferinde fonksiyon gerçekleştirilir. Genel olarak, bu özellik senkronize etmek için kullanılır.

Cayenne.syncall () - Tüm widget'ları senkronize etmek için Cayenne sunucusuna bir istek oluşturan bir fonksiyon. Analog ve dijital Arduino bağlantı noktalarının durumu restore edilecek ve her sanal kanal Cayenne_in olayını üretecektir.

Cayenne.syncvirtual (virtual_pin) - Belirtilen sanal kanalla senkronizasyon. Yürütme sonucu, karşılık gelen Cayenne_in işleyicisi denir.

Diyagramımda, D2 LED'i D6 Arduino dijital bağlantı noktasına bağlanır. Bu port alternatif bir fonksiyona sahiptir - PWM çıkışı. Bu LED'lerin uzaktan kumandasını PWM modunda uygulamak için, gösterge tablosundan veri almanız gerekecektir. Bunu yapmak için, V2 v2 üzerinden veri güncellendiğinde yürütülecek bir işlev yazın:

Cayenne_in (v2)
{
// Verileri PWM'nin gösterge panelinden (kaydırıcı) değerine getirin.
int pwmvalue \u003d getValue.asint (); // 0 - 1023 aralığında değer
Analogwrite (LED2_PWM, PWMVALUE / 4); // PWM için, değer 0 - 255 aralığında olmalıdır
}

Şimdi gösterge tablosundaki "Slider" widget'ını LED_2 PWM (PWM) adı ve ayarlarında ekleyeceğiz, sanal bir kanal 2 üzerinden çalıştığını belirtiriz (Şekil 9).

Kurulundaki kroki indirdikten sonra, Kaydırıcıyı Cayenne Dashboard Kontrolü'ndeki D2 LED'in parlaklığını kontrol etebilirsiniz. Her şey çok hızlı ve kolay ...

Cayenne_out (v0)
{
Sensörler.RequestTemperatures (); // dijital sıcaklık sensörlerinden veri al.
// termistörden verileri dönüştürün, bunları formatlayın ve sanal kanal v1 üzerinden sunucuya gönderin.
Cayenne.celsiuswrite (v1, termistör.getcelsius ());
// verileri bir dijital sıcaklık sensöründen biçimlendirin ve bunları sunucu sanal kanalına V0 gönderin.
Cayenne.celsiuswrite (v0, sensors.gettempcbyindex (0));
}

Sanal kanalların kullanılması sayesinde, kesinlikle farklı verileri iletmek için tüm fonksiyon kodu iki satırdan oluşur. Gösterge panelinde, DS18B20 sıcaklık sensörü ve termistör için widget'lar ekleyin (kontrol panelinde hazırlar). Widget'ları özelleştirin, kroki ücrete yükleyin ve ... Hazır (Şekil 10A, 10B)!


Şekil 10. Arduino'yu kontrol etmek için Cayenne Dashboard'un görünümü (sıcaklık sensörleri,
Işık, LED kontrol D1, PWM LED kontrolü D2):

Aynı kontrol ve kontrol fonksiyonlarının mevcut olduğunu unutmayın. mobil uygulama. Web arayüzüne takılan tüm widget'lar bir mobil uygulamada görecektir (Şekil 10b).

Görünüm Bağlı çevre birimleri olan cihazlar Şekil 11'de gösterilmiştir.

Kablosuz iot cihazları geliştirme yeteneği

Bazı ekran görüntülerinde, kontrol panelimin görünür olduğunu fark edebilirsiniz, burada Arduino UNO ve Ahududu PI'ye ek olarak, ESP8266-1 adlı bir cihaz var. Tamam ek cihaz Cayenne sunucusuna Wi-Fi ile bağlanan ve ayrı kontrol paneline bağlı olan tanınmış ESP-12 modülünde (ESP8266) (Şekil 12A, 12B). Böyle bir cihaz kablosuz bir kontrol ve kontrol düğümüdür. İki LED modüle (biri ESP8266 PWM çıkışına bağlanır) ve DS18B20 dijital sıcaklık sensörüne bağlıdır.


Şekil 12. ESP-12 modülünde kablosuz cihaz için gösterge tablosu:
a) Web arayüzü, b) Mobil uygulama.

ESP8266 kernel, Arduino IDE çevrenin desteği sayesinde Cayenne ile kablosuz IOT cihazların uygulanması Arduino üzerinde geliştirmeden farklı değildir. Başka bir deyişle, ESP8266 çipindeki herhangi bir modül, Wi-Fi arayüzüne sahip bir Arduino tahtasıdır. Bu Wi-Fi modülü için, benzer bir taslak yazıyoruz, aynı kütüphaneleri sensörlerle çalışmak için kullanıyoruz, dijital ve analog giriş / çıkış portları bizim için kullanılabilir. Bu modül çok miktarda bilgi, çeşitli belgeler ve gelişmeler biriktirmiştir.

ESP8266 modülüne çevre bağlantı şeması, Şekil 13'te gösterilmiştir. Entegre bir güç devresi ve programlama arayüzü olan bir geçiş kurulu olmadan ayrı bir ESP-12 modülü kullandım. Optimum seçenek, Arduino Form Faktöründe yapılan ve bir arabirim eşleştirme şemasına sahip olan hazır bir NODEMCU V3 tipi modülün kullanılması olacaktır. (Büyük ölçüde Önemli an Modülü programlarken). Modülün bağlı LED'li ve sıcaklık sensörü ile görünmesi Şekil 14'te gösterilmiştir.

Cayenne sunucusuna ve veri alışverişine bağlanma gelince, Arduino için her şey burada. Sanal kanallarla ilgili tüm kavramlar kaydedilir, aynı işlevler kullanılır, benzersiz yetki anahtarı da kullanılır. Sadece modülün bağlantı aşamasında internette fark.

Cihazı ESP8266 modülüne bağlamak için, herhangi bir Arduino kartının eklenmesine benzer şekilde hareket ediyoruz ve cihazı minimum krokunun oluşturulacağı Cayenne'ye bağlamak için bekleme moduna tepki gösteriyoruz.

Bu taslağı değiştirmemiz gerekiyor. Aşağıdaki kitaplıkları bağlıyoruz:

#İnclude "cayennededefines.h" // Sabitler ve Değişkenler Cayenne
#include "bllynksimpleesp8266.h" // esp8266 ile çalışmak için fonksiyonlar
# "cayennewifylient.h" // Wi-Fi istemcisinin uygulanması için fonksiyonlar

char belirteci \u003d "3YJ62U9OGI";
Char ssid \u003d "network_ssID"; // Wi-Fi ağınız için SSID ve şifre.
Char şifresi \u003d "network_password";

Başlatma bölümünde bir dize ekleyin:

Cayenne.begin (belirteç, SSID, şifre);

Modül içine yüklenerek derleme (Arduino panosuna indirmekten daha uzun sürer), Cayenne Dashboard'da yeni cihazı bağlamak ve etkinleştirmek için sabırsızlanıyoruz. Sonra, Arduino'ya gelince: Sensörler ve G / Ç bağlantı noktaları ile çalışmak için işlev ekleyin, gösterge tablosuna widget ekleyin. Sadece keyifli, değil mi?

Sonuç

Ahududu Pi ve Arduino üzerinde Cayenne ile çalışmanın sonuçlarına göre, kesinlikle Ahududu PI bile Cayenne ile, şeylerin internet cihazlarını geliştirmek için kullanılmamalıdır söyleyebiliriz. Arduino hakkında söylenmeyenler - sınırlı kaynaklara rağmen, çoklu görevin olmamasına rağmen, düşük bilgi işlem gücü (ancak, bu, silah işlemcilerindeki yeni Arduino kurullarının özellikleri göz önüne alındığında), basit iot geliştirmek için idealdir Cihazlar ve ev otomasyon sistemleri.

Ek olarak, bu bağlamda, Arduino'nun ana avantajı, yukarıda fark ettiğim gibi, Arduino'dan öğrenilemeyen profesyonel programcıların argümanlarına rağmen, bir cihaz geliştirme, devre yazma, kod yazma, programlama becerilerini geliştirme yeteneğidir. Belki de, ama ... Arduino ile ilgili olarak, Cayenne platformu sadece grafik sağlar kullanıcı arayüzü Ve bazı basitleştirilmiş veri işleme. Gerisi, sensörlerden, olay işleme alt sisteminin yanı sıra otomasyon algoritmalarından birincil veri işleme dahil olmak üzere kendinizi geliştirmeniz gerekir. Artık, Wi-Fi modülüne kablosuz iot cihazlarını geliştirme kolaylığına ve Zengin bir çevreye sahip olan en son ESP32 çipi olan ve temel olarak yeni cihazlar geliştirmek için en çok fırsatlara sahip olduğunuz ve zaten resmi desteği (tamamlanmadı) ekleyin ve Bu süreç çeken de sadece severler ama profesyoneller olduğunu.

Hazırlık sırasında, Cayenne, ESP8266 yongasındaki modüllerin resmi desteğinde bildirilmedi. Başlangıçta, bu, Cayenne kütüphanelerini kullanan, Arduino IDE'yi çalışan ve ESP8266'nın desteğini bilen ve ESP8266'nın desteğini bilen, ESP8266'yı kullanarak kullanan ve ESP8266'nın desteğini bilen haklarıdır. Ancak o zaman bile, Cayenne'nin topluluk forumları zaten aşina olabilirdi büyük miktar Kablosuz iot cihazlarının farklı projeleri.

Arduino ve ESP8266'daki cihazlarının uzun bir testinden sonra, ikincisinin çok kararlı çalıştığını söyleyebilirim. Ethernet Shield ile birkaç Düşük Güvenilirlik Arduino ünlü problem W5100 denetleyicisi askıda kalır, ancak hem donanım hem de yazılımı çözmenin birkaç yolu vardır. Bunun, Entegre Ethernet veya Wi-Fi ile Arduino Kurullarını ilgilendirmediğini varsayabilirim.

Ahududu Pi ve Cayenne hakkındaki makalenin hazırlanmasının anından itibaren, fazla zaman yoktu, ancak yeni özellikler ve desteklenen çevre daha büyük oldu. Çeşitli uzatma panoları, sensörler ve yürütme cihazlarının, ilgili kütüphaneler, projeler ve Arduino örneklerinin büyük bir seçimine sahip olmanın yanı sıra, şimdi Cayenne kullanıcıları mevcut cihazlar, ağlar ve hizmetler Lora, destek kütüphaneleri ağ protokolü Arduino, C, C ++, Mbed, MQTT Broker Cosquito ile çalışmak için kütüphaneler için MQTT. Kesinlikle, Arduino'da internet cihazları ve ev otomasyon sistemleri geliştirmek için, Cayenne hizmetlerini tavsiye ederim.

Daha önce, izlemek için bir Arduino cihazı oluşturmak için bir bisiklet sundum.

İlginçti.

/ * - Yeni Proje - Bu kaynak grafiksel kullanıcı arayüzünün kodu Remotexy Editor tarafından otomatik olarak oluşturulmuştur. Bu kodu remotexy kütüphanesini kullanarak derlemek için 2.3.5 veya sonraki sürümünü kullanarak link http://remotexy.com/en/library/ link http://remotexy.com/en/download/ tarafından Remotexy Mobile uygulamasını kullanarak bağlamak için Android 4.3.1 veya sonraki sürüm; - iOS 1.3.5 veya sonraki sürüm için; Bu kaynak kodu ücretsiz bir yazılımdır; Ücretsiz Yazılım Vakfı tarafından yayınlanan GNU Daha Küçük Genel Kamu Lisansı şartlarına göre yeniden dağıtabilir ve / veya değiştirebilirsiniz; Lisansın 2.1 sürümü veya (seçeneğinizde) daha sonraki bir sürüm. * ///////////////////////////////////// // // Remotexy Kütüphanesi Dahil // /// bağlantının ////////////////////////////////////////// // // Tanımı modu ve Remotexy #define Remotexy_mode__Sp8266_mode__sp8266_mode__sp8266_hardservial_cloud #include bağlantı // bağlantı ayarları #define remotexy_serial_speed 9600 #define remotexy_wifi_ssid "***********" #define remotexy_wifi_password "*********" #define remotexy_cloud_server "bulut. remotexy .com "#define remotexy_cloud_port 6376 #define Remotexy_Cloud_Token" ************************** "# ekleme // DHT11 DHT11 DHT kütüphanesini ekleyin; // değişken sınıfının duyurusu DHT11 #DEFINE DHT11_PIN 7 // Sensör DHT11, Dijital Çağ Numarasına 4 Const Int AnalogSignal \u003d A3'e bağlanır; // bir analog sinyalizasyon pimi const int digitalsignal \u003d 8 bağlayın; // Dijital sinyalin bağlanması Pina Boolean Nogas; // gaz int gazının varlığının depolanması için değişken \u003d 0; // gaz miktarını depolamak için değişken hum \u003d 0; // nemi depolamak için değişken sıcaklık sıcaklığı \u003d 0; // int chk sıcaklığını depolamak için değişken; // DHT char msgbuffer hatasını depolamak için değişken; // konfigürasyon arayüzü #pragma paketi (itme, 1) uint8_t remotexy_conf \u003d (255,1,0,24,0,74,0,8,13,2, 2,0,38,44,22,11,7, 81,22,11, 2,26,31,31,79,78,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,26,5,20, 5.38,23,20,52,26,11,67, 4, 63,6,20, 5,39,52,20,5,26, 11); // yapı Yapı kontrol arayüzünüzün tüm değişkenlerini belirler (// giriş değişkeninde UINT8_T Switch_1; // \u003d 1 Anahtar açılırsa ve \u003d 0 Devre dışı bırakılırsa // çıkış değişkeni Int8_t LEVEL_1; // \u003d 0..100) INT8_T level_2 seviyesi konumu / / \u003d 0..100 seviyesi konumu CHAR metin_1; // \u003d Sıra UTF-8 sıfır karakter text_2 bitiş; // sıfır // Diğer değişken uint8_t Connect_Flag biten \u003d Satır UTF-8; // \u003d 1 Tel bağlı ise, Diğer \u003d 0) REMOTEXY; #Pragma Paketi (POP) /////////////////////////////////////// // END REMOTEXY DAHİL // ///////////////////////////////////// // // /// #define pin_switch_1 13 void setup () (remotexy_init (); pinmode (pin_switch_1, çıktı); // TODO kurulum kodu) geçersiz döngü () (remotexy_handler (); DigitalWrite (pin_switch_1, (remotexy.switch_1 \u003d\u003d 0) Düşük:? Yüksek); nogas \u003d DigitalRead (DigitalSignal); // Gör GAS \u003d Analogread (AnalogSignal) varlığı Hum \u003d DHT.Humidity;, Sıcaklık \u003d DHT.temperature; // ve sayısı CHK \u003d DHT.READ (DHT11_PIN) yaklaşık remotexy.level_1 \u003d Hum; remotexy.level_2 \u003d temp; dtostrf (Hum, 6, 2, Remotexy.text_1); dtostrf (sıcaklık, 6, 2, remotexy.text_2); // todo Döngü kodu / / kullanım veri aktarımı için Remotexy yapı )

Kurullardan bir sandviç kullanıyoruz.

Birdenbire, hemen kazanılan her şey:

Bulut servisini keşfetmenin anından, yukarıdaki fotoğrafa remotexy bir saat geçti.

Remotexy ile çalışma özellikleri.

1. Her şey çok basittir. Kendi yolunda iyidir. Blynk ve Cayenne ile, örneğin, bir saatte sıfırdan neredeyse hiç çizikten anlaşılıyor. Örneğin, "KASCADA CUDD", özel satın almanız gerekir.

2. Sunucu tarafında veri işleme ve depolanması yoktur: Kurulla bağlantı yok - Uygulama "Bağlantı Yok" asılı.

3. Sadece 5 tasarım öğesi ücretsiz, ancak Pro uygulaması, zamanın yarısından daha pahalı değildir.

4. Bir başvurudan hem bir bulut sunucusu aracılığıyla hem de doğrudan bir tahta ile iletişim kurması için bir fırsat var. Doğru, aynı zamanda değil. Tabii ki. Ve derhal imkansız anahtarı - Kuruldaki kroki değiştirmeniz gerekir. Ayrıca bir akıllı telefonu Bluetooth ve USB kartı ile iletişim kurma yeteneği vardır.