0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】感应灯Demo

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-02 15:26 次阅读
本文来源电子发烧友社区,作者: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 修改如下
  1. import("//build/lite/config/component/lite_component.gni")
  2. lite_component("app") {
  3. features = [
  4. "startup",
  5. "sensor_light:sensor_light",
  6. ]
  7. }
复制代码


2.新建applicationssamplewifi-iotappsensor_light 目录并添加以下两个文件
applicationssamplewifi-iotappsensor_lightBUILD.gn
applicationssamplewifi-iotappsensor_lightsensor_light.c


3.applicationssamplewifi-iotappsensor_lightBUILD.gn修改如下

  1. static_library("sensor_light") {
  2. sources = [
  3. "sensor_light.c"
  4. ]
  5. include_dirs = [
  6. "//utils/native/lite/include",
  7. "//kernel/liteos_m/components/cmsis/2.0",
  8. "//base/iot_hardware/interfaces/kits/wifiiot_lite",
  9. ]
  10. }
复制代码


4.applicationssamplewifi-iotappsensor_lightsensor_light.c 修改如下
  1. #include
  2. #include
  3. #include "ohos_init.h"
  4. #include "cmsis_os2.h"
  5. #include "wifiiot_gpio.h"
  6. #include "wifiiot_gpio_ex.h"
  7. #include "wifiiot_adc.h"
  8. #include "wifiiot_errno.h"
  9. static void SensorLightTask(void *arg)
  10. {
  11. (void)arg;
  12. //人体感应ADC 值
  13. unsigned short humandata = 0;
  14. //光敏电阻ADC值
  15. unsigned short lightdata = 0;
  16. while(1){
  17. if (AdcRead(WIFI_IOT_ADC_CHANNEL_3, &humandata, WIFI_IOT_ADC_EQU_MODEL_4, WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0)
  18. == WIFI_IOT_SUCCESS) {
  19. printf("[SensorLight] humandata =%dn",humandata);
  20. }
  21. if (AdcRead(WIFI_IOT_ADC_CHANNEL_4, &lightdata, WIFI_IOT_ADC_EQU_MODEL_4, WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0)
  22. == WIFI_IOT_SUCCESS) {
  23. printf("[SensorLight] lightdata =%dn",lightdata);
  24. }
  25. //从串口log中来看ADC值感应到是18xx,没有感应到是12x,所以这里用500做一个阈值
  26. if(humandata > 500){
  27. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_VALUE1);//R on
  28. }else{
  29. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_VALUE0);//R off
  30. }
  31. if(lightdata > 500){
  32. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_VALUE1);//G on
  33. }else{
  34. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_VALUE0);//G off
  35. }
  36. usleep(10000);
  37. }
  38. }
  39. static void SensorLight(void)
  40. {
  41. osThreadAttr_t attr;
  42. GpioInit();
  43. //RLED init
  44. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_IO_FUNC_GPIO_10_GPIO);
  45. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_DIR_OUT);
  46. //GLED init
  47. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_IO_FUNC_GPIO_11_GPIO);
  48. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_DIR_OUT);
  49. //BLED init
  50. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_IO_FUNC_GPIO_12_GPIO);
  51. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_GPIO_DIR_OUT);
  52. attr.name = "SensorLightTask";
  53. attr.attr_bits = 0U;
  54. attr.cb_mem = NULL;
  55. attr.cb_size = 0U;
  56. attr.stack_mem = NULL;
  57. attr.stack_size = 4096;
  58. attr.priority = osPriorityNormal;
  59. if (osThreadNew(SensorLightTask, NULL, &attr) == NULL) {
  60. printf("[SensorLight] Falied to create SensorLightTask!n");
  61. }
  62. }
  63. SYS_RUN(SensorLight);
复制代码



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    14

    文章

    2106

    浏览量

    124315
  • HarmonyOS
    +关注

    关注

    79

    文章

    1967

    浏览量

    30006
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    6901
收藏 人收藏

    评论

    相关推荐

    Wi-Fi 7与Wi-Fi 6E有什么区别

    也许很多人还在考虑是否要将使用的Wi-Fi设备升级到Wi-Fi 6或Wi-Fi 6E,而这些标准的继任者却已经开始“登堂入室”了。Wi-Fi 7是新一代
    的头像 发表于 11-07 11:38 460次阅读

    最典型的3家Wi-Fi Halow芯片企业

    Wi-Fi Halow是Wi-Fi联盟推出的专门面向物联网市场的标准。
    的头像 发表于 08-30 09:58 1199次阅读
    最典型的3家<b class='flag-5'>Wi-Fi</b> Halow芯片企业

    未来的Wi-Fi路由器

    转载自——钟林谈芯 没有创新就没有未来,Wi-Fi路由器也是如此。 进入2024年以后,Wi-Fi路由器市场变得更加艰难,利润大幅下滑,BOM成本价高于市场价,接不接订单,都陷入两难。 国内主芯片
    的头像 发表于 06-20 15:32 382次阅读

    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数据手册

    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>数据手册

    AIROC™ Wi-Fi和蓝牙组合连接掉线的原因?怎么解决?

    我最近购买了一台配备 AIROC™ Wi-Fi 和蓝牙组合模块的笔记本电脑。 大多数时候,Wi-Fi 连接都能正常使用图书馆创世纪网站ePUB 转换工具、在线书店和学术出版物,但我注意到蓝牙连接总是
    发表于 05-24 07:48

    华为获得全球首个国际Wi-Fi联盟WFA企业级Wi-Fi 7认证!

    Wi-Fi联盟已发布Wi-Fi 7认证标准,华为是第一批送测厂商,获得业界首个企业级Wi-Fi 7 的Wi-Fi联盟官方认证。
    的头像 发表于 04-28 10:17 637次阅读
    华为获得全球首个国际<b class='flag-5'>Wi-Fi</b>联盟WFA企业级<b class='flag-5'>Wi-Fi</b> 7认证!

    验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦

    验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦 MM6108-EKH08开发套件专为验证物联网Wi-Fi HaLow用例而设计。该
    的头像 发表于 04-11 12:01 1652次阅读
    验证物联网<b class='flag-5'>Wi-Fi</b> HaLow用例的MM6108-EKH08开发<b class='flag-5'>套件</b>来啦

    Wi-Fi 7与Wi-Fi 6的相关知识科普

    科普:Wi-Fi 7 vs. Wi-Fi 6,青出于蓝
    的头像 发表于 03-12 10:59 688次阅读
    <b class='flag-5'>Wi-Fi</b> 7与<b class='flag-5'>Wi-Fi</b> 6的相关知识科普

    Wi-Fi的诞生与发展

    短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
    的头像 发表于 03-07 08:26 1129次阅读
    <b class='flag-5'>Wi-Fi</b>的诞生与发展

    Wi-Fi HaLow和传统Wi-Fi的区别

    Wi-Fi HaLow和传统Wi-Fi的区别  Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,Wi-Fi也在不断演进和
    的头像 发表于 02-02 15:28 1107次阅读

    康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi

     康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
    的头像 发表于 01-23 14:10 700次阅读

    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
    的头像 发表于 12-09 16:09 2191次阅读

    什么是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
    的头像 发表于 11-27 17:09 2291次阅读