openharmony 鸿蒙 porting-minichip-subsys-communication

2022-10-28 浏览 (1279)

移植通信子系统

通信子系统目前涉及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服务。

icon-note.gif 说明: 不同版本接口可能存在差异,需要根据当前版本的具体文件进行适配。

适配实例

  1. 在“config.json”中添加communication子系统。 路径:“vendor/MyVendorCompany/MyProduct/config.json”

    修改如下:

    { 
        "subsystem": "communication", 
        "components": [ 
            { "component": "wifi_lite", "features":[] }
        ] 
    },
    
  2. 添加适配文件。

    在“vendor/MyVendorCompany/MyProduct/config.json”文件中,通常将配置“ohos_board_adapter_dir”配置为 “//vendor/MyVendorCompany/MyProduct/adapter”。

    在“ohos_board_adapter_dir”目录下根据上述适配指导中提到的头文件,适配Wi-Fi、蓝牙接口。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙概述

harmony 鸿蒙Combo解决方案之ASR芯片移植案例

harmony 鸿蒙轻量带屏解决方案之恒玄芯片移植案例

harmony 鸿蒙常见问题

harmony 鸿蒙物联网解决方案之芯海cst85芯片移植案例

harmony 鸿蒙标准系统方案之瑞芯微RK3568移植案例

harmony 鸿蒙一种快速移植OpenHarmony Linux内核的方法

harmony 鸿蒙移植内核

harmony 鸿蒙概述

harmony 鸿蒙移植准备

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/676aedae58e6431da928b93ce1e8f41b