OpenHarmony轻量系统—润和HiHope3861 UDP广播人体传感器数据

系统 OpenHarmony
本文实现了用润和HiHope Pegasus 3861 UDP 广播人体红外传感器数据。

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

1、UDP广播人体红外传感器数据 样例运行效果

人体红外感应器感应到人体后,通过UDP广播 数据1(否则为0)。

注意:炫彩灯板上人体红外感应传感器响应速度比较慢。

[OpenHarmony轻量系统]润和HiHope3861 UDP广播人体传感器数据②-开源基础软件社区

[OpenHarmony轻量系统]润和HiHope3861 UDP广播人体传感器数据②-开源基础软件社区

样例运行效果演示视频 :https://gitee.com/from-north-to-north/open-armony-north/blob/master/润和3861轻量系统UDP广播人体红外传感器/润和3861轻量系统UDP广播人体红外传感器 效果演示视频.mp4

2、运行步骤

(1)下载 https://gitee.com/from-north-to-north/open-armony-north/tree/master/润和3861轻量系统UDP广播人体红外传感器 ,将BUILD.gn、udp_broadcast_human_infrared_demo.c、wifi_connecter.c、wifi_connecter.c、wifi_connecter.h、文件放置在命名为 udp_broadcast_human_infrared 的文件夹下,将其放置在OpenHarmony轻量系统源码 applications\sample\wifi-iot\app目录下。

(2)在源码 applications\sample\wifi-iot\app\BUILD.gn文件features 字段下添加"udp_broadcast_human_infrared:udp_broadcast_human_infrared_demo",使样例demo加入编译。

(3)在样例demo的udp_broadcast_human_infrared_demo.c中设置要连接的wifi信息.

[OpenHarmony轻量系统]润和HiHope3861 UDP广播人体传感器数据②-开源基础软件社区

编译烧录后在pc端使用tcp/udp调试工具 SocketTool 创建udp group。组播地址为255.255.255.255,组播端口为8080。

[OpenHarmony轻量系统]润和HiHope3861 UDP广播人体传感器数据②-开源基础软件社区

3、炫彩灯板上人体红外感应传感器与主控芯片(Pegasus)引脚的对应关系

人体红外传感器——ADC采集值反应是否有人靠近 GPIO07: ADC3。

查看硬件原理图可知 炫彩灯拓展板上的人体红外感应传感器型号为AS312,REL引脚查看底板硬件图可知 通过GPIO 07连接到Hi3861v100芯片。(VDD表示工作正电压,VSS表示工作负电压)。


[OpenHarmony轻量系统]润和HiHope3861 UDP广播人体传感器数据②-开源基础软件社区

[OpenHarmony轻量系统]润和HiHope3861 UDP广播人体传感器数据②-开源基础软件社区

4、样例源码解析

// 人体红外感应传感器使用到的头文件
#include "hi_gpio.h"
#include "hi_io.h"
#include "hi_adc.h"
#include "hi_errno.h"

// 用hi_adc_read读取ADC通道的值
        hi_u16 value = 0 ;
        hi_adc_read(HI_ADC_CHANNEL_3, &value,HI_ADC_EQU_MODEL_4, HI_ADC_CUR_BAIS_AUTO, 0) ;
        // (unsigned int)value 将value由hi_u16转换为unsigned int类型
        printf("ADC_VALUE = %u\n", (unsigned int)value);

        // 人体红外感应传感器检测到人体时,ADC通道的值大于950,udp广播1
        char *i;
        if(value > 950){
             i="1";
        }else{
             i="0";
        }
        // udp发送数据
        ret = sendto(sock_fd, i, strlen(i), 0, (struct sockaddr *) &broadcast_addr, broadcast_addr_len);

5. 附赠: 润和3861 UDP广播可燃气体传感器样例下载链接。

https://gitee.com/from-north-to-north/open-armony-north/tree/master/润和3861轻量系统UDP广播可燃气体传感器

想了解更多关于开源的内容,请访问:

51CTO 开源基础软件社区

https://ost.51cto.com

责任编辑:jianghua 来源: 51CTO 开源基础软件社区
相关推荐

2023-04-24 15:11:51

系统开发鸿蒙

2023-06-25 14:52:04

智能家居开发鸿蒙

2022-06-09 14:40:14

系统移植鸿蒙

2023-07-28 15:32:26

鸿蒙操作系统

2023-08-07 15:13:09

设备开发鸿蒙

2022-04-15 14:31:02

鸿蒙操作系统

2023-04-03 15:39:31

2022-01-21 21:22:24

OpenHarmon操作系统鸿蒙

2023-03-24 14:39:17

鸿蒙系统开发

2024-01-05 15:32:47

鸿蒙SNTP智慧时钟

2022-04-15 11:46:09

轻量系统解耦鸿蒙操作系统

2022-02-09 19:45:41

MQTTOpenHarmon鸿蒙

2022-09-30 13:50:07

设备开发鸿蒙

2022-01-24 18:43:20

OpenHarmon操作系统鸿蒙

2022-02-10 15:07:10

云平台OpenHarmon系统开发

2022-08-19 10:54:47

操作系统鸿蒙

2022-01-24 18:35:56

OpenHarmon鸿蒙操作系统

2022-09-28 13:48:13

设备开发鸿蒙

2023-03-20 16:05:49

HDF传感器驱动开发

2023-06-13 14:55:04

点赞
收藏

51CTO技术栈公众号