Smart Home Automation with Linux and Raspberry Pi

Total Page:16

File Type:pdf, Size:1020Kb

Smart Home Automation with Linux and Raspberry Pi This book was purchased by [email protected] For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author ................................................................................................................ xv About the Technical Reviewers ........................................................................................ xvii Acknowledgments ............................................................................................................. xix Introduction ....................................................................................................................... xxi ■ Chapter 1: Appliance Control: Making Things Do Stuff .....................................................1 ■ Chapter 2: Appliance Hacking: Converting Existing Technology .....................................53 ■ Chapter 3: Media Systems: Incorporating the TV and the HiFi ........................................87 ■ Chapter 4: Home Is Home: The Physical Practicalities ..................................................123 ■ Chapter 5: Communication: Humans Talk. Computers Talk ...........................................153 ■ Chapter 6: Data Sources: Making Homes Smart ...........................................................189 ■ Chapter 7: Control Hubs: Bringing It All Together ..........................................................217 ■ Chapter 8: Raspberry Pi ................................................................................................275 Index .................................................................................................................................297 v Introduction Home Automation is anything that your home does for you that makes living there more enjoyable or productive. A Smart Home is one that appears to apply intelligence to make that happen. To my friends, family, and visitors, my home is both smart and automated; I can e-mail my light switches, receive tweets from my CD player, and have a personalized TV guide e-mailed to me every day. To me, my home is a collection of existing open source software, some consumer-level hardware, and small pieces of glue code that make them all interact. The magic happens in the way they are combined, and it’s those secrets that I’ll be exposing in this book. The most cogent phrase in this field is probably “the devil is in the details.” Home Automation (HA) requires small confirmed tools that do a single, specific, job in much the same way that Unix utility software does one job, and does it well. Consequently, our decision to adopt Linux as the underlying operating system is no accident. Unlike the monolithic approach of Windows, we have large repositories of open source software that perform these individual jobs—SMS handling, media playback, X10 control, e-mail, web servers, speech synthesis, and everything in between is freely available—and, most importantly, interoperable. Throughout the book I shall reference many different technologies and languages that I consider to be the most suitable to the task in hand. In some cases, this will refer to old technology that is no longer cutting-edge, as those are the devices that have been made to work effectively with Linux through (primarily) developer support. The glue code makes use of Perl, PHP, C++, and Bash. Each has been chosen according to the merits of the language and which modules made the task easier, and not with any presupposed advocacy. The book begins by covering appliance control, and the whys, wherefores, and how to’s of controlling devices such as your kettle, CCTV, light switches, and TV from a computer. A multitude of technologies including X10, C-Bus, ZWave, ZigBee, and Hue are covered and explained. We continue by looking at other devices that you can build, adapt, or hack yourself from existing technology. The Arduino, for example, can be employed as part of an automated doormat that reminds you to take your umbrella when the weather forecast spells rain, or can remind you that today is the day that the rubbish is collected. We then look at media systems, discovering how to automate and replace the aging combination of VCR and TV guide by using UPnP, NAS, and computer-oriented solutions. They can automatically suggest TV shows, sending their recommendations to your e-mail inbox or mobile phone, and provide a method of recording them by the same means. Afterward, we look at the technical considerations necessary when running a computer 24-7, the methods of wiring a home network, and preparing your home for the patter of tiny silicon feet! This is followed by the use and installation of communication protocols, which allow anything in your home to talk to anything else, and is our first step toward true technology homogeneity. The final proverbial straight consists of the data sources that provide the information to make our home appear intelligent, and the software and processes necessary to combine everything learned into a unified whole. The specifics. The glue code. The details that make the magic work! xxi ■ INTRODUCTION The coda then details the Raspberry Pi. Although the machine itself can be used anywhere a Linux machine can (and therefore the whole book is about the Raspberry, even if not explicitly detailed as such), this chapter concentrates on those elements that are specific to the Pi. After all, it’s only one year since its release; it has become a media darling and Linux computer that the lay public aren’t afraid of, introducing new users and programmers to a technological future that they can be part of. Its small size and low price point mean that many devices that couldn’t be sensibly automated before are now connected to the Internet and home servers. My final chapter covers installation, hardware interfacing, software methodologies, and more ideas than you can shake a proverbial stick at! I should like to end on a note of carefree abandon—learn to steal! Once you’ve learned the pieces of the puzzle, and how to combine them, there is very little new to invent. Every new idea you discover is a mere permutation of the old ideas. And ideas are free! Every cool feature discussed on TV shows, or presented in the brochures or web sites of commercial HA companies, can be taken, adapted, and implemented with the information presented here using very little effort. And then you will graduate from automated home, to smart home, to personalized smart home! xxii CHAPTER 1 Appliance Control: Making Things Do Stuff For most people, home automation begins and ends with the principle of appliance control. When any household device such as a video or TV is controlled by something other than a button on its front panel or its original remote control, it is deemed somewhat magical and a topic of further inquiry, particularly if the control is done remotely. Lights and toasters don’t need to be controlled by a wall switch, and your TV doesn’t need to be fed signals from your PVR, DVD player, or satellite receiver. Each device has its own idiosyncrasies and control methods, and each has specific functionality that cannot easily be abstracted into any general-purpose form of control interface. However, it is possible to control the vast majority of them using one of two basic methods: • Mains line-powered control (light bulbs, toasters, electric teakettles) • Infrared (IR) remote control (TV, video) Although modern set-top boxes might have a serial, USB, or network socket on the back, these are in addition to the previous two methods, not exclusive of them. Therefore, being able to control IR signals and the power lines covers the majority of devices in the modern home. Even relatively unsophisticated appliances such as teakettles, which were built without any intention of them being controlled by another means, can be controlled remotely if you know how to control their power source. After all, if you ensure the teakettle is full of water and plugged into a wall-switched socket and the teakettle itself is switched on, then the only necessary task to start the water boiling is to flick the switch on the wall socket—something that can be governed by mains control. And it is these methods of controlling the mains power that I’ll cover first. X10 X10 is one of the methods I’ll cover that allows you to remotely control the power of any device plugged into the standard ring main in your home. The lights, electric teakettle, and toaster are all examples of existing devices in this category. Additionally, I’ll cover devices that were originally invented to be controlled by X10 such as motorized curtain rails. X10 achieved its market penetration by being fairly cheap and very easy to install. About X10 X10 is a control protocol that sends data packets along the mains power line with messages such as “turn device on” or “dim to 50 percent.” The data packets are applied to the power lines by a transmitter such as a computer interface or a custom-built remote control, and they’re processed by a much simpler receiver device, such as a light switch, which in turn controls the power to the local device. 1 CHAPTER 1 ■ APPLIANCE CONTROL: MAKING THINGS DO STUFF X10 works by encoding the data in high-frequency bursts (of 120KHz) and adding it to the existing power line. Because the mains supply in all countries is either 50Hz or 60Hz (with Japan and Tahiti using both!), these high-frequency signals are customarily lost by most devices
Recommended publications
  • Home Server – Das Eigene Netzwerk Mit Intel NUC Oder Raspberry Pi
    7907-9.book Seite 22 Donnerstag, 29. Oktober 2020 4:59 16 7907-9.book Seite 23 Donnerstag, 29. Oktober 2020 4:59 16 Kapitel 1 1 Die erste Begegnung mit einem Home Server Was genau ist eigentlich ein Server? Was ist das Besondere an einem Home Server? Und welche Aufgaben kann er in einem Heimnetzwerk übernehmen? Auf geht es! Jetzt können Sie in die Welt der Home Server eintauchen. Ich werde Sie zunächst einmal mit wichtigen Begriffen vertraut machen und Aufgabengebiete erklären. Danach stelle ich Ihnen die Hardware vor, um die sich dieses Buch dreht. Anschließend zeige ich Ihnen, wie Sie Ihren Home Server aufbauen und welche Zube- hörkomponenten Sie unbedingt benötigen. 1.1 Was müssen Sie mitbringen, und was können Sie von diesem Buch erwarten? Dieses Buch richtet sich an Einsteiger auf dem Gebiet der Server, die sich für einen kleinen Server im Heimnetzwerk interessieren und die Thematik erst einmal kennen- lernen und ausprobieren möchten. In diesem Buch werde ich von Ihnen keine Server- kenntnisse erwarten, sondern Sie werden sie von Grund auf erlernen. Sie sollten allerdings schon ein gewisses Grundwissen im Umgang mit Computern mitbringen. Das ist aus zwei Gründen erforderlich: Zunächst einmal müssen Sie natürlich wissen, wo Ihnen ein Server(-dienst) überhaupt behilflich sein kann und was Sie von ihm erwarten können. Zusätzlich benötigen Sie ein Grundwissen im Umgang mit Com- putern, da Sie Ihren Server ja komplett allein aufsetzen werden. Grundbegriffe wie Benutzernamen und Passwörter, die Bedeutung von Programmen und deren Installa- tion sowie der Umgang mit Dateien und Verzeichnissen auf Datenträgern sollten Ihnen also schon geläufig sein.
    [Show full text]
  • Naemonbox Manual Documentation Release 0.0.7
    NaemonBox Manual Documentation Release 0.0.7 NaemonBox Team September 16, 2016 Contents 1 Introduction 3 1.1 Target audience..............................................3 1.2 Prerequisite................................................3 2 About Naemonbox 5 2.1 Project..................................................5 2.2 Features..................................................6 3 Installation Guide 7 3.1 System requirements...........................................7 3.2 Recommended system requirements...................................7 3.3 Client Operating Systems........................................7 3.4 Openvz VPS installation.........................................8 3.5 GNU/Linux Debian 7 (or later) Installation...............................8 3.6 Installing Naemonbox..........................................8 4 Getting Started 9 4.1 Step one.................................................9 4.2 Step two................................................. 10 4.3 Step three................................................. 10 4.4 Step four................................................. 10 5 Configuring Naemon 11 5.1 Introduction............................................... 11 5.2 Actions.................................................. 11 5.3 Hosts Definition............................................. 12 5.4 Services.................................................. 13 5.5 Commands................................................ 14 5.6 Time periods............................................... 15 5.7 Contacts................................................
    [Show full text]
  • Hacker Public Radio
    hpr0001 :: Introduction to HPR hpr0002 :: Customization the Lost Reason hpr0003 :: Lost Haycon Audio Aired on 2007-12-31 and hosted by StankDawg Aired on 2008-01-01 and hosted by deepgeek Aired on 2008-01-02 and hosted by Morgellon StankDawg and Enigma talk about what HPR is and how someone can contribute deepgeek talks about Customization being the lost reason in switching from Morgellon and others traipse around in the woods geocaching at midnight windows to linux Customization docdroppers article hpr0004 :: Firefox Profiles hpr0005 :: Database 101 Part 1 hpr0006 :: Part 15 Broadcasting Aired on 2008-01-03 and hosted by Peter Aired on 2008-01-06 and hosted by StankDawg as part of the Database 101 series. Aired on 2008-01-08 and hosted by dosman Peter explains how to move firefox profiles from machine to machine 1st part of the Database 101 series with Stankdawg dosman and zach from the packetsniffers talk about Part 15 Broadcasting Part 15 broadcasting resources SSTRAN AMT3000 part 15 transmitter hpr0007 :: Orwell Rolled over in his grave hpr0009 :: This old Hack 4 hpr0008 :: Asus EePC Aired on 2008-01-09 and hosted by deepgeek Aired on 2008-01-10 and hosted by fawkesfyre as part of the This Old Hack series. Aired on 2008-01-10 and hosted by Mubix deepgeek reviews a film Part 4 of the series this old hack Mubix and Redanthrax discuss the EEpc hpr0010 :: The Linux Boot Process Part 1 hpr0011 :: dd_rhelp hpr0012 :: Xen Aired on 2008-01-13 and hosted by Dann as part of the The Linux Boot Process series.
    [Show full text]
  • Linux 与windows 互操作综述
    2012 年 第 21 卷 第 4 期 http://www.c-s-a.org.cn 计 算 机 系 统 应 用 Linux 与 Windows 互操作综述① 王亚军 (中国人民武装警察部队学院,廊坊 065000) 摘 要:针对 Linux 与 Windows 在桌面领域、网络领域和嵌入式领域的互操作问题,做了综合阐述。在桌面领 域,两者可以互运行对方程序、互处理数据文件、互访问文件系统;在网络领域,两者可以采用共同的网络协议 来支持对方系统中的资源与服务在网络环境下的共享操作;在嵌入式领域,两者可以采用虚拟化和代码重构等 技术来支持对方应用软件在本系统中的交叉开发和向本系统的移植等。 关键词:操作系统;互操作性;兼容内核;虚拟化;文件系统;网络协议;嵌入式系统 Overview of the Interoperability of Linux and Windows WANG Ya-Jun (Chinese People’s Armed Police Forces Academy, Langfang 065000, China) Abstract: Aiming at the problems of interoperability between Linux and Windows in desktop domain, network domain and embedded domain, solutions are systematically illustrated in this paper. In desktop domain, the two operating systems can mutually run programs, can mutually deal with data files, and can mutually access file systems. In network domain, the two systems can support the shared operations of resources and services between them under the network environment by adopting the same network protocols. In embedded domain, by adopting the technologies such as virtualization and code refactoring, the two systems can mutually support the cross development of application softwares in local system, mutually support the transplanting of application softwares to local system. Key words: operating system; interoperability; unified kernel; virtualization; file system; network protocol; embedded system 众所周知,Windows 是迄今为止在商业上最成功 境之间架起桥梁,即实现两者的互操作。 的操作系统,而 Linux 则是目前成长最快的操作系统。 在全球范围内,两者在桌面领域、网络领域和嵌入式 1 操作系统互操作技术 领域展开了激烈的竞争。在桌面领域,各种新版本的 操作系统互操作技术是通过约定的接口或协议实 Linux 系统相继推出,在很大程度上改善了用户体验,
    [Show full text]
  • Computer Game Mods, Modders, Modding, and the Mod Scene
    Computer Game Mods, Modders, Modding, and the Mod Scene Walt Scacchi Institute for Software Research and Center for Computer Games and Virtual Worlds University of California, Irvine 92697-3455 USA March 2010 Abstract Computer games have increasingly been the focus of user-led innovations in the form of game mods. This paper examines how different kinds of socio-technical affordances serve to organize the actions of the people who develop and share their game mods. The affordances examined include customization and tailoring mechanisms, software and content copyright licenses, game software infrastructure and development tools, career contingencies and organizational practices of mod teams, and social worlds intersecting the mod scene. Numerous examples will be used to ground this review and highlight how such affordances can organize, facilitate or constrain what can be done. Overall, this study helps to provide a deeper understanding of how a web of associated affordances collectively serve to govern what mods get made, how modding practices emerge and flourish, and how modders and the game industry serve each others' interests, though not always in equivocal terms. Introduction Computer game mods are a leading form of user-led innovation in game design and game play experience. But modded games are not standalone systems, as they require the user to have an originally acquired or authorized copy of the unmodded game. Thus, there are questions of not only who creates what and who owns such modified games, but also whether or how the practice of game modding is controlled or governed by external parties to ultimately exploit the efforts of game modders.
    [Show full text]
  • NSLU2 for TF5800PVR Access Over Ethernet
    Configure NSLU2 for TF5800PVR access over Ethernet Summary A Linksys NSLU2 is a paperback size unit that has Ethernet and USB ports. Using this the Topfield TF5800 PVR can be accessed over a home network. The NSLU2 is about £55 but needs custom firmware to access the Topfield. This document describes the installation process on a Windows PC. This configuration does not use any USB drives on the NSLU2. Make sure you read the appendix for latest info. Author Malcolm Reeves ([email protected]) Issue: Draft H Date: 6-May-06 Contents 1. Initial Test 2 2. RedBoot 3 3. Install Unslung 4 4. Install ftpd-topfield 5 5. Upgrades and Configuration 7 5.1 Turbo Mode 8 Appendix A - Rafe’s Comments 9 1. Initial Test So you’ve bought a NSLU2. Let’s test it and make sure it’s working. So connect it your home network. Most home networks are 192.168.0.xxx (where xxx is any number between 1 and 254) with a mask of 255.255.255.0. This range is reserved for local networks and it’s what Windows defaults to. You’ll need to change the mask to 255.255.254.0 on your PC and on your router if you have one. This is because the default IP address of the NSLU2 is 192.168.1.77 which is not on the default local network. After changing the mask enter 192.168.1.77 in a browser URL bar. This should bring up the Linksys web setup pages for the NSLU2.
    [Show full text]
  • Josh Malone Systems Administrator National Radio Astronomy Observatory Charlottesville, VA
    heck What the #%!@ is wrong ^ with my server?!? Josh Malone Systems Administrator National Radio Astronomy Observatory Charlottesville, VA 1 Agenda • Intro to Monitoring • Internet protocols 101 • • Nagios SMTP • IMAP • Install/Config • HTTP • Usage • Custom plugins • Packet sniffing for dummies • Intro to Troubleshooting • Tools • telnet, openssl • grep, sed • ps, lsof, netstat 2 MONITORING 3 Automated Monitoring Workflow 4 Monitoring Packages: Open Source • • Pandora FMS • Opsview Core • Naemon • • • • • • Captialware ServerStatus • Core • Sensu All Trademarks and Logos are property of their respective trademark or copyright holders and are used by permission or fair use for education. Neither the presenter nor the conference organizers are affiliated in any way with any companies mentioned here. 5 Monitoring Packages: Commercial • Nagios XI • Groundwork • PRTG network monitor • CopperEgg • WhatsUp Gold • PRTG network monitor • op5 (Naemon) All Trademarks and Logos are property of their respective trademark or copyright holders and are used by permission or fair use for education. Neither the presenter nor the conference organizers are affiliated in any way with any companies mentioned here. 6 Why Automatic Service Monitoring? • Spot small problems before they become big ones • Learn about outages before your users do • Checklist when restoring from a power outage • Gives you better problem reports than users • Problems you might never spot otherwise • Failed HDDs in RAIDs • Full /var partitions • Logs not rotating • System temperature rising 7 Why Automatic Service Monitoring? • Capacity planning • Performance data can generate graphs of utilization • RAM, Disk, etc. • Availability reports - CAUTION • Easy to generate -- even easier to generate wrong • Make sure your configurations actually catch problems • Will also include problems with Nagios itself :( • If you’re going to quote your availability numbers (SLAs, etc.) make sure you understand what you’re actually monitoring.
    [Show full text]
  • NSLU2-Linux Howto Overclocktheslug
    NSLU2-Linux | HowTo / OverClockTheSlug http://www.nslu2-linux.org/wiki/HowTo/OverClockTheSlug?action=print From NSLU2-Linux HowTo: OverClockTheSlug There appear to be two models around -- please verify that you are running at 133 before doing anything else ''' Tired of sluggish performance? Want to squeeze a bit more out of your slug? Feel that you're not getting the dish you paid for? Overclocking (De-underclocking) the Linksys NSLU2! (or how to get your own TurboSlug) Notes on Slugs supplied at 266Mhz: Edit: My brand new Slug comes from factory with BogoMIPS : 263.78, so it is already running at 266 MHz ?. The Slug is marked with a sticker: Manufactured 05/2006. Maybe someone from Linksys has read this page :) Edit: Mine also comes from factory running at 266Mhz ;) - Manufactured 05/2006 Edit by Bullfrog: Mine also comes from factory running at 266Mhz ;) - Manufactured 05/2006 - R64 is also now no longer fitted next to flash chip near serial port which with R83 fitted and R81 missing - gives the undocumented code for 266Mhz Edit by Charly: Mine also comes from factory running at 266Mhz ;) - Manufactured 05/2006. Also the French power adapter is twice smaller for same power (5V 2.0A) Edit by halfer: purchased 10/May/2007 and found that the " XScale ??-IXP425/IXC1100 " is already running at 263.78 BogoMIPS Notes on Slugs supplied at the standard half speed: Edit by Steve 2/25/2007: Purchased yesterday. Mine came with V2.3R73. Only a windows guy so couldn't verify speed. Task manager showed 31% network usage on large files (>2 GBytes ?).
    [Show full text]
  • A Wee Server for the Home
    A wee server for the home Sudarshan S. Chawathe 2018-03-24 Home server: what? why? • Something to provide small-scale local services • Printing from local network • File server • Easily and privately share files with household • Destination for backups of other computers, photos, videos • Music server • Control playback on attached home audio system • Serve music to play elsewhere • Stream music from elsewhere • Web server: Photo and video galleries • Personal XMPP/Jabber chat server • Landing spot for remote login • Wake up other computers using wake-on-LAN. • Email server, … ? • Under personal control. • Free (libre) • Independent of non-local network • availability, latency, bandwidth S.S. Chawathe, A wee server for the home 1 Why a wee server? • Low power consumption • Always-on is a nice if it only uses a few watts. • Low heat dissipation • Compact • easily stash on a shelf, behind other equipment, … • Low cost • ~ 100 USD. • Hardware options that are more open • than mainstream servers • Fun • low-risk hardware experimentation: flashing, etc. • easy hardware interfacing • blinking lights, motors, sensors, … S.S. Chawathe, A wee server for the home 2 This presentation • For, and by, a non-expert • Not very novel or unique; see FreedomBox, … • Expert advice welcome • Brief how-to and invitation • Buy, build, configure a wee home server • Use, learn, and contribute to libre software • One person’s choices and experience • not comprehensive, nor ideal • but actually used, long term • Small technical excursions (still non-expert) • udev rules • randomness • Sharing • experiences with home servers • suggestions, concerns, future directions S.S. Chawathe, A wee server for the home 3 Hardware choices • many options • examples, not exhaustive lists • what I chose and why S.S.
    [Show full text]
  • I Know What You Streamed Last Night: on the Security and Privacy of Streaming
    Digital Investigation xxx (2018) 1e12 Contents lists available at ScienceDirect Digital Investigation journal homepage: www.elsevier.com/locate/diin DFRWS 2018 Europe d Proceedings of the Fifth Annual DFRWS Europe I know what you streamed last night: On the security and privacy of streaming * Alexios Nikas a, Efthimios Alepis b, Constantinos Patsakis b, a University College London, Gower Street, WC1E 6BT, London, UK b Department of Informatics, University of Piraeus, 80 Karaoli & Dimitriou Str, 18534 Piraeus, Greece article info abstract Article history: Streaming media are currently conquering traditional multimedia by means of services like Netflix, Received 3 January 2018 Amazon Prime and Hulu which provide to millions of users worldwide with paid subscriptions in order Received in revised form to watch the desired content on-demand. Simultaneously, numerous applications and services infringing 15 February 2018 this content by sharing it for free have emerged. The latter has given ground to a new market based on Accepted 12 March 2018 illegal downloads which monetizes from ads and custom hardware, often aggregating peers to maximize Available online xxx multimedia content sharing. Regardless of the ethical and legal issues involved, the users of such streaming services are millions and they are severely exposed to various threats, mainly due to poor Keywords: fi Security hardware and software con gurations. Recent attacks have also shown that they may, in turn, endanger Privacy others as well. This work details these threats and presents new attacks on these systems as well as Streaming forensic evidence that can be collected in specific cases. Malware © 2018 Elsevier Ltd. All rights reserved.
    [Show full text]
  • NETFLIX SOCIAL **Fictional Project
    NETFLIX SOCIAL **fictional project The Client The Task Netflix is looking to significantly increase • Understand how people find & share social activity and share on their mobile movies & TV shows apps between users. They would like to • Determine key features to be start with an MVP that can implement these implemented features, and integrate with their current • Design key screens using the look & feel app. of the current Netflix app. NETFLIX SOCIAL TV and Movies Survey - Google Drive Notebook: General Assembly Created: January 9, 2014 at 3:20:48 PM Ideation Updated: January 9, 2014 at 3:20:48 PM Tags: project 3 URL: https://docs.google.com/forms/d/11gDCvWTR0YFQxbwUHG82dPZxWiQlIsFCOWmeFU52v2c/viewanalyticsSurvey Summary Do you watch TV or movies online? Yes 92 99% No 1 1% Survey Which services do you use to watch movies and TV shows online? User Interviews Netflix 81 24% Hulu 47 14% Youtube 47 14% Amazon Prime Instant Video 33 10% Slingbox 5 1% Google Play 4 1% Network websites or apps (ABC, CBS, NBC, Fox) 29 9% HBO Go 39 12% SideReel 10 3% Online on-demand service via cable TV provider (AT&T U-Verse, Cox, Dish, Optimum, Verizon FiOS, etc) 20 6% Other 22 7% Which devices do you use to watch TV and movies online? Laptop 79 34% Desktop 23 10% Phone 22 9% Tablet 42 18% Game console (XBox, Playstation, etc.) 34 14% Apple TV / Roku / Boxee / Chromecast / Other set top box 29 12% Other 6 3% Where are you when you watch TV and movies online? At home 92 76% At work 9 7% In public 6 5% In transit 9 7% Other 5 4% How many hours a week do you
    [Show full text]
  • Hacking Roomba®
    Hacking Roomba® Tod E. Kurt Wiley Publishing, Inc. Hacking Roomba® Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2007 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN-13: 978-0-470-07271-4 ISBN-10: 0-470-07271-7 Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions. Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services.
    [Show full text]