• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 移植通信子系统
2
3
4通信子系统目前涉及Wi-Fi和蓝牙适配,厂商应当根据芯片自身情况进行适配。
5
6
7## 移植指导
8
9Wi-Fi编译文件内容如下:
10
11  路径:“foundation/communication/wifi_lite/BUILD.gn12
13```
14group("wifi") {
15  deps = [ "$ohos_board_adapter_dir/hals/communication/wifi_lite/wifiservice:wifiservice" ]
16}
17```
18
19从中可以看到厂商适配相关接口的.c文件存放目录应为“$ohos_board_adapter_dir/hals/communication/wifi_lite/wifiservice”,且该目录下BUILD.gn文件中的目标应为“wifiservice”。需要厂商适配的Wi-Fi接口见表1 、表2 和表3,蓝牙接口见表4和表5。
20
21  **表1** wifi_device.h
22
23| 接口 | 作用 |
24| -------- | -------- |
25| EnableWifi | 启用Wi-Fista模式。 |
26| DisableWifi | 禁用Wi-Fi sta模式。 |
27| IsWifiActive | 检查Wi-Fi sta模式是否启用。 |
28| Scan | 扫描热点信息。 |
29| GetScanInfoList | 获取所有扫描到的热点列表。 |
30| AddDeviceConfig | 配置连接到的热点信息。 |
31| GetDeviceConfigs | 获取配置连接到的热点信息。 |
32| RemoveDevice | 删除指定的热点配置信息。 |
33| ConnectTo | 接到指定的热点。 |
34| Disconnect | 断开Wi-Fi连接。 |
35| GetLinkedInfo | 获取热点连接信息。 |
36| RegisterWifiEvent | 为指定的Wi-Fi事件注册回调。 |
37| UnRegisterWifiEvent | 取消注册以前为指定Wi-Fi事件注册的回调。 |
38| GetDeviceMacAddress | 获取设备的MAC地址。 |
39| AdvanceScan | 根据指定参数启动Wi-Fi扫描。 |
40
41  **表2** wifi_hotspot_config.h
42
43| 接口 | 作用 |
44| -------- | -------- |
45| SetBand | 设置该热点的频段。 |
46| GetBand | 获取该热点的频段。 |
47
48  **表3** wifi_hotspot.h
49
50| 接口 | 作用 |
51| -------- | -------- |
52| EnableHotspot | 启用Ap热点模式。 |
53| DisableHotspot | 禁用Ap热点模式。 |
54| SetHotspotConfig | 设置指定的热点配置。 |
55| GetHotspotConfig | 获取指定的热点配置。 |
56| IsHotspotActive | 检查Ap热点模式是否启用。 |
57| GetStationList | 获取连接到此热点的一系列STA。 |
58| GetSignalLevel | 获取指定接收信号强度指示器(RSSI)和频带指示的信号电平。 |
59| DisassociateSta | 使用指定的MAC地址断开与STA的连接。 |
60| AddTxPowerInfo | 将hotspot功率发送到beacon。 |
61
62  **表4** ohos_bt_gatt.h
63
64| 接口 | 作用 |
65| -------- | -------- |
66| InitBtStack | 初始化蓝牙协议栈。 |
67| EnableBtStack | 使能蓝牙协议栈。 |
68| DisableBtStack | 禁用蓝牙协议栈。 |
69| SetDeviceName | 设置蓝牙设备名称。 |
70| BleSetAdvData | 设置广播数据。 |
71| BleStartAdv | 开始广播。 |
72| BleStartAdvEx | 传入构建好的广播数据,参数,开启蓝牙广播。 |
73| BleStopAdv | 停止发送广播。 |
74| BleUpdateAdv | 更新advertising参数。 |
75| BleSetSecurityIoCap | 设置蓝牙的IO能力为NONE,配对方式为justworks。 |
76| BleSetSecurityAuthReq | 设置蓝牙是否需要配对绑定。 |
77| BleGattSecurityRsp | 响应安全连接请求。 |
78| ReadBtMacAddr | 获取设备MAC地址。 |
79| BleSetScanParameters | 设置扫描参数。 |
80| BleStartScan | 开始扫描。 |
81| BleStopScan | 停止扫描。 |
82| BleGattRegisterCallbacks | 注册gap,GATT事件回调函数。 |
83
84  **表5** ohos_bt_gatt_server.h
85
86| 接口 | 作用 |
87| -------- | -------- |
88| BleGattsRegister | 使用指定的应用程序UUID注册GATT服务器。 |
89| BleGattsUnRegister | 断开GATT服务器与客户端的连接。 |
90| BleGattsDisconnect | 断开GATT服务器与客户端的连接。 |
91| BleGattsAddService | 添加了一个服务。 |
92| BleGattsAddIncludedService | 将包含的服务添加到指定的服务。 |
93| BleGattsAddCharacteristic | 向指定的服务添加特征。 |
94| BleGattsAddDescriptor | 将描述符添加到指定的特征。 |
95| BleGattsStartService | 启动一个服务。 |
96| BleGattsStopService | 停止服务。 |
97| BleGattsDeleteService | 删除一个服务。 |
98| BleGattsClearServices | 清除所有服务。 |
99| BleGattsSendResponse | 向接收到读取或写入请求的客户端发送响应。 |
100| BleGattsSendIndication | 设备侧向APP发送蓝牙数据。 |
101| BleGattsSetEncryption | 设置GATT连接的加密类型。 |
102| BleGattsRegisterCallbacks | 注册GATT服务器回调。 |
103| BleGattsStartServiceEx | 根据传入的服务列表,创建gatt服务。 |
104| BleGattsStopServiceEx | 传入gatt服务句柄,停止gatt服务。 |
105
106> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
107> 不同版本接口可能存在差异,需要根据当前版本的具体文件进行适配。
108
109
110## 适配实例
111
1121. 在“config.json”中添加communication子系统。
113   路径:“vendor/MyVendorCompany/MyProduct/config.json114
115   修改如下:
116
117
118   ```
119   {
120       "subsystem": "communication",
121       "components": [
122           { "component": "wifi_lite", "features":[] }
123       ]
124   },
125   ```
126
1272. 添加适配文件。
128
129   在“vendor/MyVendorCompany/MyProduct/config.json”文件中,通常将配置“ohos_board_adapter_dir”配置为 “//vendor/MyVendorCompany/MyProduct/adapter”。
130
131   在“ohos_board_adapter_dir”目录下根据上述适配指导中提到的头文件,适配Wi-Fi、蓝牙接口。
132