ZHCU938C May   2018  – January 2021 CC3100 , CC3100MOD , CC3200 , CC3200MOD

 

  1. 概述
    1. 1.1 文档范围
    2. 1.2 概述
      1. 1.2.1 特性列表
    3. 1.3 主机驱动程序概述
    4. 1.4 可配置的信息元素
  2. 编写一个简单的联网应用程序
    1. 2.1 概述
      1. 2.1.1 基本示例代码
  3. 器件初始化
    1. 3.1 概述
    2. 3.2 主机接口
      1. 3.2.1 SPI 接口
      2. 3.2.2 UART 接口
        1. 3.2.2.1 更改 UART 波特率
  4. 器件配置
    1. 4.1 概述
    2. 4.2 器件参数
    3. 4.3 WLAN 参数
      1. 4.3.1 高级
    4. 4.4 网络参数
    5. 4.5 互联网和网络服务参数
    6. 4.6 电源管理参数
      1. 4.6.1 概述
      2. 4.6.2 电源策略
    7. 4.7 扫描参数
      1. 4.7.1 扫描策略
        1.       WLAN 连接
          1. 5.1 手动连接
            1. 5.1.1 STA
            2. 5.1.2 P2P
          2. 5.2 使用配置文件的连接
          3. 5.3 连接策略
          4. 5.4 与连接相关的异步事件
            1. 5.4.1 WLAN 事件
            2. 5.4.2 网络事件
            3. 5.4.3 不同连接场景的事件
          5. 5.5 使用 BSSID 进行 WLAN 连接
  5. 插座
    1. 5.1 概述
      1. 5.1.1 传输控制协议 (TCP)
      2. 5.1.2 用户数据报协议 (UDP)
    2. 5.2 套接字连接流程
    3. 5.3 TCP 连接流程
      1. 5.3.1 客户端
      2. 5.3.2 服务器端
    4. 5.4 UDP 连接流程
      1. 5.4.1 客户端
      2. 5.4.2 服务器端
    5. 5.5 套接字选项
      1. 5.5.1 阻塞与非阻塞
      2. 5.5.2 安全套接字
    6. 5.6 SimpleLink 支持的套接字 API
    7. 5.7 可用套接字的数量
    8. 5.8 数据包聚合
  6. 器件休眠
    1. 6.1 概述
  7. 配置
    1. 7.1 概述
    2. 7.2 SmartConfig
      1. 7.2.1 一般说明
      2. 7.2.2 使用方式/API
        1. 7.2.2.1 自动激活(开箱即用)
        2. 7.2.2.2 手动激活
        3. 7.2.2.3 停止智能配置
    3. 7.3 AP 模式
      1. 7.3.1 一般说明
      2. 7.3.2 使用方式/API
      3. 7.3.3 配置 AP 配置时的注意事项
    4. 7.4 WPS
      1. 7.4.1 一般说明
      2. 7.4.2 使用方式/API
      3. 7.4.3 使用 WPS 的示例
      4. 7.4.4 配置选项之间的权衡
  8. 安全性
    1. 8.1 WLAN 安全
      1. 8.1.1 个人
      2. 8.1.2 企业级
        1. 8.1.2.1 一般说明
        2. 8.1.2.2 使用方式/API
        3. 8.1.2.3 示例
        4. 8.1.2.4 限制
    2. 8.2 安全套接字
      1. 8.2.1 一般说明
      2. 8.2.2 使用方式/API
        1. 8.2.2.1 选择方法
        2. 8.2.2.2 选择密码套件
        3. 8.2.2.3 为套接字选择受保护的文件
        4. 8.2.2.4 设置域名以用于验证和 SNI
      3. 8.2.3 使用 SSL 的示例
      4. 8.2.4 支持的加密算法
    3. 8.3 限制
      1. 8.3.1 主要的已知限制
        1. 8.3.1.1 STA 模式
        2. 8.3.1.2 AP 模式
        3. 8.3.1.3 JavaScript 示例
        4. 8.3.1.4 主机驱动程序示例
  9. AP 模式
    1. 9.1 一般说明
    2. 9.2 设置 AP 模式 – API
    3. 9.3 WLAN 参数配置 – API
    4. 9.4 WLAN 参数查询 – API
    5. 9.5 AP 网络配置
    6. 9.6 DHCP 服务器配置
    7. 9.7 设置器件 URN
    8. 9.8 发送到主机的异步事件
    9. 9.9 示例代码
  10. 10对等 (P2P) 模式
    1. 10.1 一般说明
      1. 10.1.1 范围
      2. 10.1.2 Wi-Fi Direct 优势
      3. 10.1.3 Wi-Fi Direct 支持和功能
      4. 10.1.4 限制
    2. 10.2 P2P API 和配置
      1. 10.2.1 配置 P2P 全局参数
        1. 10.2.1.1 设置 P2P 角色
        2. 10.2.1.2 设置 P2P 网络配置
        3. 10.2.1.3 设置 P2P 器件名称
        4. 10.2.1.4 设置 P2P 器件类型
        5. 10.2.1.5 设置 P2P 侦听通道和运行通道
      2. 10.2.2 配置 P2P 策略
        1. 10.2.2.1 配置 P2P 意图值和协商引发器
      3. 10.2.3 配置 P2P 配置文件连接策略
      4. 10.2.4 发现远程 P2P 对等器件
        1. 10.2.4.1 如何启动 P2P 发现
        2. 10.2.4.2 如何查看/获取 P2P 远程对等器件(网络 P2P 列表)
      5. 10.2.5 协商方法
      6. 10.2.6 手动连接 P2P
      7. 10.2.7 手动断开 P2P 连接
      8. 10.2.8 P2P 配置文件
      9. 10.2.9 删除 P2P 配置文件
    3. 10.3 P2P 连接事件
    4. 10.4 用例和配置
      1. 10.4.1 案例 1 – 固定式 P2P 客户端低功耗配置文件
      2. 10.4.2 案例 2 – 移动客户端低功耗配置文件
      3. 10.4.3 案例 3 – 固定的中心插入式配置文件
      4. 10.4.4 案例 4 – 移动中心配置文件
      5. 10.4.5 案例 5 – 移动通用型配置文件
    5. 10.5 示例代码
  11. 11HTTP 服务器
    1. 11.1  概述
    2. 11.2  支持的功能
    3. 11.3  HTTP Web 服务器说明
      1. 11.3.1 概述
        1. 11.3.1.1 详细信息
    4. 11.4  HTTP GET 处理
      1. 11.4.1 概述
      2. 11.4.2 默认网页
      3. 11.4.3 SimpleLink GET 令牌
      4. 11.4.4 用户定义的令牌
      5. 11.4.5 带有动态 HTML 内容的 HTML 示例代码
    5. 11.5  HTTP POST 处理
      1. 11.5.1 概述
      2. 11.5.2 SimpleLink POST 令牌
      3. 11.5.3 SimpleLink POST 操作
      4. 11.5.4 用户定义的令牌
      5. 11.5.5 发布后重定向
      6. 11.5.6 带有 POST 和动态 HTML 内容的 HTML 示例代码
    6. 11.6  内部网页
    7. 11.7  “强制 AP”模式支持
    8. 11.8  访问网页
      1. 11.8.1 工作站模式下的 SimpleLink
      2. 11.8.2 AP 模式下的 SimpleLink
    9. 11.9  HTTP 身份验证检查
    10. 11.10 使用 SimpleLink 驱动程序处理主机中的 HTTP 事件
    11. 11.11 SimpleLink 驱动程序连接 HTTP 网络服务器
      1. 11.11.1 启用或禁用 HTTP 服务器
      2. 11.11.2 配置 HTTP 端口号
      3. 11.11.3 启用或禁用身份验证检查
      4. 11.11.4 设置或获取身份验证名称、密码和领域
      5. 11.11.5 设置或获取域名
      6. 11.11.6 设置或获取 URN 名称
      7. 11.11.7 启用或禁用 ROM 网页访问
    12. 11.12 SimpleLink 预定义令牌
      1. 11.12.1 GET 值
      2. 11.12.2 POST 值
      3. 11.12.3 POST 操作
      4. 11.12.4 HTTP 服务器限制
  12. 12mDNS
    1. 12.1 概述
    2. 12.2 协议详细信息
    3. 12.3 实现
      1. 12.3.1 默认实现
      2. 12.3.2 184
      3. 12.3.3 启动和停止 mDNS
      4. 12.3.4 mDNS 查询 – 一次性
      5. 12.3.5 mDNS 查询 – 连续
      6. 12.3.6 mDNS 服务注册
    4. 12.4 支持的功能
    5. 12.5 限制
  13. 13串行闪存文件系统
    1. 13.1 概述
      1. 13.1.1 指令汇总
      2.      文件创建
      3.      文件打开
      4.      文件关闭
      5.      文件写入
      6.      文件读取
      7.      文件删除
      8.      文件信息
  14. 14Rx 滤波器
    1. 14.1 概述
    2. 14.2 详细说明
    3. 14.3 示例
    4. 14.4 创建树
    5. 14.5 主机 API
      1. 14.5.1 代码示例
    6. 14.6 注意事项和限制
  15. 15收发器模式
    1. 15.1  一般说明
    2. 15.2  使用方式/API
    3. 15.3  发送和接收
    4. 15.4  更改套接字属性
    5. 15.5  内部数据包发生器
    6. 15.6  发送 CW(载波)
    7. 15.7  连接策略和收发器模式
    8. 15.8  关于接收和发送的注意事项
      1. 15.8.1 接收
    9. 15.9  用例
      1. 15.9.1 嗅探器
    10. 15.10 持续发送
    11. 15.11 Ping
    12. 15.12 收发器模式限制
  16. 16Rx 统计信息
    1. 16.1 一般说明
    2. 16.2 使用方式/API
    3. 16.3 关于接收和发送的注意事项
    4. 16.4 用例
    5. 16.5 Rx 统计信息限制
      1.      API 概述
        1. 17.1 器件
        2. 17.2 NetCfg
        3. 17.3 WLAN
        4. 17.4 套接字
        5. 17.5 NetApp
        6. 17.6 文件系统
  17. 17异步事件
    1. 17.1 概述
    2. 17.2 WLAN 事件
    3. 17.3 Netapp 事件
    4. 17.4 套接字事件
    5. 17.5 器件事件
  18. 18可配置的信息元素
    1. 18.1 通用
    2. 18.2 应用接口
      1. 18.2.1 API 输出
    3. 18.3 所有信息元素的总大小上限
  19. 19调试
    1. 19.1 捕获 NWP 日志
      1. 19.1.1 概述
      2. 19.1.2 指令
        1. 19.1.2.1 为 CC32xx 配置引脚复用
        2. 19.1.2.2 终端设置
        3. 19.1.2.3 运行程序
        4. 19.1.2.4 发送给 TI 工程师
          1.        参考文献
            1.         A 主机驱动程序架构
              1.          A.1 概述
                1.           A.1.1 SimpleLink WiFi 主机驱动程序 – 与平台无关的部分
                2.           A.1.2 SimpleLink WiFi 主机驱动程序 – 与平台相关的部分
                3.           A.1.3 SimpleLink WiFi 驱动程序配置
                4.           A.1.4 用户应用程序
              2.          A.2 驱动程序数据流
                1.           A.2.1 传输层协议
                2.           A.2.2 命令和命令完成
                3.           A.2.3 数据事务
                  1.            A.2.3.1 数据发送(从主机到 SimpleLink 网络处理器)
                  2.            A.2.3.2 数据流控制
                  3.            A.2.3.3 数据接收(从 SimpleLink 网络处理器到主机)
                  4.            A.2.3.4 阻塞接收
                  5.            A.2.3.5 非阻塞接收
                    1.             B 错误代码
                      1.              B.1 错误代码
                        1.               C 如何生成证书、公钥和 CA
                          1.                C.1 证书生成
                            1.                 修订历史记录

