Daftar Isi:

Tweeting Weather Station: 8 Langkah (dengan Gambar)
Tweeting Weather Station: 8 Langkah (dengan Gambar)

Video: Tweeting Weather Station: 8 Langkah (dengan Gambar)

Video: Tweeting Weather Station: 8 Langkah (dengan Gambar)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juli
Anonim
Stasiun Cuaca Tweeting
Stasiun Cuaca Tweeting

Pernah ingin memantau Kondisi Cuaca Saat Ini, Jejak Karbon, Tingkat Kebisingan dan Polusi di kota Anda? Apakah Anda ingin menjadi Tentara Salib Perubahan Iklim atau membuat Stasiun Cuaca Tweeting Anda sendiri dan membagikan kondisi cuaca lokal Anda kepada dunia?

Temui Tweeting Weather IoT Station alias TWIST - Platform Akuisisi Data Meteorologi dan Pemantauan Lingkungan Sumber Terbuka DIY. Tujuan dari TWIST adalah agar individu dan komunitas dapat mengumpulkan data tentang apa yang sebenarnya terjadi di lingkungan mereka dan membagikan data ini di media sosial seperti Twitter.

  • TWIST adalah platform bertenaga Internet of Things (IoT).
  • Otak TWIST adalah Intel Edison Board.
  • TWIST kompatibel dengan berbagai sensor.
  • Semua kode, file desain (skema & tata letak PCB) adalah Open-Source. Ini berarti bahwa siapa pun dapat berkontribusi pada platform TWIST dengan berbagi kode dan skema untuk sensor yang berbeda.

TWIST terdiri dari tiga lapisan teknologi:

Lapisan pertama adalah papan perangkat keras yang berisi semua sensor cuaca dan lingkungan yang dikenal sebagai 'Papan Sensor'. Seperti namanya, ia membawa sensor yang mengukur komposisi udara, suhu, kelembaban, hujan. Sensor tambahan seperti aktivitas seismik, indeks UV, tekanan barometrik, ketinggian, lux (luminositas), tingkat suara, kecepatan & arah angin, dll juga dapat ditambahkan. Setelah diatur, Sensor Board dapat mengalirkan data yang diukur oleh sensor ke lapisan kedua. Lapisan kedua adalah Intel Edison Board yang menerima data dari Sensor Board, memprosesnya dan mengirimkannya ke lapisan berikutnya. Lapisan ketiga menghubungkan Papan Edison Anda ke Internet melalui Wi-Fi menggunakan modul nirkabel pada papan Edison dan Tweet kondisi Cuaca & Lingkungan Saat Ini.

Daya ke perangkat dapat disediakan oleh panel surya atau Adaptor AC.

Repositori yang dikontrol versi

Ketiga lapisan teknologi TWIST adalah Open-Source, dan dengan demikian semua file yang kami gunakan untuk kode, pengembangan PCB, desain mekanis, dll sudah tersedia di repositori Github kami.

Entri Kontes

Undangan Intel IoT

Saya ingin berterima kasih kepada Intel+Instructables karena telah menyediakan saya dengan Intel Edison Board. Saya berencana membuat lebih banyak Instructables terkait IoT menggunakan papan Edison.

#iotweatherstn

Kalau buat TWIST, jangan lupa tweet cuaca pake #iotweatherstn. #iotweatherstn dapat menjadi tagar yang digunakan oleh semua Stasiun Cuaca Tweeting bertenaga IoT.

Langkah 1: Bagian dan Bahan

Bagian dan Bahan
Bagian dan Bahan
Bagian dan Bahan
Bagian dan Bahan
Bagian dan Bahan
Bagian dan Bahan

JumlahBagianDetail 1

Intel Edison

dengan Arduino Breakout Board

1

Sensor Gas Mudah Terbakar MQ2

1

YL-83

Sensor hujan

1

SL-HS-220

Sensor Suhu & Kelembaban

1

Penghambat

32K

4.7K

3 Kebuntuan Logam 1 inci

1

Penghambat

32K

4.7K

2

Lembaran Kayu Ukuran A4

Nanti bisa dipotong sesuai ukuran

3

Kebuntuan Logam

1 inci

Langkah 2: Desain Listrik

Kekuasaan

Seluruh sistem ditenagai dari catu daya 5V 1A. Sensor (Suhu, Kelembaban, Hujan, Gas) menarik sekitar 200 mA, Edison sekitar 500 mA, Karena total arus yang dibutuhkan kurang dari 1 amp, pasokan 1 amp harus berfungsi dengan baik. LED hijau bawaan pada pin digital 13 dari Papan Edison digunakan untuk menunjukkan status daya.

ControlAn Intel Edison menjalankan acara untuk TWIST. Edison dipasang pada papan breakout Arduino, yang membuatnya mudah untuk membaca sinyal digital & analog dari sensor. Edison terhubung ke rel 5V melalui kabel micro USB. Edison memiliki radio Wi-Fi internal, yang memungkinkannya terhubung ke Twitter tanpa memerlukan perangkat keras tambahan.

Jam Waktu Nyata (RTC)

