nanoFramework, .NET MAUI, MQTT, SignalR ve ASP.NET CORE Kullanarak Mobil, Konsol, Web uygulamalarıyla Uzaktan Bir Ledi Yakıp Söndürme

Günümüzde IoT'nin Önemi: İnternete Bağlı Akıllı Cihazlar

Teknoloji dünyası hızla gelişiyor ve hayatımızı kökten değiştiriyor. Akıllı telefonlar, bilgisayarlar ve internet, günlük yaşamımızın ayrılmaz bir parçası haline geldi. Ancak, bu dijital dönüşümün bir sonucu olarak, Nesnelerin İnterneti (IoT) kavramı da ortaya çıktı. IoT, nesnelerin birbirleriyle ve insanlarla bağlantı kurabildiği bir ağdır. IoT'nin önemi giderek artıyor ve hayatımızın pek çok alanında devrim niteliğinde değişikliklere yol açıyor.

İletişim ve Bağlantılılıkta Devrim

IoT, farklı cihazların ve nesnelerin internet üzerinden iletişim kurabilmelerini sağlar. Günümüzde, akıllı evler, akıllı şehirler, akıllı ulaşım sistemleri ve akıllı sağlık uygulamaları gibi birçok IoT örneği bulunmaktadır. Evlerimizdeki termostatları cep telefonumuzdan kontrol etmek, araba kazalarını önlemek için trafik ışıklarının birbirleriyle haberleşmesi, sağlık takibi için giyilebilir cihazlar kullanmak gibi pek çok yenilikçi çözüm IoT sayesinde mümkün hale gelmiştir.

Veri Toplama ve Analitiğin Gücü

IoT, büyük miktarda veri toplama ve analiz etme yeteneği sağlar. Nesnelerin internete bağlanması, sensörler ve diğer veri toplama yöntemleriyle gerçek zamanlı veri akışını mümkün kılar. Bu veriler, işletmeler ve hükümetler için stratejik bilgiler sunar. Örneğin, akıllı tarım uygulamaları, tarım alanlarında toprak nemini, hava durumunu ve bitki büyümesini izleyerek verimliliği artırır. IoT, bu verileri analiz ederek çiftçilere öneriler sunabilir ve tarımsal faaliyetleri optimize edebilir.

Endüstriyel Dönüşüm ve Verimlilik Artışı

IoT, endüstriyel sektörlerde dönüşümü hızlandırıyor ve verimliliği artırıyor. Akıllı fabrikalar, otomasyon, robotik ve makine öğrenimi gibi teknolojileri bir araya getirerek üretim süreçlerini optimize ediyor. Nesnelerin birbirleriyle ve üretim ekipmanlarıyla iletişim kurabilmesi, sorunları erken tespit etme ve bakımı zamanında yapma imkanı sağlıyor. Bu da üretim süreçlerinde kesintilerin azalmasına ve verimliliğin artmasına katkıda bulunuyor.

IoT, günümüzdeki dijital çağın temel taşı haline gelmiştir. İletişim ve bağlantılılıkta devrim yaratırken, veri toplama ve analitiğin gücünü ortaya çıkararak stratejik kararların alınmasını kolaylaştırır. Endüstriyel sektörlerde verimlilik artışına yol açar ve yeni iş fırsatlarının doğmasını sağlar. Ancak, IoT'nin büyük veri güvenliği ve gizlilik gibi bazı zorlukları da vardır ve bu konuların çözülmesi önemlidir. Gelecekte, IoT'nin daha da yaygınlaşması bekleniyor ve yaşamımızın her alanında daha fazla etki yaratması muhtemeldir.

GEREKLİ DONANIM, YAZILIM VE KURULUMLAR

Kullandığımız teknolojiler hakkında daha fazla detay için blog yazılarımı okuyabilirsiniz:

SignalR Nedir?

Internet of Things (IoT), Nesnelerin İnterneti, dotnet IoT, MQTT, .NET nanoFramework Nedir?

.NET Multi-platform App UI (MAUI) Nedir?

 

Gerekli Donanım Bileşenleri:

Başka bir kart kullanmak istiyorsanız nanoFramework destekleyen kartlara buradan bakabilirsiniz. Geliştirme kartının içerisinde dahili led olduğu için ayrıca bir led almadım.

