The Haley software infrastructure may be used to support embedded devices. Communication with the Haley service occurs over the Websocket standard - if a device can access the Internet, it can communicate with Haley. Haley uses the AIMP (Artificial Intelligence Messaging Protocol) standard, which may be extended to support device specific messages.
Sample code is available for a Haley client and user interface on the Raspberry Pi device. This is implemented using the JVM client and local webapp server, using a local browser for user interface (such as Chromium or Iceweasel). The Raspberry Pi is used as a Home Automation server. The server discovers local Internet-of-Things devices and can accept authenticated and authorized commands from the Haley service to get their status or operate them.
AIMP (Artificial Intelligence Message Protocol) provides an extensible standard for securely exchanging messages suitbale for human-to-bot, bot-to-device, or bot-to-bot communication. The Haley API's utilize AIMP for message exchange. Haley API Bot's produce and consume AIMP messages.
Based on the open AIMP standard, Haley can be extended to support any Internet-of-Things device. Haley can use AIMP to control any such device, report on its status, and enable securely sharing access to devices on Haley channels.
AIMP may be extended for any network-enabled device, and a corresponding Bot implemented to support it. As AIMP can support additional security protocols for command validation, it's a good fit for the Enterprise.
Based on the Raspberry Pi, 7" Touchscreen, and assorted components such as a speaker and microphone, an A.I. assistant and Home Automation device can be assembled. Here's a screenshot of the Haley Web UI displayed on the touchscreen fullscreen, with an addition device panel above to turn on/off a local device.