集成硬件
HID
HID通信(Human Interface Device Protocol)是一种用于人体接口设备的通信协议,主要用于键盘、鼠标、游戏手柄等设备与计算机或其他设备之间的数据传输和格式定义。 HID协议旨在提供一个标准化的接口,使得各种HID设备能够与计算机系统无缝集成,并提供即插即用的用户体验。
HID通信的应用场景
HID通信广泛应用于各种人体接口设备,如键盘、鼠标、游戏手柄等。这些设备通过HID协议与计算机或其他设备进行通信,实现即插即用的用户体验。在Android开发中,HID通信也用于模拟外部设备的操作,实现与外部设备的交互。
操作流程如下
- 从画布中选中按钮进入流程图后。
- 点击
+添加动作,在右侧的动作列表页面选择硬件动作->USB-HID。 - 选择操作类型
- 扫描,扫描已连接设备的HID设备,支持插拔检测。
- 连接,需要提供供应商ID和产品ID。
- 断开连接,即断开已存在的HID设备连接。
- 发送数据,即发送数据到HID设备,以16进制数据格式发送,多组数据已
,隔开,例如aa,55。 - 接收数据,接收HID设备发送的数据,通过添加关联变量动态渲染页面数据,默认接收的数据为 16进制字符串数组。

注意:
- HID不支持IOS
- 当操作类型为连接时,必须填入 厂商id 和 产品id
串口
串口按位(bit)发送和接收字节,在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位。对于两个进行通信的端口,这些参数必须匹配。
波特率
这是一个衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。
平台默认的波特率为115200
数据位
这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
平台默认的数据位为8
停止位
用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
平台默认的停止位为1
串口的使用方式和配置参数与HID相同。
操作流程如下
- 从画布中选中按钮进入流程图后。
- 点击
+添加动作,在右侧的动作列表页面选择硬件动作->串口。 - 选择操作类型
- 扫描,扫描已连接设备的串口设备,支持插拔检测。
- 连接,需要提供供应商ID和产品ID。
- 断开连接,即断开已存在的串口设备连接。
- 发送数据,即发送数据到串口设备,以16进制数据格式发送,多组数据已
,隔开,例如aa,55。 - 接收数据,接收串口设备发送的数据,通过添加关联变量动态渲染页面数据,默认接收的数据为 16进制字符串数组。
- 插入监听,监听串口设备插入事件,插入后需要设置哪些操作,此步骤支持代码块
- 拔出监听,监听串口设备拔出事件,拔出后需要设置哪些操作,此步骤支持代码块

注意:
- 串口不支持IOS
NFC
**NFC(Near Field Communication)是一种短距离的高频无线通信技术,允许电子设备在彼此靠近的情况下进行数据交换。**它由RFID(非接触式射频识别)及互连互通技术整合演变而来,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,实现移动支付、电子票务、门禁、移动身份识别、防伪等多种应用。
NFC技术的工作频率为13.56MHz,传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种。它通过非接触式射频识别技术,在短距离内(通常在20厘米内)实现数据交换。
应用场景
- 移动支付:用户可以通过具有NFC功能的手机进行非接触式支付,例如在商场、餐厅等场所刷卡消费。
- 门禁控制:将手机模拟成门禁卡,用于小区、公司或酒店等场所的进出管理。
- 电子票务:通过NFC技术,手机可以存储和展示电子票务信息,方便出行和活动参与。
- 数据传输:两个具备NFC功能的设备可以通过点对点的方式进行数据传输,例如文件、图片、音乐等的互传。
操作流程如下
- 从画布中选中按钮进入流程图后。
- 点击
+添加动作,在右侧的动作列表页面选择硬件动作->NFC。 - 选择操作类型
- 校验NFC权限,检测当前的手机是否支持NFC功能。
- 写入数据,支持四种类型的数据写入。
- URL,输入任意一个能够访问的HTTP地址,例如
https://aiflutter.com/ - 文本,输入任意字符串,例如
Hello World!。 - 电话,输入手机电话,例如
1111111111111 - 应用,输入应用的包名, 例如
com.tencent.mm(微信的包名), - 名片,输入 联系人的姓名、电话、公司、地址、邮件、网站
- WIFI,输入WIFI的名称、密码、安全类型
- URL,输入任意一个能够访问的HTTP地址,例如
- 读取数据,支持四种卡片类型的读取。
- Ndef,NFC标签中基础的数据结构,下面的标签都是在此基础上演变而来。
- NfcA,M1卡,适用于门禁、停车场等系统。
- NfcB,IC卡,适用于移动支付、身份识别等。
- NfcV,15693卡,适用于交通、电子票务等。
- 关闭,释放NFC的资源。

