Close
0%
0%

Open Source IoT Platform (thinger.io)

Open Source Platform for the Internet of Things. Focused on providing an awesome developer experience.

Similar projects worth following
Thinger.io is a platform that allows connecting things to the Internet. And what's new? Hardware agnostic: Connect anything! from basic Arduinos with very limited resources, to more complex embedded systems running linux like Raspberry Pi. It is Open Source, so you can take the code an build your own cloud if you want. It provides thing API discovery right out of the box, so you can code your things and interact easily from the web. Turning a led on from the Internet just take one line of code in de device, seriously!. It has been designed with developers in mind, so any developer will love to work with this platform.

Do you have to interact with your devices from the Internet? or from a mobile phone? Tired of building web servers in small microcontrollers only for switching some relays, leds, or controlling a servo? Tired of using platforms where you need to build and submit complete HTTP requests to post data to the Internet? Bored of parsing JSON or XML in your devices? If you have answered to some of this questions to yes, this is your platform, and you can start testing it in https://thinger.io. Just request a beta access key to start connecting your devices.

As a maker and developer, I started connecting things to the internet some years ago. There were not many alternatives to providing fast, easy, and cheap connectivity to our devices, and we were tied to some specific and expensive modules. Nowadays we can find several cheap alternatives, like TI CC3200, and ESP8266, and the tend is to have any device or sensor connected somehow to the Internet (you all know the Internet of Things).

In this transition I started to look the way of connecting things to the Internet, in the way the devices or sensors can be managed remotely (actuating and sensing), or transmitting information or alarms to third party services, mobile phones, push notifications, and so on. I found that there are several alternatives from different vendors to provide closed clouds for the connection (mainly for interoperate with their custom hardware), and some open source initiatives. None of them fits in he idea I have about how a device should be connected to the Internet, mainly from the point of the developer. I get scared when I look at some code examples in different platforms just for turning on and of a led from the internet, or for sending a temperature report. I see tons of platforms relying in the same old idea of making HTTP request to a cloud platform.... or parsing a bunch of JSON data or strings for just discover what is the command to run with their parameters. Who loves working and programming with this platforms and libraries? Not me! (not to mention the poor performance in terms on power and traffic consumption).

In this way, I started to think in different ways of interaction. Something easier for the developers, so doing simple things do not become a nightmare. Something that is compatible with practically any hardware, from small microcontrollers like Arduinos, to devices with more capabilities like Intel Edison or Raspberry Pi. And of course, something that can become an open source platform. This way born the https://thinger.io platform.

At this moment I have been working so hard in the server side (creating a fully C++ ASIO server from scratch), creating some client libraries for the platform (for Arduinos, ESP8266, Raspberry Pi, Intel Edison, etc), defining and creating the encoding protocol between the devices and the server (named as protoson), and creating a frontend so the users can manage and handle their devices easily. Some of this code is already available in Github, but I am in the process of opening the platform in an alpha state to some users... So this is just the beginning on building a open source platform for the IoT.


Here you have two short videos that illustrates the current functioning of the thinger.io platform. The first video is a full example of connecting a ESP8266 device (Node MCU) to the platform for reading a DHT11 sensor from the Internet. The whole process does not requires more than 4 minutes, including registering the device, compiling and uploading the sketch, and interacting with the device from the Internet. It demonstrates how easy is to define new resources in the device and how to interact with them from the Internet.

The second one is a TL;DW example of controlling a led from the Internet using an Arduino Nano with the Adafruit CC3000. You can see more details in the second video.


The thinger.io platform is composed by two different parts at this moment. The first one is the backend, that is a multithreaded server...

Read more »

  • 1 × ESP8266 Generic ESP8266/NodeMCU is a good choice for making IoT projects. Cheap and powerful
  • 1 × Arduino Ethernet Not have a Wireless connection? You can use Ethernet as well.
  • 1 × Texas Instruments CC3200 This small chip provides a lot of features. Competing with the ESP8266. Also compatible with the Platform.
  • 1 × Intel Edison Stunning chip for making IoT projects.
  • 1 × Adafruit CC3000 A chip changing the IoT rules some years ago.

