12月 08

raspberry pi 连接android手机

  之前测试wifi不稳定,网上看了看gprs的开发模块还挺贵。打算将我的htc手机连接到raspberry pi的板子上,看看能不能成功。
  使用命令查看是否已经认到手机。
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 008: ID 0bb4:0cad HTC (High Tech Computer Corp.)
Bus 001 Device 009: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 Webcam

  编写文件,内容里面的串是根据lsusb中的值得来的。
$ sudo vim /etc/udev/rules.d/99-android.rules
SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4″, ATTRS{idProduct}==”0cad”,MODE=”0666″

$ sudo chmod a+rx /etc/udev/rules.d/99-android.rules
$ sudo service udev restart

下载编译好的adb工具
http://fieldeffect.info/w/Beagleboard_Notes?action=AttachFile&do=view&target=adb
本地下载

传到系统上,使用命令进入android手机
$ chmod a+x adb
$ ./adb shell

  成功了。这样就可以用手机做代理进行操作,如果写个能时时交互数据的服务,很多传感器的钱都剩下了。

http://huulivoide.pp.fi/Arch/arm/也有编译好的adb工具,我没有测试

9月 13

go语言的程序跑在android上

  之前写了一个检查页面的golang程序http://www.simonzhang.net/?p=1346。就用这个测试一下放到android上看看效果如何。但是我在windows上的golang还是产生不了5g。我就直接到linux上编译,但是linux上使用adb又不方便,只能是编译后在转到windows上测试。好在我的linux是跑在虚拟机上,处理起来还算方便。为了编译和测试方便,我又编译了一个androidgo放在/usr/local/下,在搞个用户把环境变量配成arm的。也可以直接CGO_ENABLED=0 GOOS=linux GOARCH=arm go build android-check-url.go 编译,就不用这么麻烦了。

  开始,还是用之前的代码没有进行修改。开始进行编译。代码从http://www.simonzhang.net/?p=1346里拷贝。
# go tool 5g android-checl-url
# go tool 5l android-check-url.5
# mv 5.out android-check-url

图a

  将编译好的大文件(2.7M)放到E:盘中。然后放到手机上测试。
>adb push E:\android-check-url /data/local
>adb push E:\url.txt /data/local
>adb shell
#cd /data/local
#chmod 755 android-check-url
#./android-check-url
出错了
Get http://www.simonzhang.net: error reading DNS config: open /etc/resolv.conf: no such file or directory
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x11174]

goroutine 1 [running]:
main.main()
/root/android-go/android-check-url.go:31 +0x574

goroutine 2 [syscall]:
created by runtime.main
/usr/local/go/src/pkg/runtime/proc.c:221
#

图b

  报错显示找不到dns的配置文件。很是奇怪那现在的程序是怎么解析的。这个先不搞清楚了,先手动建个dns的配置文件,只用google的dns进行解析(这个操作也是参考一个国外的帖子,但是浏览器不小心关掉了所以不能贴出地址)。

图c

  再次进入手机运行程序。运行成功

图d