- Gerekli Bileşenler
- Devre şeması
- ESP8266 Sıcaklık Kaydedici için Thinger.io Kurulumu
- NodeMCU Veri Kaydedici için IFTTT Kurulumu
- Veri Günlüğü için Programlama NodeMCU
- NodeMCU'dan Thinger.io'daki Verilerin Günlüğe Kaydedilmesi
- E-posta Uyarısı göndermek için Thinger.io'da Uç Nokta Oluşturma
Daha önce Google e-tablosundaki sıcaklık verilerini kaydetmek için NodeMCU'yu kullandık. Şimdi burada Thinger.io IoT bulutuna veri göndereceğiz ve çekici bir grafik formatında göstereceğiz. Thinger.io platformuna gönderilecek olan sıcaklık, nem ve irtifa verilerini toplamak için bir BMP180 sensörü NodeMCU ESP8266 ile arayüzlenir. Bu eğitimde, cihazlar, uç noktalar, veri paketleri veya erişim belirteçleri gibi thinger.io platformunun farklı özelliklerinin nasıl yönetileceğini öğreneceğiz.
Gerekli Bileşenler
- NodeMCU ESP8266
- BMP180 Basınç sensörü
- Atlama Telleri
- Breadboard
Devre şeması
Bu ESP8266 veri kaydedici için Devre Şeması çok basittir, burada sadece BMP180 sensörü NodeMCU ile arayüzlenir.
BMP180 sensörü, I2C iletişim protokolünü kullanır. Bu yüzden BMP180'in SCL ve SDA pinlerini NodeMCU'nun SCL ve SDA pinlerine (D1 ve D2) bağlamanız gerekir. Ayrıca, BMP180'in V IN ve GND pinini 3,3V ve NodeMCU'nun GND'sine bağlayın. Sensörü doğrudan 5V'ye bağlamayın çünkü Sensöre kalıcı olarak zarar verebilir.
NodeMCU hakkında daha fazla bilgi edinmek için NodeMCU ESP8266'ya dayalı çeşitli IoT projelerini kontrol edin.
ESP8266 Sıcaklık Kaydedici için Thinger.io Kurulumu
Thinger.io, Nesnelerin İnterneti için Açık Kaynaklı bir Platformdur. Bağlı ürünlerin prototipini oluşturmak, ölçeklendirmek ve yönetmek için gereken her aracı çok basit bir şekilde sağlar. Thinger.io, cihaz verileriyle çalışmak için Veri Paraları , Gösterge Tablosu ve Uç Nokta olmak üzere üç temel araç sağlar; bu araçlar, cihaz verilerini görselleştirmek ve cihazların birlikte çalışabilirliğini genişletmek için kullanılabilir.
Data Bucks: Data Bucks aracı, cihaz verilerini ölçeklenebilir bir şekilde depolamak, farklı örnekleme aralıklarını programlamak veya cihazlar tarafından oluşturulan olayları kaydetmek için kullanılabilir.
Gösterge Tablosu: Gösterge Tablosu aracı, gerçek zamanlı ve depolanan verileri görselleştirmek için sürükle ve bırak teknolojisi kullanılarak dakikalar içinde oluşturulabilen özelleştirilebilir widget'lara sahip bazı Panellere sahiptir.
Uç noktalar: Uç noktalar, platformu IFTTT, özel Web Hizmetleri, e-postalar veya diğer cihazları aramak gibi diğer hizmetlerle entegre etmek için kullanılabilir.
Bu ESP8266 günlüğünde, bu araçları keşfedeceğiz.
Thinger.io'ya veri göndermek için, Thinger.io platformunda ücretsiz bir hesap oluşturmanız ve cihazınızı bağlamak için aşağıdaki adımları izlemeniz gerekir.
1. Adım: İlk adım, yeni bir cihaz oluşturmaktır. Yeni bir cihaz oluşturmak için menü sekmesindeki Cihazlar'a tıklayın ve ardından Cihaz Ekle düğmesine tıklayın.
Ardından formu cihaz kimliği, açıklaması ve Kimlik bilgileriyle doldurun veya cihazınız için rastgele kimlik bilgileri oluşturun ve ' Cihaz Ekle'yi tıklayın.
Bu kadar; cihazınız bağlanmaya hazır. Bir sonraki adımda, NodeMCU'yu verileri Thinger.io platformuna gönderecek şekilde programlayacağız.
NodeMCU Veri Kaydedici için IFTTT Kurulumu
Burada, sıcaklık bir limitin üzerine çıktığında E-posta uyarıları göndermek için IFTTT kullanıyoruz. IFTTT (If This Then That), uygulama adı verilen koşullu ifadeler zincirleri oluşturabileceğimiz web tabanlı bir hizmettir. Bu uygulamaları kullanarak E-postalar, Twitter, Facebook bildirimleri gönderebiliriz.
IFTTT'yi kullanmak için, zaten varsa IFTTT hesabına giriş yapın veya bir hesap oluşturun.
Şimdi ' Webhook'ları arayın ve Hizmetler bölümündeki Webhook'ları tıklayın.
Ardından, Webhooks penceresinde, özel anahtarı almak için sağ üst köşedeki 'Dokümantasyon'a tıklayın. Bu anahtarı kopyalayın, bu anahtar Thinger.io'da Uç Nokta oluştururken kullanılacaktır.
Bundan sonra, Webhook'ları ve E-posta hizmetlerini kullanarak bir uygulama oluşturun. Bir uygulama oluşturmak için profilinize tıklayın ve ardından ' Oluştur'a tıklayın . '
Şimdi bir sonraki pencerede ' Bu ' simgesine tıklayın. Şimdi arama bölümünde Webhook'ları arayın ve ' Webhooks'u tıklayın.
Şimdi ' Bir Web İsteği Al' tetikleyicisini seçin ve olay adını geçici olarak girin ve ardından bir tetikleyici oluştur'a tıklayın.
Bundan sonra, ' Sonra O' seçeneğine ve ardından E-posta'ya tıklayın.
Şimdi e-postada, 'bana bir e -posta gönder'e tıklayın ve e-posta konusunu ve metnini girin ve ardından eylem oluştur'a tıklayın. Son adımda, Applet kurulumunu tamamlamak için ' Bitir ' üzerine tıklayın.
Veri Günlüğü için Programlama NodeMCU
Thinger.io'ya veri göndermek için tam kod sayfanın sonunda verilmiştir. Burada bazı önemli kısımları açıklıyoruz.
Tüm gerekli kitaplıkları ekleyerek kodu başlatın. ThingerESP8266.h Iot platformu ve Adafruit_BMP085.h BMP sensör verileri okumak için kullanılan iken NodeMCU arasında bağlantı kurmak için kullanılır. ThingerESP8266.h kütüphanesini Arduino IDEs kütüphane yöneticisinden kurabilirsiniz.
#Dahil etmek
Ardından, koda kimlik bilgilerini girin, böylece cihaz tanınabilir ve hesabınızla ilişkilendirilebilir.
#define USERNAME "Hesabınızın Kullanıcı Adı" #define DEVICE_ID "NodeMCU" // Cihaz Adınız #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Ardından, uç nokta adınızı girin. Uç nokta, platformu IFTTT, HTTTP talebi vb. Gibi harici hizmetlerle entegre etmek için kullanılır.
#define EMAIL_ENDPOINT "IFTTT"
Basınç, Sıcaklık ve Yükseklik verilerini depolamak için değişkenleri tanımlayın.
int Basınç, Sıcaklık, Yükseklik;
Boş döngü () içinde sensör verilerini okuyun. Pson veri türü farklı veri türleri tutabilir. Bu nedenle, Pson veri türü aynı anda birden çok değeri almak için kullanılır.
şey >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Sıcaklık değeri 15 dereceyi geçerse Bitiş Noktasını çağırmak için if koşulunu kullanın. Buradaki veriler, Uç Nokta adıdır.
if (Sıcaklık> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Gönderme Verileri");
NodeMCU'dan Thinger.io'daki Verilerin Günlüğe Kaydedilmesi
Şimdi BMP sensörünü NodeMCU'ya bağlayın ve kodu yükleyin. NodeMCU, daha önce oluşturduğunuz cihaza bağlanmak için hesap kimlik bilgilerinizi kullanacaktır. Başarılı bir şekilde bağlanırsa, aşağıdaki resimde gösterildiği gibi bağlı olarak gösterilecektir:
Cihazlar menüsünden sadece cihaz adına tıklayarak İletilen Veriler, Alınan Veriler, IP Adresi, Bağlanma Süresi gibi cihaz istatistiklerinizi kontrol edebilirsiniz.
Şu anda verileri aldığımız için, verileri widget'ları kullanarak görselleştirmek için bir gösterge tablosu oluşturacağız.
Bir Gösterge Tablosu oluşturmak için menü sekmesinden Gösterge Tabloları'na ve ardından ' Gösterge Tablosu Ekle'ye tıklayın.
Şimdi bir sonraki pencerede, gösterge tablosu adı, Kimlik ve Açıklama gibi gösterge tablosu ayrıntılarını girin ve ardından Gösterge Tablosu'na tıklayın.
Bundan sonra, Dashboard adına tıklayarak yeni kontrol paneline erişin. Varsayılan olarak, kontrol paneli boş görünecektir. Widget eklemek için, önce panonun sağ üst anahtarına tıklayarak düzenleme modunu etkinleştirmeniz gerekir. Ardından ' Widget Ekle' düğmesine tıklayın.
' Widget Ekle' düğmesine tıkladığınızda, pencere öğesi türünü, arka plan rengini vb. Seçebileceğiniz bir açılır pencere gösterecektir. Benim durumumda, Ölçer Widget'ı seçtim.
Kaydet'e tıkladığınızda, sizi Kaynak Değeri, Cihaz, Kaynak, Değer ve Yenileme modunu seçmeniz gereken bir sonraki ekrana götürür. Tüm değerleri seçin ve ardından Kaydet düğmesine tıklayın.
Şimdi aynı prosedürü diğer değişkenler için tekrarlayın. Kontrol panelim şuna benziyordu:
E-posta Uyarısı göndermek için Thinger.io'da Uç Nokta Oluşturma
Şimdi Thinger.io'yu IFTTT ile entegre etmek için bir Uç Nokta oluşturacağız. Cihaz, e-posta göndermek, SMS göndermek, REST API'sini çağırmak, IFTTT ile etkileşim kurmak, farklı bir hesaptan bir cihazı aramak veya başka herhangi bir HTTP uç noktasını aramak gibi herhangi bir işlemi gerçekleştirmek için cihaz tarafından bir uç nokta çağrılabilir.
Bir Uç Nokta oluşturmak için, menü sekmelerinden 'Uç Nokta' seçeneğine tıklayın ve ardından 'Uç Nokta Ekle'ye tıklayın.
Şimdi bir sonraki pencerede gerekli ayrıntıları girin. Ayrıntılar:
Uç Nokta Kimliği: Uç noktanız için benzersiz tanımlayıcı.
Endpoint Description: Endpoint'iniz hakkında bir açıklama veya detaylı bilgi yazın.
Endpoint Type: Verilen seçeneklerden Endpoint tipini seçin.
Maker Etkinlik Adı: IFTTT uygulama adınızı girin.
Maker Kanal Anahtarı: Webhooks gizli anahtarınız.
Bundan sonra, her şeyin çalışıp çalışmadığını kontrol etmek için Test Uç Noktasını tıklayın. Size sıcaklık verileri hakkında bir uyarı içeren bir e-posta göndermelidir.
IFTTT Webhook Tetikleyiciyi kullanmak yerine, bir E-posta veya Telegram Mesajı gönderebilir veya Uç Nokta özelliklerini kullanarak bir HTTP isteği gönderebilirsiniz.
NodeMCU ESP8266, BMP180 sensöründen internete sıcaklık, basınç ve irtifa verilerini kaydetmek için bu şekilde kullanılabilir.
Sayfanın sonunda bir çalışma videosu ve eksiksiz bir kod verilmiştir.