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
    +关注

    关注

    15

    文章

    2484

    浏览量

    130192
  • HarmonyOS
    +关注

    关注

    80

    文章

    2157

    浏览量

    36402
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    7814
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Lantronix xPico Wi-Fi嵌入式设备服务器评估套件使用指南

    Lantronix xPico Wi-Fi嵌入式设备服务器评估套件使用指南 在电子设备开发领域,嵌入式设备服务器的应用越来越广泛。Lantronix的xPico Wi-Fi嵌入式设备服务器评估
    的头像 发表于 05-21 14:05 72次阅读

    技术资讯 I Wi-Fi 模块设计

    本文要点Wi-Fi模块设计旨在打造一套紧凑且高效的硬件和软件解决方案,使设备能够通过Wi-Fi网络实现通信。Wi-Fi模块设计是一个复杂的过程,要求研发人员兼具硬件与软件工程方面的专业知识
    的头像 发表于 02-27 17:12 985次阅读
    技术资讯 I <b class='flag-5'>Wi-Fi</b> 模块设计

    ESP32 Wi-Fi 控制 LED 的原理

    控制LED的——从底层硬件连接,到网络通信逻辑,一步步拆解整个过程。一、系统概览ESP32是一颗集成度极高的芯片,内置Wi-Fi、蓝牙、双核MCU和丰富的外设接
    的头像 发表于 01-09 19:04 704次阅读
    ESP32 <b class='flag-5'>Wi-Fi</b> 控制 LED <b class='flag-5'>灯</b>的原理

    Wi-Fi:无线连接的全球通用语

    一、什么是Wi-FiWi-FiWi-Fi联盟制造商的商标认证,是基于IEEE 802.11标准的无线局域网技术。它允许电子设备在特定范围内无线接入网络,实现高速数据交换与互联网访问,已成为
    发表于 01-07 09:49

    Nordic发布nRF7002 EBII 开发板, 支持Wi-Fi 6, 解锁nRF54L新玩法

    Wi-Fi 6 功能,帮助开发人员创建高性能、高能效的Wi-Fi 6 物联网解决方案。 基于 Nordic 的 nRF7002 Wi-Fi 协同 IC,nRF7002 EBII帮助 采用
    发表于 12-10 11:58

    无线模块全解析:Wi-Fi模块、蓝牙模块、双频Wi-Fi、MQTT协议与低功耗方案

    什么是Wi-Fi/What is Wi-Fi,首先Wi-Fi又称“无线热点”或“无线网络”,是Wi-Fi联盟的商标,一个基于IEEE 802.11标准的无线局域网技术。“
    的头像 发表于 12-10 09:52 101次阅读
    无线模块全解析:<b class='flag-5'>Wi-Fi</b>模块、蓝牙模块、双频<b class='flag-5'>Wi-Fi</b>、MQTT协议与低功耗方案

    Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略

    物联网的快速发展,Wi-Fi技术的成熟的情况下,越来越多的场景需要用到Wi-Fi来无线传输数据,尤其是移动设备中,怎么再设备中选择合适的Wi-Fi模块呢?下面我们来介绍下Wi-Fi模块
    的头像 发表于 12-09 11:27 1467次阅读
    <b class='flag-5'>Wi-Fi</b>模块选型指南 | 低功耗蓝牙/<b class='flag-5'>Wi-Fi</b> 6模块推荐 | 物联网设备集成攻略

    浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术

    作者: Qorvo 亚太区无线连接事业部高级行销经理林健富   2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
    发表于 09-19 18:29 2574次阅读
    浅谈<b class='flag-5'>Wi-Fi</b> 6E与<b class='flag-5'>Wi-Fi</b> 7的关键器件——BAW滤波器新技术

    如何更新 NuMaker IoT 板上的 Wi-Fi 模块固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模块固件
    发表于 09-04 08:28

    基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较

    随着 nRF7000 Wi-Fi 协同 IC 的推出,我们现在可以提供具有 Wi-Fi、蜂窝物联网和 GNSS 功能的完整硅到云定位解决方案。nRF7000 针对 Wi-Fi 网络扫描进行了优化
    发表于 08-31 21:01

    LitePoint Wi-Fi测试软件减轻客户设计负担

    Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
    的头像 发表于 08-06 15:34 1474次阅读
    LitePoint <b class='flag-5'>Wi-Fi</b>测试软件减轻客户设计负担

    有没有什么修复方法可以确保 AP 模式下的 Wi-Fi 和 BLE 连接同时正常工作?

    我正在使用 CYBSYSKIT DEV 01 套件。我尝试在 AP 模式下打开 Wi-Fi 并宣传 BLE。我可以宣传 SoftAP 和 BLE。但是,我无法从中央设备连接到 BLE。它可以立即连接并断开连接。有没有什么修复方法可以确保 AP 模式下的
    发表于 07-17 06:13

    如何选择合适的芯科科技Wi-Fi开发板

    您正在寻找适用于超低功耗物联网应用项目的Wi-Fi 开发板吗?本文将介绍Silicon Labs(芯科科技)推出的所有SiWx917 Wi-Fi 6和低功耗蓝牙5.4解决方案的Wi-Fi 开发板。SiWx917是目前市场上最节能
    的头像 发表于 07-09 09:15 3142次阅读

    科普|公司的Wi-Fi,为什么这么慢?

    大家在公司上班,经常会使用到Wi-Fi。最近这几年,随着时代的发展,高清视频会议等大带宽网络应用越来越普遍。而公司的网络,却非常不给力,频繁卡顿,严重影响使用体验。哪怕IT的同事已经把网络优化得很
    的头像 发表于 06-20 06:06 1932次阅读
    科普|公司的<b class='flag-5'>Wi-Fi</b>,为什么这么慢?

    Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1

    英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。” 这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似? 怎么说呢?Wi-Fi 从被发明至今已经经过了20多年的迭代
    发表于 06-13 11:09