传感器
随着智能手机的普及,功能也越来越丰富,手机中的传感器也越来越多。
现在市场上的手机普遍包含以下传感器
光线传感器
原理:光敏三极管,接受外界光线时,会产生强弱不等的电流,从而感知环境光亮度。
用途:通常用于调节屏幕自动背光的亮度,白天提高屏幕亮度,夜晚降低屏幕亮度,使得屏幕看得更清楚,并且不刺眼。也可用于拍照时自动白平衡。还可以配合下面的距离传感器检测手机是否在口袋里防止误触。
距离传感器:
原理:红外LED灯发射红外线,被近距离物体反射后,红外探测器通过接收到红外线的强度,测定距离,一般有效距离在10cm内。距离传感器同时拥有发射和接受装置,一般体积较大。
用途:检测手机是否贴在耳朵上正在打电话,以便自动熄灭屏幕达到省电的目的。也可用于皮套、口袋模式下自动实现解锁与锁屏动作。
重力传感器:
原理:利用压电效应实现,传感器内部一块重物和压电片整合在一起,通过正交两个方向产生的电压大小,来计算出水平方向。
用途:手机横竖屏智能切换、拍照照片朝向、重力感应类游戏(如滚钢珠)。
加速度传感器
原理:与重力传感器相同,也是压电效应,通过三个维度确定加速度方向,但功耗更小,但精度低。
用途:计步、手机摆放位置朝向角度。
磁场传感器:
原理:各向异性磁致电阻材料,感受到微弱的磁场变化时会导致自身电阻产生变化,所以手机要旋转或晃动几下才能准确指示方向。
用途:指南针、地图导航方向、金属探测器APP。
陀螺仪:
原理:角动量守恒,一个正在高速旋转的物体(陀螺),它的旋转轴没有受到外力影响时,旋转轴的指向是不会有任何改变的。陀螺仪就是以这个原理作为依据,用它来保持一定的方向。三轴陀螺仪可以替代三个单轴陀螺仪,可同时测定6个方向的位置、移动轨迹及加速度。
用途:体感、摇一摇(晃动手机实现一些功能)、平移/转动/移动手机可在游戏中控制视角、VR虚拟现实、在GPS没有信号时(如隧道中)根据物体运动状态实现惯性导航。
GPS
原理:地球特定轨道上运行着24颗GPS卫星,每一颗卫星都在时刻不停地向全世界广播自己的当前的位置坐标及时间戳信息。手机GPS模块通过天线接收到这些信息。GPS模块中的芯片根据高速运动的卫星瞬间位置作为已知的起算数据,根据卫星发射坐标的时间戳与接收时的时间差计算出卫星与手机的距离,采用空间距离后方交会的方法,确定待测点的位置坐标。
用途:地图、导航、测速、测距。
传感器模块仅支持加速度、陀螺仪、重力、磁力传感器数据的读取
操作流程如下
- 从画布中选中按钮进入流程图后。
- 点击
+添加动作,在右侧的动作列表页面选择硬件动作。 - 选择硬件类型
- 加速度(不含重力)
- 加速度(包含重力)
- 陀螺仪
- 磁力计
- 选择操作类型
- 开始数据监听,默认输出变量
event(包含x, y, z 三轴的数据),通过添加关联变量来动态渲染页面的数据。 - 停止数据监听,销毁监听事件。
- 开始数据监听,默认输出变量

