We’ve done a little recoding. Introducing IBM Developer. The next level of coding, content, and community.Learn more
Finding patterns in data to derive information.
Get the code
View the demo
Watch the tech talk
By Kalonji Bankole | Last updated September 22, 2018
AnalyticsArtificial IntelligenceIoTMobile DevelopmentNode.jsPlatform as a ServiceServerless
Home automation has gone from science fiction to reality in a few short years. This code pattern shows you how easy it is to build a home automation hub using natural-language services and IBM Cloud Functions (formerly OpenWhisk) serverless technology.
Over the past few years, we’ve seen a significant rise in the popularity of intelligent personal assistants – think of Apple Siri, Amazon Alexa, and Google Assistant. At first these apps seemed like little more than a novelty, but they’ve now evolved to become convenient, useful, and for a growing number of enthusiastic users, essential.
These apps provide users with an easy natural-language interface that enables them to interact with service APIs and IoT-connected devices. Now that natural-language interaction is taking the next step, developers are keen to provide voice interaction for a fully automated home.
This code pattern guides you into the world of interactive home automation. Homes are truly becoming “smart,” with more and more devices available to connect and control with voice commands. You learn how to set up your own starter home automation hub by using a Raspberry PI to turn power outlets off and on. After the circuit and software dependencies are installed and configured properly, you can use IBM Watson’s language services to control the power outlets with voice or text commands.
You also dive into the world of serverless development. This code pattern shows you how to use the serverless functions of IBM Cloud Functions to trigger those same outlets based on a timed schedule, changes to the weather, motion sensor activation, and other inputs. Learn to use Watson services to interpret user input and how IBM Cloud services can make a system more accessible using HTTP, SMS, MQTT and other protocols. You can expand the Watson IoT Platform to process analytics to determine how long specific devices stay on and adjust the IBM Cloud Functions sequence to control devices based on a schedule or triggered sensors.
So forget about the novelty factor – you need to stay current with your development skills to ensure that the apps you produce are in demand. People want smart homes, connected devices, and voice-activated appliances; this code sample shows you how to do it.
Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README file.
April 12, 2018
June 5, 2018
August 29, 2018
Back to top