手機otg連線掃瞄頭方案

2021-06-19 22:59:08 字數 849 閱讀 2860

目標:手機通過usb otg連線掃瞄頭,手機端通過演示程式演示控制讀寫掃瞄頭

1. 硬體要求

1) 手機端具備otg功能晶元,有micro-ab類connector (母頭介面)

2) usb otg連線線,一端為特殊的micro-a類plug(a類公頭),另一端為普通常用的micro-b類plug

micro-a類plug的第5個pin腳(id-pin)與micro-ab類connector的乙個接地pin腳連線,這樣手機才具備hcd(host)功能

2. 驅動要求

我的掃瞄頭有兩種模式,即串列埠模式和鍵盤模式,linux驅動分別對應usb-cdc-acm和usb-hid

以cdc-acm為例,編譯linux核心,靜態載入cdc-acm驅動,燒錄核心映象,

啟動系統之後便能熱插拔識別掃瞄頭裝置,可以找到 /dev/ttyacm0

3 系統要求

對android系統沒有特別要求,只要在init.rc中放大對/dev/ttyacm0裝置節點的許可權

chmod 0766 /dev/ttyacm0

或者在其他系統服務裡新增 chmod("/dev/ttyacm0", 0766);

adb push進去之後,必須在系統開機啟動之前,預先連線掃瞄頭,

這樣裝置節點才能獲得普通使用者讀寫許可權,並不支援實時熱插拔

4 演示程式

ndk開發本地**,訪問讀寫裝置節點

char command =

int fd = open("/dev/ttyacm0", o_rdwr);

write(fd, command, sizeof(command));

read(fd, buf, sizeof(buf));

手機連線掃瞄頭方案(續) 電源管理

由於掃瞄頭功耗太大 60ma工作電流 考慮使用特殊的電源管理 1.串列埠連線 直接給掃瞄頭髮命令休眠喚醒 系統啟動時讓掃瞄頭休眠,開啟程式時再喚醒,關閉程式時再休眠。system vold main.cpp char c0 char c1 int fd open dev s3c2410 serial...

手機掃瞄證件識別的優勢

移動端駕駛證識別應用背景 手機掃瞄證件識別的優勢 可提供sdk做二次開發 現在可以提供安卓 ios 私有雲 公有雲等的證件識別sdk 手機掃瞄證件識別的優勢 手機掃瞄證件識別的優勢 移動端駕駛證識別產品描述 移動端駕駛證識別是基於android ios平台的證件識別應用程式。該產品採用手機 平板電腦...

Android藍芽掃瞄和連線

最近在做藍芽簽到功能時,了解了藍芽的一部分知識,雖然不夠深入,但是感覺良好,他的整體思路如下 在指定時間內,開啟藍芽,掃瞄周邊藍芽訊號,如果有指定的藍芽,則由使用者確認連線藍芽,最終簽到成功.首先,我們先寫乙個工具類,來判斷當前時間是否在指定時間之內 判斷時間是否在時間段內 param date 當...