What sensors and devices are supported?
macchina.io currently supports the following sensors and devices:
- Tinkerforge bricklets: Ambient Light, Barometer, Dual Button, GPS, Humidity, IO-4, Motion Detector, Rotary Encoder, Temperature.
- XBee® ZB Sensors (combined temperature, humidity and light).
- GPS/GNSS receivers via serial port NMEA 0183 protocol.
- Devices connected via UART/RS-232 ports.
- GPIO ports (via Linux sysfs interface).
- Temperature, humidity, light and other environmental sensors.
- 3-Axis accelerometers, magnetometers, gyroscopes.
- Multi-sensor devices like Bosch XDK (via Bluetooth LE) and CISS (via USB), as well as TI SensorTag (via Bluetooth LE).
Support for additional devices is added on an ongoing basis.
What OS platforms are supported?
macchina.io currently supports Linux (ARM and Intel) and macOS. Most of the code is platform independent and compiles on all platforms supported by the POCO C++ Libraries (including Windows and Windows Embedded Compact). However, the build system currently only supports Linux and macOS, specifically when it comes to building the V8 engine. Android should work as well, but is currently untested.
What features require a commercial license?
The following features are not part of the open source version and require a commercial license:
- REST, SOAP, JSON-RPC and HTTP support for C++ Remoting framework.
- WSDL/XML Schema (XSD) C++ code generator.
- UPnP™ and DNS-SD frameworks.
- OPC-UA and CANopen support.
- Cryptographically signed bundles for secure software updates and implementation of device specific app stores.
- App/Bundle Sandboxing with entitlements for securely running third-party applications within macchina.io.
- Advanced, database-based user authentication and authorization with optional LDAP integration.
- An extensible command line interface framework.
- Application container support.
Here is a full list of open-source and commercial features.
How is macchina.io different from node.js?
- macchina.io supports multiple concurrent, but independent scripts, each one running in its own thread.
- macchina.io is entirely implemented in C++.
What does macchina.io stand for?
Macchina is the italian word for machine (it's pronounced 'makkina). macchina.io therefore means machines that input/output information, or machines/devices that communicate.