乐鑫Esp32学习之旅 乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。(附带源码)

Posted 半颗心脏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了乐鑫Esp32学习之旅 乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。(附带源码)相关的知识,希望对你有一定的参考价值。


  • 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

系列一:ESP32系列模组基础学习系列笔记

1、 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 “Hellow World”。
2、 巧用eclipes编辑器,官方教程在在Windows下搭建esp32开发环境,打印 “Hellow World”。
3、 认识基本esp32的GPIO接口,开始点亮您的第一盏 LED和中断回调实现按键功能 。
4、体会esp32的强大的定时器功能, 实现定时2s闪烁一盏LED灯。
5、接触实践esp32的pwm宽度脉冲功能, 实现呼吸效果闪烁一盏LED灯。
6、smartConfig和微信airKiss在esp32的实现,一键配网轻松快捷连接路由器。
7、利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。
8、esp32上实现本地 UDP 客户端和服务端角色,在局域网内实现通讯。
9、esp32上实现本地 TCP 客户端和服务端角色,可断线重连原路返回数据。
10、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。
11、入门 乐鑫esp-adf 音频框架开发,esp32造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。
12、开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。
13、esp32 内置 dns 服务器,无需外网访问域名返回指定网页。
14、esp32 sdk编程实现门户强制认证,连接esp32热点之后,自动强制弹出指定的登录界面。
15、认识本地离线语音唤醒识别框架 esp-skainet ,实现较低成本的硬件语音本地识别控制。
16、学习本地语音唤醒离线识别框架 esp-skainet ,如何修改唤醒词? 如何自定义命令词?如何做意图动作?
17、全网首发,乐鑫esp32 sdk直连京东微联·小京鱼 · IoT开放平台,实现叮咚音响语音智能控制。
18、入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
19、重磅开源,如何在微信小程序上ble蓝牙配网esp32,blufi的那些事!
20、一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
21、 esp32蓝牙配网blufi的高度封装,集成简单、使用简单、容易上手,提高开发效率!
22、讨论下程序员 “青春饭” 那些事,分享在esp32实现多种加密算法md5 |AES CBC-ECB| Sha1 | Sha256 等!
23、安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
25、分享在 esp32 SDK实现冷暖光色温平滑调节的封装,轻松集成到您的项目去。
26、分享下如何在window下使用CMake编译,编译速度提高传统 make 编译一个档次,支持 ESP32 和 ESP32-C3。
27、windows10平台下自带的Linux安装 ESP8266/ESP32 环境,再无需额外安装虚拟机了。

系列二:ESP32-Camera 摄像头开发板系列笔记

1、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现MQTT远程拍照传输到私有服务器。
2、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现本地视频流监控。
3、安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。

系列三:ESP32-C3 模组系列笔记

1、【蓝牙Mesh笔记 ①】ESP32-C3 模组上实现天猫精灵蓝牙 BLE Mesh AliGenie 接入,无需WiFi 连接也可以实现天猫精灵语音控制。

系列四:ESP32-S2 /S3 模组系列笔记

1、乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。

一、工程说明

    最近看到了乐鑫原厂有在做ESP32S3开发板USB-OTG方案,恰好玩了下,也分享下给各位朋友。该开源的示例程序支持以下功能:

  • 支持 Host 主机通过 USB 无线上网,即无线网卡
  • 支持 Host 主机通过 USB 对 安信可 ESP-12K 模组进行通信和控制。
  • 支持多种 system、Wi-Fi 控制命令,使用 FreeRTOS-Plus-CLI 命令行接口,易拓展更多命令。
  • 支持热插拔。

二、硬件准备

只有具有 USB-OTG 外设的 ESP 芯片才需要引脚分配。 如果您的电路板没有连接到 USB-OTG 专用 GPIO 的 USB 连接器,您可能需要自己动手制作电缆并将 D+D- 连接到下面列出的引脚。

ESP BOARD          USB CONNECTOR (type A)
                          --
                         | || VCC
[USBPHY_DM_NUM]  ------> | || D-
[USBPHY_DP_NUM]  ------> | || D+
                         | || GND
                          --
模组USB_DPUSB_DM
安信可 ESP32-S2/S3 系列模组GPIO20GPIO19
  • 安信可ESP-12K-KIT 开发板。

三、编译代码

  1. 确认 ESP-IDF 环境成功搭建,使用 master 分支
  2. 添加 ESP-IDF 环境变量,Linux 方法如下,其它平台请查阅 Set up the environment variables
    . $HOME/esp/esp-idf/export.sh
    
  3. 下载源码:https://github.com/xuhongv/StudyInEsp32/tree/master/23_usb_dongle_wifii
  4. 设置编译目标为 esp32s2esp32s3
    idf.py set-target esp32s2
    
  5. 编译、下载、查看输出
    idf.py build flash monitor
    

四、使用说明

  1. 完成上述硬件准备并成功烧录固件后,将 USB 连接至 PC 端

  2. PC 端将会新增一个 USB 网卡以及一个 USB 串口

  3. Linux 端可通过以下命令来查看新增 USB 设备,Windows 端可通过设备管理器来查看 USB 设备

     ls /dev/ttyACM*
    

    ifconfig -a 
    

  4. 通过 USB 串口与 ESP 设备进行通信,波特率 115200 ,使用 help 命令来查看目前所支持的所有指令

  5. 通过指令来控制 ESP 设备进行配网操作

