Successfully reported this slideshow.

Building IoT Applications with macchina.io and TinkerForge

967 views

Published on

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.

Published in: Internet
  • Be the first to comment

Building IoT Applications with macchina.io and TinkerForge

  1. 1. Building IoT Applications with macchina.io andTinkerForge ! Günter Obiltschnig Applied Informatics Software Engineering GmbH guenter@appinf.com @obiltschnig
  2. 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. 3. m .ioacchina A modular open source toolkit for building embedded IoT applications that connect sensors, devices and cloud services.
  4. 4. IoT Gateway devices.netCloud Services AirVantage, Bluemix, Cumulocity, Xively, etc. HTTP(S) MQTT Remote Access my-devices.net device apps local“business logic” web services database web visualization Mobile/Web Clients Devices/Sensor Networks CoAP, ZigBee, Modbus, USB, Bluetooth, RS-232
  5. 5. > 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
  6. 6. 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
  7. 7. 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
  8. 8. Open source hardware building blocks with great APIs.
  9. 9. Bricks stackable, 4 x 4 cm 7 types (Master, RED, DC, Debug, IMU, Servo, Stepper) Master connected to RED or host via USB, Ethernet, Wi-Fi or RS485 Bricklets connect to Master Brick via bricklet cable (power, I2C, I/O) ~40 types (temperature, ambient light, GPS, I/O, relay, …) Master Extensions stackable, extend Master or RED Ethernet (optional PoE), Wi-Fi, RS485 APIs and Libraries C/C++, C#/.NET, JavaScript, Java, LabVIEW, Mathematica, Python, …
  10. 10. Master Brick RED Brick (Linux) Temperature Bricklet Motion Detector Bricklet Bricklet Cable GPS Bricklet Rotary Encoder
 Bricklet
  11. 11. m + = Very fast prototyping and development of IoT applications 😃
  12. 12. Demo
  13. 13. Q&A
  14. 14. guenter@appinf.com | @obiltschnig | obiltschnig.com macchina.io | my-devices.net | pocoproject.org | www.appinf.com

×