This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc3200 wifi 做ap模式的问题?



问题一:

官方的wlan_ap,电脑通过wifi可以连接到设备,也能正常通信。

可是这种链接是无需密码的,如果想电脑连接时需要设定密码该如何实现???

问题二:电脑连接时,开发板能否给他指定分配一个IP。

问题三:void SimpleLinkNetAppEventHandler(SlNetAppEvent_t *pNetAppEvent)

              这个函数是如果实现触发的,也就是说在哪调用的。

求教!

  • 刚说的第二个问题是,外设通过WIFI连接AP端,AP端能否给电脑分配一个指定IP。也即静态IP。

  • 1, 请参考wlan.h

    \param[in] ConfigLen - configurations len

    \param[in] pValues - configurations values

    \sa
    \note
    \warning
    \par Examples:
    \par
    <b> WLAN_AP_OPT_SSID: </b>
    \code
    _u8 str[33];
    memset(str, 0, 33);
    memcpy(str, ssid, len); // ssid string of 32 characters
    sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_SSID, strlen(ssid), str);
    \endcode
    \par
    <b> WLAN_AP_OPT_CHANNEL: </b>
    \code
    _u8 val = channel;
    sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_CHANNEL, 1, (_u8 *)&val);
    \endcode
    \par
    <b> WLAN_AP_OPT_HIDDEN_SSID: </b>
    \code
    _u8 val = hidden;
    sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_HIDDEN_SSID, 1, (_u8 *)&val);
    \endcode
    \par
    <b> WLAN_AP_OPT_SECURITY_TYPE: </b>
    \code
    _u8 val = SL_SEC_TYPE_WPA_WPA2;
    sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_SECURITY_TYPE, 1, (_u8 *)&val);
    \endcode
    \par
    <b> WLAN_AP_OPT_PASSWORD: </b>
    \code
    _u8 str[65];
    _u16 len = strlen(password);
    memset(str, 0, 65);
    memcpy(str, password, len);
    sl_WlanSet(SL_WLAN_CFG_AP_ID, WLAN_AP_OPT_PASSWORD, len, (_u8 *)str);
    \endcode

    2, 请参考netcfg.h

    \code
    SL_IPV4_AP_P2P_GO_STATIC_ENABLE:

    Setting a static IP address to the device working in AP mode or P2P go.
    The IP address will be stored in the FileSystem. Requires restart.

    SlNetCfgIpV4Args_t ipV4;
    ipV4.ipV4 = (_u32)SL_IPV4_VAL(10,1,1,201); // _u32 IP address
    ipV4.ipV4Mask = (_u32)SL_IPV4_VAL(255,255,255,0); // _u32 Subnet mask for this AP/P2P
    ipV4.ipV4Gateway = (_u32)SL_IPV4_VAL(10,1,1,1); // _u32 Default gateway address
    ipV4.ipV4DnsServer = (_u32)SL_IPV4_VAL(8,16,32,64); // _u32 DNS server address

    sl_NetCfgSet(SL_IPV4_AP_P2P_GO_STATIC_ENABLE,IPCONFIG_MODE_ENABLE_IPV4,sizeof(SlNetCfgIpV4Args_t),(_u8 *)&ipV4);
    sl_Stop(0);
    sl_Start(NULL,NULL,NULL);

    不过不能针对特定的电脑设置固定的。

  • 3, 是在simpelink.a这个库里面调用的,你可以参考一下它的代码。