我使用Android的AVRDUDE(http://code.google.com/p/andavr/)。我可以編譯C的代碼。我可以跑Android無法使用AVRDUDE與Arduino對話
$ avr-gcc -Os -DF_CPU=16000000UL -mmcu=atmega328p -c -o led.o led.c
$ avr-gcc -mmcu=atmega328p led.o -o led
$ avr-objcopy -O ihex -R .eeprom led led.hex
都沒有問題。然後我嘗試運行:
avrdude -F -V -c arduino -p ATMEGA328P -P /dev/bus/usb/002/002 -b 115200 -C /data/data/jackpal.androidterm/local/etc/avrdude.conf -U flash:w:led.hex
結果是:
avrdude: ser_open(): can't open device "/dev/bus/usb/002/002"; Permission denied
loctl("TIOCMGET"): Invalid argument
avrdude done. Thank you.
的情況是類似的,當我運行:
avrdude -F -V -c arduino -p ATMEGA328P -P /dev/bus/usb/002/001 -b 115200 -C /data/data/jackpal.androidterm/local/etc/avrdude.conf -U flash:w:led.hex
我可以證實,/dev/bus/usb/002/002
是Arduino的裝置相連接OTG電纜。在連接之前,我跑
ls -l /dev/bus/usb/002/
,我也得到:
total 0
後,我通過USB到我的平板電腦連接Arduino的我運行命令:
ls -l /dev/bus/usb/002
,我也得到
crw-rw---- 1 0 1018 180,128 Mar 24 07:53 001
crw-rw---- 1 0 1018 180,129 Mar 24 07:53 002
這清楚地表明我Arduino已連接。我很想知道是否有人能看到我做錯了什麼。 PS:我試圖創建一個Android應用程序,允許直接從Android平板電腦上進行Arduino編程。
謝謝,但是, 所以這裏是我所做的: 我已經紮根了我的nexus7,它支持OTG。我可以成功控制使用OTG上的鼠標/鍵盤。我也可以用它來控制OTG上的我的arduino。我認爲這意味着OTG正在100%正常工作。 此外,我植根於我的手機,並且我有root權限訪問它。我還在其上安裝了Ubuntu Touch,並且正在運行一些需要root用戶成功的應用程序。 我也授予了終端模擬器的root權限。我不能這樣做,這不被支持。 我找到了一種通過名爲adbwireless的應用程序通過無線連接adb的方法。 – HansStam 2013-03-24 11:28:54
繼續: 我現在可以通過wifi控制nexus7 adb shell,同時將arduino插入nexus7的usbport。 在adb外殼上,你自動獲得su訪問權限,所以這應該肯定會給我su權限。 故事結束,它仍然不起作用,即使我有超能力。 我也試過給arduino chmod 777訪問,但那也不管用。它只是不想被我的聯繫7控制。 – HansStam 2013-03-24 11:36:50
雖然我不放棄。它應該是可能的 – HansStam 2013-03-24 11:37:27