Making Things Move: Finding Inappropriate Uses for Scripting Languages

Jonathan Oxer, Technical Director, Internet Vision Technologies

Track: Emerging Topics
Date: Friday, July 28
Time: 10:45am - 11:30am
Location: F150

Most software developers work purely on-screen, where the only external system interaction is through traditional devices like the keyboard and screen. However, it's easier than you may think to connect devices to your computer for control and data collection, and scripting languages like PHP, Perl, and Python are ideal for rapid development of control or data logging software.

The presentation will begin with a demonstration of connecting to the parallel port using a trivial C program that provides a simple API, making it possible to access the port even from languages without native parallel port support. Use of the parallel port to control devices and collect data will then be demonstrated, including a letterbox sensor to detect when (physical) mail has been delivered, control of home lighting, and control of other devices such as electric curtains using a web interface driven by PHP. Other interface options including USB, PS/2, and regular serial ports will be discussed.

Device demonstrations will include a home-made RFID reader and electric door strike; surgically implantable RFID tags; and integration with the GNOKII SMS tools showing how scripting languages can provide the glue that allows things such as:

  • Delivery of physical mail to a letterbox generating an SMS.
  • Sending an SMS to unlock a door.
  • Unlocking a door, opening curtains, and turning on lights when an RFID token is read.

Attendees will end the session with an appreciation for the flexibility of scripting languages as general-purpose glue for binding together assorted subsystems and interacting with the real world.