套接字

sl_Socket – 创建某个类型(由整数标识)的新套接字,并为该套接字分配系统资源。支持以下套接字类型:

  • SOCK_STREAM(TCP – 面向流的可靠服务或流套接字)
  • SOCK_DGRAM(UDP – 数据报服务或数据报套接字)
  • SOCK_RAW(网络层之上的原始协议)

sl_Close – 正常关闭套接字。此函数使系统释放分配给套接字的资源。对于 TCP,连接将终止。

sl_Accept – 此函数可与基于连接的套接字类型 (SOCK_STREAM) 搭配使用,用于提取挂起连接队列上的第一个连接请求,创建一个新的连接套接字,并返回一个引用该套接字的新文件描述符。新创建的套接字不处于侦听状态。原始套接字 sd 不受此调用的影响。

sl_Bind – 为套接字指定本地地址 addraddr 的长度为 addrlen 字节。传统上,在创建套接字时调用此函数,并且此函数存在于命名空间(地址族)中,但未向其分配名称。在 SOCK_STREAM 套接字接收连接之前,必须分配一个本地地址。

sl_Listen – 指定接受传入连接的意愿和传入连接的队列限制。listen() 调用仅适用于 SOCK_STREAM 类型的套接字,而 backlog 参数定义了挂起连接队列的最大长度。