注意!

当设备已经连上一个路由器,但你需要重新切换路由器时,需要在执行 sta 或者 smartconfig 配网命令后执行以下操作

查看 USB 网卡名称

ifconfig

卸载 USB 网卡

ifconfig <name> down 

装载 USB 网卡

ifconfig <name> up

命令说明

1.help

Function:

列出所有注册的命令

Command:

help

Response:

help:
 Lists all the registered commands

ap <ssid> [<password>]: configure ssid and password
sta -s <ssid> [-p <password>]: join specified soft-AP
sta -d: disconnect specified soft-AP
mode <mode>: <sta> station mode; <ap> ap mode
smartconfig [op]: op:1, start smartconfig; op:0, stop smartconfig
scan [<ssid>]: <ssid>  SSID of AP want to be scanned
ram: Get the current size of free heap memory and minimum size of free heap memory
restart: Software reset of the chip
version: Get version of chip and SDK
>

2.ap

Function:

设置 AP 模式、查询 AP 设置

Set Command:

ap Soft_AP espressif

Query Command:

ap

Response:

AP mode:Soft_AP,espressif
>

Note:

password 为可选项,若不配置默认不加密

3.sta

Function:

启动 Station 模式、查询所连接 AP 信息

Set Command:

sta -s AP_Test -p espressif

Query Command:

sta

Response:

<ssid>,<channel>,<listen_interval>,<authmode>
>
authmode_valuemode
0WIFI_AUTH_OPEN
1WIFI_AUTH_WEP
2WIFI_AUTH_WPA_PSK
3WIFI_AUTH_WPA2_PSK
4WIFI_AUTH_WPA_WPA2_PSK
5WIFI_AUTH_WPA2_ENTERPRISE
6WIFI_AUTH_WPA3_PSK
7WIFI_AUTH_WPA2_WPA3_PSK
8WIFI_AUTH_WAPI_PSK

Note:

password 为可选项

Function:

断开与 AP 的连接

Set Command:

sta -d

Response:

OK
>

4.mode

Function:

设置 WiFi 模式

Command:

  • 设置 Station 模式

    mode sta
    
  • 设置 AP 模式

    mode ap
    

5.smartconfig

Function:

  • 开启 SmartConfig 配网

    Command:

    smartconfig 1
    

    Response:

    >SSID:FAST_XLZ,PASSWORD:12345678
    OK
    >
    
  • 关闭 SmartConfig 配网

    Command:

    smartconfig 0
    

    Response:

    OK
    >
    

    Note:

    使用 smartconfig 1 命令开启 SmartConfig 配网并成功连接后,不需要再使用 smartconfig 0 命令来关闭 SmartConfig 配网

    smartconfig 0 命令只需要在 SmartConfig 配网失败时进行调用

配网步骤:

  • 下载 ESPTOUCH APP :Android source code iOS source code
  • 确保你的手机连接至目标 AP(2.4GHz)
  • 打开 ESPTOUCH APP 输入 password 并确认
  • PC 端通过 USB 端口发送 smartconfig 1 命令

6.scan

Function:

扫描 AP 并列出对应 SSID 以及 RSSI

Command:

  • 扫描特定 AP

    scan <SSID>
    
  • 扫描所有 AP

    scan
    

Response:

>
[ssid][rssi=-22]

7.ram

Function:

获取当前剩余内存大小以及系统运行期间最小时内存大小

Command:

ram

Response:

free heap size: 132612, min heap size: 116788
>

8.restart

Function:

重启系统

Command:

restart

9.version

Function:

获取当前 IDF 版本以及芯片信息

Command:

version

Response:

IDF Version:v4.4-dev-2571-gb1c3ee71c5
Chip info:
	cores:1
	feature:/802.11bgn/External-Flash:2 MB
	revision number:0
>

另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!

  • 玩转esp8266带你飞、加群QQ群,不喜的朋友勿喷勿加:434878850
  • 个人邮箱:xuhongv@yeah.net 24小时在线,有发必回复!
  • esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
  • 关注下面微信公众号二维码,干货多多,第一时间推送!

以上是关于乐鑫Esp32学习之旅 乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。(附带源码)的主要内容,如果未能解决你的问题,请参考以下文章

乐鑫Esp32学习之旅 乐鑫 ESP-S2/S3 模组的实现 USB 无线网卡上网,为你的台式机装上无线WiFI上网吧。(附带源码)

乐鑫Esp32学习之旅28 分享在 esp32 SDK实现驱动 Flash W25Q32 的封装,扩大容量存储更多的资源。(开源源码工程)。

乐鑫Esp32学习之旅⑧ esp32上实现本地 UDP 客户端和服务端角色,在局域网内实现通讯。(附带Demo)

乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)

乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)

乐鑫Esp32学习之旅29 安信可Wi-Fi模组对接华为云物联网平台的指南。(附带源码)