Pico Tech - Usb Host

Radiation Detection ... Software Projects

少し古いアンドロイド端末(スマホ)は、安く入手出来て非常に高性能、多機能なため
データロガーやデータ送信およびGPSタギング、周辺状況の録音撮影などなど
多くの可能性を秘めているが、周辺機器の接続が(特に古いものは)弱いので、
USB HOST用のボードなどを利用して、この点を改善できたら最高。

USB OTGなど、色々検討した結果、ADBを使ってやるのが、一番簡単かつ
多くのマシンで動きそうだし、他のことにも使えそうなので、ADBを実装できる
USB Hostボードを使用することにした。

Android => ADB => USB Host (PIC) ==Serial?== USB HOST (PIC) ==> PM1703MO-1A

Android
http://forum.xda-developers.com/forumdisplay.php?f=723
http://source.android.com/
http://wiki.cyanogenmod.com/wiki/Main_Page


Android Debian
http://forum.xda-developers.com/showthread.php?t=876191


Android Kernel
http://stackoverflow.com/questions/3070159/how-to-start-android-kernel-programming


USB HOST OTG
http://htc-linux.org/wiki/index.php?title=Msm_Usb_Host
http://sven.killig.de/android/N1/2.2/usb_host/

http://forum.xda-developers.com/showthread.php?t=1493325
LIST
http://usbhost.chainfire.eu/

http://darkside098.blogspot.ca/2012/02/android-usb-host-mode-otg.html

http://android.sztupy.hu/usbhub.html

http://code.google.com/p/cyanogenmod/issues/detail?id=4018
https://developer.qualcomm.com/forum/qdevnet-forums/mobile-gaming-graphics-optimization-adreno/10412


ADB IOIO $47.95  これが一番簡単そうで、ソフトも対応も良さそうだけど、まだ価格が少し高い。
http://www.ebay.com/itm/IOIO-Android-Development-Board-Bluetooth-Compatible-/190600139767?pt=LH_DefaultDomain_0&hash=item2c60a753f7
http://www.sparkfun.com/products/10748 $49.95
http://www.sparkfun.com/news/643
http://ytai-mer.blogspot.ca/2011/06/ioio-over-openaccessory-adk-available.html
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en553673


USB Mcro Bridge
http://code.google.com/p/microbridge/
http://code.google.com/p/microbridge-pic/
http://projectc3.seesaa.net/article/219854646.html

PIC24FJ64GB002

USB HOST PIC24FJ256GB106 IC from Microchip $14.99 安くて一応公開ソフトあり。
http://www.ebay.com/itm/USB-HID-Host-Module-Mouse-Keyboard-Mass-Storage-Devices-/230800606970?pt=US_USB_Wi_Fi_Adapters_Dongles&hash=item35bcc9c6fa
http://www.sure-electronics.net/download/index.php?name=MB-CM13111%20&type=0

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002

PIC24FJ256GB106
http://www.microchip.com/pagehandler/en-us/family/mplabx/
http://microchip.wikidot.com/mplab:_start
Project name change mplabx
http://projectc3.seesaa.net/index-2.html

http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en531081
http://d.hatena.ne.jp/hrdakinori/20110417/1303038932
https://github.com/hrdakinori/ADB_PIC24F

http://d.hatena.ne.jp/hrdakinori/?of=49
https://github.com/hrdakinori/PIC24F_MotorControl
https://github.com/hrdakinori/BT_DROID

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2654
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2651&param=en534494

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2651&param=en534497


USB HOST
http://www.ebay.ca/itm/USB3300-USB-HS-Board-Host-OTG-PHY-Low-Pin-ULPI-Evaluation-Development-Module-Kit-/251069458682?pt=LH_DefaultDomain_0&hash=item3a74e7e8fa


ADB
http://developer.android.com/guide/developing/tools/adb.html
http://www.java2s.com/Code/Android/Hardware/USBdevicethatsupportstheadbprotocol.htm


