- Komponen Diperlukan
- Rajah Litar
- Penyediaan Thinger.io untuk ESP8266 Temperature Logger
- Penyediaan IFTTT untuk Pencatat Data NodeMCU
- Pengaturcaraan NodeMCU untuk Pembalakan Data
- Log Data di Thinger.io dari NodeMCU
- Membuat Endpoint di Thinger.io untuk menghantar Makluman E-mel
Kami sebelum ini menggunakan NodeMCU untuk mencatat data suhu dalam helaian Google. Sekarang di sini kita akan menghantar data ke Thinger.io IoT cloud dan memaparkannya dalam format grafik yang menarik. Sensor BMP180 dihubungkan dengan NodeMCU ESP8266 untuk mengumpulkan data suhu, kelembapan, dan ketinggian, yang akan dihantar ke platform Thinger.io. Dalam tutorial ini, kita akan belajar bagaimana menguruskan pelbagai ciri platform thinger.io, seperti peranti, titik akhir, baldi data, atau token akses.
Komponen Diperlukan
- NodeMCU ESP8266
- Sensor tekanan BMP180
- Wayar Pelompat
- Papan roti
Rajah Litar
Circuit Diagram untuk data log ESP8266 ini sangat mudah, di sini hanya sensor BMP180 yang dihubungkan dengan NodeMCU.
Sensor BMP180 menggunakan protokol komunikasi I2C. Oleh itu, anda perlu menyambungkan pin SCL dan SDA BMP180 ke pin SCL dan SDA (D1 dan D2) dari NodeMCU. Sambungkan juga pin V IN dan GND BMP180 hingga 3.3V dan GND NodeMCU. Jangan sambungkan Sensor secara langsung ke 5V kerana ia boleh merosakkan Sensor secara kekal.
Untuk mengetahui lebih lanjut mengenai NodeMCU, periksa pelbagai projek IoT berdasarkan NodeMCU ESP8266.
Penyediaan Thinger.io untuk ESP8266 Temperature Logger
Thinger.io adalah Platform Sumber Terbuka untuk Internet Perkara. Ini menyediakan setiap alat yang diperlukan untuk membuat prototaip, skala, dan mengurus produk yang terhubung dengan cara yang sangat mudah. Thinger.io menyediakan tiga alat penting iaitu Data Bucks, Dashboard, dan Endpoint untuk berfungsi dengan data peranti; alat ini boleh digunakan untuk memvisualisasikan data peranti dan memperluas kebolehoperasian peranti.
Data Bucks: Alat Data Bucks dapat digunakan untuk menyimpan data perangkat dengan cara yang dapat diskalakan, memprogram selang persampelan yang berbeda atau merekod peristiwa yang dibangkitkan oleh perangkat.
Dashboard: Dashboard tool mempunyai beberapa Panel dengan widget yang dapat disesuaikan yang dapat dibuat dalam beberapa menit menggunakan teknologi drag and drop untuk memvisualisasikan data masa nyata dan disimpan.
Titik Akhir: Titik akhir dapat digunakan untuk mengintegrasikan platform dengan perkhidmatan lain seperti IFTTT, Perkhidmatan Web tersuai, e-mel, atau memanggil peranti lain.
Dalam pembalakan ESP8266 ini, kami akan meneroka alat ini.
Untuk menghantar data ke Thinger.io, anda perlu membuat akaun percuma di platform Thinger.io dan ikuti langkah-langkah berikut untuk menyambungkan peranti anda.
Langkah 1: Langkah pertama adalah membuat peranti baru. Untuk membuat peranti baru, klik pada Peranti di tab menu dan kemudian klik pada butang Tambah Peranti.
Kemudian isi borang dengan ID peranti, keterangan, dan Kredensial atau buat kelayakan rawak untuk peranti anda dan klik pada ' Tambah Peranti .'
Itu sahaja; peranti anda siap disambungkan. Pada langkah seterusnya, kami akan memprogram NodeMCU untuk menghantar data ke platform Thinger.io.
Penyediaan IFTTT untuk Pencatat Data NodeMCU
Di sini kami menggunakan IFTTT untuk menghantar amaran E-mel apabila suhu melebihi had. IFTTT (If This Then That) adalah perkhidmatan berasaskan web di mana kita dapat membuat rangkaian pernyataan bersyarat, yang disebut applet. Dengan menggunakan applet ini, kami dapat menghantar e-mel, Twitter, Facebook pemberitahuan.
Untuk menggunakan IFTTT, log masuk ke akaun IFTTT jika anda sudah memilikinya atau buat akaun.
Sekarang cari ' Webhooks ' dan klik pada bahagian Webhooks dalam Perkhidmatan.
Kemudian, di tetingkap Webhooks, klik pada 'Dokumentasi' di sudut kanan atas untuk mendapatkan kunci peribadi. Salin kunci ini, kunci ini akan digunakan semasa membuat Endpoint di Thinger.io.
Selepas itu, buat applet menggunakan perkhidmatan Webhooks dan E-mel . Untuk membuat applet, klik pada profil anda dan kemudian klik ' Buat. '
Sekarang di tetingkap seterusnya, klik pada ikon ' Ini '. Sekarang cari Webhook di bahagian carian dan klik pada ' Webhooks .'
Sekarang pilih pencetus ' Terima Permintaan Web' dan masukkan nama acara sebagai temp dan kemudian klik buat pencetus.
Selepas ini, klik pada ' Kemudian Itu' dan kemudian klik pada E-mel.
Sekarang dalam e-mel, klik 'hantarkan e-mel kepada saya' dan masukkan subjek dan isi e-mel dan kemudian klik buat tindakan. Pada langkah terakhir, klik pada ' Finish ' untuk menyelesaikan persediaan Applet.
Pengaturcaraan NodeMCU untuk Pembalakan Data
Kod lengkap untuk menghantar data ke Thinger.io diberikan di akhir halaman. Di sini, kami menerangkan beberapa bahagian penting.
Mulakan kod dengan memasukkan semua perpustakaan yang diperlukan. The ThingerESP8266.h digunakan untuk mewujudkan sambungan antara platform IOT dan NodeMCU manakala Adafruit_BMP085.h digunakan untuk membaca data yang BMP sensor. Anda boleh memasang perpustakaan ThingerESP8266.h dari pengurus perpustakaan Arduino IDEs.
#sertakan
Seterusnya, masukkan kelayakan dalam kod, supaya peranti dapat dikenali dan dikaitkan dengan akaun anda.
#define USERNAME "Nama Pengguna akaun anda" #define DEVICE_ID "NodeMCU" // Nama Peranti Anda #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Kemudian, masukkan nama titik akhir anda. Titik akhir digunakan untuk mengintegrasikan platform dengan perkhidmatan luaran seperti IFTTT, permintaan HTTTP, dll.
#tentukan EMAIL_ENDPOINT "IFTTT"
Tentukan pemboleh ubah untuk menyimpan data Tekanan, Suhu, dan Ketinggian.
int Tekanan, Suhu, Ketinggian;
Di dalam gelung kekosongan (), baca data sensor. The pson jenis data boleh memegang data berlainan jenis. Oleh itu, jenis data Pson digunakan untuk menerima pelbagai nilai pada masa yang sama.
perkara >> (pson & out) {out = bmp.readPressure () / 100; keluar = bmp.readAltitude (); keluar = bmp.readTemperature (); };
Gunakan jika keadaan untuk memanggil Titik Akhir jika nilai suhu melebihi 15 darjah. Di sini data adalah nama Endpoint.
jika (Suhu> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Menghantar Data");
Log Data di Thinger.io dari NodeMCU
Sekarang sambungkan sensor BMP ke NodeMCU dan muat naik kodnya. NodeMCU akan menggunakan kelayakan akaun anda untuk berhubung dengan peranti yang anda buat sebelumnya. Sekiranya berjaya disambungkan, ia akan menunjukkan sambungan, seperti yang ditunjukkan dalam gambar di bawah:
Anda boleh memeriksa statistik peranti anda seperti Data yang Dihantar, Data yang Diterima, Alamat IP, Waktu yang Dihubungkan, dan lain-lain dengan hanya mengklik nama peranti dari menu Peranti.
Karena sekarang kami menerima data, kami akan membuat dashboard untuk memvisualisasikan data menggunakan widget.
Untuk membuat Papan Pemuka, klik pada Papan Pemuka dari tab menu dan kemudian klik pada ' Tambah Papan Pemuka .'
Sekarang di tetingkap seterusnya, masukkan butiran papan pemuka seperti nama papan pemuka, ID, dan Keterangan dan kemudian klik pada Papan Pemuka.
Selepas ini, akses papan pemuka baru dengan mengklik nama Papan Pemuka. Secara lalai, papan pemuka akan kelihatan kosong. Untuk menambahkan Widget, pertama-tama anda perlu mengaktifkan mod edit dengan mengklik suis kanan atas papan pemuka. Kemudian klik pada butang ' Tambah Widget' .
Apabila anda mengklik pada butang ' Tambah Widget' , ia akan menunjukkan pop timbul di mana anda boleh memilih jenis widget, warna latar belakang, dll. Dalam kes saya, saya telah memilih Gauge Widget.
Apabila anda mengklik simpan, itu akan membawa anda ke layar berikutnya di mana anda perlu memilih mod Sumber, Perangkat, Sumber, Nilai, dan Refresh. Pilih semua nilai dan kemudian klik pada butang Simpan.
Sekarang ulangi prosedur yang sama untuk sisa pemboleh ubah. Papan pemuka saya kelihatan seperti ini:
Membuat Endpoint di Thinger.io untuk menghantar Makluman E-mel
Sekarang kita akan membuat Endpoint untuk mengintegrasikan Thinger.io dengan IFTTT. Titik akhir boleh dipanggil oleh perangkat untuk melakukan tindakan apa pun, seperti mengirim e-mel, mengirim SMS, memanggil REST API, berinteraksi dengan IFTTT, memanggil peranti dari akaun lain, atau memanggil titik akhir HTTP yang lain.
Untuk membuat Endpoint, klik pada pilihan 'Endpoint' dari tab menu dan kemudian klik 'Add Endpoint.'
Sekarang di tetingkap seterusnya, masukkan butiran yang diperlukan. Perinciannya adalah:
Id Titik Akhir: Pengecam unik untuk titik akhir anda.
Huraian Titik Akhir: Tulis keterangan atau maklumat terperinci mengenai Titik Akhir anda.
Jenis Titik Akhir: Pilih jenis Titik Akhir dari pilihan yang diberikan.
Nama Acara Pembuat: Masukkan nama applet IFTTT anda.
Kekunci Saluran Pembuat: Kekunci rahsia Webhooks anda.
Selepas ini, klik Test Endpoint untuk memeriksa sama ada semuanya berfungsi. Ia akan menghantar e-mel kepada anda dengan amaran mengenai data suhu.
Daripada menggunakan Pencetus WebTook IFTTT, anda boleh menghantar Mesej E-mel atau Telegram, atau anda boleh menghantar permintaan HTTP menggunakan ciri Endpoint.
Ini adalah bagaimana NodeMCU ESP8266 dapat digunakan untuk mencatat data suhu, tekanan, dan ketinggian dari sensor BMP180 ke internet.
Video yang berfungsi dan kod lengkap diberikan di hujung halaman.