梅科尔工作室-看鸿蒙设备开发实战14天笔记(六)-无线联网开发
###本文章仅整理视频笔记及对一些地方的解释,如果想看详细内容,请在鸿蒙开发者学堂搜索鸿蒙设备开发###
###本文章图片来自视频后PDF文档,本文侧重代码讲解###
1.WiFi AP热点
1.1.AP热点API介绍
1.2.实例代码
1.3.代码讲解
打开相关文件,引入库文件,并定义AP热点id与密钥
定义一个AP Demo任务
定义三个回调函数
第一个函数创建一个任务并回调下图函数,第二个获取断开AP热点的主机地址信息并打印,第三个函数打印主机发送变化时的信息
将加入的主机地址添加到List中并打印加入的主机地址的信息,想要加入到List并获取的话,还需做以下更改
打开如下文件,找到第178行
将staNum的值改为上一行中括号中的值。如下图。
设置AP 热点
将之前定义的三个函数注册在WIFI事件中,并且判断是否注册成功,成功后对AP热点进行配置(config),设置id,密钥,安全模式,波段(2G频段),channel数量。之后判断是否配置成功。
配置成功后启动WIFI AP 热点并判断是否启动成功,成功后判断热点是否使能。
AP 热点都配置好启动后,启动dhcp(一种网络协议),定义三个变量并进行配置(三个变量分别为网关,ip地址和子网掩码),之后进行设置并判断1是否设置成功,成功后启动并判断是否启动成功。netif(网络接口结构体)。
2.WIFI STA联网
2.1.相关API函数接口
2.2.实例代码
2.3.代码讲解
打开文件,引入库文件
引入库文件后定义扫描时间,定义相关函数(初始化,扫描,连接,扫描改变,连接改变,hotspot连接,hotspot断开,hotspot改变),定义变量,是否扫描成功,是否连接成功,wifi数,wifi事件,定义wlan port,定义想要连接的wifi名,密钥,加密类型。
定义STA连接任务
初始化wifi,将相关函数注册到wifi事件。
比较关键的是下图的两个函数,扫描发生改变变量赋值1,连接成功相关变量赋值1,否则打印连接失败检查password。
初始化后使能wifi并判断是否使能成功,之后判断wifi是否激活,激活成功后为wifi信息分配空间并判断是否分配成功。
查找wifi并打印出wifi列表
等待扫描函数
扫描15s如果一个都没扫描到,输出扫描超时,否则打印扫描成功。当g_staScanSuccess不为1时持续执行查找wifi列表函数。
连接一开始定义的指定的wifi,遍历wifi列表,如果没有找到,打印没有期望的wifi,如果找到,打印等待连接,并对wifi进行配置(wifi名,密钥,加密方式)对应成功后尝试连接,如果连接成功打印连接成功提示。
之后启动DHCP并等待DHCP,如果等待成功执行其他操作。