实现通过微信小程序和APP获取xw71的温湿度数据
硬件部分
FRDM-MCXW71
dht20
杜邦线
软件部分
实现获取dht20的温湿度数据通过串口和蓝牙显示出来,(连接蓝牙需要烧录蓝牙固件)
dht20连接xw71的PTB5,PTB4上,下面是硬件连接图

软件方面参考了peripheral_hr历程,下面是获取dht20的温湿度数据,通过
ths_service_update(temp_val, hum_val);上报温湿度static void ths_notify(void)
{
struct sensor_value temp, hum;
int ret;
if (!device_is_ready(dht20)) {
return;
}
ret = sensor_sample_fetch(dht20);
if (ret < 0) {
printk("Failed to fetch DHT20 sample (%d)\n", ret);
return;
}
ret = sensor_channel_get(dht20, SENSOR_CHAN_AMBIENT_TEMP, &temp);
if (ret < 0) {
printk("Failed to get temperature (%d)\n", ret);
return;
}
ret = sensor_channel_get(dht20, SENSOR_CHAN_HUMIDITY, &hum);
if (ret < 0) {
printk("Failed to get humidity (%d)\n", ret);
return;
}
float temp_val = sensor_value_to_double(&temp);
float hum_val = sensor_value_to_double(&hum);
printk("test\n");
printk("Temperature: %.2f C, Humidity: %.2f %%RH\n", (double)temp_val, (double)hum_val);
ths_service_update(temp_val, hum_val);
ths_service_notify();
}下面是设备树的配置,采用了i2c1,和zephyr自带的dht20驱动
&lpi2c1 {
dht20: dht20@38 {
compatible = "aosong,dht20";
reg = <0x38>;
};
};下图是串口与app接收到的数据,APP采用的是nrf connect


下图是微信小程序界面,我才用trae进行ai编程,点击start scan会自动连接xw71开发板,然后把获取到的数据显示到界面上,点击disconnect取消和板子的连接

代码
我要赚赏金
