我想構建一個Android應用程序,它將從URL中獲取一些數據並將其發送到我的android平板電腦的USB端口上。 USB端口連接到USB串行端口轉換器。通過Android應用程序發送和接收USB端口上的數據
我無法弄清楚在USB端口上發送數據的部分。 大量的谷歌搜索後,我發現亞行,http://code.google.com/p/microbridge/等,但沒有一個可以使用的Java庫。
有什麼建議嗎?
我想構建一個Android應用程序,它將從URL中獲取一些數據並將其發送到我的android平板電腦的USB端口上。 USB端口連接到USB串行端口轉換器。通過Android應用程序發送和接收USB端口上的數據
我無法弄清楚在USB端口上發送數據的部分。 大量的谷歌搜索後,我發現亞行,http://code.google.com/p/microbridge/等,但沒有一個可以使用的Java庫。
有什麼建議嗎?
本答案是在添加應用程序級USB Host APIs之前,在有關歷史Android版本的問題中編寫的。當代讀者應該看到關於現代Android版本的主機模式的許多其他問題
您需要將合適的usb-serial設備驅動程序編譯到您的內核中或作爲模塊加載到它中,並手動創建/ dev/ttyUSB0設備文件或具有自動創建它的內容。
而且我們假設您的轉換器已插入正在工作的USB主機端口,該主機端口提供電源並具有支持它的主機模式驅動程序。
從本質上講,它的工作方式與在桌面Linux上的方式相同 - 您可能需要在桌面Linux上嘗試轉換器以找出它正在使用的驅動程序。
如果平板電腦沒有開箱即用,很可能需要對其進行根目錄,才能加載驅動程序模塊(或更改內核),在/ dev中創建節點(文件)並設置權限以便程序可以訪問它。
訪問將通過打開設備文件,調用一些ioctl的配置它,然後只是讀寫。打開和配置可能需要jni本地代碼(儘管你可以從java中完成),然後你應該可以讀寫java。
另一個值得研究的方法是使用藍牙串口適配器 - 這更獨立於設備,可能不需要生根。
感謝@chris的詳細解答。我終於選擇了藍牙串行適配器選項,因爲我需要一些可以開箱即用,不需要更改內核的東西。 Android 3.1已經發布了用於USB的API,但它支持平板電腦而不支持手機。 – Neha 2011-06-01 06:47:45
這仍然是一種全新的使用方式?我的意思是,如果我需要轉換通過USB接收到的電信號,它會是一樣的?或者是什麼? – Ibrahim 2017-11-21 22:29:56