USB
http://www.picfun.com/usb00.html
http://www.picfun.com/usb04.html


USB client as host adapter

USB clients ==> CAH ==> USB client (Android as USB host)

USB host chip ==> protocol coupling/tunnelling? ==> host chip

http://ytai-mer.blogspot.ca/2011/04/meet-ioio-io-for-android.html


According to a post on xda-developers, you can enable ADB over WiFi from the device with the commands

setprop service.adb.tcp.port 5555
stop adbd
start adbd

And you can disable it and return ADB to listening on USB with

setprop service.adb.tcp.port -1
stop adbd
start adbd

If you have USB access already, it is even easier to switch to using WiFi . From a command line on the computer that has the device connected via USB, issue the commands

adb tcpip 5555
adb connect 192.168.0.101:5555

To tell the ADB daemon return to listening over USB

adb usb

There are also several apps on the Android Market that automate this process.


I know this is old, but I wanted to add my 2 cents--

I needed to get both USB and TCPIP working for adb (don't ask) so I did the following (using directions others have posted from xda-developers)

Using adb shell:

su
#set the port number for adbd
setprop service.adb.tcp.port 5555

#run the adbd daemon *again* instead of doing stop/start, so there
#are 2 instances of adbd running.
adbd &

#set the port back to USB, so the next time adb is started it's
#on USB again.
setprop service.adb.tcp.port -1

exit


On my Android device in my Linux shell, a simple "ifconfig" did not give me my IP address. I had to type:

ifconfig eth0

-or-

netcfg

to get my IP address. (I knew eth0 was configured because I saw it in my dmesg.) Then I did the :

setprop service.adb.tcp.port -1

stop adbd

start adbd

Then on my Win7 box (the one running Eclipse 3.7.1). I opened a command prompt to

\android-sdk\platform-tools>

without running as admin. Then I did a

adb connect 12.345.678.90

I never put a port. If I did a

adb tcpip 5555

it said it couldn't find the device then nothing appeared in my "adb devices" list. I.e. it only works if I DON'T do the tcpip command above.

I can do an "adb shell" and mess with my Android Device. But my Android Device does not appear in my Run->Run Configurations->Target tab right now. On the other hand, if I keep the Target Tab set to automatic. Then when I run my app via Run->Run it does run on my Android device even though my Android device is not even listed as one of my targets.


USB Expresse
http://www.silabs.com/products/mcu/pages/usbxpress.aspx
http://code.google.com/p/scopevtk/source/browse/trunk/USBXpress.py
http://www.silabs.com/Support%20Documents/TechnicalDocs/an169.pdf

http://www.cygnal.org/ubb/Forum9/HTML/001866.html
http://www.cygnal.org/ubb/Forum9/HTML/000734.html

http://read.pudn.com/downloads161/sourcecode/comm/usb/724877/USBXpress/Examples/FileTransfer/Device/C8051F34x/USB_MAIN.c__.htm
http://www.pudn.com/downloads161/sourcecode/comm/usb/detail724877.html

http://bleyer.org/pyusb/

USB Xpress Linux
http://www.etheus.net/SiUSBXp_Linux_Driver

Usb Xpress wrapper for Python (windows)
http://pico.dreamhosters.com/soft/pyusbxp.py

Interface for controlling PM1703MO-1A, using USB xpress wrapper. Probably, we can use this for PM1406, too.
http://pico.dreamhosters.com/soft/pypmpager.py


http://www.cpkb.org/wiki/Sony_Ericsson_U20_Xperia_X10_Mini_Pro_service_manual

Xperia test point
http://www.gsmcure.com/forum/showthread.php?t=2329

http://www.gsm-technology.com/index.php/en_US,download_support,menu_mode,categories.html


Last modified : Wed Jul 3 17:33:45 2013 Maintained by nkom AT pico.dreamhosters.com