Arduino Cloud ile Bulut Uygulaması Nasıl Yapılır?

Nesnelerin İnternetinde Arduino Cloud üzerinden nasıl bir bulut uygulamasının yapılabileceğini adım adım anlatacağım. Arduino Agent’ın bilgisayarımıza nasıl kurulacağı, devamında ilgili WeMos cihazının nasıl ekleneceği, oluşturmuş olduğumuz nesneyle nasıl ilişkilendirileceği, nesnemizi yöneteceğimiz bir Dashboard’un nasıl oluşturulacağı anlatılmıştır. Nesnemizi internete bağlayıp gömülü olan Led üzerinden basit bir led açıp kapatma uygulaması yapılmıştır.

Arduino Cloud Kayıt Olun

Arduino butonuna tıklayarak ilgili kayıt işlemlerini gerçekleştirdikten sonra sisteme giriş yapalım.

Arduino Cloud Agent Kurulumu Nasıl Yapılır?

Üst menü üzerinden Arduino Clouda tıklayarak da ilgili sayfaya ulaşabilirsiniz. Başlamak için iyi seçeneklerden birisi olan Discover Arduino Cloud bağlantısına tıklayalım.

Arduino Cloud’da birşey yapmaya başlayın. Arduino Cloud, çeşitli cihazlarda Arduino projeleri geliştirmek için uygulamalar, web hizmetleri ve kaynaklar sağlar. Bu başlangıç rehberi sayesinde Arduino kartını yada bir cep telefonunu kullanarak Cloud’un neler sunabileceğini keşfedeceğiz.

LET'S MAKE butonuna tıklayarak devam edelim.

Cihazımızın keşfedilebilir hale gelmesi ve yazmış olduğumuz kodların Arduino Cloud platformundan cihazımıza yükleyebilmemiz için Arduino Cloud Agent’ın son sürümünü yükleyelim. Bunun için DOWNLOAD butonuna tıklayalım.

Uyarı

Eğer File not found hatası alırsanız buradaki bağlantıya gidiniz.

START butonuna tıklayalım ve devam edelim.

DOWNLOAD FOR WIN64 diyerek devam edelim(sisteminize göre seçim yapınız!) ve ilgili kurulum dosyasını bilgisayarımıza kaydedelim. İlgili kurulumu tamamlayalım.

Uyarı

Kurulum esnasında karşılaştığınız izinleri vermeyi unutmayınız!…

Antivirüs tarafından karantinaya alınma gibi birşey ile karşılaşırsanız aşağıdaki gibi bir durum ile karşılaşabilirsiniz.

Eksik driver’lar var ise kurulumlarını tamamlayalım.

Başarılı bir şekilde Agent’ımızı kurduk.

Nesne Nasıl Eklenir?

Daha önceden eklediğimiz nesnelerin interneti cihazlarımızı görmek yada nesnelerin interneti cihazlarımızı yeniden eklemek için IoT Cloud seçeneğine tıklayalım.

Henüz hiç nesnemiz bulunmamaktadır. CREATE THING butonuna tıklayarak yeni bir nesne ekleyelim.

Bir tane IoT cihazına ihtiyacımız vardır. Biz burada WeMos D1 R1 kullanacağız. Bu kartın görselini aşağıda görebilirsiniz.

Oluşturduğumuz nesnenin adını koyalım.

Nesneye Bağlı Cihaz Nasıl Eklenir?

İlgili kartımızı bilgisayarımıza bağlayalım. Associated Device başlığı altında yer alan Select Device butonuna tıklayarak yeni bir cihaz ile ilişkilendirelim.

Thing 1 ile ilişkinlendirmek istediğiniz cihazı seçmemizi istiyor. Bunun için SET UP NEW DEVICE butonuna tıklayalım.

Arduino değil de Wemos kartı kullandığım için Third party device seçeneğiyle devam ediyorum.

Yapılandırmak istediğimiz cihazın modelini seçelim.

Cihazımıza bir isim verelim ve NEXT seçeneğiyle ilerleyelim.

Burada Cihaz ID’mizi ve Gizli Anahtarımızı bir yere kaydedelim. Herhangi bir gizli anahtarın kaybolması durumunda cihazı silip yeniden kurmamız gerekecektir.

Download the PDF bağlantısına tıklayarak önem arz eden bilgilerimizi bilgisayarımıza kaydedebiliriz.

Önemli olan bilgilerimizi bir yere kaydettikten sonra I saved my device ID and Secret Key seçeneğini işaretli hale getirelim ve Continue seçeneğiyle devam edelim.

Done seçeneğine tıklayarak işlemimizi tamamladık.

Cihazın Bağlanacağı Ağ Nasıl Tanımlanır?

Cihazımızı bağlayacağımız ağı burada tanıtmamız gerekiyor. Bunun için Network başlığı altında Configure seçeneği ile devam edelim.

Kullanacağımız ağın adını, parolasını ve biraz önce önemli olarak atıfta bulunduğumuz Gizli Anahtarı girip Save seçeneğiyle kaydediyoruz.

Kod Nasıl Doğrulanır ve Cihaza Yüklenir?

Setup sekmesinde yapmış olduğumuz işlemler bitti. Burada yapmış olduğumuz ayarlamalar ile arkaplanda bir kod yazıldı. Şimdi bu kodu Verify and Upload diyip kartımıza yüklememiz gerekiyor. Bunun için Sketch sekmesine geçelim ve ilgili kodu kartımıza yükleyelim.

