HarmonyOS鸿蒙Next WiFi IoT智能家居套件 - Helloworld及基本开发框架
HarmonyOS鸿蒙Next WiFi IoT智能家居套件 - Helloworld及基本开发框架 参考官方教程:Hi3861开发板第一个示例程序
- 目录结构规划
在app下新增业务hello_world,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下:
.
└── applications
└── sample
└── wifi-iot
└── app
│── hello_world
│── hello_world.c
└── BUILD.gn
└── BUILD.gn
- hello_world.c 源码
/*
业务代码的架构
1.任务处理函数HelloWorld_Task,实现业务初始化,并在while(1)中实现循环处理的业务
2.任务入口函数HelloWorld_Entry:实现任务的初始化,并注册任务处理函数
3.调用鸿蒙SYS_RUN(HelloWorld_Entry); 实现业务的注册
*/
#include <stdio.h>
#include <unistd.h>
#include "ohos_init.h"
#include "cmsis_os2.h"
/*1. 任务函数:hello_world任务*/
static void* HelloWorld_Task(const char* arg)
{
(void)arg;
printf("[HelloWorld] HelloWorld_Task()\n");
while(1)
{
//logic code for task
usleep(500000);//us延时
}
return NULL;
}
/*2.任务入口函数:实现任务的初始化*/
static void HelloWorld_Entry(void)
{
osThreadAttr_t attr = {0};
printf("[HelloWorld] HelloWorld_Entry()\n");
attr.name = "HelloWorld_Task";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = 1024;
attr.priority = osPriorityNormal;
if (osThreadNew((osThreadFunc_t)HelloWorld_Task, NULL, &attr) == NULL)
{
printf("[HelloWorld] Falied to create LedTask!\n");
}
}
SYS_RUN(HelloWorld_Entry);
- 业务代码的编译脚本 BUILD.gn
路径:code/applications/sample/wifi-iot/app/hello_world/BUILD.gn
static_library("hello_world_app") {
sources = [
"hello_world.c"
]
include_dirs = [
"//utils/native/lite/include",
"//kernel/liteos_m/components/cmsis/2.0",
"//base/iot_hardware/interfaces/kits/wifiiot_lite",
]
}
路径:code/applications/sample/wifi-iot/app/BUILD.gn
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"startup",
"hello_world:hello_world_app",
]
}
-
执行结果:
-
总结
注意业务代码的项目路径,一定是在code/applications/sample/wifi-iot/app/目录下,按照业务进行新建文件夹
一个业务,可以理解为一个任务或者一个线程,比如OLED液晶显示可以单独做为一个业务,流水灯可以单独作为一个业务。
后续代码,简单的功能会继续在hello_world业务上进行添加,比如LED流水灯、按键中断灯,复杂的功能(比如WIFI,OLED显示)会重新起一个新的业务。
HarmonyOS鸿蒙Next WiFi IoT智能家居套件提供了基于鸿蒙操作系统的智能家居开发框架。Helloworld示例展示了如何快速搭建一个基本的智能家居应用。开发框架主要包括设备管理、网络通信、数据存储和用户界面等模块。设备管理模块负责设备的注册、发现和控制;网络通信模块支持WiFi、蓝牙等协议,确保设备间的互联互通;数据存储模块提供本地和云端数据存储方案;用户界面模块则支持多种UI组件和布局方式,便于开发者快速构建用户界面。通过该套件,开发者可以高效地开发出功能丰富的智能家居应用。
更多关于HarmonyOS鸿蒙Next WiFi IoT智能家居套件 - Helloworld及基本开发框架的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS鸿蒙Next WiFi IoT智能家居套件提供了完整的开发框架,帮助开发者快速上手智能家居应用开发。Helloworld示例展示了如何初始化设备、连接WiFi网络,并通过鸿蒙的分布式能力实现设备间的通信。开发框架包括设备管理、网络连接、数据同步等核心模块,支持多种通信协议如MQTT、CoAP,确保设备间高效、稳定的数据传输。开发者可通过鸿蒙IDE进行代码编写、调试和部署,利用丰富的API和组件快速构建智能家居解决方案。