Modul LTE SIM7600
Kali ini kita akan mencoba posting dummy ke blynk cloud dengan menggunakan Modul LTE SIM7600 produk iotles.com. Modul ini kita design untuk keperluan monitoring data-data modbus, atau data-data sensor yang terhubung ke GPIO yang sudah kita expose di PCB nya. Langkah tahapan nya seperti berikut ini.
Pertama-tama insert simcard internet ke board PCB. Cara insert nya bisa di lihat pada gambar di bawah ini,
Setelah di pastikan kartu simcard sudah terpasang dengan benar, antenna terpasang dengan benar (tidak longgar) kemudian hidupkan modem dengan power supply 12v/3A, minimal power supply 3A, dan langkah terakhir adalah insert uploader usb ke board untuk program esp32 nya.
Cara selanjut nya adalah buka Arduino IDE dan ikuti langkah berikut ini.
Posting data Dummy Blynk
Blynk Legacy ( Old Blynk )
Blynk versi ini hanya tersedia versi smart phone, tidak tersedia view data dengan menggunakan web base official blynk. Blynk legacy ini sudah tidak di support lagi sama blynk official. Untuk contoh posting data nya sebagai berikut.
Tambah library Blynk pada Arduino IDE anda, download di link berikut ini, download library blynk arduino
#define BLYNK_PRINT Serial
#define TINY_GSM_MODEM_SIM7600
#include <TinyGsmClient.h>
#include <BlynkSimpleTinyGSM.h>
#define RXD1 26
#define TXD1 27
#define PKEY 13
#define RST 14
char auth[] = "your_token_auth_blynk"; // ganti dengan tokenmu
char apn[] = "Internet";
char user[] = "";
char pass[] = "";
#define SerialAT Serial1
TinyGsm modem(SerialAT);
unsigned long cur_time, old_time;
bool ledState = LOW;
const int ledPin = 12;
int dt_dummy1 = 0;
int dt_dummy2 = 0;
int count_con = 0;
int count_restart = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
SerialAT.begin(115200, SERIAL_8N1, RXD1, TXD1);
pinMode(RST, OUTPUT);
pinMode(PKEY, OUTPUT);
digitalWrite(PKEY, LOW);
digitalWrite(RST, LOW);
delay(1000);
digitalWrite(PKEY, HIGH);
digitalWrite(RST, HIGH);
delay(1000);
digitalWrite(PKEY, LOW);
digitalWrite(RST, LOW);
delay(1000);
Serial.println("Initializing modem...");
modem.restart();
String modemInfo = modem.getModemInfo();
Serial.print("Modem Info: ");
Serial.println(modemInfo);
delay(1000);
Blynk.begin(auth, modem, apn, user, pass);
}
void loop() {
// put your main code here, to run repeatedly:
Blynk.run();
cur_time = millis();
if (cur_time - old_time >= 3000) {
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState); // led blinked
dt_dummy1 = random(10,100); //create random data 10-100
dt_dummy2 = random(101,201);
Blynk.virtualWrite(V0, dt_dummy1);
Blynk.virtualWrite(V1, dt_dummy1);
//restart modem jika not connected selama 20x
bool check_con = Blynk.connected();
if(check_con == false){
count_con++;
if(count_con == 20){
ESP.restart();
}
}
//restart modem setiap 12 jam
count_restart++;
if(count_restart == 43200){
ESP.restart();
}
old_time = millis();
}
}
Penjelasan Kode Penting
Pada program di atas, kita create data dummy dengan code di bawah ini
dt_dummy1 = random(10,100); //create random data 10-100
dt_dummy2 = random(101,201);
Blynk.virtualWrite(V0, dt_dummy1);
Blynk.virtualWrite(V1, dt_dummy1);
dt_dummy akan di create secara random dengan rentang nilai 10 sampai dengan 100, kemudian data dummy2 akan di creata data random antara 101 dan 201.
Selanjut nya adalah reconnect blynk. Hal ini bertujuan jika terjadi disconnect ke blynk selama 20 kali, maka Modul LTE akan reset. Potongan kodenya adalah seperti berikut ini,
//restart modem jika not connected selama 20x
bool check_con = Blynk.connected();
if(check_con == false){
count_con++;
if(count_con == 20){
ESP.restart();
}
}
Selanjut nya restart Modem secara regulary setiap 12 jam, kode nya adalah sebagai berikut
//restart modem setiap 12 jam
count_restart++;
if(count_restart == 43200){
ESP.restart();
}
Program di atas akan meng counter selama 43200 detik, jika di konversi 12jam, jadi Modul LTE ESP32 akan di restart setiap lebih kurang 12 jam sekali.
Blynk Iot ( New Blynk)
Program blynk legacy dan blynk iot hampir sama, perbedaan nya hanya terletak pada device id, Token dan Device ID bisa di dapatkan melalui blynk cloud,
Setelah login atau create, akan dapat token nya seperti gambar di bawah ini
Perhatikan Panah berwarna hijau, kita akan pakai
BLYNK_TEMPLATE_ID dan
BLYNK_AUTH_TOKEN
Kode keseluruhanya sepert pada kode di bawah ini
#define BLYNK_PRINT Serial
#define TINY_GSM_MODEM_SIM7600
#include <TinyGsmClient.h>
#include <BlynkSimpleTinyGSM.h>
#define RXD1 26
#define TXD1 27
#define PKEY 13
#define RST 14
#define BLYNK_TEMPLATE_ID "dummy"
#define BLYNK_DEVICE_NAME "Quickstart Template"
#define BLYNK_AUTH_TOKEN "KOnKddXbixTU1-HssHQbRhEt0-EayuKW"
char apn[] = "Internet";
char user[] = "";
char pass[] = "";
#define SerialAT Serial1
TinyGsm modem(SerialAT);
unsigned long cur_time, old_time;
bool ledState = LOW;
const int ledPin = 12;
int dt_dummy1 = 0;
int dt_dummy2 = 0;
int count_con = 0;
int count_restart = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
SerialAT.begin(115200, SERIAL_8N1, RXD1, TXD1);
pinMode(RST, OUTPUT);
pinMode(PKEY, OUTPUT);
digitalWrite(PKEY, LOW);
digitalWrite(RST, LOW);
delay(1000);
digitalWrite(PKEY, HIGH);
digitalWrite(RST, HIGH);
delay(1000);
digitalWrite(PKEY, LOW);
digitalWrite(RST, LOW);
delay(1000);
Serial.println("Initializing modem...");
modem.restart();
String modemInfo = modem.getModemInfo();
Serial.print("Modem Info: ");
Serial.println(modemInfo);
delay(1000);
Blynk.begin(BLYNK_AUTH_TOKEN, modem, apn, user, pass);
}
void loop() {
// put your main code here, to run repeatedly:
Blynk.run();
cur_time = millis();
if (cur_time - old_time >= 3000) {
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState); // led blinked
dt_dummy1 = random(10,100); //create random data 10-100
dt_dummy2 = random(101,201);
Blynk.virtualWrite(V0, dt_dummy1);
Blynk.virtualWrite(V1, dt_dummy1);
//restart modem jika not connected selama 20x
bool check_con = Blynk.connected();
if(check_con == false){
count_con++;
if(count_con == 20){
ESP.restart();
}
}
//restart modem setiap 12 jam
count_restart++;
if(count_restart == 43200){
ESP.restart();
}
old_time = millis();
}
}
Sekian dulu tulisan bagaimana cara posting data ke blynk menggunakan modem LTE ESp32, jika teman-teman tertarik dengan modul kita ini cukup click tombol whatsapp di bawah ini,
Terimakasih