新闻中心
2008-10-07 10:29    文章来源:网界网

动手能力超强 牛人教你做Wifi机器人(图)

作者:CNW.com.cn


三、软件部分

本项目要用到三种软件:

1. VB6 Wifi_Robot客户端应用程序(运行在Windows系统中);

2. 用在路由器上的用C语言编写的CarServer,该路由器运行OpenWRT WhiteRussian v0.9 (Linux版本);

3. 微控制器固件。

我已经提供了经测试过的PIC16F628A微控制器和Arduino (Freeduino MaxSerial)固件,相关的源码都遵循GNU GPL v2发布了。

假设您有一个安装了OpenWRT WhiteRussian v0.9 的Linksys WRT54GL,并将它已连接到了互联网,可以参考下面的安装指令。OpenWRT安装指令参考这个指南

Installing CarServer(安装CarServer)

如果你只是想要使用该软件,在你的路由器安装配置SSH,然后运行以下代码:

# cd /tmp

# wget http://www.jbprojects.net/projects/wifirobot/carserver_1_mipsel.ipk

# ipkg install ./carserver_1_mipsel.ipk

Compiling and Installing CarServer(编译和安装CarServer)

如果你想看看它是如何工作的,或者想自己修改代码,你需要先下载OpenWRT SDK(Linux  版本),然后遵循Eric Bishop的Writing and Compiling A Simple Program for OpenWRT去编译软件(只需参考第一部分)

Makefile place in /OpenWrt-SDK-Linux-i686-1/package/carserver/

Makefile place in /OpenWrt-SDK-Linux-i686-1/package/carserver/src

carserver.c place in /OpenWrt-SDK-Linux-i686-1/package/carserver/src

你编译的ipkg 将出现在 /OpenWrt-SDK-Linux-i686-1/bin/packages. 然后将代码# scp carserver_1_mipsel.ipk root@<router_ip>:/tmp/. 复制到你的路由器,配置SSH,并安装它。

相关资源

关于WRT54G系列路由器有一本很不错的电子书:《Linksys WRT54G Ultimate Hacking》。这本书教人如何添加一个串口,如何设置软件,还有一大堆的黑客技巧。我已经联系过该书的作者之一,这本书并非免费的,但是你在Google Books上可以读到它

3.1 如何让串口工作起来

我们需要利用TTS/1(语音合成),因此,如果您只添加了一个串行端口,那就保证这个端口用于语音合成。假定你已经安装了OpenWRT WhiteRussian v0.9,那么运行如下指令即可。

# ipkg update

# ipkg install setserial

# cd /usr/sbin

# wget http://www.jbprojects.net/projects/wifirobot/stty.tgz

# tar -zxvf stty.tgz

# chmod 755 stty

将下列语句添加在/etc/init.d/custom-user-startup后,使串口启动后工作起来,并使CarServer自动启动。

/usr/sbin/setserial /dev/tts/1 irq 3

/usr/sbin/stty -F /dev/tts/1 raw speed 9600

/bin/carserver &

3.2 运行Wifi机器人客户端应用程序

下载:wifi_robot_client.zip(Wifi机器人客户端应用程序软件包)

该压缩包(wifi_robot_client.zip)包含了VB6源码和编译过的EXE文件。如果您不想修改源程序的话,您只需用到wifi_robot_client.exe和config.txt文件,当然,如果您想修改源码,也完全可以。此外,该应用程序只适用于Windows系统,如果有人想开发用于其他操作系统的客户端软件,我也很欢迎。

3.3 微控制器固件

PIC

您首先需要一个PIC编码器来烧录固件。市场上有许多PIC编码器可供选择,我自己使用的编码器P16PRO40是在易趣上买的。您可以使用Microchip公司的MPLAB自己编译HEX文件,或直接下载本文提供的HEX文件。

链接:car_pic.asm

链接:car_pic.HEX

Arduino(Freeduino MaxSerial)

指南:Arduino Tutorial

相关源码下载链接: car_arduino.c

如果您使用的是Freeduino MaxSerial,请务必对其进行小的硬件改造,以防Freeduino每次从路由器串口接收数据时都要重启。更多细节请参考本文的“硬件”部分。

3.4 下载所有的文件

以下这个压缩包包括上述所有的源码和编译过的二进制码。

下载:wifi_robot_software.zip

3.5 免责声明

我已经尽最大的努力确保所有上述信息是准确的。如果您发现任何错误,请发送电子邮件至 jon@jbprojects.net,我会立刻做出更正。

1  2  3  4  5  6  7  
责任编辑:程永来

文章评论

评论加载中...请稍后

精彩专题