<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:foaf="https://xmlns.com/foaf/0.1/" xmlns:og="https://ogp.me/ns#" xmlns:rdfs="https://www.w3.org/2000/01/rdf-schema#" xmlns:schema="https://schema.org/" xmlns:sioc="https://rdfs.org/sioc/ns#" xmlns:sioct="https://rdfs.org/sioc/types#" xmlns:skos="https://www.w3.org/2004/02/skos/core#" xmlns:xsd="https://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/tag/home-automation">
  <channel>
    <title>Home Automation</title>
    <link>https://www.linuxjournal.com/tag/home-automation</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Building a Voice-Controlled Front End to IoT Devices</title>
  <link>https://www.linuxjournal.com/content/building-voice-controlled-front-end-iot-devices</link>
  <description>  &lt;div data-history-node-id="1339907" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/bigstock--208391854.jpg" width="800" height="451" alt="""" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/michael-j-hammel" lang="" about="https://www.linuxjournal.com/users/michael-j-hammel" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Michael J. Hammel&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;Apple, Google and Amazon are taking voice control to the next level.
But can voice control be a DIY project? Turns out, it can. And, it isn't
as hard as you might think.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
Siri, Alexa and Google Home can all translate voice commands into
basic activities, especially if those activities involve nothing more
than sharing digital files like music and movies. Integration with
home automation is also possible, though perhaps not as simply as users
might desire—at least, not yet.
&lt;/p&gt;

&lt;p&gt;
Still, the idea of converting voice commands into actions is intriguing
to the maker world. The offerings from the big three seem like magic in
a box, but we all know it's just software and hardware. No magic here.
If that's the case, one might ask how anyone could build magic boxes?
&lt;/p&gt;

&lt;p&gt;
It turns out that, using only one online API and a number of freely
available libraries, the process is not as complex as it might seem.
This article covers the &lt;a href="https://gitlab.com/xjarvis/jarvis"&gt;Jarvis
project&lt;/a&gt;, a Java application for capturing
audio, translating to text, extracting and executing commands and
vocally responding to the user. It also explores the programming
issues related to integrating these components for programmed results.
That means there is no machine learning or neural networks involved.
The end goal is to have a selection of key words cause a specific method
to be called to perform an action.
&lt;/p&gt;

&lt;h3&gt;
APIs and Messaging&lt;/h3&gt;

&lt;p&gt;
Jarvis started life several years ago as an experiment to see if
voice control was possible in a DIY project. The first step was to
determine what open-source support already existed. A couple weeks
of research uncovered a number of possible projects in a variety of
languages. This research is documented in a text document included in
the docs/notes.txt file in the source repository. The final choice of a
programming language was based on the selection of both a speech-to-text
API and a natural language processor library.
&lt;/p&gt;

&lt;p&gt;
Since Jarvis was experimental (it has since graduated to a tool in
the &lt;a href="https://redmine.graphics-muse.org/projects/ironman/wiki/Getting_Started"&gt;IronMan
project&lt;/a&gt;), it started with a requirement that it be as
easy as possible to get working. Audio acquisition in Java is very
straightforward and a bit simpler to use than in C or other languages.
More important, once audio is collected, an API for converting it to
text would be needed. The easiest API found for this was &lt;a href="https://cloud.google.com/speech"&gt;Google's Cloud
Speech REST API&lt;/a&gt;. Since both audio collection and REST interfaces are
fairly easy to handle in Java, it seemed that would be the likely choice
of programming language for the project.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/building-voice-controlled-front-end-iot-devices" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 25 Jun 2018 13:44:37 +0000</pubDate>
    <dc:creator>Michael J. Hammel</dc:creator>
    <guid isPermaLink="false">1339907 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Smart-Home Lightning Hacks</title>
  <link>https://www.linuxjournal.com/content/smart-home-lightning-hacks</link>
  <description>  &lt;div data-history-node-id="1339767" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/bigstock--199946947.jpg" width="800" height="450" alt="""" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/shawn-powers" lang="" about="https://www.linuxjournal.com/users/shawn-powers" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Shawn Powers&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;&lt;em&gt;
Home automation should make life simpler, not more complex! 
&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;
Kyle Rankin occasionally uses the "lightning hacks" format for his Hack and
/ &lt;em&gt;LJ&lt;/em&gt; column when
he has a bunch of neat topics to cover that wouldn't be enough for a complete
article on their own. Thinking along those lines for this article, I
figured it would be great to cover various home-automation stuff I do. Not only is it fun to share ideas, but if I make a
list of all the cool things I'm currently doing, it will make it easier
to compare the functionality of open-source options I'd like to explore
next. If you haven't been dipping your toes into the
world of home automation, maybe some of these hacks will change your
mind.
&lt;/p&gt;

