Zaza
's
replacement belts and motors arrived on the 3rd, but
there is a problem the encoder on one of the motors. The new
motor uses the current HP encoder technology, and a
different cable from the old one. Unfortunately iRobot
didn't ship the needed adapter cable with the order, so we
have to wait yet another week before it arrives and can do
the hardware checkout and qualification before returning
Zaza to service.
On a positive note, I spent some time improving the
client-server communication schema for the voiceServer and
face applet over the last few weeks. The old method used a
CGI-based polling technique that was rather slow and
inefficient even with mod_perl. The new method uses a Perl
POE-based server-side
interface (POEfaceClient)
to manage
each of the connected face applets. This method greatly
reduces the amount of handshaking needed to keep current
with the voiceServer's
cue stack. Another advantage that
using shared memory provides is that backward compatablity
is retained, so clients connecting through a firewall can
still use the old interface method if needed.
The new client handshaking technique required re-writing
several key areas of the face applet, so I re-named it
zazaface2 so there won't be any caching problems with older
browsers. The 2.01
release supports auto-reconnect on socket
error, and can now handle server disconnect gracefully. I'll
probably add an auto-fallback to CGI handshaking option in
2.02 and put a few of the options as applet parameters
instead of hard-coding them.
The Tech received a
rather sizable donation of Intel
PRO/Wireless
5000 (802.11a and 802.11b) wireless LAN gear
and is getting ready to install it. This opens up all kinds
of options for Zaza, including real-time
high-rate video and
audio streaming. I have started the search for a
ethernet-802.11a bridge that will alow use of both of the
onboard computers, or alternatively a PCI card that has
linux drivers available and an external entenna that can be
positioned somewhere in the acrylic hood...