|
|
- /**************************************************************
- *
- * This script tries to auto-detect the baud rate
- * and allows direct AT commands access
- *
- * TinyGSM Getting Started guide:
- * https://tiny.cc/tinygsm-readme
- *
- **************************************************************/
-
- // Select your modem:
- #define TINY_GSM_MODEM_SIM800
- // #define TINY_GSM_MODEM_SIM900
- // #define TINY_GSM_MODEM_SIM808
- // #define TINY_GSM_MODEM_SIM868
- // #define TINY_GSM_MODEM_UBLOX
- // #define TINY_GSM_MODEM_M95
- // #define TINY_GSM_MODEM_BG96
- // #define TINY_GSM_MODEM_A6
- // #define TINY_GSM_MODEM_A7
- // #define TINY_GSM_MODEM_M590
- // #define TINY_GSM_MODEM_MC60
- // #define TINY_GSM_MODEM_MC60E
- // #define TINY_GSM_MODEM_ESP8266
- // #define TINY_GSM_MODEM_XBEE
-
- // Set serial for debug console (to the Serial Monitor, speed 115200)
- #define SerialMon Serial
-
- // Set serial for AT commands (to the module)
- // Use Hardware Serial on Mega, Leonardo, Micro
- #ifndef __AVR_ATmega328P__
- #define SerialAT Serial1
-
- // or Software Serial on Uno, Nano
- #else
- #include <SoftwareSerial.h>
- SoftwareSerial SerialAT(2, 3); // RX, TX
- #endif
-
- #define TINY_GSM_DEBUG SerialMon
-
- #include <TinyGsmClient.h>
-
- // Module baud rate
- uint32_t rate = 0; // Set to 0 for Auto-Detect
-
- void setup() {
- // Set console baud rate
- SerialMon.begin(115200);
- delay(6000);
- }
-
- void loop() {
-
- if (!rate) {
- rate = TinyGsmAutoBaud(SerialAT);
- }
-
- if (!rate) {
- SerialMon.println(F("***********************************************************"));
- SerialMon.println(F(" Module does not respond!"));
- SerialMon.println(F(" Check your Serial wiring"));
- SerialMon.println(F(" Check the module is correctly powered and turned on"));
- SerialMon.println(F("***********************************************************"));
- delay(30000L);
- return;
- }
-
- SerialAT.begin(rate);
-
- // Access AT commands from Serial Monitor
- SerialMon.println(F("***********************************************************"));
- SerialMon.println(F(" You can now send AT commands"));
- SerialMon.println(F(" Enter \"AT\" (without quotes), and you should see \"OK\""));
- SerialMon.println(F(" If it doesn't work, select \"Both NL & CR\" in Serial Monitor"));
- SerialMon.println(F("***********************************************************"));
-
- while(true) {
- if (SerialAT.available()) {
- SerialMon.write(SerialAT.read());
- }
- if (SerialMon.available()) {
- SerialAT.write(SerialMon.read());
- }
- delay(0);
- }
- }
|