8 W! D j* Y1 N3 C: t! f0 q. G- l: f/ k' v
自己做的wifi小车已经完工很久了,最近公司搞Arduino大赛,有个问题一直困扰着我,如何实现不用盯着手机屏幕也能操作小车。. B( t: K1 ?* N% h' k7 y
1 l4 I1 I! {! t" w; K6 q) X
看到有的同事抱着个笔记本,笔记本再连一个手柄,不禁启发了我,有没有支持wifi的手柄呢?
. `( w$ r( E, a' n( R: K0 T
% A: X0 W0 Q( a. A5 K# x0 D网上搜了下,国外网站也有成品,无奈需要大笔的银子。想起了家里闲置的PSP 2000,这东西早就支持Wifi了,而且有足够多的按键,用到Wifi小车上足够了,关键是PSP拿在手里相当的顺手,而且拉风。
1 w' n6 |$ q, G- ^7 P$ o
1 [, \ ~5 T$ ?2 d0 Ngoogle了一把,还真找到线索了,琢磨了几天,果真在工作室的驱动板+703N上实验成功,经验与大家一起分享:" x7 @% J* o" [2 F
6 F4 K$ r8 g2 s1. google搜索WiFiController v0.4.4,这是一个运行在PSP上的UDP Client,能够把PSP的按键转换成一个长度为11的UDP数据包,发到指定的IP:端口上,我做了如下修改,修改后代码附在最后,代码是老外写的,非原创,但鼓励大家修改后开源。5 c- `7 W, u+ x, w$ U
1)修改默认端口为2001
. a/ o4 `( N3 P8 I3 @/ r 2)Socket默认是UDP的,改为TCP,否则Openwrt处理不了# h5 Y. c5 x3 s- Y A& f' [0 @
3)修改了代码逻辑,把11字节的数据包改为驱动板可以识别的5字节数据包
0 t0 p! w4 Z- s( Z: a1 g7 z r 4)把PSP的上下左右按键映射为小车的上下左右
: i; J* y5 `5 c* b2 Z/ H" y* i# {# R5 u" x) i
2. 下载psp sdk,安装,把上述WiFiController代码拷贝到sample目录下,开启命令行窗口,进入代码根目录运行make8 l& A/ d- H7 V8 |7 M3 Z1 t( T
注意,代码根目录下有两个make file,后缀分别是1xx和3xx,如果是PSP 1000,就用1xx这个,如果是PSP 2000,就用3xx这个。! [/ J) p) N5 _' P" P
" l7 @! j: x( L, i
3. 在PSP的PSP/GAME 目录下新建WiFiController目录,把编译生成的EBOOT.PBP拷贝进去,再把代码根目录下的wifi.cfg打开,把里面的IP地址修改为数传板的IP地址,保存后拷贝到WiFiController目录下。 |