Page 10 - Hacking Roomba
P. 10
Contents ix
Drawing Spirals with RoombaSpiro . . . . . . . . . . . . . . . . . . . . . . . . . 184
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Chapter 10: Using Roomba as an Input Device . . . . . . . . . . . . . 189
Ways to Use the Roomba’s Sensors. . . . . . . . . . . . . . . . . . . . . . . . . . 189
Using Roomba as a Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Using Roomba as a Theremin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Turning Roomba into an Alarm Clock. . . . . . . . . . . . . . . . . . . . . . . . 200
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Part III: More Complex Interfacing
Chapter 11: Connecting Roomba to the Internet . . . . . . . . . . . . 205
Why Ethernet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
What Is Ethernet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Parts and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
SitePlayer Telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Lantronix XPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Modifying RoombaComm for the Net. . . . . . . . . . . . . . . . . . . . . . . . 225
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Chapter 12: Going Wireless with Wi-Fi . . . . . . . . . . . . . . . . . 231
Understanding Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Parts and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Building the Roomba Wi-Fi Adapter . . . . . . . . . . . . . . . . . . . . . . . . 241
Controlling Roomba through a Web Page . . . . . . . . . . . . . . . . . . . . . . 248
Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Going Further with LAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Chapter 13: Giving Roomba a New Brain and Senses . . . . . . . . . . 257
Microcontroller vs. Microprocessor . . . . . . . . . . . . . . . . . . . . . . . . . 257
Parts and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Adding a New Brain with the Basic Stamp . . . . . . . . . . . . . . . . . . . . . 261
Adding a New Roomba Brain with Arduino. . . . . . . . . . . . . . . . . . . . . 276
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Chapter 14: Putting Linux on Roomba . . . . . . . . . . . . . . . . . 297
Linux on Roomba? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Parts and Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Installing OpenWrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Controlling Roomba in OpenWrt . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Making It All Truly Wireless. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331