1 代码说明
- 初始化Wi-Fi协议栈,可以使用
mxos_network_init只初始化Wi-Fi协议栈,也可以使用mxos_system_init初始化系统顺便初始化Wi-Fi协议栈 - 使用
mxos_system_notify_register注册【WiFi状态改变】事件的回调函数wifi_status_notify - 定义AP的网络属性
- localip
- netmask
- dnsserver
- gateway
- 调用
mwifi_softap_start启动热点 - 调用
mwifi_softap_stop可以关闭热点
1.1 mxos_system_notify_register
见https://www.yuque.com/zhaohongyu-jn3s2/mxchip/pfr1nm#xqRXV
1.2 回调函数
void wifi_status_notify(int event, void *arg)
第一个参数是事件类型,定义如下: ```cpp enum { NOTIFY_STATION_UP = 1, // STA模式,连接路由器成功 NOTIFY_STATION_DOWN, // STA模式,断开与路由器的连接
NOTIFY_AP_UP, // AP热点启动 NOTIFY_AP_DOWN, // AP热点关闭
NOTIFY_ETH_UP, // NOTIFY_ETH_DOWN, // };
<a name="RoExg"></a>## 1.3 mwifi_softap_start```cpp/*** @brief start soft-ap* @param ssid ssid of the soft-ap* @param key passphrase of the soft-ap* @param channel channel of the soft-ap* @param attr ip address atrributes of soft-ap** @return result* @retval kNoErr sucess* @retval others failure*/merr_t mwifi_softap_start(const char *ssid, char *key, int channel, mwifi_ip_attr_t *attr);
结构体mwifi_ip_attr_t
/*** @brief IP address attributes*/typedef struct{char localip[16]; /**< lcoal ip address */char netmask[16]; /**< netmask */char gateway[16]; /**< gateway ip address */char dnserver[16]; /**< dns server ip address */} mwifi_ip_attr_t;
1.4 mwifi_softap_stop
/*** @brief stop soft-ap** @return result* @retval kNoErr sucess* @retval others failure*/merr_t mwifi_softap_stop(void);
1.5 实现dhcps_client_new
void dhcps_client_new(uint32_t client_ip, uint8_t *chaddr){app_log("%s, ip = %d.%d.%d.%d(%08X), mac = %02X:%02X:%02X:%02X:%02X:%02X", __FUNCTION__, (uint8_t)((uint32_t)client_ip & 0x000000FF), (uint8_t)(((uint32_t)client_ip & 0x0000FFFF) >> 8), (uint8_t)(((uint32_t)client_ip & 0x00FFFFFF) >> 16), (uint8_t)(((uint32_t)client_ip & 0xFFFFFFFF) >> 24), (unsigned int)client_ip, chaddr[0], chaddr[1], chaddr[2], chaddr[3], chaddr[4], chaddr[5]);}
函数功能:当有终端连接到模组的热点时,系统会调用此函数
第一个参数:连到模组热点的终端的IP地址,如C000000A,表示10.0.0.192
第二个参数:连到模组热点的终端的MAC地址,6个字节
:::info 注意:有些芯片不支持这个功能。详见本文第2节。 :::
2 各模组情况
| No | 芯片 | 编译命令 | dhcps_client_new |
|---|---|---|---|
| 1 | MX1300 | mdev build wifi/softap/ emc3080mdev build wifi/softap/ emc3180 |
不支持 |
| 2 | MX131x | mdev build wifi/softap/ emc3280mdev build wifi/softap/ emc3380 |
未知 |
| 3 | TG7100C | mdev不支持对此芯片执行-f操作,需要使用其他软件烧录固件mdev build hal/adc/ emc3020 |
支持 |
| 4 | MX1290 | mdev build wifi/softap/ emw3080 |
支持 |
| 5 | |||
| 6 | |||
| 7 |
