我必須使用android讀取和寫入數據到設備的COM端口,我使用的是javax.comm包,但是當我安裝了apk文件時,它沒有顯示設備的任何端口,因此是否有任何權限我需要在清單文件中添加哪些內容?如何在Android中讀寫數據到COM /串口?
3
A
回答
16
你的問題是一個與操作系統。 Android runs Linux under the hood,Linux對待串行端口的方式與Windows不同。 javax.comm
還包含win32com.dll
,一個driver file,您將無法在Android設備上進行安裝。如果你找到一種方法來實現你想要做的事情,你實際上不能在Linux環境中尋找「COM」端口。串行端口將採用不同的名稱。
Windows Com Port Linux equivalent
COM 1 /dev/ttyS0
COM 2 /dev/ttyS1
COM 3 /dev/ttyS2
所以,假設,如果你的想法是工作,你必須尋找這些名字。
對你來說幸運的是,Android確實提供了與USB設備(我假設你想要連接的設備,而不是並行或RS-232端口)接口的規定。要做到這一點,你會設置您的設備爲USB Host.這裏,你會想做什麼:
- 得到一個
USBManager
. - 查找設備。
- 獲取
USBInterface
和USBEndpoint
。 - 打開連接。
- 傳輸數據。
下面是我對你將如何做的粗略估計。當然,你的代碼會有更成熟的做事方式。
String YOUR_DEVICE_NAME;
byte[] DATA;
int TIMEOUT;
USBManager manager = getApplicationContext().getSystemService(Context.USB_SERVICE);
Map<String, USBDevice> devices = manager.getDeviceList();
USBDevice mDevice = devices.get(YOUR_DEVICE_NAME);
USBDeviceConnection connection = manager.openDevice(mDevice);
USBEndpoint endpoint = device.getInterface(0).getEndpoint(0);
connection.claimInterface(device.getInterface(0), true);
connection.bulkTransfer(endpoint, DATA, DATA.length, TIMEOUT);
您的閱讀樂趣
額外的材料:http://developer.android.com/guide/topics/connectivity/usb/host.html
+0
我運行你的代碼,現在可以請你建議我有沒有任何方法可以確定是否有USB命令到達USB設備!也想知道如果這個消息成功到達設備,那麼它必須返回一些命令,所以我從哪裏可以檢測到!請回復謝謝。 –
相關問題
- 1. 電能表數據讀寫使用COM串口顯示
- 2. 在C++中讀取COM端口數據
- 3. 如何從HTML頁面的COM端口讀寫數據?
- 4. 如何從串口讀取數據並寫入串口?
- 5. 如何模擬COM端口,向其寫入數據並從中讀取數據?
- 6. 在VB6中通過COM端口讀取/寫入數據
- 7. 如何閱讀使用COM端口通過串口讀取電能表讀數?
- 8. 串行COM端口號@讀
- 9. 如何在Linux中串行寫入數據到USB端口
- 10. 如何編寫C++ dll函數來獲取com端口讀取
- 11. 從com端口讀取數據並將其寫入到java文本框中
- 12. 從COM端口讀取數據
- 13. 閱讀COM端口的數據
- 14. 讀取和寫入COM端口?
- 15. Java Com端口讀寫有問題
- 16. 如何從串口讀取數據並在c中寫入一個文件#
- 17. 在java中從串口讀取數據
- 18. 如何從Windows COM端口只讀取可用數據?
- 19. Linux C++將字符串寫入COM端口,回讀響應?
- 20. Android 2.2。如何設置串口(com,rfcomm)端口?
- 21. 如何在Android中讀取/寫入自定義PNG元數據?
- 22. 讀取和發送數據到串口
- 23. 讀取到達串口的數據包
- 24. 如何使用PySerial從COM端口讀寫?
- 25. 如何在Java中使用jssc讀取數據frome串口?
- 26. 閱讀com端口
- 27. powershell寫數據到COM端口刪除換行
- 28. 從串口讀取數據
- 29. 從串口讀取數據
- 30. 寫入COM端口
重複的問題:http://stackoverflow.com/questions/4621580/using-serial-port-rs-232-in-android – Robert
的可能的複製[在android中使用串口RS-232?](http://stackoverflow.com/questions/4621580/using-serial-port-rs-232-in-android) – Programmer