Slides from a talk at Global IoT Day Event Vienna, 2015-04-09.
macchina.io is a brand new open source software platform for rapidly building IoT applications that run on Linux-based devices like the Raspberry Pi, Beaglebone or RED Brick. It implements a modular, extensible JavaScript (and C++) runtime environment inspired by OSGi, providing interfaces to various kinds of sensors and devices, as well as cloud services. macchina.io is based on the well established POCO C++ Libraries and the V8 JavaScript engine.
Tinkerforge is an open source hardware platform of stackable microcontroller building blocks (Bricks) that can control different modules (Bricklets), typically sensors or I/O devices. Tinkerforge devices are connected to a computer via USB. Alternatively, the RED Brick, a tiny, 40×40 mm Linux computer can be used.
The proposed talk will first give a quick introduction to both macchina.io and Tinkerforge, and will then demonstrate how to build an application that collects various sensor measurements, stores them in a local database, visualizes them on a local website and performs various actions, such as sending SMS messages or posting to Twitter if certain events occur, all with just a few lines of easily comprehensible JavaScript.
Building IoT Applications with macchina.io and TinkerForge
1. Building IoT Applications with
macchina.io andTinkerForge
!
Günter Obiltschnig
Applied Informatics Software Engineering GmbH
guenter@appinf.com
@obiltschnig
2. About Me
hard-core C++ developer (20+ years), also likes JavaScript
“full stack++”, embedded, hardware to web frontend + cloud
POCO C++ Libraries (2004)
Applied Informatics GmbH (2006)
my-devices.net (2010)
AIS Radar for iOS (2011)
macchina.io (2013)
3.
4. m .ioacchina
A modular open source toolkit for building embedded IoT
applications that connect sensors, devices and cloud services.
7. > open source (Apache 2.0 License)
> built in C++ for best performance and efficiency
(JavaScript for parts of web interface)
> modular and extensible
> mature, proven codebase:
POCO C++ Libraries, Google V8, Eclipse Paho, AngularJS, jQuery,
OpenLayers, Ace (text editor), SQLite
+ Applied Informatics OSP and Remoting frameworks
> C++-to-JavaScript bridge
> Raspberry Pi, Beaglebone, Edison, RED, etc.
> prototype on Linux or OS X host, easily deploy to device
> web interface with JavaScript editor
8. Sensors & Devices Protocols Cloud Services
Temperature, Ambient Light,
Humidity, Air Pressure, etc.
HTTP AirVantage
I/O, Trigger, Rotary Encoder MQTT Bluemix
Accelerometer CoAP* Twitter
GNSS/GPS WebEvent Twilio (SMS)
Barcode Reader, RFID* WebTunnel my-devices.net
Serial Port Modbus*, CANopen* any with HTTP/REST APIs
* planned
9. Pro Users and Device Manufacturers
> add device specific APIs
> make devices programmable in JavaScript for partners or end users
> device specific app store (sell additional software features)
> additional frameworks (UPnP, Remoting SOAP and JSON-RPC)
> customizable web user interface
> improved user authentication and authorization
> signed bundles
> pro support