"RECOMMENDED" Modul GSM Dengan Fitur Paling Lengkap Untuk Project IoT

www.tutorialiot.com

Pengalaman Adalah Guru Terbaik Kehidupan!

Dalam membuat sebuah alat di dunia Internet of Things (IoT) tentunya kita nggak mau menghambur-hamburkan uang dengan membeli modul yang kurang efisien, selain itu kita juga harus memperhitungkan untuk apa alat itu dibuat, kalau untuk sekedar hobi tentunya memilih modul yang biasa saja sudah cukup, namun jika alat tersebut harus bekerja terus menerus dan masuk kedalam kemasan yang lebih rapi tentunya kita harus memikirkan untuk membeli modul yang lebih efisien.

Modul GSM merupakan salah satu perangkat yang mendukung para pemain di dunia Internet of Things, banyak sekali modul GSM yang beredar dipasaran, ada yang sangat murah sampai yang paling mahal, semua tergantung daya tahan dan fitur yang ditawarkan.

Bagi IoT developer dan pemula tentunya akan memilih modul GSM yang memiliki daya tahan dan fitur paling baik, selain itu juga murah, hehehe. apa ada barang seperti itu?

Ada tapi nggak murah-murah banget dan cukup handal serta sudah standard untuk keperluan Industri.

simmoniot.blogspot.com


SIM7000E merupakan sebuah modul GSM yang dikeluarkan oleh DFRobot, modul ini dilengkapi dengan banyak sekali fitur, bisa kalian cek di web resminya DFRobot, berikut adalah rangkuman dari fitur-fiturnya :

1. Quad Band FDD-LTE B3/B8/B20/B28
2. GPRS/EDGE 900/1800 MHz
3. GNSS (GPS, GLONASS, BeiDou, Compass, Galileo, QZSS)
4. BME280 sensor (Suhu, Kelembaban, Tekanan Udara, dan Ketinggian)
5. Support SIM Card NB IoT (Jaringan terbaru untuk IoT)
6. Low Power Consumption pastinya, bisa dilihat di tabel frekuensi pada web resminya, klik disini
7. Cocok dipasang pada hampir semua modul Arduino.

Coba bandingkan dengan produk2 atau modul GSM yang lain, mulai dari SIM900, SIM800, SIM808 

Kenapa Simmon kok nyaranin pakai modul GSM ini?

Bukan promosi, karena Simmon juga nggak jual produk ini, Simmon cuma sharing pengalaman kepada sesama IoT developer dan yang masih pemula agar tidak sia2 mengeluarkan uang. Simmon sudah memakai modul ini cukup lama, dan hasilnya sangat memuaskan, bisa kalian lihat di web landingnya di Thingspeak, klik disini.


simmoniot.blogspot.com

simmoniot.blogspot.com
simmoniot.blogspot.com

SCRIPT CODE BISA KALIAN LIHAT DI BAWAH INI :

//Arduino Low Power Mode
#include <SnoozeLib.h>

//Inisialiasi SIM7000
#include <Wire.h>
#include <DFRobot_SIM7000.h>
#define PIN_TX     7
#define PIN_RX     10
//Link untuk landing Web
#define POSTURL   "api.thingspeak.com/update?api_key= GANTI DENGAN APIKEY KALIAN"
SoftwareSerial     mySerial(PIN_RX,PIN_TX);
DFRobot_SIM7000    sim7000;

//Inisialiasi Sensor BME280
#include <DFRobot_BME280.h>
#define SEA_LEVEL_PRESSURE  1013.25f
#define BME_CS 10
DFRobot_BME280 bme; //I2C
float temp;
float hum;
float pa;
float alt;

//PERHATIAN----> KALIAN HARUS PUNYA SEMUA LIBRARY DIATAS

void bacasensor(){
  temp = bme.temperatureValue();
  pa = bme.pressureValue();
  hum = bme.humidityValue();
  alt = bme.altitudeValue(SEA_LEVEL_PRESSURE);

  Serial.print("Temp:");
  Serial.print(temp);
  Serial.println(" C");

  Serial.print("Pa:");
  Serial.print(pa);
  Serial.println(" Pa");

  Serial.print("Hum:");
  Serial.print(hum);
  Serial.println(" %");

  Serial.print("Alt:");
  Serial.print(alt);
  Serial.println(" m");

  Serial.println("------END------");
}

