App Inventor之蓝牙接收多字节数据

博客分享了蓝牙上下位机的数据处理。下位机通过两个温度传感器和两个湿度传感器采集数据,用代码发送六个字节数据;上位机蓝牙客户端接收数据,将六个字节拆分为四个值显示在 UI 上,部分数据需十六进制转十进制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@这是第一次写博客哦~~

下位机数据发送程序片段

说明:下位机数据的采集主要是两个温度传感器与两个湿度传感器进行,数据采集完通过下列片段进行发送六个字节数据

代码如下

**while(1){
    	if(n % 10 == 0){//100ms读一次
    		Get_Ds1Value();//读18B20
    		Get_Ds2Value();//读18B20   value = temp * 0.0625
    		Dh1_ReadData(&dumi1);	//读DHT11
    		Dh2_ReadData(&dumi2);	//读DHT11
    	}
    	delay_ms(10);//10ms
    	n++;
		if(n == 50){//500ms发送一次数据
			n = 0;
			GPIO_IF_LedToggle(MCU_RED_LED_GPIO);
			SendDataBuffer[2]=dumi1;
			SendDataBuffer[5]=dumi2;
			for(i=0;i<6;i++)
				UARTCharPut(UARTA1_BASE,SendDataBuffer[i]);
			delay_ms(300);
		}
    }**

上位机蓝牙客户端接收

在这里插入图片描述
如图所示
把接收的六个字节数据拆分为四个值显示在UI上
接收的六个字节数据如:

AE 01 37 BE 01 45

该数据一二位和四五位组成温度值
三和六位是湿度值

在这里插入图片描述
用蓝牙客户端接受数组并把需要的数组拆分在显示在标签上,对于温度值第二位是高位,必须乘以16^2再加上第一位,既:

两位接收的的数据:  AE 01
最后的值=AE+01*16*16

**有的还需要十六进制转换成十进制

************第一次分享压力好大。。。。。

### 实现 App Inventor 接收 HC-05 发送的数据 为了使 App Inventor 应用程序能够接收来自 HC-05 蓝牙模块发送的数据,需遵循一系列特定的操作流程。首先,在应用程序设计阶段,应确保已安装并设置了 BluetoothClient 组件用于处理蓝牙通信。 #### 创建用户界面 在设计师视图中添加必要的组件来构建应用的图形化界面。这通常包括按钮以启动扫描过程、列表框显示可用设备以及标签控件展示接收到的信息等[^4]。 #### 编程逻辑设定 转至块编辑器部分定义交互行为: 1. **初始化蓝牙客户端** 使用 `BluetoothClient` 的 `.Initialize()` 方法指定名称,并将其属性设为全局变量以便后续调用。 2. **搜索附近设备** 当点击“查找设备”按钮时触发事件处理器执行`.FindDevices()`函数;找到目标后可通过迭代访问`FoundDevices` 属性获取具体信息。 3. **建立连接** 用户从列表选择要连接的目标之后,利用所选对象作为参数调用`.Connect()`方法尝试创建链路。一旦成功,则准备接受传入的消息流。 4. **监听消息到达** 设置当有新数据到来时自动激活相应动作——即每当发生`AfterReceivingBytes` 或者 `ReceivedText` 事件时更新UI上的数据显示区域。 ```blocks when Screen1.Initialize btClient.initialize("bt") ' 初始化蓝牙服务端口名为 "bt" when ButtonScan.Click btClient.FindDevices() ' 开始寻找周围可配对装置 when ListViewDevices.BeforePicking set selectedDevice to element ' 记录下拉菜单选定项 when ButtonConnect.Click if not null(selectedDevice) call btClient.Connect with inputs selectedDevice.Address ' 尝试依据MAC地址连结 when btClient.AfterReceivingBytes convert bytes into string and append it after LabelOutput.Text ' 解码字节序列并将结果显示于界面上 ``` 上述代码片段展示了如何配置App Inventor中的蓝牙功能,从而实现对接收到文本字符串或二进制帧的有效解析与可视化呈现。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值