Browse Source

Update readme, examples

v_master
Sara Damiano 5 years ago
parent
commit
f3dbdeae0a
10 changed files with 76 additions and 44 deletions
  1. +1
    -1
      .github/ISSUE_TEMPLATE.md
  2. +61
    -36
      README.md
  3. +1
    -0
      examples/AllFunctions/AllFunctions.ino
  4. +1
    -0
      examples/BlynkClient/BlynkClient.ino
  5. +2
    -1
      examples/FileDownload/FileDownload.ino
  6. +2
    -1
      examples/HttpClient/HttpClient.ino
  7. +1
    -1
      examples/HttpsClient/HttpsClient.ino
  8. +2
    -1
      examples/MqttClient/MqttClient.ino
  9. +3
    -2
      examples/WebClient/WebClient.ino
  10. +2
    -1
      tools/Diagnostics/Diagnostics.ino

+ 1
- 1
.github/ISSUE_TEMPLATE.md View File

@ -23,7 +23,7 @@ with your board before submitting any issues.
Main processor board: <!-- Uno, Zero, ESP32, Particle, etc --> Main processor board: <!-- Uno, Zero, ESP32, Particle, etc -->
Modem: <!-- Brand, model, variant, firmware version --> Modem: <!-- Brand, model, variant, firmware version -->
TinyGSM version: <!-- always try to use the latest (0.9.5) -->
TinyGSM version: <!-- always try to use the latest (0.9.6) -->
Code: <!-- Example name or paste in your code --> Code: <!-- Example name or paste in your code -->
### Scenario, steps to reproduce ### Scenario, steps to reproduce


+ 61
- 36
README.md View File

