本文来源电子发烧友社区,作者:soon顺soon, 帖子地址:https://bbs.elecfans.com/jishu_2023113_1_1.html
分享一个比较简单的Demo
硬件模块:
HiSpark_WiFi_IoT_3861_CH340G_主板
HiSpark_WiFi_IoT_智能(炫彩)灯板
实现功能:
1.模拟红外人体感应灯,人到亮起红灯,人走红灯灭。
2.光敏电阻,暗环境亮绿灯,亮环境灭灯。
代码分享如下
1.在 applicationssamplewifi-iotappBUILD.gn 修改如下
复制代码
2.新建applicationssamplewifi-iotappsensor_light 目录并添加以下两个文件
applicationssamplewifi-iotappsensor_lightBUILD.gn
applicationssamplewifi-iotappsensor_lightsensor_light.c
3.applicationssamplewifi-iotappsensor_lightBUILD.gn修改如下
复制代码
4.applicationssamplewifi-iotappsensor_lightsensor_light.c 修改如下
复制代码
分享一个比较简单的Demo
硬件模块:
HiSpark_WiFi_IoT_3861_CH340G_主板
HiSpark_WiFi_IoT_智能(炫彩)灯板
实现功能:
1.模拟红外人体感应灯,人到亮起红灯,人走红灯灭。
2.光敏电阻,暗环境亮绿灯,亮环境灭灯。
代码分享如下
1.在 applicationssamplewifi-iotappBUILD.gn 修改如下
- import("//build/lite/config/component/lite_component.gni")
- lite_component("app") {
- features = [
- "startup",
- "sensor_light:sensor_light",
- ]
- }
2.新建applicationssamplewifi-iotappsensor_light 目录并添加以下两个文件
applicationssamplewifi-iotappsensor_lightBUILD.gn
applicationssamplewifi-iotappsensor_lightsensor_light.c
3.applicationssamplewifi-iotappsensor_lightBUILD.gn修改如下
4.applicationssamplewifi-iotappsensor_lightsensor_light.c 修改如下
- #include
- #include
- #include "ohos_init.h"
- #include "cmsis_os2.h"
- #include "wifiiot_gpio.h"
- #include "wifiiot_gpio_ex.h"
- #include "wifiiot_adc.h"
- #include "wifiiot_errno.h"
- static void SensorLightTask(void *arg)
- {
- (void)arg;
- //人体感应ADC 值
- unsigned short humandata = 0;
- //光敏电阻ADC值
- unsigned short lightdata = 0;
- while(1){
- if (AdcRead(WIFI_IOT_ADC_CHANNEL_3, &humandata, WIFI_IOT_ADC_EQU_MODEL_4, WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0)
- == WIFI_IOT_SUCCESS) {
- printf("[SensorLight] humandata =%dn",humandata);
- }
- if (AdcRead(WIFI_IOT_ADC_CHANNEL_4, &lightdata, WIFI_IOT_ADC_EQU_MODEL_4, WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0)
- == WIFI_IOT_SUCCESS) {
- printf("[SensorLight] lightdata =%dn",lightdata);
- }
- //从串口log中来看ADC值感应到是18xx,没有感应到是12x,所以这里用500做一个阈值
- if(humandata > 500){
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_VALUE1);//R on
- }else{
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_VALUE0);//R off
- }
- if(lightdata > 500){
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_VALUE1);//G on
- }else{
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_VALUE0);//G off
- }
- usleep(10000);
- }
- }
- static void SensorLight(void)
- {
- osThreadAttr_t attr;
- GpioInit();
- //RLED init
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_IO_FUNC_GPIO_10_GPIO);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_DIR_OUT);
- //GLED init
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_IO_FUNC_GPIO_11_GPIO);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_DIR_OUT);
- //BLED init
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_IO_FUNC_GPIO_12_GPIO);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_GPIO_DIR_OUT);
- attr.name = "SensorLightTask";
- attr.attr_bits = 0U;
- attr.cb_mem = NULL;
- attr.cb_size = 0U;
- attr.stack_mem = NULL;
- attr.stack_size = 4096;
- attr.priority = osPriorityNormal;
- if (osThreadNew(SensorLightTask, NULL, &attr) == NULL) {
- printf("[SensorLight] Falied to create SensorLightTask!n");
- }
- }
- SYS_RUN(SensorLight);
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
wi-fi
+关注
关注
14文章
2049浏览量
123601 -
HarmonyOS
+关注
关注
79文章
1944浏览量
29706 -
HiSpark
+关注
关注
1文章
156浏览量
6851
发布评论请先 登录
相关推荐
未来的Wi-Fi路由器
转载自——钟林谈芯 没有创新就没有未来,Wi-Fi路由器也是如此。 进入2024年以后,Wi-Fi路由器市场变得更加艰难,利润大幅下滑,BOM成本价高于市场价,接不接订单,都陷入两难。 国内主芯片
DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册.rar》资料免费下载
发表于 05-30 17:53
•1次下载
![DA16200 超低功耗 <b class='flag-5'>Wi-Fi</b> 模块开发<b class='flag-5'>套件</b> Pro数据手册](https://file1.elecfans.com/web2/M00/EB/52/wKgaomZYRFeAUYu_AAIcdL7RdCA705.png)
DA16200 超低功耗 Wi-Fi 模块开发套件数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件数据手册.rar》资料免费下载
发表于 05-30 17:13
•0次下载
![DA16200 超低功耗 <b class='flag-5'>Wi-Fi</b> 模块开发<b class='flag-5'>套件</b>数据手册](https://file1.elecfans.com/web2/M00/EA/68/wKgZomZYPi-AFsOaAAHH6y5qIrM275.png)
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦 MM6108-EKH08开发套件专为验证物联网Wi-Fi HaLow用例而设计。该
![验证物联网<b class='flag-5'>Wi-Fi</b> HaLow用例的MM6108-EKH08开发<b class='flag-5'>套件</b>来啦](https://file1.elecfans.com/web2/M00/C8/D1/wKgaomYXYLWAX25lAACMPTBW4N0471.jpg)
Wi-Fi的诞生与发展
短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
![<b class='flag-5'>Wi-Fi</b>的诞生与发展](https://file.elecfans.com/web2/M00/6D/35/poYBAGM1MoCAWOOXAAAqWi8Xt8w214.png)
Wi-Fi HaLow和传统Wi-Fi的区别
Wi-Fi HaLow和传统Wi-Fi的区别 Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,Wi-Fi也在不断演进和
康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi
康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
BT Wi-Fi模式是否可以通过ModustoolBox对套件进行编程来实现?
想配置用于分析 CYW43439 的 CY8CPROTO-062S2-43439 原型开发套件。
浏览文档我无法弄清楚如何在不同的 Wi-Fi 和蓝牙模式(电源模式、连接模式等)下配置套件。
在
发表于 01-22 06:19
Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?
Wi-Fi 6和Wi-Fi 5之间有哪些区别呢? Wi-Fi 6和Wi-Fi 5是无线局域网标准的两个版本,它们之间存在很多区别。Wi-Fi
什么是2.4 GHz Wi-Fi? 如何提升2.4 GHz Wi-Fi的性能?
什么是2.4 GHz Wi-Fi?2.4 GHz Wi-Fi的优势 2.4 GHz Wi-Fi的劣势 如何提升2.4 GHz Wi-Fi的性能?2.4 GHz和5 GHz
摩尔斯微电子与卓越电子合作推出 Wi-Fi HaLow 物联网解决方案
晶圆厂半导体公司摩尔斯微电子(Morse Micro),宣布与卓越电子(AsiaRF Corp)合作推出最新的 Wi-Fi HaLow IoT 解决方案。产品阵容包括 Wi-Fi HaLow 物联网
发表于 10-08 15:27
•430次阅读
![摩尔斯微电子与卓越电子合作推出 <b class='flag-5'>Wi-Fi</b> HaLow 物联网解决方案](https://file1.elecfans.com/web2/M00/A7/41/wKgaomUiWmCAMEYuAAEa97wlvWY316.jpg)
评论