mirror of
				https://github.com/KevinMidboe/TinyGSM.git
				synced 2025-10-29 18:00:18 +00:00 
			
		
		
		
	Merge branch 'original'
This commit is contained in:
		| @@ -13,6 +13,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
| @@ -123,7 +125,8 @@ void loop() { | |||||||
|   } |   } | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   bool res; |   bool res = modem.isGprsConnected(); | ||||||
|  |   DBG("GPRS status:", res ? "connected" : "not connected"); | ||||||
|  |  | ||||||
|   String ccid = modem.getSimCCID(); |   String ccid = modem.getSimCCID(); | ||||||
|   DBG("CCID:", ccid); |   DBG("CCID:", ccid); | ||||||
|   | |||||||
| @@ -32,6 +32,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
|   | |||||||
| @@ -17,6 +17,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
|   | |||||||
| @@ -18,6 +18,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
|   | |||||||
| @@ -10,7 +10,8 @@ | |||||||
|  * TinyGSM Getting Started guide: |  * TinyGSM Getting Started guide: | ||||||
|  *   http://tiny.cc/tiny-gsm-readme |  *   http://tiny.cc/tiny-gsm-readme | ||||||
|  * |  * | ||||||
|  * SSL/TLS is currently supported only with SIM8xx series |  * SSL/TLS is currently supported only with: SIM8xx, uBlox | ||||||
|  |  * | ||||||
|  * For more HTTP API examples, see ArduinoHttpClient library |  * For more HTTP API examples, see ArduinoHttpClient library | ||||||
|  * |  * | ||||||
|  **************************************************************/ |  **************************************************************/ | ||||||
| @@ -18,6 +19,7 @@ | |||||||
| // Select your modem: | // Select your modem: | ||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  |  | ||||||
| // Increase RX buffer if needed | // Increase RX buffer if needed | ||||||
| //#define TINY_GSM_RX_BUFFER 512 | //#define TINY_GSM_RX_BUFFER 512 | ||||||
|   | |||||||
| @@ -31,6 +31,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
| @@ -119,7 +121,14 @@ void setup() { | |||||||
| boolean mqttConnect() { | boolean mqttConnect() { | ||||||
|   SerialMon.print("Connecting to "); |   SerialMon.print("Connecting to "); | ||||||
|   SerialMon.print(broker); |   SerialMon.print(broker); | ||||||
|   if (!mqtt.connect("GsmClientTest")) { |  | ||||||
|  |   // Connect to MQTT Broker | ||||||
|  |   boolean status = mqtt.connect("GsmClientTest"); | ||||||
|  |  | ||||||
|  |   // Or, if you want to authenticate MQTT: | ||||||
|  |   //boolean status = mqtt.connect("GsmClientName", "mqtt_user", "mqtt_pass"); | ||||||
|  |  | ||||||
|  |   if (status == false) { | ||||||
|     SerialMon.println(" fail"); |     SerialMon.println(" fail"); | ||||||
|     return false; |     return false; | ||||||
|   } |   } | ||||||
| @@ -131,9 +140,8 @@ boolean mqttConnect() { | |||||||
|  |  | ||||||
| void loop() { | void loop() { | ||||||
|  |  | ||||||
|   if (mqtt.connected()) { |   if (!mqtt.connected()) { | ||||||
|     mqtt.loop(); |     SerialMon.println("=== MQTT NOT CONNECTED ==="); | ||||||
|   } else { |  | ||||||
|     // Reconnect every 10 seconds |     // Reconnect every 10 seconds | ||||||
|     unsigned long t = millis(); |     unsigned long t = millis(); | ||||||
|     if (t - lastReconnectAttempt > 10000L) { |     if (t - lastReconnectAttempt > 10000L) { | ||||||
| @@ -142,8 +150,11 @@ void loop() { | |||||||
|         lastReconnectAttempt = 0; |         lastReconnectAttempt = 0; | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |     delay(100); | ||||||
|  |     return; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   mqtt.loop(); | ||||||
| } | } | ||||||
|  |  | ||||||
| void mqttCallback(char* topic, byte* payload, unsigned int len) { | void mqttCallback(char* topic, byte* payload, unsigned int len) { | ||||||
|   | |||||||
| @@ -12,6 +12,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "TinyGSM", |   "name": "TinyGSM", | ||||||
|   "version": "0.3.40", |   "version": "0.3.50", | ||||||
|   "description": "A small Arduino library for GPRS modules, that just works. Includes examples for Blynk, MQTT, File Download, and Web Client. Supports GSM modules with AT command interface: SIM800, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900, SIM900A, SIM900D, SIM908, SIM968, Quectel M95", |   "description": "A small Arduino library for GPRS modules, that just works. Includes examples for Blynk, MQTT, File Download, and Web Client. Supports GSM modules with AT command interface: SIM800, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900, SIM900A, SIM900D, SIM908, SIM968, Quectel M95", | ||||||
|   "keywords": "GSM, AT commands, AT, SIM800, SIM900, A6, A7, M590, ESP8266, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900A, SIM900D, SIM908, SIM968, M95", |   "keywords": "GSM, AT commands, AT, SIM800, SIM900, A6, A7, M590, ESP8266, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900A, SIM900D, SIM908, SIM968, M95", | ||||||
|   "authors": |   "authors": | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| name=TinyGSM | name=TinyGSM | ||||||
| version=0.3.40 | version=0.3.50 | ||||||
| author=Volodymyr Shymanskyy | author=Volodymyr Shymanskyy | ||||||
| maintainer=Volodymyr Shymanskyy | maintainer=Volodymyr Shymanskyy | ||||||
| sentence=A small Arduino library for GPRS modules, that just works. | sentence=A small Arduino library for GPRS modules, that just works. | ||||||
|   | |||||||
| @@ -49,7 +49,7 @@ class TinyGsmA6 | |||||||
|  |  | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //                          The A6 Internal Client Class | //                         The Internal A6 Client Class | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //============================================================================// | //============================================================================// | ||||||
|  |  | ||||||
| @@ -120,6 +120,11 @@ public: | |||||||
|     return write(&c, 1); |     return write(&c, 1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   virtual size_t write(const char *str) { | ||||||
|  |     if (str == NULL) return 0; | ||||||
|  |     return write((const uint8_t *)str, strlen(str)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   virtual int available() { |   virtual int available() { | ||||||
|     TINY_GSM_YIELD(); |     TINY_GSM_YIELD(); | ||||||
|     if (!rx.size() && sock_connected) { |     if (!rx.size() && sock_connected) { | ||||||
|   | |||||||
| @@ -50,7 +50,7 @@ class TinyGsmBG96 | |||||||
|  |  | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //                         The BG96 Internal Client Class | //                         The Internal BG96 Client Class | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //============================================================================// | //============================================================================// | ||||||
|  |  | ||||||
| @@ -120,6 +120,11 @@ public: | |||||||
|     return write(&c, 1); |     return write(&c, 1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   virtual size_t write(const char *str) { | ||||||
|  |     if (str == NULL) return 0; | ||||||
|  |     return write((const uint8_t *)str, strlen(str)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   virtual int available() { |   virtual int available() { | ||||||
|     TINY_GSM_YIELD(); |     TINY_GSM_YIELD(); | ||||||
|     if (!rx.size()) { |     if (!rx.size()) { | ||||||
|   | |||||||
| @@ -117,6 +117,11 @@ public: | |||||||
|     return write(&c, 1); |     return write(&c, 1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   virtual size_t write(const char *str) { | ||||||
|  |     if (str == NULL) return 0; | ||||||
|  |     return write((const uint8_t *)str, strlen(str)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   virtual int available() { |   virtual int available() { | ||||||
|     TINY_GSM_YIELD(); |     TINY_GSM_YIELD(); | ||||||
|     if (!rx.size() && sock_connected) { |     if (!rx.size() && sock_connected) { | ||||||
|   | |||||||
| @@ -118,6 +118,11 @@ public: | |||||||
|     return write(&c, 1); |     return write(&c, 1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   virtual size_t write(const char *str) { | ||||||
|  |     if (str == NULL) return 0; | ||||||
|  |     return write((const uint8_t *)str, strlen(str)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   virtual int available() { |   virtual int available() { | ||||||
|     TINY_GSM_YIELD(); |     TINY_GSM_YIELD(); | ||||||
|     if (!rx.size() && sock_connected) { |     if (!rx.size() && sock_connected) { | ||||||
|   | |||||||
| @@ -50,7 +50,7 @@ class TinyGsmSim800 | |||||||
|  |  | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //                          The Sim800 Internal Client Class | //                          The Internal SIM800 Client Class | ||||||
| //============================================================================// | //============================================================================// | ||||||
| //============================================================================// | //============================================================================// | ||||||
|  |  | ||||||
| @@ -121,6 +121,11 @@ public: | |||||||
|     return write(&c, 1); |     return write(&c, 1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   virtual size_t write(const char *str) { | ||||||
|  |     if (str == NULL) return 0; | ||||||
|  |     return write((const uint8_t *)str, strlen(str)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   virtual int available() { |   virtual int available() { | ||||||
|     TINY_GSM_YIELD(); |     TINY_GSM_YIELD(); | ||||||
|     if (!rx.size() && sock_connected) { |     if (!rx.size() && sock_connected) { | ||||||
| @@ -337,6 +342,7 @@ public: | |||||||
|       return false; |       return false; | ||||||
|     } |     } | ||||||
|     //Enable Local Time Stamp for getting network time |     //Enable Local Time Stamp for getting network time | ||||||
|  |     // TODO: Find a better place for this | ||||||
|     sendAT(GF("+CLTS=1")); |     sendAT(GF("+CLTS=1")); | ||||||
|     if (waitResponse(10000L) != 1) { |     if (waitResponse(10000L) != 1) { | ||||||
|       return false; |       return false; | ||||||
|   | |||||||
| @@ -118,6 +118,11 @@ public: | |||||||
|     return write(&c, 1); |     return write(&c, 1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   virtual size_t write(const char *str) { | ||||||
|  |     if (str == NULL) return 0; | ||||||
|  |     return write((const uint8_t *)str, strlen(str)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   virtual int available() { |   virtual int available() { | ||||||
|     TINY_GSM_YIELD(); |     TINY_GSM_YIELD(); | ||||||
|     if (!rx.size() && sock_connected) { |     if (!rx.size() && sock_connected) { | ||||||
|   | |||||||
| @@ -136,6 +136,11 @@ public: | |||||||
|     return write(&c, 1); |     return write(&c, 1); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   virtual size_t write(const char *str) { | ||||||
|  |     if (str == NULL) return 0; | ||||||
|  |     return write((const uint8_t *)str, strlen(str)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   virtual int available() { |   virtual int available() { | ||||||
|     TINY_GSM_YIELD(); |     TINY_GSM_YIELD(); | ||||||
|     return at->stream.available(); |     return at->stream.available(); | ||||||
|   | |||||||
| @@ -12,6 +12,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
|   | |||||||
| @@ -14,6 +14,7 @@ | |||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
| // #define TINY_GSM_MODEM_UBLOX | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
| @@ -56,6 +57,7 @@ const char resource[] = "/TinyGSM/logo.txt"; | |||||||
| const int  port = 80; | const int  port = 80; | ||||||
| TinyGsmClient client(modem); | TinyGsmClient client(modem); | ||||||
|  |  | ||||||
|  | // For SSL: | ||||||
| //const int  port = 443; | //const int  port = 443; | ||||||
| //TinyGsmClientSecure client(modem); | //TinyGsmClientSecure client(modem); | ||||||
|  |  | ||||||
| @@ -155,7 +157,7 @@ void loop() { | |||||||
|   while (client.connected() && millis() - timeout < 10000L) { |   while (client.connected() && millis() - timeout < 10000L) { | ||||||
|     while (client.available()) { |     while (client.available()) { | ||||||
|       char c = client.read(); |       char c = client.read(); | ||||||
|       SerialMon.print(c); |       //SerialMon.print(c); | ||||||
|       bytesReceived += 1; |       bytesReceived += 1; | ||||||
|       timeout = millis(); |       timeout = millis(); | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -13,6 +13,8 @@ | |||||||
| #define TINY_GSM_MODEM_SIM800 | #define TINY_GSM_MODEM_SIM800 | ||||||
| // #define TINY_GSM_MODEM_SIM808 | // #define TINY_GSM_MODEM_SIM808 | ||||||
| // #define TINY_GSM_MODEM_SIM900 | // #define TINY_GSM_MODEM_SIM900 | ||||||
|  | // #define TINY_GSM_MODEM_UBLOX | ||||||
|  | // #define TINY_GSM_MODEM_BG96 | ||||||
| // #define TINY_GSM_MODEM_A6 | // #define TINY_GSM_MODEM_A6 | ||||||
| // #define TINY_GSM_MODEM_A7 | // #define TINY_GSM_MODEM_A7 | ||||||
| // #define TINY_GSM_MODEM_M590 | // #define TINY_GSM_MODEM_M590 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user