@ -33,52 +33,24 @@ Arduino GSM library uses 15868 bytes (49%) of Flash and 1113 bytes (54%) of RAM
TinyGSM also pulls data gently from the modem (whenever possible), so it can operate on very little RAM. TinyGSM also pulls data gently from the modem (whenever possible), so it can operate on very little RAM.
**Now, you have more space for your experiments.** **Now, you have more space for your experiments.**
## Features
Feature \ Modem | SIM8xx | u-Blox | A6/A7/A20 | Neoway M590| ESP8266 |Digi XBee|Quectel BG96|Quectel M95|Quectel MC60(E)| SIM7000 | Monarch |
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
**Data connections**
TCP (HTTP, MQTT, Blynk, ...) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
UDP | ◌ | ◌ | | | | ◌ | ◌ | | | ◌ | ◌ |
SSL/TLS (HTTPS) | ✔¹ | ✔ | x | x | ✔ | ✔ | ◌ | | | ◌ | ✔ |
**USSD**
Sending USSD requests | ✔ | | ✔ | ✔ | x | | | | | ✔ | |
Decoding 7,8,16-bit response | ✔ | | ✔ | ✔ | x | | | | | ✔ | |
**SMS**
Sending | ✔ | ✔ | ✔ | ✔ | x | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Sending Unicode | ✔ | | ◌ | x | x | | ✔ | ✔ | ✔ | ✔ | |
Reading | | | | | x | | | | | | |
Incoming message event | | | | ? | x | | | | | | |
**Calls**
Dial, hangup | ✔ | | ✔ | x | x | x | | | | | |
Receiving calls | ✔ | | ✔ | x | x | x | | | | | |
Incoming event (RING) | ◌ | | ◌ | x | x | x | | | | | |
DTMF sending | ✔ | | ✔ | x | x | x | | | | | |
DTMF decoding | ◌ | | x | x | x | x | | | | | |
**Location**
GSM location service | ✔ | ✔ | x | x | x | x | | x | ✔ | ✔ | x |
GPS/GNSS | ✔¹ | x | ◌¹ | x | x | x | | x | | ✔ | x |
**Credits**
Primary Author/Contributor |[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[SRGDamia1](https://github.com/SRGDamia1/)|[vshymanskyy](https://github.com/vshymanskyy) |[replicadeltd](https://github.com/replicadeltd)|[V1pr](https://github.com/V1pr)|[captFuture](https://github.com/captFuture/)|[nootropicdesign](https://github.com/nootropicdesign/)|
✔ - implemented  ◌ - planned  x - not available on this modem
¹ - only some device models or firmware revisions have this feature (SIM8xx R14.18, A7, etc.)
## Supported modems ## Supported modems
- SIMCom SIM800 series (SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868) - SIMCom SIM800 series (SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868)
- SIMCom SIM900 series (SIM900A, SIM900D, SIM908, SIM968) - SIMCom SIM900 series (SIM900A, SIM900D, SIM908, SIM968)
- SIMCom WCDMA/HSPA/HSPA+ Modules (SIM5360, SIM5320, SIM5300E, SIM5300EA)
- SIMCom LTE Modules (SIM7100E, SIM7500E, SIM7500A, SIM7600C, SIM7600E)
- SIMCom SIM7000E CAT-M1/NB-IoT Module
- AI-Thinker A6, A6C, A7, A20 - AI-Thinker A6, A6C, A7, A20
- ESP8266 (AT commands interface, similar to GSM modems) - ESP8266 (AT commands interface, similar to GSM modems)
- Digi XBee WiFi and Cellular (using XBee command mode) - Digi XBee WiFi and Cellular (using XBee command mode)
- Neoway M590 - Neoway M590
- u-blox Cellular Modems (many modules including LEON-G100, LISA-U2xx, SARA-G3xx, SARA-U2xx, TOBY-L2xx, LARA-R2xx, MPCI-L2xx, SARA-R4xx, SARA-N4xx, _but NOT SARA-N2xx_)
- u-blox 2G, 3G, 4G, and LTE Cat1 Cellular Modems (many modules including LEON-G100, LISA-U2xx, SARA-G3xx, SARA-U2xx, TOBY-L2xx, LARA-R2xx, MPCI-L2xx)
- u-blox LTE-M Modems (SARA-R4xx, SARA-N4xx, _but NOT SARA-N2xx_)
- Sequans Monarch LTE Cat M1/NB1 - Sequans Monarch LTE Cat M1/NB1
- Quectel BG96 - Quectel BG96
- Quectel M95 - Quectel M95
- Quectel MC60 ***(alpha)*** - Quectel MC60 ***(alpha)***
- SIMCom SIM7000 ***(alpha)***
- SIMCom SIM5360 ***(alpha)***
### Supported boards/modules ### Supported boards/modules
- Arduino MKR GSM 1400 - Arduino MKR GSM 1400
@ -92,14 +64,62 @@ Primary Author/Contributor |[vshymanskyy](https://github.com/vshymanskyy)|[vsh
More modems may be supported later: More modems may be supported later:
- [ ] Quectel M10, UG95 - [ ] Quectel M10, UG95
- [ ] SIMCom SIM5320, SIM5360, SIM5216
- [ ] SIMCom SIM7020, SIM7100
- [ ] SIMCom SIM7020
- [ ] Telit GL865 - [ ] Telit GL865
- [ ] ZTE MG2639 - [ ] ZTE MG2639
- [ ] Hi-Link HLK-RM04 - [ ] Hi-Link HLK-RM04
Watch this repo for new updates! And of course, contributions are welcome ;) Watch this repo for new updates! And of course, contributions are welcome ;)
## Features
**Data connections**
- TCP (HTTP, MQTT, Blynk, ...)
- ALL modules support TCP connections
- UDP
- Not yet supported on any module, though it may be some day
- SSL/TLS (HTTPS)
- Supported on¹:
- SIM800, u-Blox, XBee _cellular_, ESP8266, and Sequans Monarch
¹ - only some device models or firmware revisions have this feature (SIM8xx R14.18, A7, etc.)
- Not yet supported on:
- Quectel modems, SIM7000, SIM5360/5320/7100/7500/7600
- Not possible on:
- SIM900, A6/A7, M560, XBee _WiFi_
**USSD**
Sending USSD requests and decoding 7,8,16-bit responses
- Supported on:
- SIM800/SIM900, SIM7000
- Not yet supported on:
- Quectel modems, SIM5360/5320/7100/7500/7600, XBee
**SMS**
Only _sending_ SMS is supported, not receiving
- Supported on:
- SIM800/SIM900, SIM7000, XBee
- Not yet supported on:
- Quectel modems, SIM5360/5320/7100/7500/7600
**Calls**
- Only Supported on SIM800 and A6/A7/A20
- Dial, hangup
- Receiving calls
- Incoming event (RING)
- DTMF sending
- DTMF decoding
**Location**
- GPS/GNSS
- SIM808 and SIM7000 only
- GSM location service
- SIM800, SIM and SIM7000 only
**Credits**
Primary Author/Contributor |[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[vshymanskyy](https://github.com/vshymanskyy)|[SRGDamia1](https://github.com/SRGDamia1/)|[vshymanskyy](https://github.com/vshymanskyy) |[replicadeltd](https://github.com/replicadeltd)|[V1pr](https://github.com/V1pr)|[captFuture](https://github.com/captFuture/)|[nootropicdesign](https://github.com/nootropicdesign/)|
✔ - implemented  ◌ - planned  x - not available on this modem
## Donation ## Donation
[![Donate BountySource](https://img.shields.io/badge/Donate-BountySource-149E5E.svg)](https://salt.bountysource.com/checkout/amount?team=tinygsm-dev) [![Donate BountySource](https://img.shields.io/badge/Donate-BountySource-149E5E.svg)](https://salt.bountysource.com/checkout/amount?team=tinygsm-dev)
@ -166,11 +186,16 @@ In some cases **9600** is unstable, but using **38400** helps, etc.
Be sure to set correct TX/RX pins in the sketch. Please note that not every Arduino pin can serve as TX or RX pin. Be sure to set correct TX/RX pins in the sketch. Please note that not every Arduino pin can serve as TX or RX pin.
**Read more about SoftSerial options and configuration [here](https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html) and [here](https://www.arduino.cc/en/Reference/SoftwareSerial).** **Read more about SoftSerial options and configuration [here](https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html) and [here](https://www.arduino.cc/en/Reference/SoftwareSerial).**
### ESP32 HardwareSerial
### ESP32 Notes
#### HardwareSerial
When using ESP32 `HardwareSerial`, you may need to specify additional parameters to the `.begin()` call. When using ESP32 `HardwareSerial`, you may need to specify additional parameters to the `.begin()` call.
Please [refer to this comment](https://github.com/vshymanskyy/TinyGSM/issues/91#issuecomment-356024747). Please [refer to this comment](https://github.com/vshymanskyy/TinyGSM/issues/91#issuecomment-356024747).
#### HttpClient
If you are using an ESP32, you must will not be able to compile the HttpClient or HttpsClient examples if you are using ESP32 core >1.0.1. Downgrade to version 1.0.1 or use the WebClient example. Please comment on the issue on the ESP32 core, not in this library: https://github.com/espressif/arduino-esp32/issues/2755
### SAMD21 ### SAMD21
When using SAMD21-based boards, you may need to use a sercom uart port instead of `Serial1`. When using SAMD21-based boards, you may need to use a sercom uart port instead of `Serial1`.


+ 1
- 0
examples/AllFunctions/AllFunctions.ino View File

@ -16,6 +16,7 @@
// #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_SIM5360 // #define TINY_GSM_MODEM_SIM5360
// #define TINY_GSM_MODEM_SIM7600
// #define TINY_GSM_MODEM_UBLOX // #define TINY_GSM_MODEM_UBLOX
// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_SARAR4
// #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_M95


+ 1
- 0
examples/BlynkClient/BlynkClient.ino View File

@ -35,6 +35,7 @@
// #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_SIM5360 // #define TINY_GSM_MODEM_SIM5360
// #define TINY_GSM_MODEM_SIM7600
// #define TINY_GSM_MODEM_UBLOX // #define TINY_GSM_MODEM_UBLOX
// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_SARAR4
// #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_M95


+ 2
- 1
examples/FileDownload/FileDownload.ino View File

@ -20,6 +20,7 @@
// #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_SIM5360 // #define TINY_GSM_MODEM_SIM5360
// #define TINY_GSM_MODEM_SIM7600
// #define TINY_GSM_MODEM_UBLOX // #define TINY_GSM_MODEM_UBLOX
// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_SARAR4
// #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_M95
@ -57,7 +58,7 @@
#define TINY_GSM_DEBUG SerialMon #define TINY_GSM_DEBUG SerialMon
//#define LOGGING // <- Logging is for the HTTP library //#define LOGGING // <- Logging is for the HTTP library
// Add a reception delay, if needed
// Add a reception delay - may be needed for a fast processor at a slow baud rate
//#define TINY_GSM_YIELD() { delay(2); } //#define TINY_GSM_YIELD() { delay(2); }
#define TINY_GSM_USE_GPRS true #define TINY_GSM_USE_GPRS true


+ 2
- 1
examples/HttpClient/HttpClient.ino View File

@ -25,6 +25,7 @@
// #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_SIM5360 // #define TINY_GSM_MODEM_SIM5360
// #define TINY_GSM_MODEM_SIM7600
// #define TINY_GSM_MODEM_UBLOX // #define TINY_GSM_MODEM_UBLOX
// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_SARAR4
// #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_M95
@ -62,7 +63,7 @@
#define TINY_GSM_DEBUG SerialMon #define TINY_GSM_DEBUG SerialMon
//#define LOGGING // <- Logging is for the HTTP library //#define LOGGING // <- Logging is for the HTTP library
// Add a reception delay, if needed
// Add a reception delay - may be needed for a fast processor at a slow baud rate
//#define TINY_GSM_YIELD() { delay(2); } //#define TINY_GSM_YIELD() { delay(2); }
#define TINY_GSM_USE_GPRS true #define TINY_GSM_USE_GPRS true


+ 1
- 1
examples/HttpsClient/HttpsClient.ino View File

@ -55,7 +55,7 @@
#define TINY_GSM_DEBUG SerialMon #define TINY_GSM_DEBUG SerialMon
//#define LOGGING // <- Logging is for the HTTP library //#define LOGGING // <- Logging is for the HTTP library
// Add a reception delay, if needed
// Add a reception delay - may be needed for a fast processor at a slow baud rate
//#define TINY_GSM_YIELD() { delay(2); } //#define TINY_GSM_YIELD() { delay(2); }
#define TINY_GSM_USE_GPRS true #define TINY_GSM_USE_GPRS true


+ 2
- 1
examples/MqttClient/MqttClient.ino View File

@ -34,6 +34,7 @@
// #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_SIM5360 // #define TINY_GSM_MODEM_SIM5360
// #define TINY_GSM_MODEM_SIM7600
// #define TINY_GSM_MODEM_UBLOX // #define TINY_GSM_MODEM_UBLOX
// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_SARAR4
// #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_M95
@ -68,7 +69,7 @@
#define GSM_AUTOBAUD_MIN 9600 #define GSM_AUTOBAUD_MIN 9600
#define GSM_AUTOBAUD_MAX 38400 #define GSM_AUTOBAUD_MAX 38400
// Add a reception delay, if needed
// Add a reception delay - may be needed for a fast processor at a slow baud rate
//#define TINY_GSM_YIELD() { delay(2); } //#define TINY_GSM_YIELD() { delay(2); }
#define TINY_GSM_USE_GPRS true #define TINY_GSM_USE_GPRS true


+ 3
- 2
examples/WebClient/WebClient.ino View File

@ -15,6 +15,7 @@
// #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_SIM5360 // #define TINY_GSM_MODEM_SIM5360
// #define TINY_GSM_MODEM_SIM7600
// #define TINY_GSM_MODEM_UBLOX // #define TINY_GSM_MODEM_UBLOX
// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_SARAR4
// #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_M95
@ -55,7 +56,7 @@
#define GSM_AUTOBAUD_MIN 9600 #define GSM_AUTOBAUD_MIN 9600
#define GSM_AUTOBAUD_MAX 115200 #define GSM_AUTOBAUD_MAX 115200
// Add a reception delay, if needed
// Add a reception delay - may be needed for a fast processor at a slow baud rate
//#define TINY_GSM_YIELD() { delay(2); } //#define TINY_GSM_YIELD() { delay(2); }
// Uncomment this if you want to use SSL // Uncomment this if you want to use SSL
@ -99,7 +100,7 @@ const char resource[] = "/TinyGSM/logo.txt";
void setup() { void setup() {
// Set console baud rate // Set console baud rate
SerialMon.begin(115200); SerialMon.begin(115200);
delay(10);
delay(10);
// !!!!!!!!!!! // !!!!!!!!!!!
// Set your reset, enable, power pins here // Set your reset, enable, power pins here


+ 2
- 1
tools/Diagnostics/Diagnostics.ino View File

@ -16,6 +16,7 @@
// #define TINY_GSM_MODEM_SIM900 // #define TINY_GSM_MODEM_SIM900
// #define TINY_GSM_MODEM_SIM7000 // #define TINY_GSM_MODEM_SIM7000
// #define TINY_GSM_MODEM_SIM5360 // #define TINY_GSM_MODEM_SIM5360
// #define TINY_GSM_MODEM_SIM7600
// #define TINY_GSM_MODEM_UBLOX // #define TINY_GSM_MODEM_UBLOX
// #define TINY_GSM_MODEM_SARAR4 // #define TINY_GSM_MODEM_SARAR4
// #define TINY_GSM_MODEM_M95 // #define TINY_GSM_MODEM_M95
@ -56,7 +57,7 @@
#define GSM_AUTOBAUD_MIN 9600 #define GSM_AUTOBAUD_MIN 9600
#define GSM_AUTOBAUD_MAX 115200 #define GSM_AUTOBAUD_MAX 115200
// Add a reception delay, if needed
// Add a reception delay - may be needed for a fast processor at a slow baud rate
//#define TINY_GSM_YIELD() { delay(2); } //#define TINY_GSM_YIELD() { delay(2); }
// Uncomment this if you want to use SSL // Uncomment this if you want to use SSL


Loading…
Cancel
Save