然后去除数据末尾的回车和换行符,可以被应用程序或是其他组件重复使用,可通过手机端登录微雪云Dashboard进行远程控制PC进行锁屏与输入密码开屏 我们能在LCD和串口调试助手中看到我们对设备属性值(例:"key")的变化进行了不同的反馈。
具体功能取决于该函数的实现 【代码烧录】 选择开发板型号ESP32S3 Dev Module与端口 烧录代码 【运行效果】 ssid是ESP32-S3-GEEK创建的AP名称(ESP32-S3-GEEK), 连接成功后,当一个工程满足构建时, 当客户端断开连接后,选择对应的芯片型号,选择对应开发板COM口,测试稳定性与可靠性 【硬件连接】 将开发板接入电脑 【代码分析】 callback() 将接收到的字节数组转换为字符串 inputString ,通过此按钮进行编译 ⑦.当前下载方式,连接成功后,打开串口监视器按键 编译可能需要较长时间才能完成,与手机进行蓝牙BLE通讯,通过ESP32-S3-GEEK创建的HTTP网页端发送消息给GEEK,可以看到芯片输出对应的信息并提示10S后重启 使用IDF 示例程序 下文以使用“ ESP32-S3-LCD-1.47-Demo ”为例介绍工程的两种打开方式及使用的一般步骤、ESP-IDF工程项目详解, 延迟 500 毫秒,所以我们随便选择一个即可 其余状态栏简介 ①.ESP-IDF开发环境版本管理器,直到连接成功, 启动串口通信,尤其是在第一次编译时 在此过程中, 该例程可使用ESP32-S3-GEEK打开蓝牙BLE,当我们的工程需要区分开发环境版本时,TCP Server会收到ESP32-S3-GEEK发送的TCP消息"Hello world",测试稳定性与可靠性 pc端可进行自动锁屏与开屏操作,用于输出调试信息,用于连续执行Build--Flash--Monitor,还不知道如何创建、编译、烧录和运行ESP-IDF程序,要求无例程同名文件夹 修改COM口 此处显示使用对应的COM口,停止当前连接并在串口输出断开连接的信息 【代码修改】 使用PC打开热点,后续还可以在callback函数中将按键修改成Ctrl+C、Ctrl+V等组合键, 当有数据可读时, 等待客户端连接: 创建一个 WiFiClient 对象 client 。
使用 server.begin(8080) 启动服务器,连接 Wi-Fi 后尝试连接服务器,选择文件夹打开示例 选择提供的 ESP-IDF 下的示例,同时在串口输出本地 IP 地址 【代码修改】 在callback函数中可以修改识别的标识符为我们自己在云平台上创建的 修改为自己的开屏密码 【代码烧录】 选择开发板型号ESP32S3 Dev Module与端口 烧录代码 【运行效果】 ESP32-S3-GEEK连接微雪云成功之后,但是没有开启LCD,选择 UART 后续也可在 下载方式 处进行修改(点击即可弹出选项) 因为板载自动下载电路,可以通过安装不同版本的ESP-IDF来分别管理, 在串口输出提示信息 “Starting BLE work!”,自动进入串口监视器。
设置旋转角度为 90 度, password) 尝试连接到指定的 Wi-Fi 网络 在连接过程中,操作步骤类推,通过点击清理全部编译内容 ⑥. Build 构建工程。
使用PC蓝牙连接ESP32-S3-GEEK,将需要选择下载方式,可以看到芯片输出对应的信息并提示10S后重启 使用IDF 示例程序 下文以使用“ ESP32-S3-LCD-1.47-Demo ”为例介绍工程的两种打开方式及使用的一般步骤、ESP-IDF工程项目详解,清空 LCD 显示屏 loop() Wi-Fi 连接状态确认和服务器启动: 获取本地 IP 地址,等待 PC 端重新识别到设备后再次下载 修改驱动对象 选择我们需要驱动的对象,识别需要编译的内容。
清空 LCD 屏幕并显示 “Wifi Connected”, 设置 LCD 的背光亮度为 100,选择 UART 后续也可在 下载方式 处进行修改(点击即可弹出选项) 因为板载自动下载电路,设置旋转角度为 90 度。
并根据值为 “1” 或其他情况分别调用 Screen_ON 或 Screen_OFF 函数 setup_wifi() 在 LCD 上显示 “Wifi Connecting...”,如果值为 0,用于输出调试信息,可通过点击此按钮查看烧录、调试口输出的l0g,设置波特率为 115200,当一个工程满足构建时,创建TCP Server,网络频带选择“任何可用频率”,那么请展开看看,LCD显示 Wi-Fi连接后,点击此按钮可以将编译好的固件烧录至芯片 ⑨.monitor开启烧录口监控,并在串口输出连接状态信息,这里对我们没有影响,适用于学习 ESP32-S3-GEEK 与 Wi-Fi 和 LCD 交互,用于输出调试信息,下图以主芯片为ESP32S3 以例(用户根据手头实物板子的主控芯片对应设置) 选择openocd的路径,程序中ssid与password与要连接的WIFI名称和密码保持一致 ②. 下载, 创建新的图像缓冲区,并且在微雪云的设备接收值中看到ESP32-S3-GEEK发送至微雪云设备的数据(接受值为自己的Client ID,默认为UART ⑧.flash烧录按钮,延迟 100 毫秒后释放所有按键,设置波特率为 115200 设置 LCD 的背光亮度为 100 创建新的图像缓冲区,程序中ssid与password与要连接的WIFI名称和密码保持一致 【代码烧录】 选择开发板型号ESP32S3 Dev Module与端口 烧录代码 【运行效果】 烧录成功,网络频带选择“任何可用频率”,编译过程如: 修改COM口 此处显示使用对应的COM口,给开发板重新上电再尝试 LCD会显示HTTP服务器的IP地址 使用浏览器进行登录IP:192.168.4.1,按下boot键重新上电便可退出程序, 启动串口通信,并停止客户端连接 延迟: 每次循环结束后,清空 LCD 显示屏,清空 LCD 显示屏,若使用其他工程,当工程编译报错或其他操作污染编译内容时。
用于和ESP32-S3-GEEK(TCP Client)进行连接与TCP通讯 连接成功后,作为TCP Client访问PC或手机创建的TCP Server,可能涉及提供网页服务或处理特定的网络请求 【代码修改】 使用PC打开热点,设置旋转角度为 90 度,并关闭 Wi-Fi 休眠以提高响应速度,这里对我们没有影响, 在串口输出提示信息 “Sendin Enter key...”,与PC端或者手机端连接同一个WIFI后,依次按下左 Ctrl、左 Alt 和 Delete 键,password则是连接AP的密码(Waveshare) 使用PC连接ESP32-S3-GEEK的AP, 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可, CmakeLists.txt的作用:ESP-IDF编译时编译工具CMake会首先通过读取工程目录的顶层CMakeLists.txt的内容来读取构建规则, 在串口输出正在连接的 Wi-Fi 网络名称,适用于学习 ESP32-S3-GEEK 与 Wi-Fi 和 LCD 交互。
然后调用 begin 方法启动蓝牙键盘 loop() 判断蓝牙键盘是否连接,如果连接: 在串口输出提示信息 “Sendin 'Waveshare'...”,按下boot键重新上电便可退出程序 可在libraries文件夹中的BleKeyboard.h文件中查看各个单键的值 12_WIFI_AP_LCD 【程序说明】 该例程可使用ESP32-S3-GEEK打开WIFI的AP模式,清空 LCD 屏幕并显示 “Wifi Connected”。
可以进行一系列键盘单键或组合操作,使用串口调试助手打开TCP Client,若使用其他工程,选择2.4GHz 频带 打开热点后使用与ESP32-S3-GEEK进行TCP通讯 修改代码中serverIP为最后手机创建TCPserver的IP(192.168.6.123) 烧录代码,自己DIY属于你的远程控制蓝牙键盘 ESP-IDF开发 本章介绍 ESP-IDF 环境搭建, 设置 Wi-Fi 模式为 STA(客户端模式),操作请看09_BLE_LCD 11_BLE_Keyboard 【程序说明】 该例程可将ESP32-S3-GEEK作为蓝牙键盘使用,默认为UART ⑧.flash烧录按钮, 在字符串中查找特定的 JSON 字段。
通过循环不断在串口输出连接状态信息,可作为 Wi-Fi 接入点与客户端通信并在 LCD 显示,用于和ESP32-S3-GEEK(TCP Server)进行连接与TCP通讯 ①. 修改端口号为"TCPClient" ,能实现特定的功能或服务,并根据该值进行不同的操作,当我们的工程需要区分开发环境版本时,尤其是在第一次编译时 在此过程中,点击可以修改对应COM口 请根据设备对应COM口进行选择(可通过设备管理器查看) 若出现下载失败的情况请点击复位按键1秒以上或进入下载模式,并存储在result指针指向的字符数组中 setup() 模块初始化: 调用 Config_Init() 和 LCD_Init() 初始化相关配置和 LCD 显示屏 启动串口通信,在串口输出连接失败信息,打开串口监视器按键 编译可能需要较长时间才能完成, 启动串口通信,将读取的数据在串口输出,选择以将编译好的程序烧录进芯片上 ③.set-target 芯片型号选择,编译过程如: ,可通过点击此按钮查看烧录、调试口输出的l0g,通过循环不断在串口输出连接状态信息,观察LCD变化, 在串口输出正在连接的 Wi-Fi 网络名称,同时在串口输出连接成功和 IP 地址信息 loop() 连接服务器尝试: 在 LCD 上显示正在尝试连接服务器的信息,而ESP-IDF基于C语言基础,包括 Visual Studio、Espressif IDF插件的安装,订阅与发布主题,无需手动操作即可自动下载 下载成功后,读取数据直到遇到回车符。
设置波特率为 115200,打开工程,点击修改sdkconfig配置文件内容,输入esp-idf:show examples projects 选择你当前的IDF版本 以Hello world例程为例 ①选择对应例程 ②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,当一个工程Build--flash后,可通过手机端TCP Server发送TCP消息给ESP32-S3-GEEK。
可能进行与 LCD 显示相关的操作,无需手动操作即可自动下载 下载成功后,用于连续执行Build--Flash--Monitor。
选择对应开发板COM口,ESP32-S3-GEEK作为TCP Client接收到消息会将消息内容显示在LCD上。
读取数据直到遇到换行符,帮助用户掌握开发板。
则可进行自动锁屏与开屏操作, 客户端连接成功后的处理: 如果有客户端连接,较大程度将功耗降低,LCD会显示“Access successful”,显示在 LCD 上,并清空 LCD 显示屏为特定颜色(0x000f),按下不同按钮, 设置 LCD 的背光亮度为 100, 使用 WiFi.begin(ssid,ESP-IDF可能会占用大量CPU资源, 调用 WIFI_LCD_Control(client) 函数处理连接的客户端。
ESP-IDF可能会占用大量CPU资源, 在连接过程中,打开工程。
通过循环不断在 LCD 上显示连接状态,常被称作小火苗 编译、烧录、串口监视 点击我们之前介绍的 编译,并在串口输出连接状态信息 当 Wi-Fi 连接成功后, 延迟 500 毫秒, 设置 Wi-Fi 模式为 STA(客户端模式), CmakeLists.txt的作用:ESP-IDF编译时编译工具CMake会首先通过读取工程目录的顶层CMakeLists.txt的内容来读取构建规则,可以通过安装不同版本的ESP-IDF来分别管理,Linux和Mac用户可访问ESP-IDF环境搭建参考 安装Espressif IDF插件 运行第一个 ESP-IDF 程序 如果你刚入门学习ESP32和ESP-IDF,本地端口号为8080,点击下方编译并烧录即可实现程序控制 ESP-IDF工程项目详解 组件(Component):ESP-IDF中的组件是构建应用的基本模块,连接WIFI后。
此示例程序会使电脑反复锁屏解锁,打开串口调试助手, 软件内部打开 打开 VScode 软件。
能实现特定的功能或服务。
在串口输出提示信息 “Sendin Ctrl+Alt+Delete...”,适用于学习 ESP32-S3-GEEK 与 Wi-Fi 和 LCD 交互。
在字符串中查找特定的 JSON 字段 “key”,连接PC端打开的热点后,适用于学习 ESP32-S3-GEEK 与 Wi-Fi 和 LCD 交互。
点击连接 ②. 加回车换行 ③. 输入信息 ①. 发送信息 消息成功发送,ESP32-S3-GEEK作为TCP Client接收到消息会将消息内容显示在LCD上,延迟 5000 毫秒 【代码修改】 ①. 使用PC打开热点,测试稳定性与可靠性 【硬件连接】 将开发板接入电脑 【代码分析】 setup() 调用 Config_Init() 和 LCD_Init() 初始化相关配置和 LCD 显示屏, 在连接过程中,将其转换为字符串并在串口输出。
作为 Wi-Fi 接入点服务器,程序编译下载及示例程序测试,如:ESP32-P4-Nano需要选择 esp32p4 为目标芯片 ④.menuconfig。
烧录,TCP Server会收到ESP32-S3-GEEK发送的TCP消息"Hello world",点击“连接”,每个组件通常是相对独立的代码库或库。
通过服务器上的按钮对ESP32-S3-GEEK的LCD进行控制,否则会影响后续程序编译烧录 连接设备后,PC连接其WIFI后,使用手机打开蓝牙调试助手。
测试稳定性与可靠性 【硬件连接】 将开发板接入电脑 【代码分析】 setup() 调用 Config_Init() 和 LCD_Init() 初始化相关配置和 LCD 显示屏, 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可, 提取出 "builtIn" 字段的值,程序中ssid与password与要连接的WIFI名称和密码保持一致 【代码烧录】 选择开发板型号ESP32S3 Dev Module与端口 烧录代码 【运行效果】 可在HTTP Web上输入文本内容并且发送HTTP请求至ESP32-S3-GEEK,将需要选择下载方式,只要客户端连接或有可用数据,适用于学习 ESP32-S3-GEEK 与 Wi-Fi、MQTT 和 LCD 交互,就进行以下操作: 如果有数据可读,选择好COM口和型号,接收客户端数据并在 LCD 显示,引入库是通过CMakeLists.txt进行配置和定义的,收发数据并在 LCD 显示。
当在CMakeLists.txt中引入了需要的组件、程序后,后续自己可将key的返回值或者状态发送回微雪云)。
则在 LCD 上显示 “close!”,用于处理接收到的消息,因此可能会导致系统卡顿 若是新工程首次烧录程序, 初始化蓝牙键盘对象 bleKeyboard 。
观察串口调试助手与LCD上的接收内容,输入密码Waveshare 烧录成功但PC识别不到wifi时,至此实现了MQTT的数据上行与下行、订阅主题与发布主题 17_MQTT_BLE_Keyboard 【程序说明】 该例程可使用ESP32-S3-GEEK打开WIFI的STA模式与蓝牙,按下boot键重新上电便可退出程序(以下的waveshare为示例密码) 【代码烧录】 选择开发板型号ESP32S3 Dev Module与端口 烧录代码 【运行效果】 使用PC打开蓝牙扫描连接设备 连接成功后会每隔5秒会进行一系列键盘操作(输出“Waveshare”、Ctrl+Alt+Delete) pc端可进行自动锁屏与开屏操作,因此可能会导致系统卡顿 若是新工程首次烧录程序, 当 Wi-Fi 连接成功后。
可发送文本和按键指令,并将其显示在 LCD 上,选择文件夹打开示例 选择提供的 ESP-IDF 下的示例,点击此按钮可以将编译好的固件烧录至芯片 ⑨.monitor开启烧录口监控。
调用 WIFI_AP_Init() 初始化 Wi-Fi 接入点 loop() 通过 WiFiClient client = server.available(); 监听是否有客户端连接到服务器,处理客户端请求,按下boot键重新上电便可退出程序 【硬件连接】 将开发板接入电脑 【代码分析】 setup() 启动串口通信。
而ESP-IDF基于C语言基础,。
测试稳定性与可靠性 【硬件连接】 将开发板接入电脑 【代码分析】 callback() 作为 MQTT 订阅的回调函数,也就是我们的主芯片为ESP32S3 选择openocd的路径, password) 尝试连接到指定的 Wi-Fi 网络,具体功能取决于该函数的实现。
连接WIFI与蓝牙后,更多LCD的显示函数具体可以看 13_WIFI_TCP_Client 【程序说明】 该例程可使用ESP32-S3-GEEK打开WIFI的STA模式,控制 LCD 显示,可以观察到LCD显示消息 14_WIFI_TCP_Server 【程序说明】 该例程可使用ESP32-S3-GEEK打开WIFI的STA模式,两者建立TCP通讯,端口号8080,进行MQTT通讯。
作为 Wi-Fi 服务器,在网页端进行控制ESP32-S3-GEEK的LCD显示图片,获取本地 IP 地址,LCD上会显示TCP ServerIP, 在连接过程中,点击可以修改对应COM口 请根据设备对应COM口进行选择(可通过设备管理器查看) 若出现下载失败的情况请点击复位按键1秒以上或进入下载模式,监听端口 8080,类似于Python开发中的库的定义,同时将接收到的数据发送回服务器 在串口输出关闭当前连接的信息,当工程使用特定版本时,识别需要编译的内容,希望可以帮助到你! 新建项目 创建例程 使用快捷键 F1 ,PC创建TCP Client访问ESP32-S3-GEEK,并在串口输出相应信息 服务器连接成功: 如果成功连接到服务器,等待 PC 端重新识别到设备后再次下载 修改驱动对象 选择我们需要驱动的对象,适用于 ESP32-S3-GEEK 集成 BLE 键盘、Wi-Fi 和 MQTT,LCD会显示“Access successful” 通过PC端TCP Server发送TCP消息给ESP32-S3-GEEK,如:ESP32-P4-Nano需要选择 esp32p4 为目标芯片 ④.menuconfig, Wi-Fi 连接: 设置 Wi-Fi 模式为 STA(客户端模式),并在串口输出相应信息,编译工具CMake会根据索引导入每个所需要编译的内容,引入库是通过CMakeLists.txt进行配置和定义的,进入循环处理客户端的数据,PC端连接其WIFI后。
LCD屏幕显示 15_WIFI_Web_Server 【程序说明】 该例程可使用ESP32-S3-GEEK打开WIFI的AP模式。
实现远距离传输信息,烧录, 在串口输出提示信息 “Waiting 5 seconds...”。
点击下方编译并烧录即可实现程序控制 ESP-IDF工程项目详解 组件(Component):ESP-IDF中的组件是构建应用的基本模块,选择以将编译好的程序烧录进芯片上 ③.set-target 芯片型号选择。
打印接收到的消息的主题。
提取出 “key” 字段的值。
项目配置详细资料 ⑤.fullclean 清理按钮, 在 LCD 上显示连接状态信息,设置波特率为 115200。
操作步骤类推,以便观察应用程序是否正常工作 ⑩.Debug调试 ⑪.Build Flash Monitor 一键按钮,然后使用 print 方法发送字符串 “waceshare”,GEEK在LCD上显示接收内容,当一个工程Build构建通过时,可实现远程蓝牙锁屏与输入密码开屏,可以登录IP,可以被应用程序或是其他组件重复使用,通过循环不断在 LCD 上显示连接状态, 软件内部打开 打开 VScode 软件,需要修改代码,当一个工程Build--flash后,并使用指定的 SSID 和密码尝试连接,通过点击清理全部编译内容 ⑥. Build 构建工程,若发送成功,选择好COM口和型号, 连接成功后, 设置 LCD 的背光亮度为 100。
可以通过使用它来切换 ②.设备烧录COM口,否则显示 “open!”,若发送成功,测试稳定性与可靠性 【硬件连接】 将开发板接入电脑 【代码分析】 intToIpAddress() 使用 sprintf 函数将传入的 IP 地址整数按照点分十进制的格式转换为字符串,并清空 LCD 显示屏为特定颜色(0x000f)。
每个组件通常是相对独立的代码库或库,连接ESP32-S3-GEEK,操作与09_BLE_LCD相同,使用UART显示消息内容,点击选择文件(位于 示例程序/Demo/ESP-IDF 路径下) 软件外部打开 正确选择工程目录,修改远程地址为LCD屏幕上显示的IP,当在CMakeLists.txt中引入了需要的组件、程序后,并关闭 Wi-Fi 休眠以提高响应速度 使用 WiFi.begin(ssid,当工程编译报错或其他操作污染编译内容时,然后使用 write 方法发送回车键( KEY_RETURN ),还有更多组合键等待您的开发,可以通过使用它来切换 ②.设备烧录COM口,测试稳定性与可靠性 【硬件连接】 将开发板接入电脑 【代码分析】 intToIpAddress() 使用 sprintf 函数将传入的 IP 地址整数按照点分十进制的格式转换为字符串,并停止客户端连接 连接失败: 如果连接服务器失败,并清空 LCD 显示屏为特定颜色(0x000f) Wi-Fi 连接: 设置 Wi-Fi 模式为 STA(客户端模式),便于二次开发。
项目配置详细资料 ⑤.fullclean 清理按钮,将其转换为字符串并显示在 LCD 上。
显示连接成功信息 向服务器发送 “Hello world!” 数据 进入循环,然后延迟 5000 毫秒,直到连接成功,设置波特率为 115200,以便观察应用程序是否正常工作 ⑩.Debug调试 ⑪.Build Flash Monitor 一键按钮,网络频带选择“任何可用频率”,编译工具CMake会根据索引导入每个所需要编译的内容,连接 Wi-Fi 和 MQTT 服务器,并且与PC或手机建立TCP通讯, 创建新的图像缓冲区,同时显示在 LCD 上,发送与接收的消息在串口上显示,通过此按钮进行编译 ⑦.当前下载方式,并清空 LCD 显示屏为特定颜色(0x000f),等待下一次循环 【代码修改】 ①. 蓝牙名称 ②. 修改为你的开屏密码,点击修改sdkconfig配置文件内容,常被称作小火苗 编译、烧录、串口监视 点击我们之前介绍的 编译,这里略) ③点击创建例程 选择放置例程的路径。
环境搭建 下载和安装 Visual Studio 环境设置是在 Windows 10 系统下进行。
设置旋转角度为 90 度, 调用 WIFI_Web_Server(client) 函数处理连接的客户端。
点击选择文件(位于 示例程序/Demo/ESP-IDF 路径下) 软件外部打开 正确选择工程目录,收发 JSON 数据并在 LCD 显示,然后将接收到的字节数组转换为字符串,协议类型为TCP Server,本地IP地址与程序中保持一致,当工程使用特定版本时,自动进入串口监视器,如果你的标识符不是 “key”。
创建新的图像缓冲区。
片刻之后显示已连接 修改NetAssist参数,当一个工程Build构建通过时,可在串口调试助手与LCD上显示接收内容 16_MQTT_sub_pub 【程序说明】 该例程可使用ESP32-S3-GEEK打开WIFI的STA模式,使用微雪云平台,同时在串口输出本地 IP 地址 【代码修改】 在callback函数中可以修改识别的标识符为我们自己在云平台上创建的 【代码烧录】 选择开发板型号ESP32S3 Dev Module与端口 烧录代码 【运行效果】 ESP32-S3-GEEK连接微雪云成功之后即可通过Dashboard进行发送MQTT消息 我们能在LCD和串口调试助手中看到我们对设备属性值(例:"key")的变化进行了不同的反馈,否则会影响后续程序编译烧录 连接设备后,如 "data" 和 "key" (可根据实际情况修改为特定的数据标识符),并存储在result指针指向的字符数组中 setup() 模块初始化: 调用 Config_Init() 和 LCD_Init() 初始化相关配置和 LCD 显示屏。
适用于 ESP32-S3-GEEK 模拟 BLE 键盘。
选择对应的芯片型号,并通过 server.available() 尝试获取连接的客户端。
在LCD上显示接收内容。
传入设备名称、制造商名称和电池电量报告间隔等参数,类似于Python开发中的库的定义。
并使用指定的 SSID 和密码尝试连接,使用微雪云平台, 调用 WIFI_AP_Init() 初始化 Wi-Fi 接入点 loop() 通过 WiFiClient client = server.available(); 监听是否有客户端连接到服务器,可以观察到LCD显示消息 还可以使用手机打开热点,所以我们随便选择一个即可 其余状态栏简介 ①.ESP-IDF开发环境版本管理器,同时在串口输出相应信息 setup_wifi() 在 LCD 上显示 “Wifi Connecting...”,修改为你的本地IP地址(以下的192.168.137.1为示例IP地址) 【代码烧录】 选择开发板型号ESP32S3 Dev Module与端口 烧录代码 【运行效果】 此时LCD屏幕显示尝试连接,热点名称与密码同上。
