4 Y' y' n2 _1 `" {, e( L- F
+ n! B: P2 X+ N2 o' J _ ~
自己做的wifi小车已经完工很久了,最近公司搞Arduino大赛,有个问题一直困扰着我,如何实现不用盯着手机屏幕也能操作小车。
) R- X; v5 s9 z% u8 y [! D- h$ J
^3 b" ]; @% O1 q {: S看到有的同事抱着个笔记本,笔记本再连一个手柄,不禁启发了我,有没有支持wifi的手柄呢?3 S" l" U7 p( N( |
+ [3 W+ a; ^/ B5 q5 ~% b& W网上搜了下,国外网站也有成品,无奈需要大笔的银子。想起了家里闲置的PSP 2000,这东西早就支持Wifi了,而且有足够多的按键,用到Wifi小车上足够了,关键是PSP拿在手里相当的顺手,而且拉风。
J& o! Y, j, Q: @6 ^8 q, _; ]6 r9 R4 M- j; a
google了一把,还真找到线索了,琢磨了几天,果真在工作室的驱动板+703N上实验成功,经验与大家一起分享:9 E* l+ s* r Q9 e$ \/ m( y+ D
: E5 a6 q, r) m. E% @" p: W# i6 O& _
1. google搜索WiFiController v0.4.4,这是一个运行在PSP上的UDP Client,能够把PSP的按键转换成一个长度为11的UDP数据包,发到指定的IP:端口上,我做了如下修改,修改后代码附在最后,代码是老外写的,非原创,但鼓励大家修改后开源。3 e c( ~( Z, w4 I7 C. D
1)修改默认端口为20017 }' W. u! D5 C1 V3 p, A3 Y7 E
2)Socket默认是UDP的,改为TCP,否则Openwrt处理不了6 V. m, H% ?0 s- M. ?; P& a
3)修改了代码逻辑,把11字节的数据包改为驱动板可以识别的5字节数据包1 a7 y$ f4 G" R" O* F# m
4)把PSP的上下左右按键映射为小车的上下左右" ]; h% E+ ]6 U8 K$ B
* L: |& T/ f! ?/ l5 W7 ]) w
2. 下载psp sdk,安装,把上述WiFiController代码拷贝到sample目录下,开启命令行窗口,进入代码根目录运行make
1 c0 K, c2 K& O5 w$ i0 x3 Q# p* r 注意,代码根目录下有两个make file,后缀分别是1xx和3xx,如果是PSP 1000,就用1xx这个,如果是PSP 2000,就用3xx这个。
' ~4 G2 T% y4 \- e, G
2 `: D- D' X# }5 X! y' t* J& s3. 在PSP的PSP/GAME 目录下新建WiFiController目录,把编译生成的EBOOT.PBP拷贝进去,再把代码根目录下的wifi.cfg打开,把里面的IP地址修改为数传板的IP地址,保存后拷贝到WiFiController目录下。 |