Talking about Bots, an important building block is a "Natural Language Processor".
And here, Machine Learning comes into the play.
One interesting Cloud service is the one provided by:
Friday, December 16, 2016
Thursday, December 15, 2016
Android, Things
Google has announced the new name for its OS dedicated to IoT: Android Things (past name was Brillo)
Almost Human: talking with your IoT
Fig. 1
For every system User Oriented, the User Interface is one of the most important building block, and you need to carefully think about it.In the past, the most used type of UI was a Web UI. Today, we tend to prefer a Mobile App, since our SmartPhone is (almost) always with us.
But we should be honest, a UI where we have to push buttons, move sliders, check boxes, is not the way we would love to work and live.
The dream, one of the dreams of AI, is to be able to use Natural Language to interact with a System, better through voice.
But this is still not so easy, everyone of us have at least one time laughed at the mistakes that SIRI does, sometime (or more often than that).
Surely, this can be, will be the future, but think about it: there are still moments when you can’t or don’t want to use voice (for example, don’t want to be heard by someone else).
Here comes ChatBot: chat were you’re interacting with a “Robot”.
If you want to understand better what a ChatBot is , maybe you can resort to Wikipedia. I don’t pretend to teach you this.
But, working on my Concept Prototype of IoT, my HomeAuto system, I decided that I wanted to explore how to use a ChatBot as interface.
I discovered that with Telegram you can easily set-up a Bot and, more important, Telegram has an Open API. This makes it easy to develop the System-User Interface.
More details: i don’t want to write code, or better, I prefer to write as little code as possible. Therefore I decided to find out if there are modules for NodeRED useful to simplify the interaction with a TelegramBot.
Yes, there are.
Therefore, the building blocks are:
- A Cloud Service, with an Open API, that enables you to create a Bot, enable to interact through API with the Bot and provides you a Mobile Apps; Telegram is Ok;
- A Middleware that enables you to visually develop flows to interact with your Things: NodeRED;
- A module for NodeRED that simplify the creation of flows capable to interact with the Bot: here I have found
All this pieces, in my Home, runs on a Raspberry PI 3.
It works!
- I can ask, using the Telegram App: “Show me T2” (Temperature in Room 2)
- I have developed a flow that checks the readings from a GAS sensor in the kitchen and, if the reading is above a certain threshold, it sends me an alert on Telegram (can be also a Voice Message)
- … I’ll do more in the next week
This is a snapshot of the NodeRED flow that implements the conversation above
Not complicated, really.
You can see in the picture “Telegram Receiver” and other nodes taken from node-red-chatbot.
Nice. Obviously the implementation of a “Language Interpreter” is the most difficult part. In my prototype, where I have used RiveScript, sentences recognized are very few and simple.
If you want to implement some serious thing, you need a NLP service: Natural Language Processing.
See you soon.
Monday, December 5, 2016
Home Automation (5): integrate Philips Hue
Lighting my House: at the end I have decided to adopt Philips Hue.
It has not been an easy decision. Hue is not cheap.
Another decision point has been the choice of the protocol for communication with the light’s bulbs.
I think toady, in Home and Building Automation, there are two possible and reasonable choices:
- Zigbee (ZLL)
- ZWave
Zigbee Light Link (ZLL) is a protocol based on Zigbee.
As far as I have seen:
- ZLL is becoming more and more common;
- ZLL devices are cheaper than ZWave;
- In addition, Hue seems to me easier to set-up and integrate.
But Philips has worked with ZLL in such a way that other devices (for example lights from Ikea) don’t integrate. The protocol permits this.
Anyway, at the end I have decided to go with Philips Hue, thinking that it was the easier and most effective choice.Wednesday, November 30, 2016
REST API and Swagger
I have summarized the main point about using Swagger (and OpenAPI spec) to describe the interface of a REST API and to support the design and development of a REST API, in NodeJS, in a presentation on SlideShare
For those of you interested, here it is:
For those of you interested, here it is:
Location:
Rome, Italy
Oracle Developer Gateway
It’s cool.
Here, in a single point, you find access to all the resources you need to develop with Oracle Technologies
(btw: as you probably already know, I do work for Oracle!)
Tuesday, November 29, 2016
Algorithm to filter sensors' noise.
A nice post on Predix IoT blog on how to use Kalman Filters to reduce the noise from sensors and detect anomalies.
Subscribe to:
Posts (Atom)