İçindekiler:

Hava Durumu İstasyonunu Tweetleme: 8 Adım (Resimlerle)
Hava Durumu İstasyonunu Tweetleme: 8 Adım (Resimlerle)

Video: Hava Durumu İstasyonunu Tweetleme: 8 Adım (Resimlerle)

Video: Hava Durumu İstasyonunu Tweetleme: 8 Adım (Resimlerle)
Video: GECE 3'te SKİBİDİ TOİLET, TİTAN CAMERAMAN, TİTAN SPEAKERMAN, TV MAN, TV WOMAN İLE AYNI ANDA KONUŞTUM 2024, Kasım
Anonim
Hava Durumu İstasyonunu Tweetleme
Hava Durumu İstasyonunu Tweetleme

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

Parçalar ve Malzemeler
Parçalar ve Malzemeler
Parçalar ve Malzemeler
Parçalar ve Malzemeler
Parçalar ve Malzemeler
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 Davetiyesi
Intel® IoT Davetiyesi
Intel® IoT Davetiyesi
Intel® IoT Davetiyesi

Intel® IoT Invitational'da İkincilik Ödülü

Önerilen: