ESP32 Publikasikan Data ke Cloud tanpa Wi-Fi (TTGO T-Call ESP32 SIM800L)

Proyek ini menunjukkan cara menghubungkan papan TTGO T-Call ESP32 SIM800L ke Internet menggunakan paket data kartu SIM dan mempublikasikan data ke cloud tanpa menggunakan Wi-Fi. Kami akan memprogram papan ini dengan Arduino IDE.


Tonton Video Tutorialnya

Anda dapat menonton video tutorial atau melanjutkan membaca untuk instruksi proyek lengkap.


Memperkenalkan TTGO T-Call ESP32 SIM800L

TTGO T-Call adalah papan pengembangan ESP32 baru yang menggabungkan modul GSM/GPRS SIM800L. Anda bisa mendapatkan jika untuk sekitar $11.

Selain Wi-Fi dan Bluetooth, Anda dapat berkomunikasi dengan papan ESP32 ini menggunakan SMS atau panggilan telepon dan Anda dapat menghubungkannya ke internet menggunakan paket data kartu SIM Anda. Ini bagus untuk proyek IoT yang tidak memiliki akses ke router terdekat.

Penting: SIM800L berfungsi di jaringan 2G, jadi hanya akan berfungsi di negara Anda, jika jaringan 2G tersedia. Periksa apakah Anda memiliki jaringan 2G di negara Anda, jika tidak maka tidak akan berfungsi.

Untuk menggunakan kemampuan papan ini, Anda harus memiliki kartu SIM nano dengan paket data dan kabel USB-C untuk mengunggah kode ke papan.

Paket termasuk beberapa pin header, konektor baterai, dan antena eksternal yang harus Anda sambungkan ke board Anda.

Namun, kami memiliki beberapa masalah dengan antena itu, jadi kami memutuskan untuk beralih ke jenis antena lain dan semua masalah terpecahkan. Gambar berikut menunjukkan antena baru.

Ulasan Proyek

Ide dari proyek ini adalah untuk mempublikasikan data sensor dari mana saja ke layanan cloud apa pun yang Anda inginkan. ESP32 tidak perlu memiliki akses ke router melalui Wi-Fi, karena kami akan terhubung ke internet menggunakan paket data kartu SIM.

Dalam proyek sebelumnya, kami telah membuat domain server kami sendiri dengan database untuk memplot pembacaan sensor dalam bagan yang dapat Anda akses dari mana saja di dunia.

Dalam proyek ini, kami akan memublikasikan pembacaan sensor ke server tersebut. Anda dapat mempublikasikan pembacaan sensor Anda ke layanan lain, seperti ThingSpeak, IFTTT, dll…

Jika Anda ingin mengikuti proyek yang tepat ini, Anda harus mengikuti tutorial sebelumnya terlebih dahulu untuk menyiapkan domain server Anda sendiri. Kemudian, unggah kode yang disediakan dalam proyek ini ke papan ESP32 Anda.

Singkatnya, inilah cara kerja proyek:

    1. Papan T-Call ESP32 SIM800L dalam mode tidur nyenyak.

    2. Itu bangun dan terhubung ke internet menggunakan paket data kartu SIM Anda.

    3. Ini menerbitkan pembacaan sensor ke server dan kembali tidur.

Dalam contoh kami, waktu tidur adalah 60 menit, tetapi Anda dapat dengan mudah mengubahnya dalam kode.

Kami akan menggunakan sensor BME280, tetapi Anda harus dapat menggunakan sensor lain yang paling sesuai dengan kebutuhan Anda.

Penyedia Hosting

Jika Anda tidak memiliki akun hosting, saya sarankan mendaftar ke Bluehost, karena mereka dapat menangani semua persyaratan proyek. Jika Anda tidak memiliki akun hosting, saya akan sangat menghargai jika Anda mendaftar ke Bluehost menggunakan tautan saya. Yang tidak dikenakan biaya tambahan apa pun dan membantu mendukung pekerjaan kami.

Dapatkan Hosting dan Nama Domain denganBluehost »

Prasyarat

1. ESP32 add-on Arduino IDE

Kami akan memprogram ESP32 menggunakan Arduino IDE. Jadi, Anda harus menginstal add-on ESP32 di Arduino IDE Anda. Ikuti tutorial berikutnya, jika Anda belum melakukannya.

    Memasang Board ESP32 di Arduino IDE(Windows, Mac OS X, Linux)

2. Mempersiapkan Domain Server Anda

Dalam proyek ini kami akan menunjukkan kepada Anda cara memublikasikan data ke layanan cloud apa pun. Kami akan menggunakan domain server kami sendiri dengan database untuk mempublikasikan semua data, tetapi Anda dapat menggunakan layanan lain seperti ThingSpeak, IFTTT, dll…

Jika Anda ingin mengikuti proyek yang tepat ini, Anda harus mengikuti tutorial berikutnya untuk menyiapkan domain server Anda sendiri.

    Visualisasikan Pembacaan Sensor Anda dariMana Saja di Dunia (ESP32 + MySQL + PHP)

3. Kartu SIM dengan paket data

Untuk menggunakan papan TTGO T-Call ESP32 SIM800L, Anda memerlukan kartu SIM nano dengan paket data. Sebaiknya gunakan kartu SIM dengan paket prabayar atau bulanan, sehingga Anda tahu persis berapa banyak yang akan Anda belanjakan.

4. Detail APN

Untuk menghubungkan kartu SIM Anda ke internet, Anda harus memiliki rincian APN penyedia paket telepon Anda. Anda memerlukan nama domain, nama pengguna, dan kata sandi.

Dalam kasus saya, saya menggunakan vodafone Portugal. Jika Anda mencari pengaturan GPRS APN diikuti dengan nama penyedia paket telepon Anda, (dalam kasus saya ini: “GPRS APN vodafone Portugal”), Anda biasanya dapat menemukan di forum atau di situs web mereka semua informasi yang Anda butuhkan.

Saya telah menemukan situs web ini yang dapat sangat berguna untuk menemukan semua informasi yang Anda butuhkan.

Mungkin agak sulit untuk menemukan detailnya jika Anda tidak menggunakan penyedia yang terkenal. Jadi, Anda mungkin perlu menghubungi mereka secara langsung.

5. Libraries

Anda perlu menginstal pustaka ini untuk melanjutkan proyek ini: Adafruit_BME280, Adafruit_Sensor dan TinyGSM. Ikuti petunjuk selanjutnya untuk menginstal pustaka ini.

Memasang Pustaka Adafruit BME280

Buka Arduino IDE Anda dan pergi ke Sketch > Include Library > Manage Libraries. Manajer Perpustakaan harus terbuka.

Cari “adafruit bme280” di kotak Pencarian dan instal perpustakaan.

Memasang Pustaka Sensor Adafruit

Untuk menggunakan perpustakaan BME280, Anda juga perlu menginstal perpustakaan Adafruit_Sensor. Ikuti langkah-langkah selanjutnya untuk menginstal perpustakaan di Arduino IDE Anda:

Buka Sketch > Include Library > Manage Libraries dan ketik “Adafruit Unified Sensor” di kotak pencarian. Gulir ke bawah untuk menemukan perpustakaan dan menginstalnya.

Memasang Perpustakaan TinyGSM

Di Manajer Perpustakaan Arduino IDE cari TinyGSM. Pilih perpustakaan TinyGSM oleh Volodymyr Shymanskyy.

Setelah menginstal perpustakaan, restart Arduino IDE Anda.

Bagian yang Diperlukan

Untuk membangun proyek ini, Anda memerlukan bagian-bagian berikut:

    TTGO T-Panggilan ESP32 SIM800L

    Kabel USB-C

    Antena (opsional)

    Modul sensor BME280 (Panduan untuk BME280dengan ESP32)

    Breadboard

    Kabel jumper

Diagram Skematik

Hubungkan BME280 ke papan T-Call ESP32 SIM800L seperti yang ditunjukkan pada diagram skema berikut.

Kami menghubungkan pin SDA ke GPIO 18 dan pin SCL ke GPIO 19. Kami tidak menggunakan GPIO I2C default karena sedang digunakan oleh IC manajemen daya baterai papan T-Call ESP32 SIM800L.

Kode

Salin kode berikut ke Arduino IDE Anda tetapi jangan mengunggahnya dulu. Pertama, Anda perlu membuat beberapa modifikasi untuk membuatnya berfungsi.










Sebelum mengunggah kode, Anda harus memasukkan detail APN, PIN kartu SIM (jika ada), dan domain server Anda.

Cara Kerja Kode

Masukkan kredensial GPRS APN Anda dalam variabel berikut:

Dalam kasus kami, APN adalah internet.vodafone.pt. Anda harus berbeda. Kami telah menjelaskan sebelumnya dalam tutorial ini cara mendapatkan detail APN Anda.

Masukkan PIN kartu SIM Anda jika berlaku:

Anda juga perlu mengetikkan detail server di variabel berikut. Ini bisa berupa domain server Anda sendiri atau server lain yang ingin Anda publikasikan datanya.

Jika Anda menggunakan domain server Anda sendiri seperti yang kami lakukan dalam tutorial ini, Anda juga memerlukan kunci API. Dalam hal ini, apiKeyValue hanyalah string acak yang dapat Anda modifikasi. Ini digunakan untuk alasan keamanan, jadi hanya siapa pun yang mengetahui kunci API Anda yang dapat memublikasikan data ke database Anda.

Kode banyak dikomentari sehingga Anda memahami tujuan dari setiap baris kode.

Baris berikut menentukan pin yang digunakan oleh modul SIM800L:

Tentukan pin BME280 I2C. Dalam contoh ini kami tidak menggunakan pin default karena sudah digunakan oleh IC manajemen daya baterai papan T-Call ESP32 SIM800L. Jadi, kami menggunakan GPIO 18 dan GPIO 19.

Tentukan komunikasi serial untuk Serial Monitor dan lainnya untuk berkomunikasi dengan modul SIM800L:

Konfigurasikan perpustakaan TinyGSM agar berfungsi dengan modul SIM800L.

Sertakan perpustakaan berikut untuk berkomunikasi dengan SIM800L.

Dan perpustakaan ini untuk menggunakan sensor BME280:

Instansiasi komunikasi I2C untuk SIM800L.

Dan komunikasi I2C lainnya untuk sensor BME280.

Inisialisasi TinyGSMClient untuk koneksi internet.

Tentukan waktu tidur nyenyak dalam variabel TIME_TO_SLEEP dalam hitungan detik.

Dalam setup(), inisialisasi Serial Monitor pada baud rate 115200:

Mulai komunikasi I2C untuk modul SIM800L dan untuk modul sensor BME280:

Atur pin SIM800L dalam kondisi yang tepat untuk beroperasi:

Inisialisasi komunikasi serial dengan modul SIM800L

Inisialisasi modul SIM800L dan buka kunci PIN kartu SIM jika diperlukan

Inisialisasi modul sensor BME280:

Konfigurasikan tidur nyenyak sebagai sumber bangun:

Di loop() adalah di mana kita akan benar-benar terhubung ke internet dan membuat permintaan HTTP POST untuk mempublikasikan data sensor. Karena ESP32 akan masuk ke mode deep sleep di akhir loop(), itu hanya akan berjalan sekali.

Baris berikut menghubungkan modul ke internet:

Siapkan data pesan yang akan dikirim melalui HTTP POST Request

Pada dasarnya, kami membuat string dengan nilai kunci API dan semua pembacaan sensor. Anda harus mengubah string ini tergantung pada data yang ingin Anda kirim.

Baris berikut membuat permintaan POST.

Terakhir, tutup koneksi, dan putuskan sambungan dari internet.

Pada akhirnya, letakkan ESP32 dalam mode tidur nyenyak.

Unggah Kode

Setelah memasukkan semua detail yang diperlukan, Anda dapat mengunggah kode ke papan Anda.

Untuk mengunggah kode ke papan Anda, buka Alat > Papan dan pilih modul ESP32 Dev. Buka Alat > Port dan pilih port COM yang terhubung dengan papan Anda. Terakhir, tekan tombol unggah untuk mengunggah kode ke papan Anda.

Catatan: saat ini, tidak ada papan untuk T-Call ESP32 SIM800L, tetapi kami telah memilih Modul Dev ESP32 dan telah berfungsi dengan baik.

Demonstrasi

Buka Serial Monitor pada baud rate 115200 dan tekan tombol board RST.

Pertama, modul menginisialisasi dan kemudian mencoba terhubung ke internet. Harap dicatat bahwa ini dapat memakan waktu (dalam beberapa kasus butuh hampir 1 menit untuk menyelesaikan permintaan).

Setelah terhubung ke internet, itu akan terhubung ke server Anda untuk membuat permintaan HTTP POST.

Akhirnya, terputus dari server, memutus internet dan pergi tidur.

Dalam contoh ini, ia menerbitkan pembacaan sensor baru setiap 60 menit, tetapi untuk tujuan pengujian, Anda dapat menggunakan penundaan yang lebih singkat.

Kemudian, buka browser dan ketik domain server Anda pada URL /esp-chart.php. Anda akan melihat grafik dengan pembacaan sensor terbaru.

Penyelesaian masalah

Jika pada titik ini, Anda tidak dapat membuat modul Anda terhubung ke internet, hal itu dapat disebabkan oleh salah satu alasan berikut:

    • Kredensial APN mungkin tidak benar;

    • Antena mungkin tidak berfungsi dengan baik. Dalam kasus kami, kami harus mengganti antena;

    • Anda mungkin perlu keluar untuk mendapatkan jangkauan sinyal yang lebih baik;

    • Atau Anda mungkin tidak memasok arus yang cukup ke modul. Jika Anda menyambungkan modul ke komputer menggunakan hub USB tanpa catu daya eksternal, mungkin arusnya tidak cukup untuk beroperasi.

Membungkus

Kami harap Anda menyukai proyek ini. Menurut pendapat kami, papan T-Call SIM800 ESP32 bisa sangat berguna untuk proyek IoT yang tidak memiliki akses ke router terdekat melalui Wi-Fi. Anda dapat menghubungkan papan Anda ke internet dengan cukup mudah menggunakan paket data kartu SIM.

Kami akan segera memublikasikan lebih banyak proyek tentang papan ini (seperti mengirim notifikasi SMS, meminta data melalui SMS, dll.) jadi, pantau terus!

Anda mungkin juga menyukai:

    $11 TTGO T-Call ESP32 dengan SIM800LGSM/GPRS (ulasan mendalam)

    ESP32/ESP8266 Masukkan Data ke DatabaseMySQL menggunakan PHP dan Arduino IDE

    Pembacaan Sensor Plot ESP32/ESP8266 dalamGrafik Waktu Nyata – Server Web

    Server Web ESP32 dengan BME280 – Stasiun Cuaca Tingkat Lanjut

Pelajari lebih lanjut tentang ESP32 dengan sumber daya kami:

    Belajar ESP32 dengan Arduino IDE (Kursus)

    Pemrograman MicroPython dengan ESP32 danESP8266 (eBook)

    Lebih Banyak Proyek dan Tutorial ESP32

Sumber : randomnerdtutorials.com

Posting Komentar

0 Komentar