Wireless Python Key To Mobile Robot

Aug. 14, 2008
Programming wireless devices can be a chore, but the use of scripting languages like Python can turn rapid frustration into rapid development. I tested this theory with the Synapse Wireless EK2500 development kit, which I combined with

Programming wireless devices can be a chore, but the use of scripting languages like Python can turn rapid frustration into rapid development. I tested this theory with the Synapse Wireless EK2500 development kit, which I combined with iRobot’s Create here in the lab (see “Commanding The iRobot Create” at www.electronicdesign.com, ED Online ID 16148).

Most w ireless development for 802.15.4-based solutions is done in C or C++. This often requires in an 802.15.4 protocol or a ZigBee protocol stack. Downloading via JTAG tends to be fast but tedious since a connection to the device is required.

Tools like Ember’s InSight development kits solve this issue with backdoor development boards (see “A ZigBee InSight,” ED Online 16484). The boards include an interface to a second, wired network with a host processor that handles the wireless device’s programming and debugging. It is one of the best solutions I have found.

It took less than an hour to wire up Synapse’s SN171 Proto board to the iRobot Create (see the figure). I had to unplug the iRobot Command Module with its 8-bit Atmel AVR to get access to the iRobot Create’s serial port.

Synapse’s Portal Pro software runs on the PC that connects to the wireless network via another board. This makes the PC part of the mesh network running Synapse’s own SNAP (Synapse network appliance protocol).

Each Synapse board contains a SNAP RF module that runs SNAPpy, Synapse’s 16-bit integer flavor of Python. Python can also run the PC, providing a consistent development environment. A Python virtual machine executes compiled scripts on the module.

The Python environment runs on top of the Synapse system software, including the 802.15.4/SNAP protocol stack. Its remote procedure call (RPC) interprocess communication system is also consistent across the wireless mesh network, which provides script download capability. Including this underlying system means the SNAP already handles the network management, so programmers concentrate the application instead of the communication. There are limits to the current system, including fact that it only basic debugging capabilities. But it is easy applications on the PC, debugging facilities are impressive.

LOOK OUT FOR ALTERNATIVES Of course, programming alternatives for low-power wireless solutions aren’t limited to Python. Some Java alternatives are even in the mix.

Sentilla offers a Java virtual machine ( JVM) that runs on a Texas Instruments MSP430 and is paired with a Chipcon 802.15.4 radio (see “The Challenge: Handling 1000 Cores Wirelessly,” p. 18). The advantage of Java is a development and deployment infrastructure that spaces the network from this tiny mote to enterprise servers.

The bottom line is that options are available if you look for them. The time you take to find them will often pay off in reduced development time.

IROBOTwww.irobot.comSYNAPSE SEMICONDUCTORwww.synapse-wireless.com

Sponsored Recommendations

Near- and Far-Field Measurements

April 16, 2024
In this comprehensive application note, we delve into the methods of measuring the transmission (or reception) pattern, a key determinant of antenna gain, using a vector network...

DigiKey Factory Tomorrow Season 3: Sustainable Manufacturing

April 16, 2024
Industry 4.0 is helping manufacturers develop and integrate technologies such as AI, edge computing and connectivity for the factories of tomorrow. Learn more at DigiKey today...

Connectivity – The Backbone of Sustainable Automation

April 16, 2024
Advanced interfaces for signals, data, and electrical power are essential. They help save resources and costs when networking production equipment.

Empowered by Cutting-Edge Automation Technology: The Sustainable Journey

April 16, 2024
Advanced automation is key to efficient production and is a powerful tool for optimizing infrastructure and processes in terms of sustainability.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!