void kirimdata(){
    int signalStrength,dataNum;
    Serial.begin(115200);
    while(!Serial);
    sim7000.begin(mySerial);
    Serial.println("Turn ON SIM7000......");
    if(sim7000.turnON()){                                    //Turn ON SIM7000
        Serial.println("Turn ON !");
    }

    Serial.println("Set baud rate......");
    while(1){
        if(sim7000.setBaudRate(19200)){                      //Set SIM7000 baud rate from 115200 to 19200 reduce the baud rate to avoid distortion
            Serial.println("Set baud rate:19200");
            break;
        }else{
            Serial.println("Faile to set baud rate");
            delay(1000);
        }
    }

    Serial.println("Check SIM card......");
    if(sim7000.checkSIMStatus()){                            //Check SIM card
        Serial.println("SIM card READY");
    }else{
        Serial.println("SIM card ERROR, Check if you have insert SIM card and restart SIM7000");
        while(1);
        return;
    }

    Serial.println("Set net mode......");
    while(1){
        if(sim7000.setNetMode(GPRS)){                        //Set net mod GPRS
            Serial.println("Set GPRS mode");
            break;
        }else{
            Serial.println("Fail to set mode");
            delay(3000);
        }
    }
delay(1000);

    Serial.println("Get signal quality......");
    signalStrength=sim7000.checkSignalQuality();             //Check signal quality from (0-30)
    Serial.print("signalStrength =");
    Serial.println(signalStrength);
    delay(500);

    Serial.println("Attaching service......");
    while(1){
        if(sim7000.attacthService()){                        //Open the connection
            Serial.println("Attach service");
            break;
        }else{
            Serial.println("Fail to Attach service");
            delay(1000);
         
        }
        return;
    }
    bacasensor();
    Serial.println("Init http......");
    while(1){
        if(sim7000.httpInit(GPRS)){                          //Init http service
            Serial.println("HTTP init !");
            break;
        }else{
            Serial.println("Fail to init http");
        }
    }
    Serial.print("POST to ");
    Serial.println(POSTURL);
    String httpbuff;
    httpbuff += "&field1=";                           
    httpbuff += String(temp); 
    httpbuff += "&field2=";                         
    httpbuff += String(hum);
    httpbuff += "&field3=";                         
    httpbuff += String(pa);
    httpbuff += "&field4=";                         
    httpbuff += String(alt);
    httpbuff += "&field5=";                         
    httpbuff += String(alt);
    /*httpbuff += "&id_modul=NBIoTSK1";
    httpbuff += "&lokasi_modul=Jl.Anggrek_Garuda_No.49_Kota_Malang";*/
    httpbuff += "\"";                                 
    while(1){
        if(sim7000.httpPost(POSTURL,httpbuff)){              //HTTP POST
            Serial.println("Post successed");
            Serial.println(httpbuff);
            break;
        }else{
            Serial.println("Fail to post");
            Serial.println(httpbuff);
        }
    }
    Serial.println("Disconnect");
    sim7000.httpDisconnect();                                //Disconnect
    Serial.println("Close net work");
    sim7000.closeNetwork();                                  //Close net work
    Serial.println("Turn off SIM7000");
    sim7000.turnOFF();                                       //Turn OFF SIM7000
}

void setup(){
      if (!bme.begin()) {
        Serial.println("No sensor device found, check line or address!");
        while (1);
        Serial.println("-- BME280 DEMO --");
      }
}
 
void loop() {
  delay(1000);
  kirimdata();
  Serial.println("Snoozing...");
  snoozeLib.snooze(60000);//Snooze the CPU
  Serial.println("Wake UP!!");
  snoozeLib.wakeup(); //WakeUp The CPU
}

Semoga bisa menjadi pertimbangan dalam memilih modul ya kak, tetap semangat!

Post a Comment

0 Comments