İçindekiler:
- Adım 1: Parçalar ve Malzemeler
- Adım 2: Elektrik Tasarımı
- Adım 3: Mekanik Tasarım
- Adım 4: Çerçeve Montajı: Yüz ve Taban
- Adım 5: Elektronik ve Sensör Montajı
- 6. Adım: Twitter Yapılandırması
- 7. Adım: Yazılım ve Yapılandırma
- 8. Adım: Sensör Deposuna Katkıda Bulunma
Video: Hava Durumu İstasyonunu Tweetleme: 8 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Hiç şehrinizin Mevcut Hava Koşullarını, Karbon Ayak İzi, Gürültü ve Kirlilik seviyelerini izlemek istediniz mi? İklim Değişikliği Haçlı Seferi olmak mı yoksa kendi Tweeting Hava İstasyonunuzu kurup yerel hava koşullarınızı dünyayla paylaşmak mı istiyorsunuz?
Tweeting Hava Durumu IoT İstasyonu, diğer adıyla TWIST - Kendin Yap, Açık Kaynaklı Çevresel İzleme ve Meteorolojik Veri Toplama Platformu ile tanışın. TWIST'in amacı, bireylerin ve toplulukların çevrelerinde gerçekte neler olup bittiğine dair verileri toplayabilmeleri ve bu verileri Twitter gibi sosyal medyada paylaşabilmeleridir.
- TWIST, Nesnelerin İnterneti (IoT) destekli bir platformdur.
- TWIST'in beyni bir Intel Edison Anakartıdır.
- TWIST, çeşitli sensörlerle uyumludur.
- Tüm kod, tasarım dosyaları (şemalar ve PCB düzeni) Açık Kaynaklıdır. Bu, herkesin farklı sensörler için kod ve şemaları paylaşarak TWIST platformuna katkıda bulunabileceği anlamına gelir.
TWIST üç teknolojik katmandan oluşur:
İlk katman, 'Sensör Kartı' olarak bilinen tüm hava ve çevre sensörlerini içeren bir donanım kartıdır. Adından da anlaşılacağı gibi, hava bileşimi, sıcaklık, nem, yağmur ölçen sensörler taşır. Sismik aktivite, UV indeksi, barometrik basınç, yükseklik, lüks (parlaklık), ses seviyeleri, rüzgar hızı ve yönü gibi ek sensörler de eklenebilir. Kurulduktan sonra, Sensör Kartı, sensörler tarafından ölçülen verileri ikinci katmana aktarabilir. İkinci katman, Sensör Kartından veri alan, işleyen ve bir sonraki katmana gönderen Intel Edison Kartıdır. Üçüncü katman, Edison kartındaki kablosuz modülü ve Tweet'in Mevcut Hava ve Çevre koşullarını kullanarak Edison Board'unuzu Wi-Fi üzerinden İnternet'e bağlar.
Cihaza güç, bir güneş paneli veya bir AC Adaptörü ile sağlanabilir.
Sürüm kontrollü depolar
TWIST'in üç teknolojik katmanının tümü Açık Kaynaklıdır ve bu nedenle kod, PCB geliştirme, mekanik tasarım vb. için kullandığımız tüm dosyalar Github depomuzda hazırdır.
Yarışma Yazıları
Intel IoT Davetiyesi
Intel Edison Board'u bana sağladığı için Intel+Instructables'a teşekkür etmek istiyorum. Edison panosunu kullanarak daha birçok IoT ile ilgili Instructables yapmayı planlıyorum.
#iotweatherstn
TWIST yaparsanız #iotweatherstn ile hava durumunu tweet atmayı unutmayın. #iotweatherstn, tüm IoT destekli Tweeting Hava İstasyonları tarafından kullanılan bir etiket olabilir.
Adım 1: Parçalar ve Malzemeler
MiktarParça Detayları 1
Intel Edison
Arduino Koparma Kartı ile
1
MQ2 Yanıcı Gaz Sensörü
1
YL-83
Yağmur sensörü
1
SL-HS-220
Sıcaklık ve Nem Sensörü
1
direnç
32K
4.7K
3 Metal Çıkmazı 1 inç
1
direnç
32K
4.7K
2
Ahşap Levha A4 Boyutu
Daha sonra boyut olarak kesilebilir
3
metal soğukluk
1 inç
Adım 2: Elektrik Tasarımı
Güç
Tüm sistem 5V 1A güç kaynağından güç alır. Sensörler (Sıcaklık, Nem, Yağmur, Gaz) yaklaşık 200 mA çeker, Edison yaklaşık 500 mA, Gerekli toplam akım 1 amperden az olduğundan, 1 amperlik bir besleme gayet iyi çalışmalıdır. Edison Board'un dijital pimi 13'teki yerleşik yeşil LED, güç durumunu göstermek için kullanılır.
ControlAn Intel Edison, TWIST için gösteriyi yönetiyor. Edison, sensörlerden gelen dijital ve analog sinyalleri okumayı kolaylaştıran bir Arduino devre kartı üzerine monte edilmiştir. Edison, bir mikro USB kablosuyla 5V rayına bağlanır. Edison, herhangi bir ek donanıma ihtiyaç duymadan Twitter'a bağlanmasını sağlayan yerleşik bir Wi-Fi radyosuna sahiptir.
Gerçek Zamanlı Saat (RTC)
Twitter tarafından her tweet için otomatik olarak gerçekleştirilen zaman damgası, Tweetleme zamanından itibaren toplam gün sayısı ile sınırlı bir çözünürlüğe sahip olduğundan, Saat-Dakikada tarih ve saati doğru bir şekilde damgalamak için gerçek zamanlı bir saat kullanılır. İkinci biçim. TWIST platformunda kullanılan gerçek zamanlı saat DS-1307 RTC modülüdür.
SensörlerBu sistemin en temel kurulumu, Edison'a bağlanan dört sensöre (Sıcaklık, Nem, Yağmur, Gaz) sahiptir. Gürültü, Rüzgar vb. gibi ek sensörler eklenebilir. Her sensöre doğrudan 5V raydan güç sağlanır ve sinyal pimi sırasıyla A0'dan A2'ye kadar olan analog pimlere ve Edison devre kartındaki dijital pim 2'ye bağlanır. Sensörlerin ayrıca her bir sensör kartına monte edilmiş bir hassasiyet ayar potansiyometresi vardır; MQ-2, milyonda parça olarak gaz konsantrasyonuyla orantılı bir analog voltaj veren yanıcı bir gaz sensörüdür (sıvılaştırılmış petrol gazı, propan, hidrojen ve metan). SL-HS-220, sıcaklık değerini veren bir termistöre sahiptir. Termistör çıkışı lineer olmadığı için sensör deposunda karşılık gelen sıcaklık tablosu verilmiştir. Termistör, devre şemasında gösterildiği gibi Edison Board'a bağlandığında bir voltaj bölücü devre gerektirir. SL-HS-220 ayrıca nemi ölçen ve sabit bir nem değerine karşılık gelen bir analog voltaj veren dahili bir higrometreye sahiptir. Nem-voltaj tablosu da sensör deposunda verilmiştir. SL-HS-220'nin yaygın bir alternatifi DHT11 sensörüdür. Yağmur sensörü/su sensörü, hassasiyeti kullanıcı tarafından ayarlanabilen belirli bir yağmur miktarı için dijital çıkış verecek şekilde ayarlanmış bir potansiyometreye sahiptir.
Hava Durumu İstasyonu.fzz
Adım 3: Mekanik Tasarım
TWIST'in gövdesi iki plaka ahşap levhadan yapılmıştır. 1/4" kontrplak kullanmama rağmen, boşluk (1" alüminyum ayırıcılarla korunur) tek kritik unsur olduğundan tasarım herhangi bir levha malzemeden monte edilebilir. Yukarıda indirmek için vektör dosyalarını ekledim.
Lazer Kesim
İki plakayı lazerle kesmek isteyenler için lazer kesici dosyalarını aşağıda indirebilmek için ekledim. Ayrıca tasarımında ek bir hava kalitesi sensörü içerir. Böylece tercihinize göre MQ2 sensör modülü veya hava kalitesi sensör modülü kullanabilirsiniz.
Adım 4: Çerçeve Montajı: Yüz ve Taban
ön yüz
Sensörler, eşleşen deliklerine ve oyuklarına oturur ve vida veya yapıştırıcı kullanılarak sabitlenebilir.
Taban plakası
Edison kartının ayırıcıları Taban Plakasına vidalanmıştır. Yağmur sensörüne bağlı olan analogdan dijitale dönüştürücü (ADC) de Taban Plakasına vidalanabilir.
Zil sesi veya güneş enerjisi girişi için voltaj regülatör devresi gibi ek bileşenler de Taban Plakasına vidalanabilir.
Taban Plakası ve Ön Plakanın her ikisi de 1 zıtlıklarla ayrılmıştır.
Adım 5: Elektronik ve Sensör Montajı
Güç
Sistemin gücü, doğrudan Edison'un Barrel konektörüne bağlanan standart bir fıçı jakına sahip bir duvar adaptörü ile sağlanır. Sistem aynı zamanda Edison kartındaki USB bağlantı noktasından da çalıştırılabilir. Ayrıca kartı harici bir Güneş panelinden de çalıştırabilirsiniz.
Sensörler
Sensörler, erkek başlıklara sahip devre kartlarına takılır ve bu nedenle erkek-dişi atlama kabloları aracılığıyla doğrudan Edison'a bağlanabilirler.
6. Adım: Twitter Yapılandırması
Tweetlemek için, NeoCat tarafından geliştirilen ve Edison panonuzla Tweetlemeniz gereken Twitter jetonunu alan bir üçüncü taraf uygulaması kullanıyoruz. Jetonlar ayrıca Twitter'ın Geliştiriciler web sayfasından da alınabilir.
Bu nedenle, başlamak için NeoCat'ın web sitesini ziyaret edin, twitter kütüphanesini ve twitter tokeninizi almak için onun eğitimini takip edin. NeoCat'ın sitesinde belirttiği gibi, lütfen hizmeti kötüye kullanmayın. Tweetlerinizi seyrek tutun. Her 6 saniyede bir tweet atan bir şeye ihtiyacınız varsa, kendi sunucunuzu ve twitter uygulamanızı kurmalısınız ve bu nedenle yazdığım kod NeoCat'ın sunucusunun aşırı yüklenmemesini sağlıyor (her 6 saatte bir TWIST tweetleri).
Kütüphane, bu NeoCat'ın web sitesini OAuth öğeleri için bir proxy sunucusu olarak kullanır. Tweet'iniz bu NeoCat web sitesinin bakımı sırasında uygulanmayabilir. Twitter, aynı içeriğe sahip tekrarlanan tweet'leri reddediyor gibi görünüyor (hata 403'ü döndürür).
Twitter Simgesi
Arduino Tweet Kütüphanesi
7. Adım: Yazılım ve Yapılandırma
Kodlamaya başlamadan önce Intel'in Intel Edsion kurulum kılavuzunu izleyin.
Program, Edison üzerinde çalışan bir Arduino taslağıdır. Aşağıda ana kod bloklarının her birini açıkladım.
Kod, önceden tanımlanmış bazı sabitleri, pin bildirimlerini ve sorun gidermeye yardımcı olan birkaç seri yazdırma ifadesini içerir.
Tweet Gecikmesi
Twitter, aynı içeriğe sahip ve her biri arasında kısa süreler içinde tweetlenen tweet'leri filtrelediği için, her bir tweet arasında standart bir 3 saatlik (10800000 mili saniye) gecikme ayarlanmıştır.
tweetMesaj();
gecikme(10800000);
Tip Döküm
Sensörlerden aldığımız okumaların çoğu 'int' veya 'float' veri tipindedir. Ancak bu değerleri tweetlediğimiz için onları bir 'String' veri tipine dönüştürmemiz gerekiyor. Bunun için özel bir Tip-döküm tekniği kullanıyoruz.
char *dtostrf (çift değer, işaretli karakter genişliği, işaretsiz karakter prec, karakter *sout) {
karakter fmt[100]; sprintf(fmt, "%%%d.%df", genişlik, önc); sprintf(sout, fmt, val); geri dönüş; }
Twitter Simgesi
Twitter jetonu NeoCat'ın web sitesinde oluşturulur ve buradaki jeton alanına yapıştırılmalıdır.
geçersiz tweetMessage() {
Twitter twitter("TWITTER TOKENİNİ BURAYA GİRİN ");
Sensör Değerlerini Tweetleme
Sensör değerini tweetlemek için önce Sensör tipini ekliyoruz; Örnek: "Nem". Bunu bir karakter bildirimi ve typecasting için gereken bir kod satırı izler. Daha sonra ölçü birimi için bir ifade ekliyoruz; Örnek: "%RH". Diğer sensörlerin değerlerini de benzer şekilde eklemeye devam edebiliriz.
nem(); nemli yüzer;
//Twitter mesajı String stringMsg = "Nem:"; karakter tmp[10]; dtostrf(nemli, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";
Hava İstasyonu Konumu ve Etiketleme
Ardından konumu (Şehir, Yerellik, vb.) ve #iotweatherstn gibi diğer etiketleri etiketliyoruz.
stringMsg += " #Mumbai #Bandra #iotweatherstn ";
Gerçek Zamanlı Saat (RTC)
Daha önce açıklandığı gibi TWIST, Gerçek Zamanlı Saat Verilerini Tweetleyebilir. Aşağıda, RTC'nin 'gün' parametre kod bloğuna bir örnek verilmiştir. Modül ayrı olarak geldiğinden, TWIST platformunda Gerçek Zamanlı Saat özelliği isteğe bağlıdır. Dolayısıyla, Gerçek Zamanlı Saat dalının kodu ve şemaları için TWIST deposunda oluşturulan ayrı bir dal vardır.
TwistDateTime(); DateTime şimdi = rtc.now(); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; String stringMsg = ""; karakter ds1307day[10]; dtostrf(twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";
140 Karakter Sınırı
Bu kod bloğu, dize dizisini tweetlemeye hazır 140 karakter dizisine gizler.
karakter mesajı[140];
stringMsg.toCharArray(mesaj, 140);
Mesaj ve Bağlantı Sorun Giderme
Bu kod bloğu, kullanıcının mesajı ve tweet durumunu kontrol etmesine yardımcı olmak için Seri Monitörde birkaç satır metin yazdırır.
//O enayi tweetle!
if (twitter.post(msg)) { int durum = twitter.wait(); if (durum == 200) { Serial.println("Tamam."); Serial.println("Mesaj Tweetlendi"); } else { //Bağlantı Testi Serial.print("başarısız: kod "); Serial.println("Mesaj Tweetlenmedi"); Serial.println(durum); } } else { Serial.println("bağlantı başarısız."); Serial.println("Mesaj Tweetlenmedi"); }
Diğer tüm kod blokları, sensörlerden gelen analog veya dijital okumaları kullanılabilir verilere dönüştürür.
Kod buradan veya ana depodan indirilebilir:
Hava Durumu İstasyonu.ino
8. Adım: Sensör Deposuna Katkıda Bulunma
TWIST'te yeni bir özellik için harika bir fikri olan bir programcı, mühendis veya tasarımcı mısınız? Belki bir hata düzeltmesi için iyi bir fikriniz vardır? Github'dan kodlarımızı, şemalarımızı ve CAD dosyalarımızı almaktan ve onunla uğraşmaktan çekinmeyin.
TWIST GitHub
Intel® IoT Invitational'da İkincilik Ödülü
Önerilen:
Hava Durumu Notu: 7 Adım (Resimlerle)
Hava Durumu Notu: Bu, bir hava durumu istasyonu ve hatırlatıcı kombinasyonudur. Hepimiz telefonlarımızdan hava durumunu kontrol edebiliriz, ancak bazen ve özellikle biri kapıdan çıkmaya çalışırken, gereken tek şey hava koşullarına hızlı bir şekilde ulaşmaktır. Bu hava istasyonu sup
Fanair: Odanız için Hava Durumu İstasyonu: 6 Adım (Resimlerle)
Fanair: Odanız için bir Hava Durumu İstasyonu: Mevcut hava durumunu öğrenmenin sayısız yolu vardır, ancak o zaman yalnızca dışarıdaki hava durumunu bilirsiniz. Ya evinizin içindeki, belirli bir odanın içindeki havayı bilmek istiyorsanız? Bu projeyle çözmeye çalıştığım şey bu. Fanair çoklu kullanır
ESP8266'yı Kullanan Basit Hava Durumu İstasyonu: 6 Adım (Resimlerle)
ESP8266 Kullanan Basit Hava Durumu İstasyonu: Bu Eğitilebilir Tabloda Sıcaklık, Basınç, İklim vb. Verileri ve Aboneler ve YouTube verileri gibi verileri almak için ESP8266'nın nasıl kullanılacağını paylaşacağım. Toplam görüntüleme sayısı. ve verileri Seri monitörde görüntüleyin ve LCD'de görüntüleyin. Veriler f olacak
Çevrimiçi Hava Durumu İstasyonu (NodeMCU): 7 Adım (Resimlerle)
Çevrimiçi Hava Durumu İstasyonu (NodeMCU): Hey millet! Umarım önceki "Arduino Robot 4WR" eğitimimi beğenmişsinizdir. ve yeni bir tane için hazırsınız, her zamanki gibi kendi elektronik projenizi yaparken size adım adım rehberlik etmesi için bu öğreticiyi hazırladım.Bunun yapımı sırasında
Yeni Başlayanlar İçin ESP8266 ve ESP8266 Kullanarak Tweetleme Kılavuzu: 17 Adım (Resimlerle)
ESP8266 Başlangıç Kılavuzu ve ESP8266 Kullanarak Tweetleme: Arduino'yu 2 yıl önce öğrendim. Bu yüzden LED'ler, düğmeler, motorlar vb. gibi basit şeylerle oynamaya başladım. LCD ekranda günün hava durumu, hisse senedi fiyatları, tren saatleri