First, a quick update on the state of IO:
* 37.6 million inserts of logged data in the last 7 days
* 14,701 users
* 10,713 online feeds (36,320 feeds total)
* ~60 inserts per second via MQTT
* ~10 inserts per second via REST API
The big news this week is the release of the Adafruit IO Arduino v2.0 beta library. This library has been completely reworked to make it incredibly easy to connect your Adafruit WiFi boards to AIO. Todd has a lot more information about the update on the Adafruit IO Blog.
We have been working hard on a new version of the Adafruit IO Arduino Library. We are releasing it in ‘beta’ form today for existing IO users to try, and we will be adding and updating existing tutorials with usage examples very soon.
Device Independence
v2.0.0
of the library provides a simple device independent interface for interacting with Adafruit IO. This allows you to switch beween WiFi (ESP8266, M0 WINC1500, & WICED), Cellular (32u4 FONA), and Ethernet (Ethernet FeatherWing) with only a two line change in your sketch. No changes are required to the sketch to switch between any of the supported Feather WiFi boards.The included examples focus on specific concepts without extra boilerplate related to setting up the specific WiFi, cell, or ethernet hardware being used. This will allow you to prototype your sketch on WiFi hardware, and easily move to cellular or ethernet with a very small change to your config file.
Location
The library makes it simple to publish GPS location info with your data. For example, if you wanted to publish your location with your current speed, you would send it like this:
car->save(speed, lat, lon, ele);
You could then use the map block on io.adafruit.com to display your location info. The included
adafruitio_04_location
example demonstrates how to send and receive location info.Type Conversion
The library adds type conversion helpers for both publishing and receiving data. You can publish any data type to the
save(value)
method of your feed, and you can use helpers liketoInt()
,toBool()
, &toFloat()
to easily convert received messages to the appropriate data type. The includedadafruitio_05_type_conversion
example demonstrates converting to and from all available types.
Head over to the Adafruit IO blog for more information, including how to update the existing library to v2.0.
Here at Adafruit, we sell all of these amazing components, but we couldn’t find a good way to interact with them over the internet. There are certainly a lot of great services out there for datalogging, or communicating with your microcontroller over the web, but these services are either too complicated to get started, or they aren’t particularly fun to use. So, we decided to experiment with our own system, and that is how Adafruit IO got started.
To start, please visit https://io.adafruit.com, and take a look around. You can also visit our comprehensive tutorial located on the Adafruit Learning System.
We also have a blog/changelog specifically for Adafruit IO to keep you updated with the latest changes.
To make it easy for people to get started using Arduino or ESP8266 we have starter packs with just about everything you may want to connect to the internet, with known-working WiFi modules!
ESP8266 Huzzah Kit