İçindekiler:

Google E-Tabloları ve Google Komut Dosyasını Kullanarak Hava Durumu Verileri: 7 Adım
Google E-Tabloları ve Google Komut Dosyasını Kullanarak Hava Durumu Verileri: 7 Adım

Video: Google E-Tabloları ve Google Komut Dosyasını Kullanarak Hava Durumu Verileri: 7 Adım

Video: Google E-Tabloları ve Google Komut Dosyasını Kullanarak Hava Durumu Verileri: 7 Adım
Video: Google E-Tablolar Eğitimi - 9 - Formüllerin kullanımı ve hesaplama işlemleri 2024, Kasım
Anonim
Google E-Tabloları ve Google Komut Dosyasını Kullanan Hava Durumu Verileri
Google E-Tabloları ve Google Komut Dosyasını Kullanan Hava Durumu Verileri

Bu Blogtut'ta, verileri internete göndermeye yardımcı olan Adafruit huzzah ESP8266'yı kullanarak SHT25 sensörünün okumalarını google sayfalarına göndereceğiz.

  • Google sayfa hücresine veri göndermek, verileri çevrimiçi olarak tablo biçiminde kaydetmenin çok kullanışlı ve temel bir yoludur.
  • Box veya MQTT NODE RED veya başka herhangi bir REST API itmek gibi herhangi bir özel köprü kullanmak yerine, sensörden verileri kolayca alan google script kullanarak verileri göndereceğiz. yayınladıktan sonra google komut dosyası uygulaması
  • Verileri google sayfasından, dokümanlardan ve hatta google drive'a göndermek için komut dosyasını kullanabiliriz.
  • Sadece burada bitmiyor, google sayfalarını, verileri kullanıcılarla istedikleri şekilde paylaşan herhangi bir web tabanlı uygulamaya bağlayabilirsiniz.
  • Buradaki diğer çevrimiçi sunuculardan farklı olarak ekstra ücret ödemeniz gerekmez ve maksimum 10 GB'a kadar verileri kullanıcı hesabında saklayabilir ve kullanabilirsiniz.
  • En iyi çabalardan biri, bu tür gerçek zamanlı uygulamalarla verileri internete kolayca bağlamayı öğrenebilmenizdir.
  • Verileri google sayfaları ile esnek bir şekilde paylaşmak için master-slave protokolünü gerçekleştiren I2C bağlantısını kullanacağız.
  • I2C protokol platformu, sensör donanımını birbirine bağlar ve sensör verilerini 8 bit donanımda aktarmak için yalnızca 2 kablolu çekme kullanarak aynı anda yaklaşık 256 sensörle çalışır.

Adım 1: Donanım

Adafruit Tüy HUZZAH Kitleri

Adafruit Tüy Huzzah Pano

Adafruit I2C entegre ve USB adaptörü

SHT25 Sıcaklık ve Nem Sensörü

I2C Kablosu

2. Adım: İşler Nasıl Çalışır?

ESP8266 aracılığıyla sensörlerin gerçek zamanlı verilerinin okumalarını almak ve verileri farklı Bulut platformlarına göndermek çok basittir.

Adafruit Huzzah Board ile SHT25 sensör I2C modülü ve I2C kablosu arasındaki iki kablolu iletişimi oluşturmak için Arduino IDE'de Wire.h kütüphanesini kullanacağız.

Not: Karmaşık kablolama yapısından kaçınmak için Adafruit Huzzah için I2C sensörünü bağlamak için tasarlanmış I2C adaptörünü kullanacağım.

Aceminin Esp8266'yı kurması için ESP8266 kurulumundan geçmesi gerekir.

İlk önce kütüphaneleri başlatın:

  • Tel kitaplığı
  • ESP8266WiFi
  • WiFiİstemciGüvenli

Adım 3: Arduino IDE'de I2C Modülü Yürütme Süreci

Kitaplıkları başlattıktan sonra, sensör okumalarını getirmek için kullanılacak I2C sürecini tanımlayacağız ve bunları gereksinimlere göre 8 bitlik verileri değiştireceğiz:

I2C sensör modülü için kayıtları iki telli I2C protokolünde başlatın

#define Addr 0x40

  • I2C iletimini başlatın ve kayıtları başlatın ve sensör verilerini okuyacağımız yerden 2 bayt veri isteyin.
  • 2 bayt veri mevcut olacaksa, sensör verilerini okuyun ve aşağıdaki formülleri kullanarak istenen değerleri dönüştürüyoruz.

yüzer nem = (((veri[0] * 256,0 + veri[1]) * 125.0) / 65536.0) - 6;

