İçindekiler:
- Adım 1: Donanım
- 2. Adım: İşler Nasıl Çalışır?
- Adım 3: Arduino IDE'de I2C Modülü Yürütme Süreci
- Adım 4: WiFi ve Google E-Tablo ile ESP8266 Bağlantısı
- Adım 5: GScript Düzenleyiciyi Kullanarak Google E-Tablosunu Otomatikleştirin
- Adım 6: Sınırlamalar:
- Adım 7: Kod, Kredi, Referans
Video: Google E-Tabloları ve Google Komut Dosyasını Kullanarak Hava Durumu Verileri: 7 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
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
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:
- 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:
(IOT Projesi) ESP8266 ve Openweather API'sini Kullanarak Hava Durumu Verilerini Alın: 5 Adım
(IOT Projesi) ESP8266 ve Openweather API'sini Kullanarak Hava Durumu Verilerini Alın: Bu talimatta, şehrimizin hava durumu verilerini openweather.com/api'den alıp İşleme yazılımını kullanarak görüntüleyen basit bir IOT projesi oluşturacağız
ESP32_DHT11_OLED_Thingspeak Kullanarak Hava Durumu İzleme: 7 Adım
ESP32_DHT11_OLED_Thingspeak Kullanarak Hava Durumu İzleme: Bu eğitimde, bir ESP32 ve DHT11 kullanarak sıcaklık ve nemi izleyen bir hava durumu monitörü oluşturacaksınız. Ve ThingSpeak'e yüklenir. ESP32, güçlü bir IOT aracıdır. Düşük maliyetli bir sistem-o
Windows Komut İstemi için CustomCmd Komut Dosyası Kodlayın: 6 Adım
Windows Komut İstemi için CustomCmd Komut Dosyası Kodlayın: CMD'yi çok mu kullanıyorsunuz? Yaparım! Ama bir ton insan - ben dahil - bunun çok sıkıcı olduğunu düşünüyor. Bugün, CMD'yi eğlenceli tutacak kadar özelleştirmemize izin verecek bir komut dosyası kodlayacağım. Haydi başlayalım! KOD İNDİRMEK İÇİN MAKALE ALTINDAN İNDİREBİLİRSİNİZ
Herhangi Bir Medya Dosyasını (Hemen Hemen) Herhangi Bir Diğer Medya Dosyasını Ücretsiz Olarak Dönüştürün!: 4 Adım
(Hemen) Herhangi Bir Medya Dosyasını Diğer Herhangi Bir Medya Dosyasına (Hemen Hemen) Ücretsiz Olarak Dönüştürün!: İlk talimatım, şerefe! Her neyse, Google'da Youtube.flv dosyalarımı bir biçime dönüştürecek ücretsiz bir program arıyordum. daha evrenseldir, örneğin.wmv veya.mov.Sayısız forum ve web sitesi aradım ve ardından … adlı bir program buldum
Python'dan MATLAB Komut Dosyasını ve İşlevini Çağırın: 5 Adım
Python'dan MATLAB Script ve Fonksiyonu Çağırın: Merhaba arkadaşlar. Bu talimatta size MATLAB komut dosyalarını nasıl çalıştıracağınızı ve python kodundan MATLAB işlevlerini nasıl çağıracağınızı göstereceğim