Yazılım İçin Gerekenler:

ADIM ADIM İlerliyoruz:

İlk olarak ESP32 geliştirme kartına micro usb'yi takıyoruz daha sonra usb-a tarafını bilgisayarımıza takıyoruz.

Silicon Labs CP210x Universal Windows Driver linkinden Windows ESP32 driver'ını bilgisayarımıza indirip, ZIP dosyasını klasöre çıkartıyoruz.

Aygıt yöneticisi portlardan sürücünün yazılımını el ile yüklüyoruz.

Burada hangi port olduğunu (COM3) unutmayalım.

.NET 6.0 Runtime (or .NET 6.0 SDK) yüklüyoruz

dotnet tool install -g nanoff


komutuyla nanoff tool'unu yüklüyoruz.

COM3'e bağlı bir ESP32 kartının donanım yazılımını mevcut en son sürüme güncelliyoruz. Sizin hangi port ise onu yazın bende COM3 portuydu.

nanoff --platform esp32 --serialport COM3 --update

Microsoft Visual Studio 2022 yoksa indiriyoruz var ise devam edebiliriz.

.NET nanoFramework Visual Studio Extension'yi kuruyoruz.

Herşey tamam ise;

Device Explorer penceresinde ESP32 geliştirme kartının görünmesi gerekiyor.

C# Kaynak Kodu - https://github.com/ayzdru/AyazDuru.IoT.Samples/ indirip, projeyi açıyoruz.

Ben AyazDuru.IoT.Web projesinde olan MQTT ve SignalR sunucusunu laptop üzerinde çalıştıracağım. Ip Adresim 192.168.1.100 olarak ayarlı yayın yapacak bilgisayarınızın ip adresini gerekli yerlere girmeniz gerek.

AyazDuru.IoT.ESP32 > Program.cs dosyasındaki Modem Wifi Adı, Wifi Şifresi ve Laptop Ip Adresi alanlarına gerekli bilgileri giriyoruz.

Solution içerisinde 192.168.1.100'ü aratıp gerekli yerleri değiştiriyoruz. Modem port yönlendirmelerinizde, laptop güvenlik duvarınızda 1883, 5000, 5001 portlarına izin vermeniz gerekebilir.

Local IP adresleri için https://learn.microsoft.com/tr-tr/dotnet/maui/data-cloud/local-web-services linkinden Android emülatörleri ve iOS simülatörlerinden local web hizmetlerine bağlantının nasıl yapılacağını inceleyebilirsiniz.

AyazDuru.IoT.MAUI projesine sağ tıklayıp, Properties'e tıklıyoruz.

Android > Manifest > Android package format olarak apk'yı seçiyoruz.

Android APK oluştururken Solution Configuration Release olarak seçili olmasına dikkat edin.

AyazDuru.IoT.MAUI projesine sağ tıklayıp, Publish'e tıklıyoruz.

Proje publish olup, apk oluşturulduktan sonra;

Distribute butonuna tıklayıp, Android KeyStore oluşturup, signed apk dosyamızı mobil telefonumuza aktarıyoruz.

Akıllı Android telefonunun güvenlik ayarlarından güvenli olmayan uygulamaları yükle seçeneğinin açık olması gerekiyor. Bu ayar android akıllı telefon markasına göre değişiklik gösteriyor. İnternetten üzerinden bu ayarın nasıl yapıldığına bakabilirsiniz. Daha sonra mobil telefonumuza uygulamamızı kuruyoruz.

AyazDuru.IoT.ESP32 projesine sağ tıklayıp, Deploy'a tıklayıp kodumuzu ESP32 geliştirme kartına yüklüyoruz.

AyazDuru.IoT.Web projesini ayağa kaldırıp, sunucumuzu yayına açıyoruz.

 

Artık sizde bir led'i mobil,web, konsol uygulamaları üzerinden MQTT ve SignalR kullanarak yakıp, söndürebileceksiniz.

Projeyi detaylı incelerseniz, sizin için güzel bir kaynak olacağını düşünüyorum.

Umarım işinize yarar.

Hoşcakalın..

Yorumlar kapalı