sl_Connect – 将套接字描述符 sd 引用的套接字连接到 addr 指定的地址。addrlen 参数指定了 addr 的大小。addr 中地址的格式由套接字的地址空间决定。如果套接字是 SOCK_DGRAM 类型,则此调用指定与套接字相关联的对等方。数据报应发送至该地址,这是接收数据报的唯一地址。如果套接字是 SOCK_STREAM 类型,则此调用尝试与另一个套接字建立连接。另一个套接字由套接字通信空间中的地址指定。

sl_Select – 允许程序监视多个文件描述符,等待一个或多个文件描述符为某类 I/O 操作做好准备。sl_Select 包含可设置文件描述符选项的几个子函数:

  • SL_FD_SET – 选择 SlFdSet_t SET 函数。在 SlFdSet_t 容器上设置当前套接字描述符。
  • SL_FD_CLR – 选择 SlFdSet_t CLR 函数。在 SlFdSet_t 容器上清除当前套接字描述符。
  • SL_FD_ISSET – 选择 SlFdSet_t ISSET 函数。检查是否设置了当前套接字描述符 (TRUE/FALSE)。
  • SL_FD_ZERO – 选择 SlFdSet_t ZERO 函数。从 SlFdSet_t 容器中清除所有套接字描述符。

sl_SetSockOpt – 操控与套接字相关联的选项。选项涉及多个协议级别,并且始终涉及最高套接字级别。支持以下套接字选项:

  • SL_SOL_SOCKET – 套接字选项类别:
    • SL_SO_KEEPALIVE – 通过启用消息的定期传输,让 TCP 连接始终处于活动状态;启用或禁用,定期处于活动状态。默认值:启用:保持活动超时为 300 秒。
    • SL_SO_RCVTIMEO – 设置超时值,该值指定输入函数等待完成的最长时间。默认值:无超时
    • SL_SO_RCVBUF – 设置 TCP 最大接收窗口期
    • SL_SO_NONBLOCKING – 将套接字设置为非阻塞操作。影响:sl_Connect、sl_Accept、sl_Send、sl_Sendto、sl_Recvsl_Recvfrom。默认值:阻塞。
    • SL_SO_SECMETHOD – 将方法设置为 TCP 安全套接字 (SL_SEC_SOCKET)。默认值:SL_SO_SEC_METHOD_SSLv3_TLSV1_2。
    • SL_SO_SECURE_MASK – 将特定密码设置为 TCP 安全套接字 (SL_SEC_SOCKET)。默认值:适合方法的“理想”密码
    • SL_SO_SECURE_FILES – 将编程的文件映射到安全套接字 (SL_SEC_SOCKET)
    • SL_SO_SECURE_FILES_PRIVATE_KEY_FILE_NAME – 此选项用于配置安全
    • SL_SO_SECURE_FILES_CERTIFICATE_FILE_NAME – 此选项用于配置安全
    • SL_SO_SECURE_FILES_CA_FILE_NAME – 此选项用于配置安全文件
    • SL_SO_SECURE_FILES_DH_KEY_FILE_ NAME – 此选项用于配置安全
    • SL_SO_CHANGE_CHANNEL – 将通道设置为收发器模式
  • SL_IPPROTO_IP – IP 选项类别:
    • SL_IP_MULTICAST_IF – 指定传出多播接口。
    • SL_IP_MULTICAST_TTL – 为套接字设置传出多播数据包的存活时间值
    • SL_IP_RAW_RX_NO_HEADER – 原始套接字;从接收的数据中删除 IP 标头。默认值:数据中包括 IP 标头。
    • SL_IP_HDRINCL – 仅限 RAW 套接字;除非在套接字上启用 IP_HDRINCL 套接字选项,否则 IPv4 层在发送数据包时会生成 IP 标头。启用套接字选项后,数据包必须包含 IP 标头。默认值:禁用,网络堆栈生成的 IPv4 标头
    • SL_IP_ADD_MEMBERSHIP – UDP 套接字;加入多播组。
    • SL_IP_DROP_MEMBERSHIP – UDP 套接字;离开多播组。
  • SL_SOL_PHY_OPT – PHY 选项类别:
    • SL_SO_PHY_RATE – RAW 套接字;设置 WLAN PHY 传输速率。
    • SL_SO_PHY_TX_POWER – RAW 套接字;设置 WLAN PHY Tx 功率。
    • SL_SO_PHY_NUM_FRAMES_TO_TX – RAW 套接字;设置在收发器模式下传输的帧数。
    • SL_SO_PHY_PREAMBLE – RAW 套接字;设置 WLAN PHY 前导码。

sl_GetSockOpt – 操控与套接字相关联的选项。选项可能涉及多个协议级别,并且始终涉及最高套接字级别。这些套接字选项与 sl_SetSockOpt 中的相同。

sl_Recv – 从 TCP 套接字读取数据

sl_RecvFrom – 从 UDP 套接字读取数据

sl_Send – 将数据写入 TCP 套接字。向器件发送数据后立即返回。如果 TCP 失败,则会收到异步事件 SL_NETAPP_SOCKET_TX_FAILED。对于 RAW 套接字(收发器模式),应在帧数据缓冲区的末尾为 WLAN FCS 保留额外的 4 个字节。

sl_SendTo – 将数据写入 UDP 套接字。此函数将消息传输到另一个套接字(无连接套接字 SOCK_DGRAM、SOCK_RAW)。向器件发送数据后立即返回。如果传输失败,则会收到异步事件 SL_NETAPP_SOCKET_TX_FAILED。

sl_Htonl – 将 32 位无符号值的字节顺序从处理器顺序更改为网络顺序。

sl_Htons – 将 16 位无符号值的字节顺序从处理器顺序更改为网络顺序。