float cTemp = (((veri[0] * 256,0 + veri[1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

Değerleri bir seri monitör ekranında yazdırın

Adım 4: WiFi ve Google E-Tablo ile ESP8266 Bağlantısı

I2C modüllerini çalıştırdıktan sonra, verilerin nasıl getirileceğini ve verileri google sayfalarına göndermek için WiFi kitaplıkları ve ana bilgisayar kimliğinin yanı sıra API anahtarlarını kullanmayı öğreneceğiz.

  • ESP8266'da, kartı internete bağlamamıza yardımcı olacak WiFi kimlik bilgilerini küresel olarak tanımlayın
  • HTTP istemcisini kullanacağımızdan ve HTTP yolunun güvenliğini sağlamak için HTTPS = 443 protokolünü tanımlayacağız çünkü komut dosyası yalnızca güvenli yolda çalışacaktır.
  • Ana bilgisayar ayrıntılarını kodda başlat

const char* ana bilgisayar = "script.google.com";

const int httpsPort = 443;

String SCRIPT_ID = "snap'larda belirtildiği gibi komut dosyası kimliğini belirtin";

Not: Komut dosyası kimliği "web uygulamaları URL'sinde" belirtilirken Gscript kodu yayınlanır, aşağıda belirtilen kimliği kopyalayıp yapıştırmanız ve yukarıdaki komutlarda başlatmanız yeterlidir

  • Ayrıca değişkenli uçucu kullanarak, verileri I2C modülünden alan ve verileri hedefe daha fazla gönderecek olan URL komut dosyasına gönderen değişkeni global olarak başlatacağız.
  • ESP8266 WiFi Kütüphanesini kullanarak kartı internete bağlayabileceğiz.
  • Sensör verileri, her 5 saniyede bir yerel bir sunucuda barındırılacaktır.
  • URL script yardımı ile veriler her 15 saniyede bir google script yayınlanmış link Aktif sayfasında barındırılacaktır.

Adım 5: GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin

GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin
GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin
GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin
GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin
GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin
GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin

Hepimizin hesabınızla google sayfasında oturum açmak için bir google hesabı olduğundan

  • ESP8266 ile bağlı sensörden almanız gereken değerleri belirtiniz.
  • Araçlar>Komut Dosyası Düzenleyici'ye gidin
  • Olayları almak için “Doget” işlevini kullanın
  • Elektronik tablo API anahtarını başlatmak ve ayrıca sensör değerlerini göndermek istediğiniz Etkin Sayfayı bağlamak için “Doget” işlevinde
  • Kodda belirtilen otomasyon fonksiyonu yardımıyla verileri satır ve sütunlarda kolayca temsil etmek.
  • Son olarak, verileri kaydedin ve "Yayınla"yı tıklayın >> "Web uygulamaları olarak dağıt"ı tıklayın
  • “Proje versiyonu”nu seçmek için herhangi bir değişiklik olacağından emin olun >> “Yeni” >> “güncelle”ye basın

Mevcut web uygulaması URL'si aşağıdaki gibi görünecektir:

script.google.com/macros/s/”GScript Kimliği”/exec:

sensörlerden veri almak için ESP8266 kodunda daha fazla kullanılır

Barındırma bağlantıları Verileri google sayfasına bağlanmak için daha fazla kodladığımız gscript düzenleyicisinde belirtilen ana bilgisayar kimliğine bağlamak için HTTPS Al isteğini kullanacağız.

function doGet(e) { Logger.log(JSON.stringify(e)); // parametreleri görüntüle var sonuç = 'Tamam'; // başarılı olduğunu varsayalım if (e.parameter == 'tanımsız') { sonuç = 'Parametre Yok'; } else { var Sheet_id = ''; // Elektronik Tablo Kimliği var sayfa = SpreadsheetApp.openById(sheet_id).getActiveSheet(); var newRow = Sheet.getLastRow() + 1; var rowData = ; } Logger.log(JSON.stringify(rowData)); // altına yeni satır yaz var newRange = Sheet.getRange(newRow, 1, 1, rowData.length); newRange.setValues([rowData]); }

Adım 6: Sınırlamalar:

sınırlamalar
sınırlamalar
  • Bu proje yalnızca I2C sensörünün verilerini google sayfalarında saklamakla sınırlıdır.
  • Değerleri I2C işlevleri aracılığıyla almak için HTTPS GET isteğini kullanıyoruz
  • Değeri string formatında değiştirmemiz ve ardından verileri gscript URL bağlantısına göndermemiz gerekiyor.

Adım 7: Kod, Kredi, Referans

Github Kodu:

github.com/varul29/SHT25_GoogleSheets_Goog…

Referans

I2C Kodu:https://github.com/ControlEverythingCommunity/SHT2…

Google Komut Dosyası Eğitimi:https://developers.google.com/apps-script/articles…

Gömülü Mağaza:https://dcubestore.com/

Eğitim Blogu:https://pdacontrolen.com/update-https-redirect-vers…

Önerilen: