通信子系统目前涉及Wi-Fi和蓝牙适配,厂商应当根据芯片自身情况进行适配。
移植指导
Wi-Fi编译文件内容如下:
路径:“foundation/communication/wifi_lite/BUILD.gn”
group("wifi") {
deps = [ "$ohos_board_adapter_dir/hals/communication/wifi_lite/wifiservice:wifiservice" ]
}
从中可以看到厂商适配相关接口的.c文件存放目录应为“$ohos_board_adapter_dir/hals/communication/wifi_lite/wifiservice”,且该目录下BUILD.gn文件中的目标应为“wifiservice”。需要厂商适配的Wi-Fi接口见表1 、表2 和表3,蓝牙接口见表4和表5。
表1 wifi_device.h
接口 | 作用 |
---|---|
EnableWifi | 启用Wi-Fista模式。 |
DisableWifi | 禁用Wi-Fi sta模式。 |
IsWifiActive | 检查Wi-Fi sta模式是否启用。 |
Scan | 扫描热点信息。 |
GetScanInfoList | 获取所有扫描到的热点列表。 |
AddDeviceConfig | 配置连接到的热点信息。 |
GetDeviceConfigs | 获取配置连接到的热点信息。 |
RemoveDevice | 删除指定的热点配置信息。 |
ConnectTo | 接到指定的热点。 |
Disconnect | 断开Wi-Fi连接。 |
GetLinkedInfo | 获取热点连接信息。 |
RegisterWifiEvent | 为指定的Wi-Fi事件注册回调。 |
UnRegisterWifiEvent | 取消注册以前为指定Wi-Fi事件注册的回调。 |
GetDeviceMacAddress | 获取设备的MAC地址。 |
AdvanceScan | 根据指定参数启动Wi-Fi扫描。 |
表2 wifi_hotspot_config.h
接口 | 作用 |
---|---|
SetBand | 设置该热点的频段。 |
GetBand | 获取该热点的频段。 |
表3 wifi_hotspot.h
接口 | 作用 |
---|---|
EnableHotspot | 启用Ap热点模式。 |
DisableHotspot | 禁用Ap热点模式。 |
SetHotspotConfig | 设置指定的热点配置。 |
GetHotspotConfig | 获取指定的热点配置。 |
IsHotspotActive | 检查Ap热点模式是否启用。 |
GetStationList | 获取连接到此热点的一系列STA。 |
GetSignalLevel | 获取指定接收信号强度指示器(RSSI)和频带指示的信号电平。 |
DisassociateSta | 使用指定的MAC地址断开与STA的连接。 |
AddTxPowerInfo | 将hotspot功率发送到beacon。 |
表4 ohos_bt_gatt.h
接口 | 作用 |
---|---|
InitBtStack | 初始化蓝牙协议栈。 |
EnableBtStack | 使能蓝牙协议栈。 |
DisableBtStack | 禁用蓝牙协议栈。 |
SetDeviceName | 设置蓝牙设备名称。 |
BleSetAdvData | 设置广播数据。 |
BleStartAdv | 开始广播。 |
BleStartAdvEx | 传入构建好的广播数据,参数,开启蓝牙广播。 |
BleStopAdv | 停止发送广播。 |
BleUpdateAdv | 更新advertising参数。 |
BleSetSecurityIoCap | 设置蓝牙的IO能力为NONE,配对方式为justworks。 |
BleSetSecurityAuthReq | 设置蓝牙是否需要配对绑定。 |
BleGattSecurityRsp | 响应安全连接请求。 |
ReadBtMacAddr | 获取设备MAC地址。 |
BleSetScanParameters | 设置扫描参数。 |
BleStartScan | 开始扫描。 |
BleStopScan | 停止扫描。 |
BleGattRegisterCallbacks | 注册gap,GATT事件回调函数。 |
表5 ohos_bt_gatt_server.h
接口 | 作用 |
---|---|
BleGattsRegister | 使用指定的应用程序UUID注册GATT服务器。 |
BleGattsUnRegister | 断开GATT服务器与客户端的连接。 |
BleGattsDisconnect | 断开GATT服务器与客户端的连接。 |
BleGattsAddService | 添加了一个服务。 |
BleGattsAddIncludedService | 将包含的服务添加到指定的服务。 |
BleGattsAddCharacteristic | 向指定的服务添加特征。 |
BleGattsAddDescriptor | 将描述符添加到指定的特征。 |
BleGattsStartService | 启动一个服务。 |
BleGattsStopService | 停止服务。 |
BleGattsDeleteService | 删除一个服务。 |
BleGattsClearServices | 清除所有服务。 |
BleGattsSendResponse | 向接收到读取或写入请求的客户端发送响应。 |
BleGattsSendIndication | 设备侧向APP发送蓝牙数据。 |
BleGattsSetEncryption | 设置GATT连接的加密类型。 |
BleGattsRegisterCallbacks | 注册GATT服务器回调。 |
BleGattsStartServiceEx | 根据传入的服务列表,创建gatt服务。 |
BleGattsStopServiceEx | 传入gatt服务句柄,停止gatt服务。 |
说明: 不同版本接口可能存在差异,需要根据当前版本的具体文件进行适配。
适配实例
-
在“config.json”中添加communication子系统。 路径:“vendor/MyVendorCompany/MyProduct/config.json”
修改如下:
{ "subsystem": "communication", "components": [ { "component": "wifi_lite", "features":[] } ] },
-
添加适配文件。
在“vendor/MyVendorCompany/MyProduct/config.json”文件中,通常将配置“ohos_board_adapter_dir”配置为 “//vendor/MyVendorCompany/MyProduct/adapter”。
在“ohos_board_adapter_dir”目录下根据上述适配指导中提到的头文件,适配Wi-Fi、蓝牙接口。
最后
有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS NEXT学习资料
鸿蒙(HarmonyOS NEXT)最新学习路线
-
HarmonOS基础技能
- HarmonOS就业必备技能
- HarmonOS多媒体技术
- 鸿蒙NaPi组件进阶
- HarmonOS高级技能
- 初识HarmonOS内核
- 实战就业级设备开发
有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS NEXT学习资料
《鸿蒙 (OpenHarmony)开发入门教学视频》
《鸿蒙生态应用开发V2.0白皮书》
《鸿蒙 (OpenHarmony)开发基础到实战手册》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
- ArkTS语言
- 安装DevEco Studio
- 运用你的第一个ArkTS应用
- ArkUI声明式UI开发
- .……
《鸿蒙开发进阶》
- Stage模型入门
- 网络管理
- 数据管理
- 电话服务
- 分布式应用开发
- 通知与窗口管理
- 多媒体技术
- 安全技能
- 任务管理
- WebGL
- 国际化开发
- 应用测试
- DFX面向未来设计
- 鸿蒙系统移植和裁剪定制
- ……
《鸿蒙进阶实战》
- ArkTS实践
- UIAbility应用
- 网络案例
- ……
获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS NEXT学习资料
总结
总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。