From 7e314292d4bdeeafe06f4ea5d8086b9a1c64b17f Mon Sep 17 00:00:00 2001 From: Sara Damiano Date: Thu, 23 May 2019 12:39:04 -0400 Subject: [PATCH] Another example update --- examples/AllFunctions/AllFunctions.ino | 7 +- examples/HttpClient/HttpClient.ino | 2 +- examples/HttpsClient/HttpsClient.ino | 4 +- examples/MqttClient/MqttClient.ino | 2 +- examples/WebClient/WebClient.ino | 10 +++ tools/Diagnostics/Diagnostics.ino | 106 ++++++++++++++++++++----- 6 files changed, 104 insertions(+), 27 deletions(-) diff --git a/examples/AllFunctions/AllFunctions.ino b/examples/AllFunctions/AllFunctions.ino index 66bd372..718193c 100644 --- a/examples/AllFunctions/AllFunctions.ino +++ b/examples/AllFunctions/AllFunctions.ino @@ -31,7 +31,7 @@ // See all AT commands, if wanted // #define DUMP_AT_COMMANDS -// See the debugging, if wanted +// Define the serial console for debug prints, if needed #define TINY_GSM_DEBUG SerialMon // Range to attempt to autobaud @@ -70,8 +70,11 @@ // Your GPRS credentials // Leave empty, if missing user or pass +const char apn[] = "YourAPN"; const char gprsUser[] = ""; const char gprsPass[] = ""; +const char wifiSSID[] = "YourSSID"; +const char wifiPass[] = "YourWiFiPass"; #include @@ -98,6 +101,8 @@ void setup() { DBG("Wait..."); // Set GSM module baud rate + TinyGsmAutoBaud(SerialAT,GSM_AUTOBAUD_MIN,GSM_AUTOBAUD_MAX); + //SerialAT.begin(9600); delay(3000); } diff --git a/examples/HttpClient/HttpClient.ino b/examples/HttpClient/HttpClient.ino index 304f471..45295b8 100644 --- a/examples/HttpClient/HttpClient.ino +++ b/examples/HttpClient/HttpClient.ino @@ -46,7 +46,7 @@ // See all AT commands, if wanted //#define DUMP_AT_COMMANDS -// See the debugging, if wanted +// Define the serial console for debug prints, if needed //#define TINY_GSM_DEBUG Serial //#define LOGGING // <- Logging is for the HTTP library diff --git a/examples/HttpsClient/HttpsClient.ino b/examples/HttpsClient/HttpsClient.ino index dbe5202..ca61d43 100644 --- a/examples/HttpsClient/HttpsClient.ino +++ b/examples/HttpsClient/HttpsClient.ino @@ -33,7 +33,7 @@ // #define TINY_GSM_MODEM_SEQUANS_MONARCH // Increase RX buffer to capture the entire response -// Chips without internal buffering (ESP8266) +// Chips without internal buffering (A6/A7, ESP8266, M590) // need enough space in the buffer for the entire response // else data will be lost (and the http library will fail). #define TINY_GSM_RX_BUFFER 650 @@ -41,7 +41,7 @@ // See all AT commands, if wanted //#define DUMP_AT_COMMANDS -// See the debugging, if wanted +// Define the serial console for debug prints, if needed //#define TINY_GSM_DEBUG Serial //#define LOGGING // <- Logging is for the HTTP library diff --git a/examples/MqttClient/MqttClient.ino b/examples/MqttClient/MqttClient.ino index fb04046..841be7f 100644 --- a/examples/MqttClient/MqttClient.ino +++ b/examples/MqttClient/MqttClient.ino @@ -49,7 +49,7 @@ // See all AT commands, if wanted // #define DUMP_AT_COMMANDS -// See the debugging, if wanted +// Define the serial console for debug prints, if needed #define TINY_GSM_DEBUG SerialMon // Range to attempt to autobaud diff --git a/examples/WebClient/WebClient.ino b/examples/WebClient/WebClient.ino index aa0e156..e15787b 100644 --- a/examples/WebClient/WebClient.ino +++ b/examples/WebClient/WebClient.ino @@ -30,6 +30,16 @@ // Increase RX buffer if needed // #define TINY_GSM_RX_BUFFER 512 +// See all AT commands, if wanted +// #define DUMP_AT_COMMANDS + +// Define the serial console for debug prints, if needed +#define TINY_GSM_DEBUG SerialMon + +// Range to attempt to autobaud +#define GSM_AUTOBAUD_MIN 9600 +#define GSM_AUTOBAUD_MAX 115200 + // Add a reception delay, if needed // #define TINY_GSM_YIELD() { delay(1); } diff --git a/tools/Diagnostics/Diagnostics.ino b/tools/Diagnostics/Diagnostics.ino index 8283c59..a4ecde7 100644 --- a/tools/Diagnostics/Diagnostics.ino +++ b/tools/Diagnostics/Diagnostics.ino @@ -14,7 +14,10 @@ // #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM808 // #define TINY_GSM_MODEM_SIM868 +// #define TINY_GSM_MODEM_SIM900 +// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_UBLOX +// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_BG96 // #define TINY_GSM_MODEM_A6 @@ -24,22 +27,28 @@ // #define TINY_GSM_MODEM_MC60E // #define TINY_GSM_MODEM_ESP8266 // #define TINY_GSM_MODEM_XBEE +// #define TINY_GSM_MODEM_SEQUANS_MONARCH -// Increase the buffer +// Increase RX buffer if needed #define TINY_GSM_RX_BUFFER 512 +// See all AT commands, if wanted +#define DUMP_AT_COMMANDS + // Define the serial console for debug prints, if needed -//#define TINY_GSM_DEBUG Serial +#define TINY_GSM_DEBUG Serial -#include +// Range to attempt to autobaud +#define GSM_AUTOBAUD_MIN 9600 +#define GSM_AUTOBAUD_MAX 115200 -// Your GPRS credentials -// Leave empty, if missing user or pass -const char apn[] = "YourAPN"; -const char user[] = ""; -const char pass[] = ""; +// Add a reception delay, if needed +#define TINY_GSM_YIELD() { delay(2); } -// Set serial for debug console (to the Serial Monitor, speed 115200) +// Uncomment this if you want to use SSL +//#define USE_SSL + +// Set serial for debug console (to the Serial Monitor, default speed 115200) #define SerialMon Serial // Set serial for AT commands (to the module) @@ -50,28 +59,59 @@ const char pass[] = ""; //#include //SoftwareSerial SerialAT(2, 3); // RX, TX +#define TINY_GSM_USE_GPRS true +#define TINY_GSM_USE_WIFI false -#include -StreamDebugger debugger(SerialAT, SerialMon); -TinyGsm modem(debugger); +// set GSM PIN, if any +#define GSM_PIN "" +// Your GPRS credentials +// Leave empty, if missing user or pass +const char apn[] = "YourAPN"; +const char gprsUser[] = ""; +const char gprsPass[] = ""; +const char wifiSSID[] = "YourSSID"; +const char wifiPass[] = "YourWiFiPass"; + +// Server details const char server[] = "vsh.pp.ua"; const char resource[] = "/TinyGSM/logo.txt"; -const int port = 80; -TinyGsmClient client(modem); +#include -// For SSL: -//const int port = 443; -//TinyGsmClientSecure client(modem); +#ifdef DUMP_AT_COMMANDS +#include +StreamDebugger debugger(SerialAT, SerialMon); +TinyGsm modem(debugger); +#else + TinyGsm modem(SerialAT); +#endif + +#ifdef USE_SSL + TinyGsmClientSecure client(modem); + const int port = 443; +#else + TinyGsmClient client(modem); +const int port = 80; +#endif void setup() { // Set console baud rate SerialMon.begin(115200); delay(10); + // Set your reset, enable, power pins here + pinMode(20, OUTPUT); + digitalWrite(20, HIGH); + + pinMode(23, OUTPUT); + digitalWrite(23, HIGH); + + SerialMon.println("Wait..."); + // Set GSM module baud rate - SerialAT.begin(115200); + TinyGsmAutoBaud(SerialAT,GSM_AUTOBAUD_MIN,GSM_AUTOBAUD_MAX); + // SerialAT.begin(115200); delay(3000); } @@ -80,6 +120,7 @@ void loop() { // To skip it, call init() instead of restart() SerialMon.print("Initializing modem..."); if (!modem.restart()) { + // if (!modem.init()) { SerialMon.println(F(" [fail]")); SerialMon.println(F("************************")); SerialMon.println(F(" Is your modem connected properly?")); @@ -97,11 +138,30 @@ void loop() { SerialMon.print("Modem: "); SerialMon.println(modemInfo); - // Unlock your SIM card with a PIN - //modem.simUnlock("1234"); +#if TINY_GSM_USE_GPRS + // Unlock your SIM card with a PIN if needed + if ( GSM_PIN && modem.getSimStatus() != 3 ) { + modem.simUnlock(GSM_PIN); + } +#endif + +#if TINY_GSM_USE_WIFI + SerialMon.print(F("Setting SSID/password...")); + if (!modem.networkConnect(wifiSSID, wifiPass)) { + SerialMon.println(" fail"); + delay(10000); + return; + } + SerialMon.println(" OK"); +#endif + +#if TINY_GSM_USE_GPRS && defined TINY_GSM_MODEM_XBEE + // The XBee must run the gprsConnect function BEFORE waiting for network! + modem.gprsConnect(apn, gprsUser, gprsPass); +#endif SerialMon.print("Waiting for network..."); - if (!modem.waitForNetwork()) { + if (!modem.waitForNetwork(240000L)) { // You may need lengthen this in poor service ares SerialMon.println(F(" [fail]")); SerialMon.println(F("************************")); SerialMon.println(F(" Is your sim card locked?")); @@ -114,9 +174,10 @@ void loop() { } SerialMon.println(F(" [OK]")); +#if TINY_GSM_USE_GPRS && defined TINY_GSM_MODEM_HAS_GPRS SerialMon.print("Connecting to "); SerialMon.print(apn); - if (!modem.gprsConnect(apn, user, pass)) { + if (!modem.gprsConnect(apn, gprsUser, gprsPass)) { SerialMon.println(F(" [fail]")); SerialMon.println(F("************************")); SerialMon.println(F(" Is GPRS enabled by network provider?")); @@ -126,6 +187,7 @@ void loop() { return; } SerialMon.println(F(" [OK]")); +#endif IPAddress local = modem.localIP(); SerialMon.print("Local IP: ");