Başarılı bir upload işleminin olduğuna dair çıktıyı elde ettik.

Cihazın Online Olup Olmadığını Nasıl Anlarız?

Setup sekmesine geri dönüp sayfamızı yenileyelim. Artık cihazımızın Online durumda olduğunu görebiliyoruz. Yani tanımlamış olduğumuz Wemos D1 R1 kartımız yine bizim tanımlamış olduğumuz ağa bağlıdır.

Kodun Gözden Geçirilmesi İşlemleri

Kodu net bir şekilde görüp değiştirebilmemiz için Sketch sekmesine geri dönüp buradan Open full editor seçeneğine tıklayalım.

thingProperties adında bir header dosyamız mevcuttur. Bu, kodumuza dahil edilmiştir. Şimdi thingProperties.h dosyamızı açalım.

Kablosuz ağımızın adı ve parolası, ilgili cihazımızın gizli anahtarı gibi bilgiler buraya gelecektir. Ancak bu bilgiler buradan doğrudan verilmek yerine Secret‘tan alınmıştır.

Secret dosyamızda aşağıdaki gibi bilgiler vardır.

Nesneler

Şu anda toplam 1 tane cihazımızı kurduk. Wemos D1 R1 kartımızı kurduk. Ücretsiz bir versiyon kullandığımız için maksimum 2 tane cihaz tanımlayabiliyoruz.

Templates sayfası altında yer alan hazır şablonları kullanabilmemiz için destekli olan kartları kullanıyor olmamız gereklidir.

Cihazlar

Wemos D1 R1 kartımızı yani ilgili cihazımızı internete bağladık. Sonrasında bununla bir IoT nesnesi oluşturduk. Devices kısmına gelecek olursak zaten ilgili cihazımızı tanımladığımızı göreceğiz.

Şimdiye Kadar Hangi İşlemler Yapıldı?

Sonuç olarak bir cihaz oluşturduk. Sonrasında bir nesne oluşturduk (Thing1) ve ilgili nesnemize kullanacağımız cihaz olan Wemos kartımızı ilişkilendirdik. Ardından nesnemizi internete bağladık. Thing1 nesnemizi Wemos D1 R1 kartı ile yapıyorum. Birisi karttır. Birisi de bu kart ile kontrol edeceğimiz nesneyi ifade ediyor.

Things: İçerisinde nesnelerim yer alır.
Devices: Nesnelerin içerisinde kullanacağımız kartlar yer alır.

Basit Bir Led Açıp Kapatma Uygulaması Nasıl Yapılır?

Ben, Things1 ile Wemos D1 R1 kartım üzerinde bulunan gömülü olan Led’imi açıp kapatacağım.

Öncelikle Arduino Cloudumuza gidelim ve Get started with IoT projects‘e tıklayalım.

Menü üzerinden ESP32 / ESP8266‘ya tıklayalım. Devamında Connecting ESP32 & ESP8266 to Arduino Cloud IoT‘ye tıklayalım.

Device ve Thing ekleme aşamalarını yapmıştık. Bu yüzden o kısımları atlayalım.

Değişkenler Nasıl Eklenir?

Bu sistemde uzaktan kontrol sağlayabilmemiz için 2 tane değişkene ihtiyacımız vardır. Şu anda ledin yanıp yanmadığını hafızada tutabilmemiz için bir değişken ve led’i açma – kapama sinyalini göndereceğimiz değişkendir.

  • random_value
  • led_switch

Öncelikle IoT Cloudumuza dönelim ve oluşturduğumuz Thing1 adlı nesneyi açalım.

Add Variable seçeneğine tıklayalım.

İlk değişkenimizi ekleyelim.

  • random_value
  • int
  • read only

İlgili özelliklerimizi seçtikten sonra Add Variable ile ilk değişkenimizi ekleyelim.

İkinci değişkenimizi ekleyelim.

  • led_switch
  • boolean
  • read & write

İlgili özelliklerimizi seçtikten sonra Add Variable ile ikinci değişkenimizi ekleyelim.

Değişkenlerimizi ekledik.

Bu şekilde arayüz üzerinden aslında arkaplanda otomatik olarak Arduino kodunun oluşturulmasını sağlıyoruz.

Dashboard Nasıl Oluşturulur?

Thing1 nesnemin durumunu görüp komut gönderebilmek amacıyla bir Dashboard oluşturmamız gerekir. Menü üzerinden Dashboards'a tıklayalım. Build Dashboard diyelim.

“Add” > “Things” > “Thing1” diyerek ilgili nesnemizi seçelim.

İlgili değişkenler seçili halde geliyor. Create Widgets diyelim.

Kodun Revize Edilmesi

Buradaki adrese dönecek olursak kodumuzu şu şekilde revize edelim.

Kodun Tekrardan Cihaza Yüklenmesi

Kodumuzu düzenledikten sonra ESP8266 WeMos D1 R1e tıklayalım. COM4 portunu seçelim.

ESP8266 WeMos D1 R1i seçelim ve OK seçeneğine tıklayalım.

Upload and Save seçeneğiyle devam edelim.

Başarılı bir şekilde kodumuz yüklendi.

Sonuç

Şimdi Dashboard’umuza gelelim. Random sayıların 500 ms’de bir değiştiğini görebiliriz. Led’i de switch aracılığıyla başarılı bir şekilde açıp kapatabiliyoruz.

Basit bir led açıp kapatma uygulamasını bu şekilde yapmış olduk.