Karena time-stamping yang dilakukan secara otomatis oleh Twitter untuk setiap tweet memiliki resolusi terbatas pada jumlah hari total sejak waktu Tweeting, jam real-time digunakan untuk secara akurat menandai tanggal dan waktu dalam Jam-Menit- Format kedua. Jam real-time yang digunakan dalam platform TWIST adalah modul DS-1307 RTC.

Sensor Pengaturan paling dasar dari sistem ini memiliki empat sensor (Suhu, Kelembaban, Hujan, Gas) yang terhubung ke Edison. Sensor tambahan dapat ditambahkan seperti Kebisingan, Angin, dll. Setiap sensor ditenagai langsung dari rel 5V dan pin sinyalnya masing-masing terhubung ke pin analog A0 hingga A2 dan pin digital 2 pada papan breakout Edison. Sensor juga masing-masing memiliki potensiometer penyesuaian sensitivitas yang dipasang pada setiap papan sensor; MQ-2 adalah sensor gas yang mudah terbakar (gas minyak cair, propana, hidrogen, dan metana) yang mengeluarkan tegangan analog sebanding dengan konsentrasi gas dalam bagian per juta. SL-HS-220 memiliki termistor yang memberikan nilai suhu. Karena output termistor non-linear, tabel suhu yang sesuai diberikan dalam repositori sensor. Termistor membutuhkan rangkaian pembagi tegangan saat terhubung ke Papan Edison seperti yang ditunjukkan pada diagram rangkaian. SL-HS-220 juga memiliki higrometer inbuilt yang mengukur kelembaban dan mengeluarkan tegangan analog yang sesuai dengan nilai kelembaban tetap. Tabel tegangan-kelembaban juga diberikan dalam repositori sensor. Pengganti umum untuk SL-HS-220 adalah sensor DHT11. Sensor hujan/sensor air memiliki potensiometer yang diatur untuk memberikan keluaran digital untuk jumlah hujan tertentu yang sensitivitasnya dapat diatur oleh pengguna.

Stasiun Cuaca.fzz

Langkah 3: Desain Mekanik

Tubuh TWIST terbuat dari dua pelat lembaran kayu. Meskipun saya menggunakan kayu lapis 1/4", desainnya dapat dirakit dari bahan lembaran apa pun karena jarak (dipertahankan oleh 1" aluminium standoffs) adalah satu-satunya elemen penting. Saya telah melampirkan file vektor untuk diunduh di atas.

Pemotongan Laser

Untuk semua yang ingin memotong laser dua pelat, saya telah melampirkan file pemotong laser untuk diunduh di bawah ini. Ini juga mencakup sensor kualitas udara tambahan dalam desainnya. Jadi Anda dapat menggunakan modul sensor MQ2 atau modul sensor kualitas udara tergantung pada pilihan Anda.

Langkah 4: Perakitan Bingkai: Wajah & Basis

pelat muka

Sensor masuk ke dalam lubang dan potongan yang cocok dan dapat diperbaiki menggunakan sekrup atau lem.

Pelat dasar

Penyangga papan Edison disekrup ke Baseplate. Konverter analog-ke-digital (ADC) yang terhubung ke sensor hujan juga dapat disekrup ke Baseplate.

Komponen tambahan seperti buzzer atau rangkaian pengatur tegangan untuk input solar juga dapat disekrup ke Baseplate.

Baseplate dan Faceplate keduanya dipisahkan oleh 1.

Langkah 5: Perakitan Elektronik & Sensor

Kekuasaan

Daya untuk sistem disediakan oleh adaptor dinding dengan jack barel standar yang terhubung langsung ke konektor Edison's Barrel. Sistem ini juga dapat diaktifkan melalui port USB pada papan Edison. Anda juga dapat memberi daya pada papan dari panel surya eksternal.

Sensor

Sensor terpasang ke papan breakout dengan header laki-laki dan karenanya dapat langsung dihubungkan ke Edison melalui kabel jumper male-to-female.

Langkah 6: Konfigurasi Twitter

Untuk menge-Tweet, kami menggunakan aplikasi pihak ketiga yang dikembangkan oleh NeoCat yang mendapatkan token Twitter yang Anda perlukan untuk menge-Tweet dengan papan Edison Anda. Token juga dapat bersumber dari halaman web Pengembang Twitter.

Jadi, untuk memulai, kunjungi situs web NeoCat, ikuti tutorialnya untuk mendapatkan perpustakaan twitter dan token twitter Anda. Seperti yang disebutkan NeoCat di situs mereka, tolong jangan menyalahgunakan layanan ini. Jauhkan tweet Anda jarang. Jika Anda membutuhkan sesuatu yang tweet setiap 6 detik, Anda harus menyiapkan server dan aplikasi twitter Anda sendiri dan karenanya kode yang saya tulis memastikan bahwa server NeoCat tidak kelebihan beban (TWIST tweet setiap 6 jam).

Perpustakaan menggunakan situs web NeoCat ini sebagai server proxy untuk hal-hal OAuth. Tweet Anda mungkin tidak diterapkan selama pemeliharaan situs web NeoCat ini. Twitter tampaknya menolak tweet berulang dengan konten yang sama (mengembalikan error 403).