&lt;h3&gt;
My Setup&lt;/h3&gt;

&lt;p&gt;
Most home-automation ideas can be implemented in multiple ways. In fact,
I'm counting on that as I look into less-proprietary methods in the near
future. But right now, I'm using a Samsung SmartThings hub. Yes,
it is proprietary, but Samsung really has opened up the API and allowed
developers to create device drivers and apps to customize the
platform. I think SmartThings is the most feature-complete solution
for home automation right now, but it does have a few frustrations. The most
annoying is that it requires a constant connection to the internet in
order to function. Most folks are frustrated with the inherent privacy
concerns of home automation taking place in the cloud, and that's a big
problem. For me, the more frustrating aspect is the effect shoddy internet
service has on a home. If the internet goes down, so does 90% of my
house! I have a few workarounds, but I know that a solid (not fast) internet
connection is vital if your solution is cloud-based like SmartThings.
&lt;/p&gt;

&lt;p&gt;
Anyway, my setup consists of the following:
&lt;/p&gt;


&lt;ul&gt;&lt;li&gt;
Samsung SmartThings Hub v2.
&lt;/li&gt;

&lt;li&gt;
Amazon Echo devices all over the house.
&lt;/li&gt;

&lt;li&gt;
Google Home devices all over the house.
&lt;/li&gt;

&lt;li&gt;
Sonos speakers in most rooms.
&lt;/li&gt;

&lt;li&gt;
Various lights, switches, sensors and so on.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Having both Amazon Echo and Google Home isn't something I encourage;
it's just that I have a habit of trying new technology, and they are
both so amazing, I haven't yet chosen one over the other. Thankfully,
they're pretty happy to function together.
&lt;/p&gt;

&lt;h3&gt;
Hack 1: the Mailman Detector&lt;/h3&gt;
&lt;p&gt;
In my home, my office is all the way at the back of the house. In most
homes, that's not a big deal, but in my case, my office is purposefully
separate from the main living area so that when I'm recording videos, the
house sounds don't interrupt. During the day, I'm usually home working
alone, so I never know if a package has been delivered. The mailman
could kick the front door down, and I'd never hear it in my office. My
solution was to install a doorbell with a label about my office being
all the way in the back (Figure 1), but sadly, most delivery folks just
drop and run. So I decided to automate.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/smart-home-lightning-hacks" hreflang="en"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Mon, 14 May 2018 11:30:00 +0000</pubDate>
    <dc:creator>Shawn Powers</dc:creator>
    <guid isPermaLink="false">1339767 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Jarvis, Please Lock the Front Door</title>
  <link>https://www.linuxjournal.com/content/jarvis-please-lock-front-door</link>
  <description>  &lt;div data-history-node-id="1339145" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/11998f1.jpg" width="600" height="333" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/shawn-powers" lang="" about="https://www.linuxjournal.com/users/shawn-powers" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Shawn Powers&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Years ago, we put out a request for articles on home automation. About
the time Eureka came out on TV, people wanted to have their very own
SARAH (Self Actuated Residential Automated Habitat), and it seemed like
the perfect time for nerds everywhere to make their houses smart. The
problem was, although a few programs existed (MisterHouse for
example), the hardware wasn't really reliable or highly available. The
X10 company was about the only game in town hardware-wise, and it tended
to be glitchy without much advantage over traditional switches.
&lt;/p&gt;

&lt;p&gt;
In recent years, a glut of products have been dumped onto the
market, all toting options for automated lighting, wireless switches and so
on. Unfortunately, most were very closed and proprietary, forcing
users to stick to a specific brand. That probably was the goal, but it
backfired, because the concept of branding my house with proprietary
hardware and software was anathema. Thankfully, times are changing, and
the product that made me jump into the home automation pool with both feet
is a surprisingly proprietary one: Amazon Echo (but, more on that later).
&lt;/p&gt;

&lt;h3&gt;
Wireless Communication&lt;/h3&gt;

&lt;p&gt;
Several brands of home automation devices use standard
Wi-Fi (2.4GHz) to communicate. At first glance, that seems like a good
idea. Unfortunately, the 2.4GHz frequency is so cluttered, adding more
devices might be counterproductive. It's also a high-bandwidth type
protocol, which is just not needed for simple switching and communication.
&lt;/p&gt;

&lt;p&gt;
Most home automation devices, regardless of brand, focus on the 900MHz
spectrum. You might remember 900MHz from the days of cordless phones (not
cell phones, rather the old cordless phones from the 1990s). For several
reasons, 900MHz network devices have never really gone mainstream, which
means the frequency isn't oversaturated. It also penetrates walls better,
making it perfect for connecting devices around your home.
&lt;/p&gt;

&lt;p&gt;
Unfortunately, everyone has been trying to become "the
standard"
in home automation, making the various brand names often incompatible
with each other. When I decided to start using home automation devices,
I wanted something that was compatible with the most products. For me,
that meant SmartThings from Samsung. It supports the very
common Z-Wave protocol and the ZigBee protocol, which is similar, but
is based on an actual IEEE standard (IEEE 802.15.4).
&lt;/p&gt;
&lt;img src="https://www.linuxjournal.com/files/linuxjournal.com/ufiles/imagecache/large-550px-centered/u1000009/11998f1.jpg" alt="" title="" class="imagecache-large-550px-centered" /&gt;&lt;p&gt;
&lt;strong&gt;Figure 1. SmartThings is my choice for the most flexible platform upon
which to build.&lt;/strong&gt;
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/jarvis-please-lock-front-door" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 31 Aug 2016 12:00:00 +0000</pubDate>
    <dc:creator>Shawn Powers</dc:creator>
    <guid isPermaLink="false">1339145 at https://www.linuxjournal.com</guid>
    </item>
<item>
  <title>Home Automation with Raspberry Pi</title>
  <link>https://www.linuxjournal.com/content/home-automation-raspberry-pi</link>
  <description>  &lt;div data-history-node-id="1338769" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/11845f1.jpg" width="550" height="348" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/bharath-lohray" lang="" about="https://www.linuxjournal.com/users/bharath-lohray" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Bharath Lohray&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
The Raspberry Pi has been very popular among hobbyists and educators
ever since its launch in 2011. The Raspberry Pi is a credit-card-sized
single-board computer with a Broadcom BCM 2835 SoC, 256MB to 512MB of RAM,
USB ports, GPIO pins, Ethernet, HDMI out, camera header and an SD card
slot. The most attractive aspects of the Raspberry Pi are its low cost of
$35 and large user community following. 
&lt;/p&gt;

&lt;p&gt;
The Pi has several pre-built
images for various applications (&lt;a href="https://www.raspberrypi.org/downloads"&gt;https://www.raspberrypi.org/downloads&lt;/a&gt;), such as the Debian-based
Raspbian, XBMC-based (now known as Kodi) RASPBMC, OpenELEC-based Plex
Player, Ubuntu Core, RISC OS and more. The NOOBS (New Out Of the Box
Setup) image presents a user-friendly menu to select and install any
of the several distributions and subsequently boot into any of the
installed OSes. The Raspbian image comes with the Wolfram language as 
part of the setup.
&lt;/p&gt;

&lt;p&gt;
Since its initial launch in February 2011, the Raspberry Pi has been
revised four times, each time receiving upgrades but maintaining the steady
price of $35. The newest release of the Pi (the Raspberry Pi 2) boasts
a 900MHz quad core cortex A7 and 1GB of RAM. Moreover, Microsoft announced
Windows 10 for the Raspberry Pi 2 through its IoT developer program for
no charge (&lt;a href="https://dev.windows.com/en-us/featured/raspberrypi2support"&gt;https://dev.windows.com/en-us/featured/raspberrypi2support&lt;/a&gt;). This, in
addition to its versatile features, has caused fans
like me to upgrade to the Raspberry Pi 2. With a few new Raspberry Pi
2 boards in hand, I set out to find some useful ways to employ my older
Pi boards.
&lt;/p&gt;

&lt;p&gt;
In this article, I briefly describe the requirements of the project
that I outlined, and I explain the various tools I decided
to use to build it. I then cover the hardware I chose and
the way to assemble the parts to realize the system. Next, I continue
setting up the development environment on the Raspbian image, and
I walk through the code and bring everything together to form the
complete system. Finally, I conclude with possible improvements
and hacks that would extend the usefulness of a Pi home automation system.
&lt;/p&gt;


&lt;h3&gt;
The Internet of Things&lt;/h3&gt;

&lt;p&gt;
An ongoing trend in embedded devices is to have all embedded devices
connected to the Internet. The Internet was developed as a fail-safe
network that could survive the destruction of several nodes. The Internet
of Things (IoT) leverages the same redundancy. With the move to migrate to
IPv6, the IP address space would be large enough for several trillion
devices to stay connected. A connected device also makes it very convenient
to control it from anywhere, receive inputs from various sensors and
respond to events. A multitude of IoT-connected devices in a home has the
potential to act as a living entity that exhibits response to
stimuli.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/home-automation-raspberry-pi" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Wed, 08 Jul 2015 16:55:36 +0000</pubDate>
    <dc:creator>Bharath Lohray</dc:creator>
    <guid isPermaLink="false">1338769 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
