客户端进入室内后(局域网)能够主动发现服务(如: 环境服务,灯光服务)
各种服务可以有不同的载体(如:由不同设备提供)
各种服务之间,服务与客户端之间完全无耦合(服务可自由增减)
客户端可以是移动APP,也可以是桌面软件
发现服务:UDP广播+自定义协议
服务自定义增减
提供服务的设备(嵌入式,服务器,PC,等)必须具备联网能力,且遵循服务协议
服务发现
服务应答
通过广播服务发现数据包,收集当前环境的服务信息
可用服务通过"菜单"方式呈现,并提示服务使用方式
选择服务后,连接到对应设备,通过协议消息发送服务请求命令
收到设备回复后,断开设备连接(请求-应答)
联网模块
服务前端
服务后端
设备上运行什么操作系统?
设备运行的系统中如何创建多个并行执行的任务?
设备如何通过wifi联网?
设备上的网络编程通过什么接口完成?
基于OpenHarmony操作系统完成一个sample:创建一个线程打印一句话,并在小熊开发板上运行。
main_entry.c
- #include
- #include "ohos_init.h"
- #include "cmsis_os2.h"
-
- static void* Task_Iniit(const char* arg)
- {
- printf("Hello D.T.Software!\n");
-
- return arg;
- }
-
- static void Main_Entry(void)
- {
- osThreadAttr_t attr = {0};
-
- attr.name = "Task_Iniit";
- attr.stack_size = 4 * 1024;
- attr.priority = 20;
-
- if(osThreadNew((osThreadFunc_t)Task_Iniit, NULL, &attr) == NULL)
- {
- printf("failed to create task!\n");
- }
- }
-
- SYS_RUN(Main_Entry);
执行结果如下所示:
如何在设备上进行Wifi编程?