Token Twitter

Perpustakaan Tweet Arduino

Langkah 7: Perangkat Lunak & Konfigurasi

Ikuti panduan pengaturan Intel untuk Intel Edsion sebelum Anda memulai pengkodean.

Program ini adalah sketsa Arduino yang berjalan di Edison. Saya telah menjelaskan masing-masing blok utama kode di bawah ini.

Kode mencakup beberapa konstanta yang telah ditentukan sebelumnya, deklarasi pin dan beberapa pernyataan cetak serial yang membantu dalam pemecahan masalah.

Penundaan Tweet

Karena Twitter menyaring tweet yang memiliki konten yang sama dan di-tweet dalam waktu singkat di antara masing-masing tweet, penundaan standar 3 jam (10800000 mili detik) antara setiap tweet telah ditetapkan.

tweetPesan();

penundaan (10800000);

Jenis Pengecoran

Banyak pembacaan yang kami dapatkan dari sensor berada dalam tipe data 'int' atau 'float'. Tetapi karena kita men-tweet nilai-nilai ini, kita perlu mengubahnya menjadi tipe data 'String'. Untuk ini kami menggunakan teknik Type-casting khusus.

char *dtostrf (nilai ganda, lebar char yang ditandatangani, prec char yang tidak ditandatangani, char *sout) {

char fmt[100]; sprintf(fmt, "%%%d.%df", lebar, sebelumnya); sprintf(sout, fmt, val); kembali keluar; }

Token Twitter

Token twitter dibuat di situs web NeoCat dan harus ditempelkan ke ruang token di sini.

batalkan pesan tweet() {

Twitter twitter("MASUKKAN TOKEN TWITTER DI SINI");

Nilai Sensor Tweeting

Untuk men-tweet nilai sensor, pertama-tama kami menyertakan jenis Sensor; Contoh: "Kelembaban". Ini diikuti oleh deklarasi karakter dan baris kode yang diperlukan untuk typecasting. Selanjutnya kita tambahkan pernyataan untuk unit pengukuran; Contoh: "%RH". Kami dapat terus menambahkan nilai sensor lain juga dengan cara yang sama.

kelembaban(); mengapung lembab;

//Pesan Twitter String stringMsg = "Kelembaban:"; karakter tmp[10]; dtostrf(lembab, 1, 2, tmp); stringMsg += tmp; stringMsg += "%RH";

Lokasi & Penandaan Stasiun Cuaca

Selanjutnya kita menandai lokasi (Kota, Lokalitas, dll) dan tag lain seperti #iotweatherstn.

stringMsg += " #Mumbai #Bandra #iotweatherstn ";

Jam Waktu Nyata (RTC)

Seperti yang dijelaskan sebelumnya, TWIST juga dapat menge-Tweet Data Jam Waktu Nyata. Di bawah ini adalah contoh blok parameter 'hari' dari kode RTC. Fitur Jam Waktu Nyata adalah opsional dalam platform TWIST karena modul ini tersedia secara terpisah. Oleh karena itu ada cabang terpisah yang dibuat di repositori TWIST untuk kode dan skema cabang Jam Waktu Nyata.

TwistDateTime(); DateTime sekarang = rtc.now(); int putaran hari, putaran bulan, putaran tahun, putaran jam, putaran menit, putaran detik; String stringMsg = ""; char ds1307day[10]; dtostrf(twistday, 1, 0ds1307day); stringMsg += ds1307day; stringMsg += "/";

Batas 140 Karakter

Blok kode ini menutupi larik string hingga larik 140 karakter yang siap untuk di-tweet.

pesan char[140];

stringMsg.toCharArray(pesan, 140);

Pemecahan Masalah Pesan & Koneksi

Blok kode ini mencetak beberapa baris teks di Serial Monitor untuk membantu pengguna memeriksa pesan dan status tweet.

// Tweet pengisap itu!

if (twitter.post(msg)) { int status = twitter.wait(); if (status == 200) { Serial.println("Oke."); Serial.println("Pesan di-Tweet"); } else { //Uji Sambungan Serial.print("gagal: kode "); Serial.println("Pesan tidak di-Tweet"); Serial.println(status); } } else { Serial.println("koneksi gagal."); Serial.println("Pesan tidak di-Tweet"); }

Semua blok kode lainnya hanya mengubah pembacaan analog atau digital dari sensor menjadi data yang dapat digunakan.

Kode dapat diunduh dari sini atau dari repositori utama:

Stasiun Cuaca.ino

Langkah 8: Berkontribusi ke Repositori Sensor

Apakah Anda seorang programmer, insinyur atau desainer yang memiliki ide bagus untuk fitur baru di TWIST? Mungkin Anda punya ide bagus untuk memperbaiki bug? Jangan ragu untuk mengambil kode, skema & file CAD kami dari Github dan mengotak-atiknya.

TWIST GitHub

Undangan Intel® IoT
Undangan Intel® IoT
Undangan Intel® IoT
Undangan Intel® IoT

Hadiah Kedua dalam Intel® IoT Invitational

Direkomendasikan: