Meet Stack4Things

Stack4Things is an OpenStack-based Internet of Things framework developed by the Mobile and Distributed Systems Lab (MDSLab) at the University of Messina, Italy. Stack4Things is an open source project that helps you in managing IoT device fleets without caring about their physical location, their network configuration, their underlying technology. It is a Cloud-oriented horizontal solution providing IoT object virtualization, customization, and orchestration. Stack4Things provides you with an out-of-the-box experience on several of the most popular embedded and mobile systems.

1381298481_github_circle_color

Fork me from MDSLAB on Github!

UnimeLogo.gif

Scientific publications about Stack4Things

mdslab_test1.gif Stack4Things design and development team logo_clodwave.pngStack4Things is partially funded by the CloudWave FP7 project

Why Stack4Things?

Object virtualization

Object virtualization

Interact with your IoT devices as entities in the Cloud. Access all their hardware and software properties with a uniform interface. Build new virtual devices by mashing up multiple objects around the world with Stack4Things.

Overlay networks of things

Overlay networks of things

Create and manage Cloud-mediated or fully peer-to-peer virtual networks among your objects. Deploy standard applications on your IoT devices as they were on the same LAN. Forget about NAT/firewall issues: Stack4Things works out of the box!

Remote control and customization

Remote control and customization

Fully customize your devices from low level firmware/operating system configuration to your business logic. Operate on your nodes through the Cloud interface or remotely access them wherever they are: Stack4Things puts you in control!

Fleet management and delegation

Fleet management and delegation

Organize your IoT objects in fleets and control them hassle-free, whichever the scale. Delegate and revoke permissions to users and groups with tunable granularity. Stack4Things provides you with a multi-tenant Cloud of IoT objects.

Fog orchestration

Fog orchestration

Orchestrate your objects by aggregating them in IoT ensembles. Build and deploy new applications without caring about object location and network configuration. Move your logic wherever you prefer: Stack4Things makes Fog computing easy!

Software-defined-*

Software-defined-*

Stack4Things is a horizontal solution, an IoT operating system for the deployment of smart applications. Smart home, smart buildings, smart cities are only some examples of Stack4Things scenario. With Stack4Things everything is software-defined!

Technologies

Raspberry Pi

Raspberry Pi

the Raspberry Pi is a series of credit card-sized single-board computers developed in the United Kingdom by the Raspberry Pi Foundation with the intent to promote the teaching of basic computer science in schools and developing countries

OpenStack

OpenStack

a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface

node.js

node.js

a JavaScript runtime built on Chrome’s V8 JavaScript engine, Node implements an event-driven, non-blocking I/O model that makes it lightweight and efficient. Its package manager, npm, opens up the largest ecosystem of open source libraries in the world

WebSockets

WebSockets

defined as full-duplex single socket connections over which messages can be sent between client and server. The WebSocket standard, part of the HTML5 initiative, simplifies much of the complexity around bi-directional web communication and connection management.
WebSockets represent the next evolutionary step in web communication

WAMP protocol

WAMP protocol

an open standard WebSocket subprotocol that provides two application messaging patterns in one unified protocol: Remote Procedure Calls and Publish/Subscribe.
Using WAMP you can build distributed systems out of application components
which are loosely coupled and communicate in (soft) real-time

Arduino

Arduino

an open-source electronics platform, based on easy-to-use hardware and software, that makes it as easy as possible to program tiny computers called microcontrollers, which are what make objects interactive!

Android

Android

the world’s most popular mobile platform, Android powers hundreds of millions of mobile devices in more than 190 countries around the world. It’s the largest installed base of any mobile platform and growing fast. Every day another million users power up their Android devices for the first time and start looking for apps, games, and other digital content. Android gives you a world-class platform for creating apps and games for Android users everywhere, as well as an open marketplace for distributing to them instantly

More in detail