Smart Home Automation with Linux (eBook)
312 Seiten
Apress (Verlag)
978-1-4302-2779-3 (ISBN)
Linux users can now control their homes remotely! Are you a Linux user who has ever wanted to turn on the lights in your house, or open and close the curtains, while away on holiday? Want to be able to play the same music in every room, controlled from your laptop or mobile phone? Do you want to do these things without an expensive off-the-shelf kit?
In Smart Home Automation with Linux, Steven Goodwin will show you how a house can be fully controlled by its occupants, all using open source software. From appliances to kettles to curtains, control your home remotely!
Steven Goodwin has been involved in science and technology from an early age, and built his first synthesizer while still in his teens. Since then, his projects have been varied. He has sold over a million computer games, written two books, built robots, and automated a house that can be controlled from the Internet. He has spoken at many conferences, including NotCon '04 and the BBC Backstage OpenTech event.
Linux users can now control their homes remotely! Are you a Linux user who has ever wanted to turn on the lights in your house, or open and close the curtains, while away on holiday? Want to be able to play the same music in every room, controlled from your laptop or mobile phone? Do you want to do these things without an expensive off-the-shelf kit?In Smart Home Automation with Linux, Steven Goodwin will show you how a house can be fully controlled by its occupants, all using open source software. From appliances to kettles to curtains, control your home remotely!
Steven Goodwin has been involved in science and technology from an early age, and built his first synthesizer while still in his teens. Since then, his projects have been varied. He has sold over a million computer games, written two books, built robots, and automated a house that can be controlled from the Internet. He has spoken at many conferences, including NotCon '04 and the BBC Backstage OpenTech event.
Title Page 2
Copyright Page 3
Contents at a Glance 5
Table of Contents 6
About the Author 13
About the Technical Reviewers 14
Acknowledgments 15
Introduction 16
CHAPTER 1 Appliance Control 18
Making Things Do Stuff 18
X10 18
About X10 19
General Design 21
Simple Case 21
Standard Case 21
Fully Automated 22
Assigning Addresses 22
Using Multiple House Codes 23
Device Modules 23
Controlling Lights 24
Lamp Module (LM12U) 24
Bayonet Lamp Module (LM15EB) 25
Wall Switch (LW10U) 26
MicroModule with Dimmer (LWM1) 27
DIN Rail Dimmer (LD11) 28
Appliance MicroModule (AWM2) 28
Controlling Appliances 29
Appliance Module (AM12U) 29
Appliance MicroModule (AWM2) 30
Internal Devices 31
Combination Devices 31
Electronic Curtain Rails: Retrofit 32
Electronic Curtain Rails: Prebuilt 32
Stand-Alone Controllers 32
Tabletop Transmitter Modules 32
Mini Controller (MC460) 33
Sundowner Dusk/Dawn Controller (SD7233/SD533) 33
Mini Timer (MT10U) 33
Maxi Controller (SC2800) 34
Handheld Transmitter Modules 35
Handheld RF Remote (HR10U) 35
Keyfob Remote (KR22E) 35
EasyTouch Panel10 RF 36
EasyTouch35 Universal Remote Control 36
In-Wall Transmitter Modules 36
Motion Sensors 37
Gateways and Other Exotic Devices 37
Computer Control 40
Heyu 41
Configuration 42
Sending Messages 42
Receiving Messages 43
Programming the EEPROM 44
C-Bus 45
About C-Bus 45
Differences Between X10 and C-Bus 45
Devices 46
Controlling Lights 46
Controlling Appliances 47
Controllers 47
Gateways 48
Networked Devices 48
Ethernet Devices 48
Networking Primer 48
Concepts 49
Addressing 49
Computer Names 52
Network Services 53
CCTV Cameras 55
Wireless Cameras That Aren’t 56
Custom Hardware 57
Linux Software 57
Stand-Alone BitTorrent Clients 58
Infrared Remote Control 58
All-in-One Remotes 59
IR Relays 59
Over the Aerial Cable 59
IR-RF-IR Gateways 60
IR Over IP 60
IR Control 63
Conclusion 65
CHAPTER 2 Appliance Hacking 66
Converting Existing Technology 66
Software Hacks 66
Linksys NSLU2 66
Unslung 67
SlugOS 68
Developing on the Slug 68
Hacking Game Consoles 69
Sega Dreamcast 69
Sony PlayStation 70
PlayStation 1 70
PlayStation 2 71
PlayStation Portable 72
Microsoft Xbox 72
Running Linux 73
Xbox Media Center 74
Hardware Hacks 75
Linksys NSLU2 75
Always On 75
Overclocking 75
Serial Port 76
LEGO Mindstorms 77
Arduino as an I/O Device 78
Installation and Setup 79
Arduino Software 80
Reading Digital Inputs 81
Reading Analog Inputs 84
Sending Digital Outputs 85
Sending Analog Outputs 86
Creating Audio Outputs 87
Communication with a PC 87
Arduino Hardware 89
Ethernet Networking 90
Wireless Control 90
Sound 90
Motors 90
Example: The Arduino Welcome Mat 90
Example: The Arduino Dictaphone 93
Joysticks for Input 96
Other Input Controllers 97
Hacking Laptops 97
Your Own X10 Devices 98
Conclusion 100
CHAPTER 3 Media Systems 101
Incorporating the TV and the HiFi 101
The Data Chain 101
Extracting the Data 102
Compact Disc 102
DVD 103
Rip As ISO 104
Rip As Movie Files 104
Issues with Movies 105
Cassette Tapes and Vinyl 106
Storage 107
Stand-Alone NAS Systems 107
Hard Drive Considerations 107
Networking Considerations 109
Extra Functionality 110
NAS with Media Playback 110
Configuring a Linux Box 111
Preparing a Machine 112
Preparing a Filesystem 113
Preparing a Master Server 113
Media Extenders 114
Stand-Alone Hardware 115
Hauppauge MediaMVP 115
Creating a Server 115
MediaMVP Media Center 116
Weather Reports 117
Video Transcoding 117
Other Functionality 119
The Xtremer 119
Squeezebox 119
Server Software 120
Other Software 120
Emprex ME1 120
Just Linux 121
The Operating System 121
The Software 121
MythTV 122
Freevo 122
Xbox Media Center 123
The Video Disk Recorder Project 123
Distribution 123
Local Processing vs. Remote Processing 123
AV Distribution 123
Switching 124
Splitting and Merging 124
Wiring Looms 125
Wireless AV Distribution 126
Matrix Switchers 126
Control 128
Local Control 128
Remote-Control Methods 128
Direct Control 128
Relay Control 129
Server Control 130
A Web Interface 130
SMS 130
Conclusion 131
CHAPTER 4 Home Is Home 132
The Physical Practicalities 132
Node0 132
Function and Purpose 132
Determining the Best Room 133
Lawful Considerations 133
Necessary Considerations 133
Negative Effects 134
Human Considerations 135
Primary Options 136
Building the Rack 137
Servers 138
Purposes of Servers 138
CPU Power 138
Disk Space 139
Server Extensibility 139
Bandwidth Capabilities 139
Types of Server 140
Rack Mount 140
Desktop PC 140
Mini-ITX 141
Mini-PC 142
Custom Embedded 143
Power Consumption 143
Server Coordination 146
UPS 147
Backups 151
Hiding Your Home 155
Adding to Your Home 156
General Considerations 157
Wired Network 158
Wireless Points 160
Audio Cabling 161
Other Access Points? 162
Conclusion 163
CHAPTER 5 Communication 164
Humans Talk. Computers Talk. 164
Why Comms? 164
IP Telephony 165
Skype 165
Asterisk 166
E-mail 166
Preparing E-mail in Linux 166
Sending E-mail 167
Autoprocessing E-mails 168
Security Issues 171
Voice 172
The Software for Voice Recognition 173
Remote Voice Control 175
Speech Synthesis 176
Piecemeal Samples 179
Web Access 180
Building a Web Server 181
Virtual Sites 181
Secure Server 183
Controlling the Machine 187
Media Access 188
SMS 189
Processing with a Phone 190
Custom Numbers and APIs 193
Sending Messages 193
Receiving Messages 196
Conclusion 199
CHAPTER 6 Data Sources 200
Making Homes Smart 200
Why Data Is Important 200
Legalities 200
Screen Scraping 201
Data Through APIs 204
Distribution 205
Public Data 205
TV Guides 205
Train Times 206
Road Traffic 208
Weather 208
Forecasts 208
Local Reporting 212
Radio 212
CD Data 214
News 216
Reported Stories: Push 216
Retrieving Data: Pull 218
Private Data 219
Calendar 219
Webmail 221
Twitter 223
Posting Tweets with cURL 224
Reading Tweets with cURL 224
Reading Tweets with RSS 225
Facebook 225
Automation 225
Timed Events 226
Periodic Control with Cron Jobs 226
Occasional Control with At 228
Error Handling 228
Conclusion 229
CHAPTER 7 Control Hubs 230
Bringing It All Together 230
Integration of Technologies 230
The Teakettle: An Example 231
Minerva 233
Overview 234
Linux Users Are Not HA Users 235
The Minerva User 237
The Public User 237
Device Abstractions 237
Typical Application Abstractions 238
Monexec 239
TODO: A Worked Example 240
Conduits 241
Echo 242
Email 242
Infrared Remote Control 242
Logging 242
SMS 242
Twitter 242
The Voice Conduit 243
Web Log 243
Window Alert 243
Administering Conduits 243
Messaging Conduits 244
Output Conduits: Transmission 244
Input Conduits: Receiving Messages 246
TODO: Building a Conduit 248
Message Relays 249
Time-Based Messaging 249
Other Uses for MTS 251
Location-Based Messaging 251
Cosmic 252
Configuration 252
Creating Modes 254
Web Applets 254
Zinc: Between Web and Native 255
Of Web Pages and Applets 255
Existing Applets 258
Media 258
Lifestyle 260
Information 263
Administration 264
Creating Your Own Applets 265
The WARP Directories 266
The Components of WebFace 266
The Basic Structure 266
TODO: Controlling the Applet 267
Global Configuration 269
Applet Configuration 270
Utilities 271
Release 271
Manifest 271
Marple 272
The Workings 273
Handling Protocols 273
Bearskin Compatibility 275
Utility Scripts 276
Status 276
User Tools 276
Topology Ideas 277
Networking 277
Wiring Looms 279
Conclusion 282
Index 283
"Chapter 5 Communication (S. 149-150)
Humans Talk. Computers Talk.
It is often said that language is the invention that makes all others possible. Within the world of technology, language is the protocol that makes all others live. Writing software for a stand-alone machine is all very nice, but when it manages to interface with the outside world, interface with another program across a network, or control an external piece of hardware, it seems so much more satisfying.
Controlling even the simplest of robots with a computer is infinitely more impressive to the layperson (and many geeks!) than the demonstration of an optimized implementation of marching cubes.1 Having already covered a number of devices in Chapter 1 that are able to talk with external hardware, I’ll now cover human-computer communication and demonstrate how we can interact with one machine or piece of software and have it control another somewhere else. This includes the use of email, SMS, and web pages. However, the onset of new technology is relentless, and with devices such as the iPhone offering a broadband2 experience, its use as a device for voice calls, SMS, or e-mail is very much reduced.
Why Comms?
There are four methods of communication within the technology arena:
• Computer-to-computer
• Human-to-human
• Computer-to-human
• Human-to-computer
These are all important to us for different reasons. The first was covered in Chapter 1 and allows devices to be controlled automatically according to some time- or logic-based programming. Human-to-human communications are those that take place every day but can now be facilitated by technology.
Before the advent of the telephone, our only form of real-time communication was faceto- face. Now we have e-mail, Internet relay chat (IRC), instant messaging (IM), and SMS to perform the same task. All remove the “face” element. We have also streamlined our existing communication mediums. Telephones, which were once low quality and hardwired to a physical location, are now mobile. Through Voice over IP (VoIP) technology, you can make use of the (near) free cost of the Internet to provide financial savings and, when combined with mobile technology, facilitates the amusing situation where using a mobile phone is used to order pizza online through a web page, when it would have been normally used to call them!
When we talk of computer-to-human communication, we are looking at reports and information about the house that the computer sends to us, as appropriate. In the simplest of cases, this might be the daily wake-up call or an e-mail containing the day’s TV schedule. In more complex scenarios, it could be a full report of the computers in the house and how they are performing.3 And finally, human-to-computer communication takes place most often and involves us telling the machine what we want to do via e-mail, SMS, or a web page. To be a truly smart and automated house, this list would include haptic interfaces."
Erscheint lt. Verlag | 6.5.2010 |
---|---|
Zusatzinfo | 312 p. |
Verlagsort | Berkeley |
Sprache | englisch |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
Mathematik / Informatik ► Informatik ► Netzwerke | |
Informatik ► Weitere Themen ► Hardware | |
Schlagworte | Automation • Control • Linux • music • Open Source • Smart Home • X10 |
ISBN-10 | 1-4302-2779-6 / 1430227796 |
ISBN-13 | 978-1-4302-2779-3 / 9781430227793 |
Haben Sie eine Frage zum Produkt? |
Größe: 4,9 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich