* B0 ?5 |) z2 Y- K' ]
6 o! N; W3 x- \6 ~& i+ c: \
自己做的wifi小车已经完工很久了,最近公司搞Arduino大赛,有个问题一直困扰着我,如何实现不用盯着手机屏幕也能操作小车。, T. x+ ?9 H p) H
' _5 n& X; L$ _' W; N- y J
看到有的同事抱着个笔记本,笔记本再连一个手柄,不禁启发了我,有没有支持wifi的手柄呢?% ~1 [, V6 R! n6 Y2 J2 y. R! `
" e* H$ E. j& X+ N0 O* k. a网上搜了下,国外网站也有成品,无奈需要大笔的银子。想起了家里闲置的PSP 2000,这东西早就支持Wifi了,而且有足够多的按键,用到Wifi小车上足够了,关键是PSP拿在手里相当的顺手,而且拉风。% F. I: w/ q0 J3 Q1 B6 g: m+ T: \7 N
# k- P2 s& f4 L3 \ [google了一把,还真找到线索了,琢磨了几天,果真在工作室的驱动板+703N上实验成功,经验与大家一起分享:
# M8 f: M+ s4 e5 q
& b8 K# x% J* `0 V9 Z( |1. google搜索WiFiController v0.4.4,这是一个运行在PSP上的UDP Client,能够把PSP的按键转换成一个长度为11的UDP数据包,发到指定的IP:端口上,我做了如下修改,修改后代码附在最后,代码是老外写的,非原创,但鼓励大家修改后开源。
# v, j: {5 \) J2 K- t- G9 i# ` 1)修改默认端口为2001
- H+ k% j' d# u 2)Socket默认是UDP的,改为TCP,否则Openwrt处理不了) n6 W- D$ R9 R" M5 P
3)修改了代码逻辑,把11字节的数据包改为驱动板可以识别的5字节数据包- r3 J4 T1 F' b$ |5 f# w9 h( s
4)把PSP的上下左右按键映射为小车的上下左右6 L# S6 k3 m1 T6 x8 k
: {* a6 ^3 Y- v( C( r# H5 ^: m( t2. 下载psp sdk,安装,把上述WiFiController代码拷贝到sample目录下,开启命令行窗口,进入代码根目录运行make3 Z6 p1 n: t: F7 _1 P, t) j
注意,代码根目录下有两个make file,后缀分别是1xx和3xx,如果是PSP 1000,就用1xx这个,如果是PSP 2000,就用3xx这个。 A- m% D2 n, [7 Q4 x
6 f+ @5 f; m7 V# G. ^; N. ]3. 在PSP的PSP/GAME 目录下新建WiFiController目录,把编译生成的EBOOT.PBP拷贝进去,再把代码根目录下的wifi.cfg打开,把里面的IP地址修改为数传板的IP地址,保存后拷贝到WiFiController目录下。 |