macchina.io Blog [STAGING]

Internet of Things, edge computing, IoT device software, C++


Introducing The New my-devices.net: Secure Cloud-Based Remote Access for The Internet of Things

We have just released a new and much improved version of my-devices.net, along with a completely new website. my-devices.net is cloud-ready service providing secure remote access to embedded devices and intelligent systems via HTTP(S) or other TCP-based protocols. With my-devices.net, any network-connected device running the my-devices.net connector software can be securely accessed remotely over the […]

Tagged , , ,

Connecting a JavaScript Web Application to a C++ Backend With Remoting NG and JSON-RPC

Applied Informatics Remoting NG 2013.2 contains a new JSON-RPC transport that implements the JSON-RPC 2.0 protocol. JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol using JSON as serialization format and HTTP or WebSockets as transport. This can be used to make a JavaScript web application talk to a C++ backend, RPC-style, by simply […]

Tagged , , ,

Port Forwarding and Dynamic DNS Considered Harmful

Various vendors of network-connected devices, specifically in home automation, use port forwarding and Dynamic DNS as a means to provide remote access to their devices, both for end users and for remote service purposes. However, as a recent case in Germany showed, this is a very bad idea as it opens the door for various […]

Tagged , ,

The Lesser Known Feature: OSP Extension Bundles

Release 2010.1 of the Open Service Platform introduced the concept of “Extension Bundles”. This allows a bundle to declare in its manifest that it extends another bundle (Extends-Bundle header in manifest; <extends> element in bundle specification file). When an extension bundle has been loaded, its properties (from bundle.properties and localized variants) will overlay all properties of […]

Tagged

The Lesser Known Feature: Signed OSP Bundles

Open Service Platform release 2009.1 introduced cryptographically signed bundles. Bundles can be digitally signed with an X.509 certificate, using an RSA-SHA1 signature. Digitally signed bundles offer the following features: A signed bundle allows verification of the bundle’s author, through the author’s digital (public key) certificate. A signed bundle guarantees that its contents have not been […]


Where to Put The OSP CodeCache Directory

One of the questions that comes up frequently when installing an OSP-based application on an end-user system is where to put the OSP codeCache. The codeCache is a directory where the OSP framework puts all shared libraries contained in bundles, so that the operating system can find and load them. The OSP framework itself does […]

Tagged

Implementing UPnP Control Points on iOS

Applied Informatics’ UPnP framework can be used to implement both servers as well as control points, as demonstrated by the included sample applications (SimpleMediaServer, NetworkLight, NetworkLightController, etc.). An interesting exercise is to implement a UPnP control point on iOS. While the code dealing with network issues like device discovery, control and eventing is the same […]

Tagged ,

POCO, iostreams, Windows CE and DLLs

Since release 1.4.0, the POCO C++ Libraries support Windows CE (or Windows Embedded Compact). Except for a few minor restrictions due to a lack of support for them in Windows CE, POCO works quite well on Windows CE 5.0 or later. However, there is an interesting issue that results from the combination of having classes […]

Tagged , , ,

Logging with POCO on iOS

The POCO C++ Libraries come with a powerful logging framework that supports different logging channels like log files, console, syslog or the Windows Event Log. All of these channels (except maybe the FileChannel) are not very useful when developing applications for the iPhone. So what should one do when porting existing C++ code that uses […]

Tagged , , ,

Software For The New Internet Of Things

The Internet of Things, also referred to as Industrial Internet, or Internet of Everything, is one of the major industry trends of 2013. Interestingly, as some may remember, it was also a buzz phrase a few years ago, back then referring to then trendy RFID technology. RFID never really lived up to the expectations, though. […]

Tagged , , , , , , ,