5 M3 A/ q( x7 o( D; D) ^& V0 d
$ |) Y2 t; x9 k( E X1 U7 R
自己做的wifi小车已经完工很久了,最近公司搞Arduino大赛,有个问题一直困扰着我,如何实现不用盯着手机屏幕也能操作小车。 A& ~* N# T: @# ]1 \
+ R7 W. |9 X2 c6 B; d& k& s看到有的同事抱着个笔记本,笔记本再连一个手柄,不禁启发了我,有没有支持wifi的手柄呢?1 Q( H, x8 M: Z, \! b6 `3 u
, _# Y: y4 ?0 F网上搜了下,国外网站也有成品,无奈需要大笔的银子。想起了家里闲置的PSP 2000,这东西早就支持Wifi了,而且有足够多的按键,用到Wifi小车上足够了,关键是PSP拿在手里相当的顺手,而且拉风。
. Y/ Y, D, X* g/ d; f! q( a- h. g' t6 A" G
google了一把,还真找到线索了,琢磨了几天,果真在工作室的驱动板+703N上实验成功,经验与大家一起分享:( U5 A' N) K2 i0 M$ C5 u$ ~7 Z
% O" X) v1 D! B* P" f1 G7 L/ {
1. google搜索WiFiController v0.4.4,这是一个运行在PSP上的UDP Client,能够把PSP的按键转换成一个长度为11的UDP数据包,发到指定的IP:端口上,我做了如下修改,修改后代码附在最后,代码是老外写的,非原创,但鼓励大家修改后开源。4 F. f( o* v' I' _8 q! H4 n
1)修改默认端口为2001$ @' \( W9 O2 v8 E3 x; T
2)Socket默认是UDP的,改为TCP,否则Openwrt处理不了! n5 K* u7 ?: o- U4 i
3)修改了代码逻辑,把11字节的数据包改为驱动板可以识别的5字节数据包
4 z7 A1 L7 E& [) ~; T1 } 4)把PSP的上下左右按键映射为小车的上下左右
: j1 f" X/ J0 g( P' `; I' P, @9 c, H9 V4 V3 a( b* V3 d
2. 下载psp sdk,安装,把上述WiFiController代码拷贝到sample目录下,开启命令行窗口,进入代码根目录运行make
; v; D" _! U! p" c/ g 注意,代码根目录下有两个make file,后缀分别是1xx和3xx,如果是PSP 1000,就用1xx这个,如果是PSP 2000,就用3xx这个。- N5 }- l9 M9 ?7 M( x
; t1 I2 r$ U& m) ^1 Q2 j3. 在PSP的PSP/GAME 目录下新建WiFiController目录,把编译生成的EBOOT.PBP拷贝进去,再把代码根目录下的wifi.cfg打开,把里面的IP地址修改为数传板的IP地址,保存后拷贝到WiFiController目录下。 |