- Embedded MP3 Player & RecorderPosted 20 hours ago
- Welcome to the Arduino MRF24J40 Wireless ShieldPosted 5 days ago
- Top Ten most exciting news in Open Hardware in 2014Posted 1 week ago
- A simple 1 Channel remote control Receiver at 433,92 MHzPosted 2 weeks ago
- Here comes the open source Snow Plow RobotPosted 3 weeks ago
- Discover Banana Pi, another Linux board for you to experiment with!Posted 4 weeks ago
- An intelligent XMAS Lamp to Light up your Christmas!Posted 1 month ago
- What is new in Raspberry Pi B+Posted 2 months ago
- Using Aurel RFTide along with Arduino: the RFTide ShieldPosted 2 months ago
- Pixy camera: detect the colour of the objects and track their positionPosted 2 months ago
Souliss – Cheaper electronics and network connectivity are driving the Internet of Things
Cheaper electronics and network connectivity are driving the Internet of Things, that’s our idea to let your object interact with you.
If you are a new user in the world of Arduino (and similar) microcontroller boards, maybe you came across the idea to control objects around you, interconnect them and have remote interactions. This is typically one of the most common project idea, people start with one device and a lot of passion but then they are stopped bythe high effort required for that. That’s why one year ago we started Souliss.
It’s an open source framework written to make Things easier, including whatever is required to build a network of interconnected devices, letting the user focus on the whole functionality instead of low-level implementation.
Souliss is born as a framework and it’s intended to run over multiple platforms crossing different medias (Ethernet, Wireless and WiFi transceiver are supported). It would be the tool to merge Things from different vendors (or do-it-yourself stuff).
Speaking easy, once you have loaded Souliss on your Arduino boards you just need to play with it. Whatever object is controlled by your microcontroller instantly become a networked object, it starts sharing data and taking actions based on state communicated from other devices.
So, what’s a device?
A device is something that is somehow able to speak Souliss protocol, so every supported microcontroller board is a device too, but also an Android smartphone or tablet can run Souliss (the app is on the market). Of course not all devices has same functionalities, let’s have a look.
Download SoulissApp from the Android Play Market, get access to your boards and control them directly. If you have something connected to that boards, this becomes controlled by your phone or by another board. The process of detecting which devices are attached is automatic, you just need to connect a main board to the Android application.
Collect data from sensors using log and chart functionalities
Not clear enough, do you have an example?
You have your RGB Shield connected to an Arduino and you are able to play with your LED strip, then you get an Ethernet Shield and you mount it over. Next step is to download Souliss code and install SoulissApp on your smartphone. Once connected, you can easily control RGB strip and get its status.
The control panel from the Android application SoulissApp
At this stage you can only see one node that contains an RGB device; you can control your strip from Android and even make the light follow the music that your smartphone is playing.
Got it, is Souliss an Android controller?
It’s not! Now that you have confidence with your toy, let’s say you would like to do something more, adding some more strips in other rooms. It’s straightforward, because Souliss include a network structure and the nodes can interact between them as well with the Android application.
All the strips/lights/devices around your home are controlled from Android, and can even be controlled at same time from different android tablets/phones.
Maybe you would place some strips along the stairs to make a smooth light while crossing them, or perhaps you need to light on from the entry floor and then turn it off once you’re outside. In both cases, you simply could add one more Arduino controller running Souliss, and even if it hasn’t any strip connected, it can control all the strips in your network. You can use a wall switch or a presence sensor.
So, do I need to run an Ethernet cable down the stairs?
Not exactly, you can even use a wireless board to add control in remote location without runs cables. Souliss works across different medias, all boards are interconnected and don’t care about the used media, the framework routes the information to get them at destination.
Great, what else can be controlled?
That’s a good question, whatever as an Arduino embedded is potentially a Thing that can run Souliss. In the future it wouldn’t surprise us to see devices with an Arduino compatible microcontroller and a set of APIs for the interaction.
Let’s think to a coffee machine, almost all of them have a microcontroller to handle the common functionalities (like warm the water, get coffee, add sugar, …) it would be difficult or mostly impossible for a vendor to give direct access to that microcontroller, but it would be possible to add an additional Arduino microcontroller and use it to interact with the main one, basically turning the machine into a Thing. Or maybe that makers starts building an open source coffee machine, that would give direct access to its functionalities.
In both cases, such an object may become Souliss powered and interconnected. Nowadays we are not in that condition, but there are several Arduino boards available that can have inputs and output to the real world through shield and extension boards, these are our starting point. We already support many boards, more will come.
As per any other open source project, the community around is our strongest focus, that is what is slowing building around Souliss. After one year we have several boards from different manufacturer that cover many cases and a working installation that is our test case.
There are a lot of features that we would like to add in the future, mainly to make Souliss even easier to run and possibly to have nodes that don’t need user configuration.