Coder Social home page Coder Social logo

sparkfun / sparkfun_iridiumsbd_i2c_arduino_library Goto Github PK

View Code? Open in Web Editor NEW
12.0 8.0 12.0 86 KB

An Arduino library to support Short Burst Data communication using the Iridium 9602 and 9603N over both Serial and I2C

License: GNU Lesser General Public License v2.1

C++ 100.00%

sparkfun_iridiumsbd_i2c_arduino_library's Introduction

SparkFun IridiumSBD I2C Arduino Library

  • This library can be installed through the Arduino Library Manager: please search for IridiumSBDi2c

  • Iridium SBD is Mikal's original library which does not (currently) support I2C.

The Iridium 9602 and 9603N are fascinating communications modules that give devices like Arduino or Raspberry Pi™ access to the Iridium satellite network. This is a big deal, because it means that your application can now easily and inexpensively communicate from any point on or above the globe, from the heart of the Amazon to the Siberian tundra, from the Arctic to the Antarctic. This library, IridiumSBD, uses Iridium's SBD ("Short Burst Data") protocol to send and receive short messages to/from the Iridium hub. SBD is a "text message"-like technology that supports the transmission of text or binary messages up to a certain maximum size (270 bytes received, 340 bytes transmitted).

Breakout boards for the 9602 and 9603N are available in different formats. Most of these breakouts use serial (UART) interfacing but I2C (Qwiic) is possible too and this version of the library supports both.

Grateful thanks go to:

  • Mikal Hart for writing the original versions of IridiumSBD and for TinyGPSPlus

Repository Contents

  • /documentation - Full documentation for the library (.md).
  • /examples - Example sketches for the library (.ino). Run these from the Arduino IDE. They demonstrate how to use both serial and I2C interfaces.
  • /src - Source files for the library (.cpp, .h).
  • keywords.txt - Keywords from this library that will be highlighted in the Arduino IDE.
  • library.properties - General library properties for the Arduino package manager.

Documentation

You can find documentation for the library in the documentation folder

Products That Use This Library

  • WRL-13745 - The original Rock7 RockBLOCK, available from your friends at SparkFun.
  • WRL-14498 - The Rock7 RockBLOCK 9603, available from your friends at SparkFun.
  • SPX-16394 - Qwiic Iridium 9603N: provides I2C support instead of serial, allowing you to add Iridium SBD communication to any Qwiic or I2C project.
  • SPX-16469 - Artemis Global Tracker: combining the Iridium 9603N, u-blox ZOE-M8Q and TE MS8607 into a single compact tracker.

History

Versions 1 and 2 of this library were written by Mikal Hart with generous support from Rock 7 Mobile.

This version is based on Version 2.0 of IridiumSBD but has been modified to provide I2C support for the Qwiic Iridium 9603N. Serial will still work too of course. New examples demonstrate how to use the I2C interface. The serial examples have also been restructured and enhanced.

This version of the library contains a new function called clearBuffers which can be used to clear the Mobile Originated or Mobile Terminated message buffers. This allows you to overcome the 'feature' (bug?) where the 9603N will automatically re-transmit the last MO message when checking for new MT messages. This closes Issues #10 and #11 in Mikal's repo.

  • clearBuffers(ISBD_CLEAR_MO) will clear the MO buffer (default)
  • clearBuffers(ISBD_CLEAR_MT) will clear the MT buffer
  • clearBuffers(ISBD_CLEAR_BOTH) will clear both buffers

The library also includes Pull Requests #14 Get IMEI and #21 header import guards. There are new serial and I2C examples for getIMEI.

Also included is a correction for Issue #12 weak diagnostics.

Also includes a fix to let the serial Ring example work properly.

License

Like versions 1 and 2 of Mikal's library, this version is also distributed under a GNU Lesser General Public Licence v2.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.