蓝牙
低功耗蓝牙(BLE,Bluetooth Low Energy)是一种专为低功耗应用设计的蓝牙技术,起源于蓝牙4.0规范。与传统蓝牙相比,BLE显著降低了能耗,适合功耗敏感的设备,广泛应用于健康监测设备、智能家居、物联网等领域。
BLE技术的主要特点包括:
- 低功耗:显著降低了设备的能耗,适合长时间运行的便携式设备。
- 快速连接:简化了配对过程,支持即连即用。
- 适中传输距离:一般在10米内,最远可达100米1。
BLE通信的基本流程包括以下几个步骤:
- 广播与扫描:BLE设备通过广播自己的存在来被其他设备发现。广播帧包含设备名称、类、服务等信息。
- 连接建立:设备之间通过配对过程建立连接,协商连接参数如蓝牙通道、带宽、连接间隔等。
- 服务发现:连接建立后,客户端设备会进行服务发现,识别服务器设备提供的服务。
- 数据交换:通过GATT协议进行数据交换,包括读取特征、写入特征、启用通知等操作。
BLE技术的优势包括:
- 快速建立连接:简化配对过程,支持即连即用。
- 低功耗:适合长时间运行的便携式设备。
- 适中传输距离:一般在10米内,最远可达100米。
操作流程如下
从画布中选中按钮进入流程图后。
点击“+”添加动作,在右侧的动作列表中选择动作类型为
硬件动作,并将硬件类型设置为蓝牙。选择操作类型
蓝牙扫描,支持配置单次扫描时长,通常在页面初始化时调用。
蓝牙连接,支持通过以下方式进行蓝牙连接:指定蓝牙名称、MAC 地址、包含蓝牙名称或蓝牙对象进行连接。
断开连接,断开已连接的设备。
发送数据:输入 服务 UUID 和 写特征 UUID,以 16 进制数据格式发送,多组数据以英文逗号(
,)分隔,例如:aa,55。- 若未填写 **服务 UUID** 或 **写特征 UUID**,则默认向**所有写特征**发送数据。 - 发送内容可为**固定值**,也可**绑定变量**以发送变量中的内容。接收数据:蓝牙连接成功后,可接收蓝牙设备发送的数据。
- 可通过配置蓝牙通信协议,根据协议内容自动更新页面变量;也可选择自定义代码块,以实现自定义的数据处理逻辑。
- 选择“接收数据”后,动作类型将变为数据监听类型,可进行额外的监听配置。
- 接收的数据默认为 16 进制字符串列表,例如:
["aa", "55"]。
接收广播数据,与“接收数据”功能类似,不同之处在于,接收广播数据用于监听蓝牙设备广播的值,而“接收数据”则用于接收已连接蓝牙设备发送的值
停止扫描,停止蓝牙扫描。
蓝牙连接状态监听:用于实时监听蓝牙设备的连接与断开状态。
- 连接成功:可更新变量或触发特定操作,例如初始化数据或启动功能。
- 断开连接:可更新变量,并可配置是否自动重连设备。
- 动作类型:选择蓝牙连接状态监听后,动作类型变为数据监听类型,可独立配置监听到连接或断开事件后触发的流程,不影响主流程的继续执行。
- 功能作用:确保蓝牙状态变化被实时捕获,并与页面变量或其他流程逻辑同步更新,实现主流程与监听流程的并行处理。
蓝牙扫描状态监听:用于监听蓝牙扫描的开始与停止状态。
- 开始扫描:扫描开始时可更新变量,用于触发相关逻辑或标记扫描状态。
- 停止扫描:扫描停止时可更新变量,并可配置是否自动重新扫描设备。
- 动作类型:选择蓝牙扫描状态监听后,动作类型变为数据监听类型,可独立配置监听到扫描开始或停止事件后触发的流程,不影响主流程的继续执行。
- 功能作用:确保扫描状态变化被实时捕获,并与页面变量或其他流程逻辑同步更新,实现主流程与监听流程的并行处理。
发现设备监听:用于监听扫描过程中发现的蓝牙设备,并将符合条件的设备信息传递给变量。
- 变量接收:可配置变量,用于接收扫描到的符合条件的设备数组。
- 蓝牙匹配模式:
- 单设备匹配模式:根据指定条件匹配一个设备,匹配条件包括无条件、蓝牙名称、MAC 地址或包含蓝牙名称。
- 多设备匹配模式:可同时配置多种匹配条件,接收多个符合条件的设备。
- 动作类型:选择“发现设备监听”后,动作类型变为数据监听类型,可独立配置监听到符合条件设备后的流程,不影响主流程的继续执行。
- 功能作用:确保扫描到的设备信息被实时捕获,并可用于页面变量或流程逻辑的更新,实现主流程与监听流程的并行处理。

相机
相机的操作类型有 打开前置相机、打开后置相机、打开闪光灯、关闭闪光灯。
需要配合扫描二维码小部件使用

通过相对定位布局添加按钮,并在流程图中配置相机操作
操作流程如下
- 从画布中选中按钮进入流程图后。
- 点击
+添加动作,在右侧的动作列表页面选择硬件动作->相机。 - 选择操作类型
- 打开前置相机,打开前置摄像头。
- 打开后置相机,打开后置摄像头。
- 打开闪光灯
- 关闭山关灯
