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.

[参考译文] CC3220:如何添加配置文件

Guru**** 2577385 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/727468/cc3220-how-to-add-profile

器件型号:CC3220

你(们)好

我将器件设置为 AP 模式、并将手机连接到器件网络(mysimplelink-xxxx)。

我在器件上创建了一个页面、该页面基本上从用户那里获取 SSID 名称和密码、并使用 HTTP POST (输入和提交表单)将其传递到器件。

在连接到设备时、我打开页面、输入我的家庭网络 SSID 和密码并将其发送到设备。

到目前为止、我可以看到器件获得了我的条目并将它们存储在内部变量中。

现在、我要使用这些条目创建配置文件、并以 STA 模式将器件连接到家庭网络。

我无法在 out_for_box 示例中找到它是如何完成的。  

您可以向我指出 out_for_box 示例或任何其他示例中的相应代码部分吗?

谢谢、

David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    -如果您希望直接从 Web 存储配置文件,则可以使用 POST API (请参阅 www.ti.com/.../getliterature.tsp 上的第8.4章 )。 第8.5章介绍了如何通过令牌读取值。
    -如何存储来自代码的配置文件在 swru455中的3.3.3.2中进行了说明。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jan、

    我使用了后 API 路由。 创建配置文件后、我将板复位、器件以 STA 模式启动并连接到我的家庭网络。 但是、当设备连接到我的家庭网络时、我的手机与设备断开连接。 现在、我的手机和设备都连接到家庭网络、但手机不知道设备的 IP 地址。 电话是否可以通过某种方式知道 STA 器件的 IP 地址?
    我希望自动执行此转换过程、换句话说、我希望执行以下操作:
    -通过软件复位电路板
    -器件连接到家庭网络(此时手机断开与器件 AP 的连接、因为器件处于 STA 模式、AP 不再存在)
    -不知怎么说、我希望将器件同时保留为 AP 和 STA、以便器件不会与手机断开连接、并且能够将 STA 的 IP 地址传输到手机。 有可能吗? 也许还有另一种更传统的方法来安排这个过程? 请分享您的想法吗?

    谢谢、
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    CC3220器件不支持 STA+AP 模式。 这种方式是不可能的。 对于本地网络中的发现设备、您需要使用此类 Discovery/Zero-CONF 协议。

    CC32xx 器件支持用于发现器件/服务的 mDNS 协议。 mDNS 在 Apple 设备上运行良好。 Windows 和 Android 本身不支持 mDNS 协议。 要获得 mDNS 支持、您需要使用第三方软件(例如 Bonjour 浏览器)。

    Windows 支持 LLMNR 协议。 您可以自行实施的协议。 另一个选项是创建自己的发现协议。 这可以通过简单地收听 UDP 广播和回放来实现。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jan、

    是否有有关如何实施完整配置过程的分步指南、详细介绍了所需的步骤和相应的命令? 例如:

    步骤1. 使用 POST API 配置器件、使用 swru455的第8.4章查看配置参数、最低要求-配置 SSID、密码、安全和优先级(表8.6)[您已帮助完成此步骤]
    步骤2. 在软件中重置设备-使用 aaaa 文档中的 xxxx 命令。 重置后、器件应能够连接到步骤1中提供的配置文件并获取 IP
    步骤3. 配置 mDNS -使用 bbb 文档中的 yyyy 命令。 之后、电话应用程序应该能够找到设备的 IP 并连接到设备

    感谢您的宝贵反馈。

    谢谢、
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    作为器件配置过程的参考、您可以从 SDK 中获取"配置"或"out_for_box"示例。

    SWRU455第9章介绍了 mDNS 服务。 在 SDK 中的示例"serial_wifi"中也使用了 mDNS。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    感谢您的指导。 对于步骤2、您是否可以建议在软件中使用什么命令来复制硬件复位按钮?

    谢谢、

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    如果您已存储连接配置文件、则 NWP 重新启动应该足够(sl_Stop / sl_Start)。 但是、如果您需要重新启动整个 CC32xx SoC、则可以使用以下命令:

    sl_Stop (100);// NWP 运行时的调用*/
    PRCMHibernateIntervalSet (330);
    PRCMHibernateWakeupSourceEnable (PRCM_HIB_SLOW_CLK_CTR);
    PRCMHibernateEnter(); 

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jan、

    当我使用(sl_Stop / sl_Start)时、器件以 AP 模式启动。 如何使器件在 STA 模式下启动?

    谢谢、
    David
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    使用 API sl_WlanSetMode (Role_STA)。 可能需要通过 API sl_WlanPolicySet()设置 sl_WLAN_policy_connection。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jan、

    我遵循了这些步骤、但它不起作用、我确定我做了一些错误或遗漏了一些假设但我不知道的事情。 但是、我发现以下方法有效、我几乎从控制任务中重复使用了它、但用 STA 替换了 AP:

    状态= SL_WlanSetMode (Role_STA);
    
    /*检查是否成功切换到 STA 命令*/
    if (状态==0)
    {
    UART_PRINT (
    "[David Control task]设备以 STA 角色启动,正在重新启动"
    "设备...\n\n");
    
    /*在 OCP 寄存器上指示 AP 角色*/
    ocpRegVal = MAP_PRCMOCRRegisterRead (OCP_REGISTER_INDEX);
    ocpRegVal |=(1 << OCP_REGISTER_OFFSET);
    MAP_PRCMOCRRegisterWrite (OCP_REGISTER_INDEX、ocpRegVal);
    mcuReboot();
    }
    其他
    {
    UART_PRINT ("[David Control task]器件未在 STA 角色中启动\n");
    }
    

    您是否发现上述使用存在任何潜在问题?

    下一步、mDNS 播客对我来说似乎有点模糊。 在设备从 家庭网络成功获取 IP 后、我将以下代码附加到 validateLocalLinkConnection 函数中:

    UART_PRINT ("在 STA 模式下启动、开始转换 mDNS \n\r\n);
    RetVal = sl_NetAppStop (sl_NetApp_MDNS_ID);
    UART_PRINT ("从 NetAppStop 返回的值等于%d \n\r\n、返回值);
    RetVal = sl_NetAppStart (sl_NetApp_MDNS_ID);
    UART_PRINT ("NetAppStart 的 RetVal 等于%d \n\r\n、RetVal);
    选项= SL_NetApp_MDNS_OPTIONS_IS_NON_PERSISTENT | SL_NetApp_MDNS_IPV4_ONY_SERVICE_;
    RetVal = sl_NetAppMDNSRegisterService (AddService、strlen (AddService)、"AAA"、strlen ("AAA")、4578、120、Options);
    UART_PRINT ("RetVal from SL_NetAppMDNSRegisterService is equal to %d \n", RetVal);
    

    我不确定上面的代码是否适用于启动 mDNS 转换。 如果是正确的、那么我将如何从我的网页上收听这段播客、是否有任何用于此目的的 javascript 函数示例?  

    我意识到我可能会完全走错路、如果我走错了方向、您能告诉我下一个步骤应该是什么吗?

    谢谢、

    David

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:

    将模式从 AP 更改为 STA 后、您需要重新启动 NWP。 您的代码可能会起作用、但这不是最佳方法。 更好的方法是:
    -如果尚未设置连接策略,请设置它
    -设置为 STA 模式
    -重新启动 NWP

    正如我所说...
    Apple 设备完全支持 mDNS。 在 Windows 和 Android 设备上、您需要第三方软件。 如果需要解析 Windows 计算机上的.local 地址(来自 webrowser)、则需要实现 LLMNR。

    BTW... 在本地网络中发现设备还有一个选项。 但是、为此、您需要在互联网中使用外部 Web 服务器。

    1月