如何构建一个通过串行端口连接到BleuIO USB加密狗的Android应用程序
扫描二维码
随时随地手机看文章
在本教程中,我们将使用Capacitor 6、Angular和TypeScript构建一个Android应用程序,该应用程序通过串行端口连接到BleuIO USB加密狗。该应用程序允许用户直接从Android设备发送和接收AT命令来配置和与BLE(低功耗蓝牙)设备交互。
BleuIO是一个功能强大的BLE USB加密狗,可以与蓝牙设备进行通信,使其成为开发、调试和测试BLE应用程序的绝佳工具。通过本项目,我们可以使用Android设备通过串行连接向BleuIO发送AT命令,从而可以在不需要PC的情况下配置和管理BLE操作。这个项目既适用于BleuIO和BleuIO Pro
为什么要使用电容器、Angular和TypeScript?
该项目是使用Capacitor 6构建的,它提供了对本地设备功能的无缝访问,包括USB串行通信。选择Angular是因为它的结构化方法,而TypeScript确保了类型安全性和更好的可维护性。
电容插件允许我们与USB设备等硬件进行通信,在本项目中,我们使用@adeunis/ Capacitor -serial插件与BleuIO加密狗建立串行通信。
项目的特性
•在Android设备上与BleuIO建立串口连接。
•向BleuIO发送AT命令并读取响应。
•直接从安卓应用扫描附近的BLE设备。
•为了可扩展性和可维护性,使用Angular + TypeScript构建。
•使用电容6进行直接硬件交互。
先决条件
在启动之前,请确保安装了以下组件:
•node . js 18 +
•Angular命令行(npm install -g @angular/ CLI)
•电容命令行(npm install -g @capacitor/ CLI)
•Java 17(需要电容器6)
•AndroidStudio
•支持OTG的Android设备
•BleuIO USB适配器
•OTG电缆(将BleuIO连接到您的Android设备)
克隆存储库和设置项目
1. 克隆存储库
首先,克隆GitHub存储库并导航到项目文件夹:
2. 安装依赖关系
运行以下命令安装所有需要的依赖项:
3. 构建Angular应用
接下来,为生产环境构建Angular应用:
4. 同步与电容器的Android
构建完Angular应用后,我们需要将它与Capacitor同步,这样它才能在Android设备上运行:
5. 在Android Studio中打开Project
要在Android Studio中启动项目,运行:
6. 在Android设备上运行应用程序
•通过USB连接您的Android设备。
•在“开发者选项”中打开USB调试开关。
•单击Android Studio中的Run来安装和启动应用程序。
使用应用程序
1. 连接BleuIO
•按Connect to BleuIO按钮。
•该应用程序将为BleuIO请求USB权限。
•一旦获得授权,就会建立一个串行连接。
2. 发送AT命令
•按发送ATI命令按钮。
•该命令从BleuIO中检索设备信息。
•响应将显示在屏幕上。
3. 扫描BLE设备
•按扫描BLE设备按钮。
•这将发送AT+CENTRAL命令,然后是AT+GAPSCAN=3。
•将显示附近的BLE设备列表。
了解守则
1. 串行服务(处理与BleuIO通信)
SerialService处理与BleuIO的串行通信。它请求USB权限,打开连接,发送AT命令,并处理响应。
关键方法
•connectToSerial():请求OTG权限,建立串行连接,并侦听传入的数据。
•sendATCommand():发送AT命令并处理响应。
•scanBLEDevices():发送BLE扫描命令并显示扫描到的设备。
2. App组件(用户界面逻辑)
AppComponent将UI与SerialService连接起来,以处理用户交互。
关键特性
•当用户单击Connect to BleuIO时调用connectToSerial()。
•当用户单击发送ATI命令时调用sendATCommand()。
•当用户单击Scan BLEDevices时调用scanBLEDevices()。
3. UI (HTML和样式)
该应用程序提供了三个按钮:
响应区域是动态更新的:
故障处理及常见问题
1. USB权限拒绝
•确保在提示时授予权限。
•如果问题仍然存在,请检查Android设备上的OTG支持。
2. 应用程序不检测蓝光
•检查OTG线缆是否连接正确。
•确保您的Android设备能够识别BleuIO加密狗。
3. npx cap sync android失败
•确保安装了Android Studio和Java 17。
•再次运行npm install,确保所有依赖项都已安装。
输出
源代码
源代码可在此GitHub存储库。
这个项目演示了如何在Android设备上使用电容器6、Angular和TypeScript与BleuIO进行连接和通信。通过利用@adeunis/capacitor-serial插件,我们可以发送AT命令,检索设备信息,甚至直接从Android应用程序扫描BLE设备。
在此基础上,开发人员可以通过添加自定义AT命令、集成数据记录,甚至构建更高级的BLE应用程序来扩展应用程序。完整的源代码可以在GitHub上获得,以进行进一步的定制和增强。
本文编译自hackster.io