本文來源電子發燒友社區,作者: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("http://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
+關注
關注
15文章
2424瀏覽量
129566 -
HarmonyOS
+關注
關注
80文章
2153瀏覽量
36054 -
HiSpark
+關注
關注
1文章
156瀏覽量
7757
發布評論請先 登錄
相關推薦
熱點推薦
技術資訊 I Wi-Fi 模塊設計
本文要點Wi-Fi模塊設計旨在打造一套緊湊且高效的硬件和軟件解決方案,使設備能夠通過Wi-Fi網絡實現通信。Wi-Fi模塊設計是一個復雜的過程,要求研發人員兼具硬件與軟件工程方面的專業知識
ESP32 Wi-Fi 控制 LED 燈的原理
控制LED燈的——從底層硬件連接,到網絡通信邏輯,一步步拆解整個過程。一、系統概覽ESP32是一顆集成度極高的芯片,內置Wi-Fi、藍牙、雙核MCU和豐富的外設接
Wi-Fi:無線連接的全球通用語
一、什么是Wi-Fi?Wi-Fi是Wi-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 6模塊推薦 | 物聯網設備集成攻略
物聯網的快速發展,Wi-Fi技術的成熟的情況下,越來越多的場景需要用到Wi-Fi來無線傳輸數據,尤其是移動設備中,怎么再設備中選擇合適的Wi-Fi模塊呢?下面我們來介紹下Wi-Fi模塊
淺談Wi-Fi 6E與Wi-Fi 7的關鍵器件——BAW濾波器新技術
作者: Qorvo 亞太區無線連接事業部高級行銷經理林健富 ? 2020年1月,Wi-Fi聯盟正式宣布開放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
發表于 09-19 18:29
?2137次閱讀
LitePoint Wi-Fi測試軟件減輕客戶設計負擔
自Wi-Fi 7于一年多前獲得Wi-Fi聯盟認證以來,作為最新一代通信技術,Wi-Fi正逐步成為用戶實現無所不在無線連接的新選擇。隨著每一代Wi-Fi信號復雜性的提升,建議將硬件測試納
有沒有什么修復方法可以確保 AP 模式下的 Wi-Fi 和 BLE 連接同時正常工作?
我正在使用 CYBSYSKIT DEV 01 套件。我嘗試在 AP 模式下打開 Wi-Fi 并宣傳 BLE。我可以宣傳 SoftAP 和 BLE。但是,我無法從中央設備連接到 BLE。它可以立即連接并斷開連接。有沒有什么修復方法可以確保 AP 模式下的
發表于 07-17 06:13
科普|公司的Wi-Fi,為什么這么慢?
大家在公司上班,經常會使用到Wi-Fi。最近這幾年,隨著時代的發展,高清視頻會議等大帶寬網絡應用越來越普遍。而公司的網絡,卻非常不給力,頻繁卡頓,嚴重影響使用體驗。哪怕IT的同事已經把網絡優化得很
Wi-Fi 8:開啟極高可靠性 (UHR) 連接的新紀元——1
英國作家狄更斯在《雙城記》的開頭寫道:“這是最好的時代,也是最壞的時代。”
這句話若套用在現今Wi-Fi 的市場現狀,何嘗不是驚人的相似?
怎么說呢?Wi-Fi 從被發明至今已經經過了20多年的迭代
發表于 06-13 11:09
Wi-Fi HaLow如何突破傳統Wi-Fi性能瓶頸?
視頻推薦在萬物互聯的時代,傳統Wi-Fi在覆蓋范圍、功耗、連接數上漸顯不足。而Wi-FiHaLow的誕生,正在用黑科技打破傳統Wi-Fi的性能瓶頸!今天,我們一起來探究Wi-FiHaL
基于 Wi-Fi 的定位服務
以下捕獲使用 location_wifi_get 函數請求 Wi-Fi 定位服務。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。
Got location:
method
發表于 04-17 15:16
nRF Cloud Wi-Fi 定位服務
、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過利用 nRF Cloud 的優化定位算法,基于 Nordic SoC 和 模組的產品可在定位用例
發表于 04-17 15:07
Wi-Fi 定位服務
Wi-Fi 是一種著名的無線網絡技術,用于設備的局域網和互聯網接入。Wi-Fi 通過 Wi-Fi 網絡為家庭、辦公室和學校等環境提供便捷的無線互聯網接入服務。
Wi-Fi 定位是一種
發表于 04-17 15:01
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】感應燈Demo
評論