View all 8 components

  • IFTTT Integration

    alvarolb08/16/2015 at 20:19 0 comments

    Some months ago the IFTTT platform released the Maker Channel. This new channel allows basically calling HTTP urls for triggering events, and also configuring HTTP endpoints to be called when some event is detected. This channel fits perfectly with the thinger.io platform and will increase the possibilities while building connected devices. Now any device will be able to interact with multiple services and react to external events. That is so cool!

    There is a preliminary integration that currently allows triggering events in your Maker channel. Sending a tweet in this way just take one line of code in the device! The next step will allow to your devices to react to external events like weather, citations, incoming emails, and all this stuff from the IFTTT... Just in a few days!

  • Opening Beta Access

    alvarolb08/13/2015 at 16:59 0 comments

    After too much work building the server, a community forum, and updating the Arduino client libraries, the platform and cloud infrastructure is ready for its opening to some early beta testers. If some of you want to test the platform I can provide you a beta access key. The access is limited to around 100 users to see how it performs and scale. So you can send me a email to admin@thinger.io, a private message here, or writing your email here so I can provide you a beta access key.

    Please, take into account that at this moment the easiest way to test the platform is by connecting a device that can be programmed with the Arduino IDE. The Arduino libraries for the thinger.io platform currently supports devices like ESP8266, Arduino Ethernet, Arduino Wifi, Arduino + Adafruit CC3000, Arduino Yun, and Texas Instruments CC32000 (with Energia). So, please request the beta access key if you can test with any of those devices. The platform is also compatible with Linux (tested on Raspberry, Intel Edison, Mac, Ubuntu), but it is more complex to start on those systems.

    The platform is in a beta state, but at this moment you can connect your device for sensing (reading sensor values or device state), actuating in real-time (turning on/off leds, relays, servos, configuring parameters, etc), and also call endpoints from the device (send email or do a http request). There are many more features that will be released soon, like allowing opening Websockets or Server sent events to device resources, IFTTT integration, Twilio, an so on... this is just the beginning.

    So If you want to be one of the first to try the thinger.io platform... you are welcome!

  • Community Forum

    alvarolb08/13/2015 at 16:33 0 comments

    Any open source platform should have a forum to discuss problems, suggestions, share ideas, and of course provide help. Just a few days ago I created a community forum for the thinger.io platform, so early adopters can get help when starting with the platform. I am creating some posts entries these days with the basic steps for installing the libraries, registering devices, and getting the devices connected. The community forum is at https://community.thinger.io.

    I have shared in this forum a very simple IoT project that is a Plant Water Monitor that email me when a plant requires water, and also allows configuring remotely some parameters. It can be a good starting project that illustrates the use of the thinger.io platform.

    Here is a picture of the setup with an NodeMCU (ESP8266).

  • Arduino Libraries

    alvarolb08/13/2015 at 15:31 0 comments

    I have been working on the Arduino Libraries and testing them in several devices to mainly evaluate the connection stability with the cloud platform. Now I can say that the clients are enough stable to be used in real maker projects, so you will be able to create your own IoT projects very soon.

    At this moment, the tested devices which are straightforward to connect are ESP8266, Arduino Ethernet, Arduino Wifi, Arduino Yun, Arduino + Adafruit CC3000, and Texas Instruments CC3200 (with Energia). All of those devices are programmable over the Arduino IDE, and can be controlling lights, relays, or sensing the environment in less than a minute.

    Even more, the Arduino libraries are available from the Library Manager, so you can install them directly with your Arduino IDE.

    I will post soon more project logs to tell you something about the community forum, and how to getting beta access to the platform.

View all 4 project logs

View all 4 instructions

Enjoy this project?

Share

Discussions

midnightcow wrote 07/10/2015 at 04:25 point

Dears! 

I'm interested in thinger.io platform sevice. I tired to sign-up thing.io. but, I can't signed up the site becaues I don't know beta access code. Do you known how to get a bect access key?

I am working at WIZnet provides Ethernet chip W5100 to Arduino Ethernet & Shield. I hope that I refer to Arduino ethernet example for thinger.io. I will introduced thinger.io IoT platfrom service on WIZnet Museum site(http://wiznetmuseum.com/).  And I will applied ARMembedd wiznet IoT plalftorm to thigner.io.

I will look forward to your reply.

Thank you.

  Are you sure? yes | no

alvarolb wrote 07/10/2015 at 05:50 point

Hi! Thanks for your interest in the thinger.io platform. In this moment the platform is in a early beta state, so it is required a beta access key per user in order to sign-in. I am working hard to open the platform for some users so they can test the platform, although there is too much to document. If you want, I can add you to the beta tester list that I expect it can begin in one week or so. 

Thanks!

  Are you sure? yes | no

midnightcow wrote 07/10/2015 at 06:24 point

Thank you. Will I test Wiznet IoT plaform - WIZwiki_W7500(https://developer.mbed.org/platforms/WIZwiki-W7500/) on thinger.io? I wanna beta access key. I can wait for beta key. Please send to me (midnightcow@wiznet.co.kr).

If you want  to use the WIZwiki_W7500 platform, You can get a free sample on

http://wiznetian.com/sample-request/.

Thanks for your sharing post.

  Are you sure? yes | no

alvarolb wrote 07/10/2015 at 06:33 point

Will send you a beta access key in around one week =)

I will also request a free sample for the W7500 board, so I can test it and add it to the Github repo. Is this board programable with Arduino IDE?

  Are you sure? yes | no

midnightcow wrote 07/10/2015 at 06:48 point

WIZwiki_W7500 platform is based on ARM CortexM0 and used in mbed Library or WIZnet ioLibrary. Im sorry, Not yet used in Arduino IDE.
I can port your git repo into our ioLibrary or mbed library. Thank you.

  Are you sure? yes | no

alvarolb wrote 07/10/2015 at 06:51 point

Ok. It is not a problem to port the client to another platform meanwhile there is a modern C++ compiler. Will keep in touch for that. Thanks!

  Are you sure? yes | no

midnightcow wrote 07/10/2015 at 07:16 point

Do  you reques a free smple?

 If you have a problem, feel free contact to me.

Thank you.

  Are you sure? yes | no

alvarolb wrote 08/13/2015 at 14:44 point

Yes, I requested a free sample. Now I am able to provide you a beta access key! After some hard working time... Do you still want to try the platform with W7500?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates