W800|WIFI|CDK|W80X SDK v1.00.10|官方demo|学习(2):t-connect

news2025/2/23 23:06:59

W800 SDK代码及相关文档获取地址:

https://www.winnermicro.com/html/1/156/158/558.html

 

1、W800 SDK v1.00.10更新内容:

1. 驱动更新

   1)提供模组ADC校准功能接口

   2)修复PSRAM IO复用不完整问题

   3)Flash驱动修改不再每次都写状态寄存器

   4)增加RF参数备份机制

   5)修改对于SD 1.0卡的支持

2. 更新secboot,支持青藤Flash的QIO模式切换;优化每次启动过程都操作flash状态寄存器来切QIO模式的操作

3. 升级LWIP版本至V2.1.3版本

4. 优化一键配网功能

5. demo修改:

    1)HSPI和SDIO的从设备的DEMO更新,通过参数区分HSPI和SDIO的初始化

    2)修改demo的控制台的接收处理,解决接收命令字不足后无法使用控制台的问题

    3)增加新的联网demo

    4)增加新的扫描demo

    5)增加softap的黑名单功能demo

6. 修复芯片Sleep模式功耗波动问题,修改GPIO默认配置为输入上拉;客户使用时按照IO复用配置,使用指定的上下拉功能

7. RTOS问题修复

   1)修复rtos适配函数没有判断指针是否为空的操作

   2)修复RTOS任务创建时句柄赋值处理

8. 修复因调整tick值并进行时间计算而导致的可能除0操作

9. Wi-Fi库更新内容:

    1)增加WLAN数字增益可调接口

    2)增加连接扫描不到热点的时间可控的API

    3)增加可配置是否可连接open/wep网络的API

    4)增加是否扫描到立即连接AP的API

    5)支持AP的黑名单功能

    6)修复APSTA模式下某些手机连接不上的问题(因信道变更时信标帧内部分信道相关信息未更新)

10. 编译相关

    1)修复某些场景下的编译报错问题(例如:内存调试打开,mbedtls模块编译报错的问题)

    2)修改编译工具链,支持CPP代码的编译

    3)因为升级了LWIP和MQTT,CDK的编译工程变更,建议使用新的工程,把之前改动合过来;

         如果确实要使用之前的工程,需要把相关文件加入,编译前要清理一下编译工程下的过程中文件(.mk,.bat,.txt,LST和OBJ)

    4)如果用户打开较多demo、或者进行内存调试,或者打开wm_debug.h调试功能,而且要使用经典蓝牙的CDK工程编译或者使用make编译,需要对链接文件里的I-SRAM进行调整(位置、大小)由此带来一系列的调整(编译固件存放的位置也要调整)

5)清理编译告警

2 DEMO概要

本文是基于官方WM_W800_SDK用户手册_V1.1.pdf的学习记录。

官方文档中用到的所有DEMO相关的宏定义都在wm_demo.h中。运行DEMO时必须打开该DEMO对应的宏定义,建议关闭不相关宏定义。DEMO演示需要在控制台下进行,打开DEMO_CONSOLE编译选项,即打开了控制台。

DEMO_CONSOLE同时还控制了AT指令的启用,如果使能此宏,则AT指令失效;关闭此宏,AT指令生效。

3 t_connect demo测试

CDK中打开project:

 

Project文件在:

.\W80X SDK v1.00.10\tools\w800\projects\SDK_Project\project\CDK_WS\

打开CDK_WS.cdkws:

 

修改wm_demo.h,打开console,仅打开connect demo:

  编译,在项目根目录上右击执行build:

编译完成:

 

生成的.fls文件在. \W80X SDK v1.00.10\bin\w800下:

  用Upgrade_Tools(V1.4.8)刷入模组:

选择.fls刷机文件,点击下载,默认固件条件下需按住boot同时点击reset重启,开始下载,后期执行刷机任务,可以自动刷新及重启。

下载完成,串口工具打印user task,console中打开了默认的6个程序(1组):

  发送指令:t-connect("Redmi Note 9 Pro","123*****")连接手机热点:

显示已连接成功,并取得IP。

手机端显示设备已连接:

  Demo_connetc_net执行步骤:

步骤:

       1、判断是否输入了ssid,如果未输入,则return WM_FAILED;

            2、打印输入的ssidpwd

            3、执行一次wifi断开(复位操作,如已有连接则断开)

            4、设置成sta模式

5、设置ip相关参数,默认启用DCHP

6、登记回调函数;

7、调用连接函数,WIFI连接中,连接成功后显示ip

  t-connect 加网(官方手册注释)

功能描述

本例实现了使 WiFi 设备连接指定名称和密码的路由器的功能

命令格式

t-connect(“ssid_name”, “password”)

涉及到的常用 api(其中 api 的具体释义请参考相关头文件注释)

tls_wifi_disconnect(); tls_wifi_softap_destroy(); tls_wifi_set_oneshot_flag(0); tls_mem_alloc(); tls_netif_add_status_event(); tls_wifi_connect();

PS:STA和AP

工作模式分别是STA和AP这两种,STA就是站点模式,客户端模式,也就是向我们电脑连接路由器一样,他相当于电脑的角色,AP就是热点也就是说它作为AP模式自身可以辐射出一个无线WiFi网路;
WiFi模块在STA模式下连接路由器。

W800支持三种工作模式:STA/AP/STA+AP
STA模式:模组通过路由器连接互联网,手机或电脑通过互联网实现对设备的远程控制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/362230.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSDN每日一练非降序数组 C语言/C++

题目名称:非降序数组 时间限制:1000ms内存限制:256M 题目描述 写一个函数,传入两个非降序的整数数组(A, B),将 A, B 合并成一个非降序数组 C,返回 C(不要使用内置 sort 函…

新项目分析

1:数据类型处理 # sep‘\s‘ 这是正则表达式,通过一定规则的表达式来匹配字符串用的 \s 表示空白字符,包括但不限于空格、回车(\r)、换行(\n)、tab或者叫水平制表符(\t)等,这个根据编码格式不同代表的含义也不一样,感…

一文讲解系统调用与函数调用有什么区别?

作为程序员你肯定写过无数的函数,假设有这样两个函数: void funcB() { }void funcA() {funcB(); } 函数之间是可以相互调用的,这很简单很happy有没有。 要知道是代码、是函数就可以相互调用,不管你用什么语言写的。 假设funcB…

2023/02/21 事件循环-eventloop 宏任务 微任务 讲解

1 JS是单线程 js是单线程的。也就是说,同一个时间只能做一件事。作为浏览器脚本语言,与它的用途有关。JavaScript的主要用途是和用户互动,以及操作DOM,这决定了它只能是单线程。 js是单线程的。也就是说,同一个时间只…

如何使用 API 工具做 Websocket 测试

在 API 测试中,对 Websocket 协议的支持呼声越来越高,今天给大家推荐一款 开源的 API 管理工具——Postcat,以及教教大家,如何利用 API 管理工具做 Websocket 测试。 在线 Demo 链接:Postcat - Open Source API Ecosys…

17 个短代码,检验你 Python 基本功

Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短。在本文中,蛋糕将带大家回顾 17个非常有用的 Python 技巧,例如查找、分割和合并列表等。这 17 个技巧都非常简单,但它们都很常用且能激发不一样的思路。 人生苦短&…

来一波骚操作,Java内存模型

文章整理自 博学谷狂野架构师 什么是JMM 并发编程领域的关键问题 线程之间的通信 线程的通信是指线程之间以何种机制来交换信息。在编程中,线程之间的通信机制有两种,共享内存和消息传递。 ​ 在共享内存的并发模型里,线程之间共享程序的公共…

项目管理从需求管理开始--不懂需求管理还敢带项目?

分析报告指出,多达76%的项目失败是因为差劲的需求管理,这个是项目失败的最主要原因,比技术、进度失控或者混乱的变更管理还要关键。很多PMO和PM却没有把需求管理重视起来,甚至认为这只是产品经理的事情,自己只做交付即…

Spark RDD及内存计算

文章目录Spark RDD及内存计算性能调优RDD 的核心特征和属性内存计算Spark RDD及内存计算 性能调优 性能调优的本质: 性能调优不是一锤子买卖,补齐一个短板,其他板子可能会成为新的短板。因此,它是 一个动态、持续不断的过程&…

第51篇-某彩网登录参数分析-webpack【2023-02-21】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、网站分析一、前言 今天我们看一个webpack的网站 aHR0cHM6Ly8xMGNhaTUwMC5jYy9sb2dpbg==二、网站分析 首先…

Springboot 全局异常处理类

全局异常处理 在开发过程中,不管是Dao、Servie、Controller,层都有可能发生异常,对于异常处理,通常是try-catch或者直接throw,这会让try-catch的代码在代码中任意出现,系统的代码耦合度高&…

Elasticsearch7.8.0版本进阶——数据更新流程

目录一、数据更新流程概述二、数据更新流程步骤2.1、数据更新流程图解2.2、部分更新一个文档的步骤2.3、数据更新流程注意事项一、数据更新流程概述 部分更新一个文档需要结合数据读取和写入流程。 二、数据更新流程步骤 2.1、数据更新流程图解 2.2、部分更新一个文档的步骤…

经典文献阅读之--MSC-VO(曼哈顿和结构约束VIO)

0. 简介 对于视觉里程计而言,在面对低纹理场景时,往往会出现退化的问题,究其原因是人造环境往往很难找到足够数量的点特征。而其他的几何视觉线索则是比较容易找到,在城市等场景中,通常表现出结构规律,如平…

程序中的日期使用问题-格式转化:SimpleDateFormat、org.apache.commons.lang3.time.DateUtils

前言 日期使用问题主要是格式转换的问题 场景:通过excel导入数据,其中一个字段为出生日期,需要对字段值进行合法性校验 博客地址:芒果橙的个人博客 【http://mangocheng.com】 一、个人浅谈日期 时间日期作为一个基础的标识和维度…

Windows下使用git提交代码到gitee

Windows下使用git提交代码到gitee 1、下载安装git 2、或者参考Gitee初始仓库里面的配置代码 上传本地代码到gitee上 1、 在本要上传的代码文件夹,右键 选择:Git Bash Here 2、执行:git init 3、然后执行:git add 文件名。&…

深入Spring底层透析bean生命周期及循环引用的醍醐灌顶篇

目录前言一.Bean的生命周期1.1 Bean的实例化阶段1.2 Bean的初始化阶段(重点)1.3 Bean的完成阶段二.循环引用问题(面试常问题)三.Spring的三级缓存(重点来了)四.完整的Spring IoC整体总结前言 本篇是接着bean的创建基本…

人工智能详细笔记 :卷积神经网络(CNN)

卷积神经网络和深度学习1.卷积神经网络的结构2.卷积神经网络的卷积运算3.卷积神经网络中的关键技术BP神经网络存在的问题: 输入类型限制:BP神经网络以数值作为输入。如果需要计算图像相关的信息的话,首先需要从图像中提取特征。隐层数量限制…

直播预告 | 嵌入式BI如何将数据分析真正融入业务流程

在信息化高速发展的今天,数据成为企业最有价值的资产之一。而数据本身很难直接传递有价值的信息,只有通过对数据进行挖掘、分析,才能让数据真正成为生产力。 商业智能(BI)应运而生,可以帮助企业更好地从数…

ASP.NET MVC | 简介

目录 前提 1.教程 2.MVC 编程模式 最后 前提 在学习学过很多课程,但是最主要学的还是ASP.NET MVC这门课程,工作也是用的ASP.NET MVC,所以写一点ASP.NET MVC的东西,大家可以来看看,我自己不会的时候也不用找别的地方…

django项目实战六(django+bootstrap实现增删改查)进阶优化modelform类与视图

目录 一、将视图里面的modelform类分离出去 二、按模块迁移视图 1、新建views视图文件夹 2、views下新建对应模块文件,并从views.py当中迁移代码 三、删除views.py 四、修改url路由 接上一篇《django项目实战五(djangobootstrap实现增删改查&#xf…