如何在Android手机上使用BleuIO USB加密狗作为串行通信设备
扫描二维码
随时随地手机看文章
本项目演示了如何通过OTG (on - go) USB在Android设备上使用BleuIO USB加密狗作为串行端口。使用电容器6和@adeunis/电容器-串行插件,我们建立串行连接,发送AT命令,并实时读取响应。该项目适用于BleuIO和BleuIO Pro。
本教程提供了在Android上设置与BleuIO串行通信的分步指南。该项目通过串口连接到BleuIO,发送基本的ATI命令,并在屏幕上显示接收到的响应。本示例可作为创建、测试和调试蓝牙低功耗(BLE)应用程序的起点。它可以扩展以支持基于特定需求的其他命令和功能。完整的源代码可用于定制和进一步开发。
用例
BleuIO USB加密狗可用于各种需要在Android上进行串行通信的应用程序。最常见的应用之一是低功耗蓝牙(BLE)开发,开发人员需要通过发送和接收AT命令来配置和测试BLE模块。本项目允许移动调试和实时配置BLE设备,而无需PC机。
此外,这种设置对于物联网和嵌入式系统很有价值,其中设备通过串行连接进行通信。使用Android手机作为串行终端,工程师和开发人员可以在现场测试、监控和调试硬件组件,而不需要笔记本电脑。另一个重要的用例是usb到串行调试,嵌入式系统工程师需要使用OTG直接从Android设备发送命令和接收日志。
对于那些使用传感器模块、微控制器或定制嵌入式系统的人来说,该项目简化了直接从移动设备发送命令和读取响应的过程。对于开发需要通过Capacitor进行串行通信的Android应用程序,它也是一个很好的起点。
我们为什么需要这个?
Android设备本身不支持USB-to-serial通信。与内置串行驱动程序和终端软件的计算机不同,Android不提供通过USB与串行设备通信的直接方式。这使得开发人员,工程师和嵌入式系统设计人员难以与BLE模块,传感器和微控制器进行交互。
通过使用电容器6和@adeunis/电容器-串行插件,我们可以弥合这一差距,并允许Android设备作为串行终端。这在使用BleuIO等设备时特别有用,因为实时通信对于配置、测试和调试蓝牙应用程序至关重要。
该项目消除了对外部适配器或复杂的Android开发的需求,利用了Capacitor基于web的方法。它提供了一种简单且可扩展的方式将串行通信集成到移动应用程序中,而无需深入了解Android的USB api或本地开发工具。
需求
要使用这个项目,您需要几个基本组件来在Android设备和BleuIO之间建立串行通信。
BleuIO或BleuIO Pro -用于蓝牙低功耗(BLE)通信的USB加密狗。该项目旨在通过USB串行连接与BleuIO进行交互。
Android设备-支持USB OTG (on - go)的智能手机或平板电脑,允许其作为USB主机并与外部设备通信。
OTG电缆或适配器-需要将BleuIO连接到Android设备。由于大多数智能手机都有USB-C或Micro-USB接口,因此需要OTG适配器与BleuIO的USB-A连接器接口。
安装与设置
安装Node.js和Capacitor 6
Install Android Platform
创建一个电容器项目
安装Android平台
安装串口通信插件
确保“JDK 17”已安装
电容器6需要JDK 17。通过以下方式安装:
验证安装:
它应该输出如下内容:
Android上的OTG权限
为什么我们需要OTG权限?
Android设备本身不支持串行USB通信。
OTG权限允许USB主机模式,因此Android可以与外部串行设备通信。
如何开启OTG权限?
修改AndroidManifest.xml:
然后,在android/app/src/main/res/xml/中创建device_filter.xml:
这些值匹配BleuIO供应商ID和产品ID,允许系统识别它。
项目代码说明
index . html
该文件提供了连接BleuIO和发送AT命令的按钮。
index.js
这个文件:
•请求USB权限
•打开串行连接
•发送和读取AT命令
•处理来自BleuIO的连续数据流
运行应用程序
同步和构建
打开App
•通过OTG将BleuIO连接到Android。
•点击“Connect to BleuIO”→出现权限提示。
•点击“发送ATI命令”→出现“响应”。
最终结果
运行后,您应该看到如下输出:
输出
源代码
本项目演示了如何在Android手机上使用BleuIO USB加密狗作为串行通信设备。通过利用Capacitor 6和@adeunis/ Capacitor -serial插件,我们成功地建立了串行连接,发送AT命令,并通过USB OTG接收响应。
随着移动优先开发和通过智能手机进行硬件交互的需求不断增长,该项目为进一步扩展Android上的串行通信功能提供了坚实的基础。
本文编译自hackster.io