TinyGSM

A small Arduino library for GSM modules, that just works

LGPL-3.0 License

Stars
1.9K
Committers
55

Bot releases are hidden (Show)

TinyGSM - v0.12.0 Latest Release

Published by SRGDamia1 5 months ago

v0.12.0

Changed

  • Moved bulk of waitResponse function to modem template and gave modems handleURCs fxn
  • Moved option in waitResponse for verbose outputs.
  • setBaud now returns a bool
  • Replace new line consts with defines and renamed to AT_NL
  • Renamed all RegStatus enums to be unique
  • Replaced NULL with nullptr and replaced c-style casts.
  • Moved setCertificates function and the certificate name matrix to the SSL template.
  • Changed inputs for (unimplemented) SSL certificate functions.
  • All modems will now return the pre-defined manufacturer and model in the name if the function to get the internal name fails.
  • Cleaned up code for getting modem names.
  • Made battery return types signed.

Added

  • Added support for SSL for the Quentcel BG95 and BG96 from Aurelien BOUIN and George O'Connor
  • Added support for UBLOX SARA-R5 from Sebastian Bergner
  • Added support for SIMCOM A7672X from Giovanni de Rosso Unruh
  • Added SIM5320 GPS location from Bengarman
  • Added functions getModemSerialNumber, getModemModel, and getModemRevision.
  • Added deep debugging option
  • Added documentation to the FIFO class

Removed

  • Removed non-functional factory reset from SIM70xx series

Fixed

  • Removed extra wait on SIM7000 from Mikael Fredriksson
  • Fix status returns on ESP8266/ESP32 AT commands
  • Fix length of HEX for Sequans Monarch
  • Fix SIM7600 password then user when cid is set from github0013
  • Fix cardinal points in location by gps for SIM7600 from Juxn3
  • Fix NTP server sync for SIM70xx models from Gonzalo Brusco
  • Fixed SIM70xx inheritance
TinyGSM - v0.11.7

Published by SRGDamia1 over 1 year ago

Changed

  • Added function to check DNS for XBee - used to confirm network connection of wifi XBee
  • Other XBee improvement and stability fixes from @neilh10
TinyGSM - v0.11.5

Published by SRGDamia1 almost 3 years ago

Added

  • Added voice call support for SIM7600 (@LukasSkywalker)
  • Implemented stream peek (@IoTThinks)
  • Added audio functions for SIM800 series (@wifixcort)

Fixed

  • Fixed memory access in Sequans Monarch (@UCIS)
  • Properly declare header files in the library.json for PlatformIO (@ivankravets)

Changed

  • Switched the outgoing data mode to hex for Sequans Monarch (@ffontaine)
  • Modified Espressif commands to first attempt to change settings using the most current firmware and to fallback to the _CUR (for current, rather than default) commands (@SRGDamia1)
    • The very oldest (<1) and the current (2.0+) AT firmwares didn't differentiate between "current" and "default" settings for things like the IP mode. For some reason, the firmware versions in the middle did.
TinyGSM - Fix compiler warning/error

Published by SRGDamia1 over 3 years ago

Bug fixes

  • fixes a compiler error in the u-blox module
TinyGSM - Fix SIM7000SSL, tweek u-blox

Published by SRGDamia1 over 3 years ago

New Features

  • added TinyGSM.h for easier compatibility with the Arduino CLI thanks to @FStefanni

Improvements

  • Minor changes to u-blox thanks to @FStefanni

Bug Fixes

  • Fixed crash on SIM7000SSL if checking available on non-existent sock
  • Removed un-used warning on BG96
TinyGSM - SIM7070 and 7000SSL

Published by SRGDamia1 over 3 years ago

New Features

  • Added a separate set of commands for the SIM7000 to support SSL
    • Thank you to @FStefanni for most of this work
  • Added support for the SIM7070/7080/7090 LTE-M/NB IoT modules
  • Made a new module for NTP support
    • Thank you to @Bascy for this
  • Add Bluetooth support for the SIM808
    • Thank you to @adrianca88
  • Migrate from Travis CI to GitHub actions

Improvements

  • Several small improvements to Sequans Monarch modules
    • Thank you to @ffontaine
  • Check GPRS (in addition to EPS) for Quectel BG96
    • Thank you to @j3tm0t0
  • Where sensible, reading saved configuration values from XBee's before attempting to write.
    • This is in effort to reduce writes to flash on the XBee's - the manual warns that excessive writing to flash may lead to instability or reduce the module's life-span.

Bug fixes

  • Fix USSD for longer messages
    • Thank you to @yaroshd81
TinyGSM - New setPhoneFunctionality Function

Published by SRGDamia1 almost 4 years ago

New Features

  • added a setPhoneFunctionality() function, used primarily for the CFUN command
    • thank you to @adrianca88

Improvements

  • Multiple small fixes to the MC60
    • thank you to @mikhailgalitskiy

Bug Fixes

  • Fixed passage by reference in GPS variables
    • thank you to @trixymoon
TinyGSM - Specify include for the library manager

Published by SRGDamia1 about 4 years ago

New Features

  • specify that only TinyGsmClient.h should be included by the Arduino IDE when using that IDE's "Include library" command
  • SIM7500/7600/7800 - added setGNSSMode(uint8_t mode,bool dpo) and setGNSSMode() (#405 from lewis he)
  • SequansMonarch - specifically deactivate all contexts on disconnecting from network

Improvements

  • fix internally used streamGetLength functions (#386 from https://github.com/adrianca88)
  • SIM7000 - accept SMS Ready as an indication that the module is ready and decreased reboot time.
TinyGSM - Decrease wait for boot for SIM7000

Published by SRGDamia1 over 4 years ago

Decreased the time to wait for reboot for the SIM7000 so units that don't give a ready notification aren't waiting for a whole minute for nothing.

TinyGSM - Fixing some issues and bugs

Published by SRGDamia1 over 4 years ago

Fixed several issues probably related to null pointer access (#379, #236 )
Checking GPRS and EPS status for SIM7000 (fix #381 and #375)
Fix CCID for SIM800 (#336 )
Fix battery voltage (#369 )
Fix temperature on Quectel M95 (#377)
Made internal stream public again (#373)

TinyGSM - Restructured Templates

Published by SRGDamia1 over 4 years ago

It's been a long time since a release!

In this release

  • New module support

    • SIMCom SIM5360/5320/7100
    • SIMCom SIM7500/7600/7800
  • New Features

    • ALL modules can now return network time. Where possible, the init/begin function will instruct the module to synchronize its clock to the network upon connection.
      • Time is retrievable as a string or as parsed integers
  • Other

    • Large structural changes, creating a series of templates for different types of functionalities which the modules can inherit from.
    • In creating and applying the new templates, most modules gained some functionality by way of comparison with other modules that had already implemented it.
    • Arduino "String" implementations have largely been removed, except as return values

Please post any issues you have.
@SRGDamia1

TinyGSM - Bug Fixes

Published by SRGDamia1 over 5 years ago

Fixing bugs, nothing more

NOTE: Please do not use releases 0.7.4 or 0.7.7!

TinyGSM - Timeouts, Temperature, and Sequans

Published by SRGDamia1 over 5 years ago

In this release

  • New module support

    • Sequans Monarch LTE-M (ie Nimbelink Skywire VZN LTE-M) by @nootropicdesign
    • Split SARA R4/N4 into a separate file from other ublox
  • New Features

    • Fully implement connect timeout for all modems
      • This is not just a compiler patch for the ESP32 and ESP8266, the connect function should fully honor any given timeout. NOTE: The timeout value in the connect is in seconds , most other timeouts are in milliseconds.
    • Added functions to get chip temperature, where applicable
    • Added/implemented some additional battery functions
  • Other

    • Completely removed memory-consuming virtual class
      • To reduce replication, most common functions have be written as pre-processor macros in the common file.
    • Added timeouts in all cases where waiting for a response from the modem. This should prevent infinite hangs.

Enjoy ๐Ÿ˜‰
@SRGDamia1

TinyGSM - Virtual Classes

Published by SRGDamia1 over 5 years ago

TinyGSM logo

If you like TinyGSM - give it a star, or fork it and contribute! GitHub stars GitHub forks
You can also join our chat: Gitter

New Modules:

  • Quectel M95
  • Quectel MC60/MC60E
  • SIMMCOM SIM7000

Other Features:

  • Created a parent class implemented in TinyGsmModem.h which all modems follow. This makes it easier for other libraries to integrate TinyGSM functions without already knowing the specific modem in use.
TinyGSM -

Published by vshymanskyy over 6 years ago

TinyGSM logo

If you like TinyGSM - give it a star, or fork it and contribute! GitHub stars GitHub forks
You can also join our chat: Gitter

In this release

  • New module support
    • Quectel BG96 (initial support)
    • Hologram Dash
    • U-blox U201
    • Arduino MKR GSM 1400
    • Industruino
  • Other
    • Network Time Fetching for SimXXX
    • Updated examples, diagnostic sketch, README, etc.
    • Override Client.write(const char *str) to optimize data transfer on some platforms, like STM32Duino

Enjoy ๐Ÿ˜‰
@vshymanskyy

TinyGSM -

Published by vshymanskyy over 6 years ago

TinyGSM logo

If you like TinyGSM - give it a star, or fork it and contribute! GitHub stars GitHub forks
You can also join our chat: Gitter

In this release

  • Bugfixes
    • SIM900 build fixed
    • README updated to be more clear for beginners and answer some FAQs

Enjoy ๐Ÿ˜‰
@vshymanskyy

TinyGSM -

Published by vshymanskyy over 6 years ago

TinyGSM logo

If you like TinyGSM - give it a star, or fork it and contribute! GitHub stars GitHub forks
You can also join our chat: Gitter

In this release

  • New features (see full feature table):
    • Digi XBEE GSM and WiFi modules support
    • U-blox SARA-U201 module support (alpha)
    • sleepEnable() for SIM800, M590
    • dtmfSend() support for SIM800, A6
    • getModemInfo(), getSignalQuality(), localIP() for ESP8266
    • initial SSL support for ESP8266 (AT mode)
  • General API changes:
    • autoBaud() function was misleading, renamed to testAT()
    • setBaud() added
    • isGprsConnected() and isNetworkConnected() added
    • gprsConnect(): user and pwd are optional now
    • TinyGsmAutoBaud() now accepts min and max baudrate params
    • stream object is public now
  • Bugfixes
    • getLocalIP() and localIP() fixes for SIM8xx, A6
    • callNumber() fixes for SIM8xx, A6
    • Many (a hundred?) bugfixes for SIM800, SIM900, A6, A7... well, ALL modems ;)

Enjoy ๐Ÿ˜‰
@vshymanskyy

BTW, thanks to @SRGDamia1 for huge contributions!

TinyGSM -

Published by vshymanskyy about 7 years ago

If you like TinyGSM - give it a star, or fork it and contribute! GitHub stars GitHub forks
You can also join our chat: Gitter

In this release

  • New features (see full feature table):
    • HTTPS support for SIM8xx series
    • GPS support for SIM808/SIM868
    • Dial numbers, Hang up support for A6/A7/SIMxxx series
    • Decode 7,8,16-bit USSD payload for all modems
    • modem.sendUSSD()
    • modem.localIP()
    • modem.getModemInfo()
    • modem.poweroff()
    • TinyGsmAutoBaud(SerialAT) (can be used instead of SerialAT.bagin(baud))
    • sendAT(...) and waitResponce(...) are public now (use these to call AT commands manually)
  • Lots of bugfixes
    • [A6] Fix connect() returning false positive result
    • Fixed URC handling in some cases
    • Fix diagnostics for some modem types

Enjoy ๐Ÿ˜‰
@vshymanskyy

TinyGSM -

Published by vshymanskyy about 7 years ago

If you like TinyGSM - give it a star, or fork it and contribute! GitHub stars GitHub forks
You can also join our chat: Gitter

In this release

  • Major stability improvements for SIM800
  • Improvements for A6/A7
  • Fixed ESP8266 watchdog issues
  • Restructured and grouped functions so they make much more sense

Enjoy,
@vshymanskyy ๐Ÿ˜‰

TinyGSM - v0.1.7

Published by vshymanskyy over 7 years ago

  • Add more modems support:
    • A6,A7 (beta)
  • Better diagnostics
Package Rankings
Top 9.55% on Proxy.golang.org
Badges
Extracted from project README
SWUbanner GitHub version Build status GitHub issues GitHub wiki GitHub stars License GitHub stars GitHub forks Gitter
Related Projects