December 13, 2016
Previous: Contents Next: Part 2 – Raspbian

Hardware Description

Raspberry Pi Model B+ v1.2 (2014). This is the fourth iteration (July 2014) of the initial single board computer from the Raspberry Pi Foundation. It uses a Broadcom BCM2835 system on a chip (SoC) which contains a 32 bit, single core, 700 MHZ, ARM (v6) CPU (ARM1176jZF-S) and a Broadcom BCM2837 GPU. The 512 MB of onboard RAM is shared between the CPU and GPU. This was the first board to have four USB 2.0 ports and to use a microSD card for storage. There is a 10/100 Mbit/s Ethernet port connected via the USB bus.
Raspberry Pi card
The computer must be linked to a home network. The computer has an RJ45 Ethernet port which can be connected to a router with an Ethernet cable. That is not very practical as X10 devices are finicky about their placement. So I use a USB-Wifi dongle to maintain a wireless connection. The Adafruit Industries 814 Miniature Wifi module was used. This is a tiny USB dongle, sticking out 8mm from the USB port. It uses a RTL8192/8188CUS chipset, runs on the 2.4GHz band and supports IEEE 802.11n, IEEE 802.11g, IEEE 802.11b wireless standards.
Adafruit Wifi Dongle

Another USB-Wifi dongle, the much cheaper FAST FW150US, also worked. Its characteristics are similar to the Adafruit dongle: same band, same wifi protocols, same 150 Mbps speed and same size. Looking at the Windows driver files, it looks like it may have a Realtek chipset but which one? The manufacturer site is all in Chinese. In any case, it works out of the box in Raspbian once wifi is setup. In other words I replaced a working Adafruit dongle with this one and everything worked.
Fast Wifi Dongle

16GB class 10 microSD memory card (Kingston). In fact, 4GB would do and probably 2GB would be sufficient.
Power supply
5 volts with microUSB connector. The Raspberry Pi consumes about 700mA. And the USB devices connected to it (Wifi dongle, CM19A, USB camera) must also be supplied. "Flaky" results can be expected if the power source cannot provide enough current. Initial tests suggest that a vanilla wall plug providing 1A of current is not sufficient. I am using a two outlet wall tap with usb charging port nominally pushing out 3A found at Home Depot. The CM11A can be plugged into the top receptacle. If the setup becomes permanent, I will look into getting a wall socket with integrated USB charger to cut down on the clutter.
X10 Home Automation modules
A minimum of two modules are needed to test. I have tested two setups:
A CM19A USB PC Transceiver connected to the Raspberry Pi with a USB cable. It sends X10 Radio Frequency codes to a wireless transceiver module. The latter can be a TM751 Wireless Transceiver module or the RR501 RF Based Transceiver Module that receive the RF signal from the CM19A send power line commands to X10 lamp or appliance modules. However a lamp can be plugged into either of two wireless transceiver which will suffice to run tests. cm19a
A CM11A Serial computer interface connected to the Raspberry Pi with a USB to serial converter cable (cheap Prolific knock-off). It sends X10 power line command to an X10 lamp or appliance module or socket etc. You will need one of those. The RR501 built-in socket responds to power line commands. The TM751 does not, so a lamp, appliance or socket module will be needed. cm19a

The CM19A and CM11A can both be connected to the Rapsberry Pi at the same time. This means that both power line and radio X10 messages can be sent. Of course, there is a newer device, the CM15A USB Transceiver that does both together. I have one but the RF transmitter seems to be defective. It can't reach a functionning TM751 that is two centimeters away.

Additional Hardware Used During the Initial Setup
For the setup, you will need a desktop computer with an SD card reader. It will probably be more comfortable to use it to log onto the Raspberry Pi instead of working with the later directly. As mentioned above, the Raspberry Pi must be connected to a home network to function as a home automation controller. However, it is possible to install and test some of the software without a network connection. In that case a USB keyboard and a monitor will have to be connected to the Raspberry Pi. It may be necessary to use a keyboard and monitor initially to setup a static ip address in order to use a desktop computer to access the Raspberry Pi using an SSH connexion.

Software Description

Operating System
Raspbian Jessie Lite which is a "minimal" image based on Debian Jessie (Version: September 23, 2016, Linux kernel 4.4). The raspberry will be used as a "headless" server so there is no need for the complete desktop.
TCP gateway daemon for X10 transceiver
The home automation software will communicate with the CM15A or CM19A using mochad a TCP gateway daemon. Be careful about installing in Raspbian Jessie. Further explanations are given below.
Serial gateway daemon for X10 transceiver
The home automation software will communicate with the CM11A using heyu. I had no success with the latest version (2.11 release candidate 2) found on the site, but the last stable release (2.10) worked well. Further explanations are given below.
Home Automation daemon
Domoticz version 3.5877
Previous: Contents Next: Part 2 – Raspbian