Introduction
In this article, I try to explain the Quectel EC200U 4G GSM Module and Interfacing with Arduino And ESP32 Board.
- This Board Provides reliable and high-speed 4G connectivity for communication mediums.
- Quectel EC200U 4G GSM Module is used in various fields Like IoT, GPRS, M2M, And AI.
It is easy to integrate with any microcontroller for an embedded system.
Link To Buy This Module:- Buy It
Why This Module
The Quectel EC200U is a 4G LTE Module That Provides high-speed 4G Internet Connectivity And also supports GPS for location tracking.
4G LTE Connectivity:- This supports LTE Cat 1, enabling High-Speed Data transmission for IoT Applications.
GPS/GLONASS Support:- The Global Navigation satellite system supports GPS for location tracking and secure data transmission.
Low Power Consumption:- This supports the sleep mode function for IoT Applications, making it suitable for battery-powered Devices.
Multiple Interfacing Function:- this module offers multiple communication interfacing, USB, UART, and GPIO making it easy to interface any other microcontroller.
Features
- This Module is Compatible with 2G/3G/4G/LTE System and is working perfectly
- It supports Soo Many Protocol SMS, TCP, UDP, MQTT, DTMF, HTTP, FTP, etc
- This Module is onboard USB And UART Interfacing For the cloud platform communication.
- There are so many mediums to develop and debug like USB/UART/GPIO/I2C/SPI/ADC.
- This Module Built-in voltage transistor, compatible with 3.3v/5v.
- is also supports multiple power supply methods, Type C USB Port, VIN PIN, And Battery Through.
- This Module is built with 4x LED Indicators…
- Power Led
- Network Signal Led
- GPS Signal Led
- Status Led
- This Module is onboard Nano SIM Card Slot.
Quectel EC200U 4G GSM Module Interfacing With Arduino
SOS Button
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
//Prateek //www.justdoelectronics.com #include <LiquidCrystal_I2C.h> #include <SoftwareSerial.h> #include <Wire.h> SoftwareSerial mySerial(2, 3); LiquidCrystal_I2C lcd(0x27, 16, 2); const int reedPin = 5; const int ledPin = 13; const int buzzer = 6; bool switchState = HIGH; void setup() { mySerial.begin(115200); Serial.begin(9600); lcd.init(); lcd.backlight(); pinMode(reedPin, INPUT); pinMode(ledPin, OUTPUT); pinMode(buzzer, OUTPUT); digitalWrite(ledPin, LOW); lcd.setCursor(0, 0); lcd.print("Welcome To "); lcd.setCursor(0, 1); lcd.print("justdoelectronics"); delay(3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("DESIGN By :-"); lcd.setCursor(0, 1); lcd.print("PRATEEK"); delay(3000); lcd.clear(); } void loop() { switchState = digitalRead(reedPin); if (switchState == HIGH) { digitalWrite(ledPin, HIGH); digitalWrite(buzzer, LOW); Serial.println("Reed Switch is Closed. LED is ON"); //lcd.clear(); lcd.setCursor(0, 0); lcd.print("Switch Open"); lcd.setCursor(0, 1); lcd.print("Is Normal"); lcd.setCursor(10, 3); lcd.print("........"); } else { digitalWrite(ledPin, LOW); digitalWrite(buzzer, HIGH); Serial.println("Reed Switch Open. LED is OFF"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Switch Closed"); lcd.setCursor(0, 1); lcd.print("SMS Sent"); Serial.println("SMS Will send"); mySerial.println("AT+CMGF=1"); delay(1000); mySerial.println("AT+CMGS=\"+91xxxxxxxxxx\"\r"); delay(1000); mySerial.println("Push Butoon Is Press"); delay(100); mySerial.println((char)26); delay(1000); } } |
Flame Sensor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
//Prateek //www.justdoelectronics.com #include <LiquidCrystal_I2C.h> #include <SoftwareSerial.h> LiquidCrystal_I2C lcd(0x27, 16, 2); #define rxPin 2 #define txPin 3 SoftwareSerial sim800(rxPin, txPin); #define led 13 #define buzzer 6 int sensorPin = A0; int read_value; void setup() { sim800.begin(115200); Serial.println("SIM800L initialize"); sim800.println("AT"); lcd.init(); lcd.backlight(); pinMode(sensorPin, INPUT); pinMode(buzzer, OUTPUT); pinMode(led, OUTPUT); lcd.setCursor(0, 0); lcd.print(" WELCOME To "); lcd.setCursor(0, 1); lcd.print(" OUR Project "); delay(2000); } void loop() { read_value = digitalRead(sensorPin); if (read_value == 1) { lcd.setCursor(0, 0); lcd.print(" Not Flame "); lcd.setCursor(0, 1); lcd.print(".....Normal....."); digitalWrite(buzzer, LOW); digitalWrite(led, HIGH); delay(2000); } else { lcd.setCursor(0, 0); lcd.print("Fire is Detected"); lcd.setCursor(0, 1); lcd.print("Alert....!!! "); digitalWrite(buzzer, HIGH); digitalWrite(led, LOW); delay(200); sim800.println("AT+CMGF=1"); delay(1000); sim800.println("AT+CMGS=\"+9188305848xx\"\r"); delay(1000); sim800.println("SMS For Fire Alert"); delay(100); sim800.println((char)26); delay(1000); Serial.println("SMS Send"); } } |
GAS Sensor With Quectel EC200U 4G GSM Module
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
//Prateek //www.justdoelectronics.com #include <SoftwareSerial.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); SoftwareSerial mySerial(2, 3); int Buzzer = 6; int gasValue = A0; int data = 0; void setup() { randomSeed(analogRead(0)); Serial.begin(9600); mySerial.begin(115200); pinMode(Buzzer, OUTPUT); lcd.init(); lcd.backlight(); pinMode(gasValue, INPUT); lcd.print(" Gas Leakage "); lcd.setCursor(0, 1); lcd.print(" Detector Alarm "); delay(3000); lcd.clear(); } void loop() { data = analogRead(gasValue); Serial.print("Gas Level: "); Serial.println(data); lcd.print("Gas Scan is ON"); lcd.setCursor(0, 1); lcd.print("Gas Level: "); lcd.print(data); delay(1000); if (data > 500) { Serial.print("Gas detect alarm"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Gas Level Exceed"); lcd.setCursor(0, 1); lcd.print("SMS Sent"); digitalWrite(Buzzer, HIGH); mySerial.println("AT+CMGF=1"); delay(1000); mySerial.println("AT+CMGS=\"+918928760856\"\r"); delay(1000); mySerial.println("Excess Gas Detected. Open Windows"); delay(100); mySerial.println((char)26); // ASCII code of CTRL+Z delay(1000); } else { Serial.print("Gas Level Low"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Gas Level Normal"); digitalWrite(Buzzer, LOW); delay(1000); } lcd.clear(); } |
SOS Button, DHT11 Sensor, And GAS Sensor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
//Prateek //www.justdoelectronics.com #include <LiquidCrystal_I2C.h> #include <SoftwareSerial.h> #include <dht.h> #include <Wire.h> SoftwareSerial mySerial(2, 3); LiquidCrystal_I2C lcd(0x27, 16, 2); dht DHT; #define DHT11_PIN 4 const int reedPin = A3; int gasValue = A0; int data = 0; bool switchState = HIGH; void setup() { randomSeed(analogRead(0)); mySerial.begin(115200); Serial.begin(9600); lcd.init(); lcd.backlight(); pinMode(reedPin, INPUT); pinMode(gasValue, INPUT); lcd.setCursor(0, 0); lcd.print("Welcome To "); lcd.setCursor(0, 1); lcd.print("justdoelectronics"); delay(3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("DESIGN By :-"); lcd.setCursor(0, 1); lcd.print("PRATEEK"); delay(3000); lcd.clear(); } void loop() { gas(); DHT11(); pushbutton(); delay(400); } void pushbutton() { switchState = digitalRead(reedPin); if (switchState == HIGH) { lcd.setCursor(10, 1); lcd.print("S : O"); } else { lcd.setCursor(10, 1); lcd.print("S : C"); Serial.println("SMS Will send"); mySerial.println("AT+CMGF=1"); delay(1000); mySerial.println("AT+CMGS=\"+9188305848xx\"\r"); delay(1000); mySerial.println("Push Butoon Is Press"); delay(100); mySerial.println((char)26); delay(1000); } delay(700); } void gas() { data = analogRead(gasValue); lcd.setCursor(0, 0); lcd.print("Gas Level: "); lcd.print(data); delay(1000); if (data > 500) { Serial.print("Gas detect alarm"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Gas Level H"); mySerial.println("AT+CMGF=1"); delay(1000); mySerial.println("AT+CMGS=\"+9188305848xx\"\r"); delay(1000); mySerial.println("Excess Gas Detected. Open Windows"); delay(100); mySerial.println((char)26); // ASCII code of CTRL+Z delay(1000); } else { } } void DHT11() { int chk = DHT.read11(DHT11_PIN); Serial.print("Temperature = "); Serial.println(DHT.temperature); Serial.print("Humidity = "); Serial.println(DHT.humidity); lcd.setCursor(0, 1); lcd.print("T :"); lcd.print(DHT.temperature); if (DHT.temperature > 32) { Serial.print("Temperature detect alarm"); lcd.setCursor(0, 1); lcd.print("T : HIGH"); mySerial.println("AT+CMGF=1"); delay(1000); mySerial.println("AT+CMGS=\"+9188305848xx\"\r"); delay(1000); mySerial.println("Temperatures High Detected."); delay(100); mySerial.println((char)26); // ASCII code of CTRL+Z delay(1000); } delay(700); } |