- 博客(167)
- 收藏
- 关注
原创 桌面小屏幕实战课程资料文档_持续更新ing
这部分是精学路径的硬件设计章节,从这节课开始,我们将通过立创EDA,把我们设计的产品方案,一步一步转化为原理图和PCB,最后把板卡生产焊接出来,到这里,我们就可以拿到一块完整的产品电路板,然后可以进入软件调试章节啦~第三步:就可以通过右滑、左滑、点击来进行控制,屏幕开机后(在主界面,其它界面不会进入休眠)6分钟会进入休眠,后续点击屏幕会唤醒1分钟,如果需要更新网络时间,唤醒后在主界面下滑,10s后会更新网络时间、天气等配置。也可以进入主界面,在主界面下滑,听到滴一声后,板卡会重新打开热点。
2025-07-04 23:52:38
477
原创 桌面小屏幕实战课程:重要-桌面屏幕-QA文档
首先参考视频教程,了解心知天气的API使用,然后注册自己的账号(学长的是临时账号,可能会限制请求次数),需要用你自己的。-烧录完成,如果屏幕没显示,但是触摸有声音,查看是否烧录错不同版本的固件,最新购买的一般是D67后缀的固件。如果你自己需要添加单词,可以参考,但需要注意单词长度,避免数组越界导致挂掉。-另外,在休眠模式时,右滑屏幕也可以进入主界面,在主界面下滑,听到滴一声后,板卡会重新打开热点。另外,目前是没有使用GUI框架的,所以单词的显示位置,需要自己调整,否则可能出现显示异常。测试没问题后才上电。
2025-07-03 00:11:13
1000
原创 桌面小屏幕实战课程:DesktopScreen 18 FONT&PAINT
dev17_all/main/src/driver/ds_screen.c 为GDEW0154T8驱动源码(停产,此文档的代码)驱动源码,已经停产,所以只能参考实现思路,此工程在新屏幕中是跑不起来的。如果需要最新版本的屏幕驱动代码,参考分支dev_17_all_d67中的。使用idf.py menuconfig配置flash大小为4MB。有了图标、有了文字数据,如何放到同一个页面里面呢?LVGL工具:飞书文档中下载。注意,本章节的代码适配的是。驱动源码(目前使用)驱动源码(目前使用)字体:飞书文档中下载。
2025-06-29 21:57:29
777
原创 桌面小屏幕实战课程:DesktopScreen 17 HTTPS
home/kemp/work/esp/DesktopScreen/main/component.mk添加。复制-----BEGIN CERTIFICATE-----后内容到pem文件。
2025-06-29 21:48:03
379
原创 桌面小屏幕实战课程:DesktopScreen 16 HTTP
时间接口可以参考工程ds_sntp.c文件实现,不建议使用http请求实现,外部第三方公司接口容易变动。B站API更新后,只支持https方式请求,可以参考https章节代码实现。时间https请求接口方式弃用。注册账号,申请产品,获取密钥。
2025-06-28 23:53:48
291
原创 桌面小屏幕实战课程:DesktopScreen 15 WiFi SCAN
【代码】桌面小屏幕实战课程:DesktopScreen 15 WiFi SCAN。
2025-06-28 23:49:55
223
原创 桌面小屏幕实战课程:DesktopScreen 14 WiFi STA
【代码】桌面小屏幕实战课程:DesktopScreen 14 WiFi STA。
2025-06-27 23:56:10
219
原创 桌面小屏幕实战课程:DesktopScreen 13 HTTP SERVER
连接热点后,用浏览器访问esp32的网址esp32默认是192.168.4.1。
2025-06-27 23:54:56
515
1
原创 桌面小屏幕实战课程:DesktopScreen 11 SPI 水墨屏
(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的。注意:这里的代码和视频中不太一样,因为旧版本屏幕停产,更换了屏幕型号,下方代码为。152*152个像素 19Byte=152Bit 19*152的数组。的屏幕驱动代码,和最新版本屏幕是一致的。的管脚上占用四根线。
2025-06-26 23:23:07
1451
原创 桌面小屏幕实战课程:DesktopScreen 10 I2C 触摸屏
其中任何一个能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。公司在80年代开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。场景:硬件看门狗芯片、加密芯片、触摸屏驱动芯片、系列传感器等等。一条是双向的串行数据线SDA,一条是串行时钟线SCL。注意不同版本的板卡要根据原理图修改代码的。大小由速度和容性负载决定一般在。保证数据的稳定性,减少干扰。支持不同速率的通讯速度,是半双工,而不是全双工。
2025-06-26 00:20:28
417
1
原创 桌面小屏幕实战课程:DesktopScreen 8 非易失性存储器NVS
【代码】桌面小屏幕实战课程:DesktopScreen 8 非易失性存储器NVS。
2025-06-24 23:36:19
204
原创 桌面小屏幕实战课程:DesktopScreen 7 文件系统
复制分区表/home/kemp/work/esp/DesktopScreen/partitions.csv。idf.py menuconfig设置以下参数。
2025-06-24 23:34:38
279
原创 桌面小屏幕实战课程:DesktopScreen 6 Timer&消息队列
【代码】桌面小屏幕实战课程:DesktopScreen 6 Timer&消息队列。
2025-06-23 23:17:10
198
原创 桌面小屏幕实战课程:DesktopScreen 4 示例工程的使用&Log打印
添加Kconfig.projbuild时,需要先进入menuconfig修改属性后退出保存,此时重新build会重新编译整个工程,如果只出现编译一点,那就是没保存或Kconfig异常。
2025-06-22 17:23:44
196
原创 桌面小屏幕实战课程:DesktopScreen 3 Git工具使用
使用Git管理本地仓库的好处是,可以知道自己每次修改了哪些内容,随时进行版本切换。添加.gitignore build。
2025-06-22 17:21:37
252
原创 桌面小屏幕实战课程:DesktopScreen 2 第一个工程
(FYI:下方代码已在idf4.4验证,如果你使用其它版本idf,可以参考esp-idf/examples/get-started/hello_world中的代码)把设备USB口接到电脑后,查看新增设备号,使用ls /dev/ttyU* 查看新增的设备号。开始/dev/ttyUSB0。,退出 IDF 监视器。
2025-06-21 15:49:48
324
原创 桌面小屏幕实战课程:DesktopScreen 1 环境搭建
这一步如果失败,可以先排查ubuntu ssh是否已经启动,然后排查ubuntu和window的ip是否为同网段(可以修改虚拟机网络为桥接,最后就是重新重启、安装下vscode的ssh插件,或者你可以用别的ssh插件验证)idf4.4需要python3.8版本,如果你电脑ubuntu python版本不是3.8以上,需要手动安装切换,可参考。登录,如果网络配置没问题,你可以在新窗看到需要输入密码,输入ubuntu密码后可登录成功。在 Windows 系统上右击 此电脑 ------->
2025-06-21 15:46:38
813
原创 Arduino入门教程:12、WS2812B
到这里,你已经可以自己手写WB2812B的控制代码了,但是你会发现,整体代码实现还是有点多的,那Arduino有没有一些封装好的库可以让我们快速使用呢?3、配置LED灯位置,我们可以看到屏幕边上的1-60就是实际要采集的LED颜色位置,可以根据我们贴LED的位置进行拖拽修改,直接按默认不修改也可以。),D1灯在收到24bit数据后,会把数据保存,如果还收到数据,会通过DO脚传给D2。最后,我们就可以按照标准色卡的RGB值,实现数据的传输啦.,如果没有弹出,就去点桌面右下角,有个月亮图标,右击它,
2025-06-19 23:57:04
926
原创 Arduino入门教程:11、直流&步进驱动
如果将这两根引线直接连接到电池正负极,电机将旋转,如果切换引线,电机将以相反的方向旋转,通过改变提供给电机的电压,您可以改变电机的速度。L293D是一款双桥驱动芯片,可同时驱动两路直流电机或一路步进电机,输出电流可达600mA,峰值输出电流可达1.2A,内部自带ESD保护,模块工作电压5V,电机的驱动电压范围为4.5V-36V。缺点:步进电机存在空载启动频率,所以步进电机可以低速正常运转,但若高于一定速度时就无法启动,并伴有尖锐的啸叫声,同时,步进电机是开环控制,控制精度和速度都没有伺服电机那么高。
2025-06-19 23:51:57
994
原创 Arduino入门教程:10、屏幕显示
u8g2是一套图形库工具库,内部是提供了多种屏幕的驱动方案,如SSD1306_128X64、UC1638_192X96等,使用u8g2我们可以快速实现屏幕应用的开发。SSD1306 Oled显示模块共有4个引脚,标记为GND, VCC, SCL和SDA。注意:如果使用vscode写代码,要把main.cpp文件用记事本打开另存为utf8格式,否则会显示乱码。课程使用的SSD1306是一款128*64像素可以使用IIC驱动的OLED屏幕。在VSCode的工程配置文件中,添加该库。
2025-06-19 00:10:57
442
原创 Arduino入门教程:9、蜂鸣器
无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音。型三极管进行驱动,因为单片机的引脚驱动能力有限,蜂鸣器的功率比较大,所以需要通过三极管来驱动,蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号。大部分的电子产品、家电(风扇、空调、电水壶)都会有蜂鸣器,用于提示设备的工作状态。有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定。蜂鸣器有正负极,顶部印有+号的为正极,若蜂鸣器引脚没剪,则长的为正极。
2025-06-19 00:05:45
310
原创 Arduino入门教程:8、舵机控制
舵机是一种位置伺服的电机,与马达不同,我们需要马达提供的是旋转,控制的是转速和方向。舵机引线为3线,分别用棕、红、橙三种颜色进行区分,舵机品牌和生产厂家不同,会有些许差异,使用之前需查看资料。我们使用的是最常见的舵机,棕、红、橙分别对应“电源负极,电源正极,控制信号”。许多伺服器仅旋转约170度(或什至仅90度),但宽度为1.5 ms的伺服脉冲通常会将伺服设置为中间位置(通常是指定全范围的一半);当我们向舵机发送脉冲宽度为1.5毫秒(ms)的信号时,舵机的输出轴将移至中间位置(90度);
2025-06-18 00:03:28
418
原创 Arduino入门教程:7、电位器
无论是温度传感器、湿度传感器都是把环境的温湿度通过材料的特性,最终转换为引脚能够测量的电压值,所以,一旦你学会读取电位器的电压,也就使用同样的办法读取温湿度、重量传感器的数据,仅仅是转换表或公式的不同而已。前面我们无论是读取输入还是控制输出,都只有高低电平(0和1)的概念,这是我们常说的数字电路,而实际项目中,无论是温度、湿度、重量、电压往往是一个范围内的数值。的一种,三个触点,通过旋转旋钮改变2号脚的位置,从而改变阻值的大小,1脚和3脚分别接开发板的3.3V和GND,2脚接模拟输入引脚。
2025-06-17 23:59:48
393
原创 Arduino入门教程:5、按键输入
TTL电源电压是3.3V,高电平是2.4V--3.3V,低电平0V--0.8V,按照惯例,使用1来表示高电平,使用0表示低电平。轻触开关、按键、电容开关、光栅传感器、微动、关电开关。通过IO读取引脚的电平,判断是否有信号触发。
2025-06-15 22:39:24
238
原创 Arduino入门教程:4-1、代码基础-进阶
setup和loop都是一个函数,我们也可以定义自己的函数,这样程序结构化才会更清晰,不同函数有不同的作用域。纸币面额的集合,uint8_t money[6] = {1,5,10,20,50,100};当我们需要芯片帮忙存储一些可能会变化的值,这时候就需要使用变量。需要知道芯片运行状态,运行到哪里,所以需要把信息打印到电脑。需要芯片帮我们存储永远固定不变的值,这时候使用常量或宏定义。使用时,根据需要存储的数据范围,选择不同的数据类型。数组是同一类数据的集合,方便进行操作、管理。九、更多函数&语法参考。
2025-06-15 00:02:32
552
原创 Arduino入门教程:4、打印字符到电脑
波特率(bandrate),指的是串口通信的速率,也就是串口通信时每秒钟可以传输多少个二进制位。比如每秒钟可以传输9600个二进制(传输一个二进制位需要的时间是1/9600秒,也就是104us),波特率就是9600。一般常见的波特率是9600或者115200(低端的单片机如51常用9600,高端的单片机和嵌入式SOC一般用115200)。也就是说我们可以通过控制引脚按上面的高低电平,每104us改变一次,就可以完成一个字节的传输。串口模块:以太网、WiFi、蓝牙、Zigbee、Lora等串口模块。
2025-06-14 23:56:36
466
原创 Arduino入门教程:3、LED进阶
实际上这是非常合理的,因为大多数电路中,LED只是一个提示灯,对亮度没有要求,反而希望把功耗降低,所以需要增大限流电阻来实现超低电流,像产品中的贴片LED去到0.5ma也是能看清楚灯光的。但是要注意:流过LED的电流需要在一定范围内,否则会烧坏LED,一般小于20ma,所以我们就需要串联电阻分压,那串联的电阻需要多大阻值呢?一般插件LED电流是20ma左右,压降, 红/黄色1.8V, 蓝/白色 3V, 实际电压要看 LED 规格书。例如:供电电压是3.3V,黄色插件LED。面包板、线、LED灯、电阻。
2025-06-13 23:58:04
337
原创 Arduino入门教程:2、代码基础
如果你发现你同学写的一些代码完全没写注释,那只有两种情况,一是他代码写得非常好,不需要解释,二是他写的代码不是给人看的,初学者不要过于自信,尽可能多写注释。代码是给机器执行的语言,注释是给人看的。
2025-06-13 23:56:02
423
原创 Arduino入门教程:1-1、先跑起来(点亮LED&打印Helloworld)
使用USB线连接开发板和电脑,打开电脑设备管理器,查看是否有新添加的COM口,有则成功,如果提示驱动安装失败,需要自己下载下方驱动安装。如果接上USB线无任何反应,请检查USB线是否为数据USB线,部分USB线仅仅有供电功能。等候一段时间后创建完成(可开启手机热点连接或者代理,一直创建不成功,建议重启电脑)如果提示未能识别设备,需要安装下CH340驱动,安装完成后重启电脑。点击VSCode的左下角图标,打开PIO Home。LED DEMO现象:板卡的LED闪烁。点击 “->”图标下载固件到开发板。
2025-06-12 22:35:30
626
原创 Arduino入门教程:1、Arduino软件环境搭建
1、关闭VSCode,重启电脑(为啥要重启电脑,因为上一步安装失败时,有部分的python、platfromio的任务可能还在跑,重启杀进程最为方便),删除C:\Users\你的用户名\下的.platformio文件夹。platformIO安装成功后,在软件下方会有一个小房子图标,该图标是PlatformIO-IDE的主页启动按键,如果没有小房子,点击左侧菜单栏的小蚂蚁图标,等待加载完成就可以看到。好了,恭喜你,到这里你已经成功安装的所需的软件啦,接下来就是安装ESP32芯片的编译器和API包,加油!
2025-06-12 22:32:17
865
原创 Arduino入门教程:1、Arduino硬件介绍
Arduino是开源的软管硬件平台,所以加入Arduino生态的芯片公司、开发板公司也非常多,所以我们在学习过程中可以选择的开发板种类也非常多。支持基于ESP-IDF的C、C++编程,也支持Arduino编程。一般:https://www.tinkercad.com/推荐:https://www.wokwi.com/
2025-06-11 23:42:13
381
原创 Arduino入门教程:0、课程介绍&认识Arduino
Arduino的硬件原理图、电路图、IDE软件、核心库文件都是开源的,在开源协议范围内里可以任意修改原始设计及相应代码。软件编程可以让你在计算机上实现各种奇思妙想,Arduino的学习则可以让你连接现实世界做出更多更酷的创意。Arduino生态中有很多来自全世界各地开发者提供的软件库、硬件配件,可以即插即用。比如遥控玩具车、自动写字机、四轴飞行器、自动宠物喂食机、智能家居、自动浇花器等。不需要太多的单片机基础、编程基础,简单学习后,就可以快速的进行开发。学习初期不要刻意深入某个细节。
2025-06-11 23:38:06
263
原创 SOC-ESP32S3部分:QA-关于唤醒词更改及配置操作步骤
对于AI语音类项目,乐鑫官方提供一些免费开放的唤醒词(26个左右)修改支持,但需要在安装配置 ESP IDF开发环境下进行配置,且能够正常编译xiaozhi-esp32源代码的环境下进行。唤醒词修改配置后需要保存退出,先按 键盘【S】出现如下图示界面,再按 Enter 回车 Save 保存,蓝色提示层消失,最后按键盘 【Q】 或 Esc 退出配置界面。**注意:ESP-IDF 环境支持是修改唤醒词前提条件,如果没有配置好IDF开发环境的,请先到乐鑫官网了解相关配置说明,此处从略。
2025-06-09 23:33:48
1095
原创 SOC-ESP32S3部分:36-适配自己的板卡
添加板卡实现xiaozhi_all_in_one_s3.cc文件xiaozhi-esp32/main/boards/xiaozhi-all-in-one-s3/xiaozhi_all_in_one_s3.cc。在xiaozhi-all-in-one-s3文件夹中创建config.h文件xiaozhi-esp32/main/boards/xiaozhi-all-in-one-s3/config.h。如果你自己画了PCB板,需要把自己绘制的板卡配置小智AI工程,可以参考此文档。最后按说明书进行配置编译即可。
2025-06-08 23:49:03
967
原创 SOC-ESP32S3部分:35-自定义AI应用形象
在xiaozhi-esp32/main/boards/xiaozhi-all-in-one-s3路径下,新建自己的表情文件,并把表情图复制到当前路径。修改xiaozhi-esp32/main/CMakeLists.txt文件,修改表情文件改为自己自定义的表情文件名。基于豆包:https://www.doubao.com/chat/基于:https://jimeng.jianying.com/如果你希望定制自己的IP,可以参考飞书文档中的视频。配置网址:https://xiaozhi.me/
2025-06-08 23:43:49
370
原创 SOC-ESP32S3部分:34-xiaozhi-esp32实现源码分析
当前有了WiFi和4G两个类,那我们就可以根据自己的板卡类型,继承对应类实现我们板卡具体外设了,例如多合一板卡,使用的Code是ES8311,屏幕是ST7789,分辨率是172*320,我们就可以创建XiaozhiAioS3类继承WifiBoard,然后初始化对应模块的驱动即可。具体使用哪个板卡类创建对象呢?boards文件夹中,包含了所有已经适配过的板卡,因为每个板卡的外设、IO、资源不一样,所以和板卡有关的模块都可以放在此文件夹中进行初始化。它接收音频数据,对其进行处理,并将处理后的音频数据输出。
2025-06-08 00:37:22
749
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人