回顾 2023,展望 2024——小工程师的执着
1、前言
在 2023 年,作为一名工程师,我坚持的爱好有阅读、写作、coding,战绩为阅读书籍 20+,写作 80 余篇,爱好项目 5 个左右,完成了从后端向嵌入式的转行,也增长了一岁,19 岁大三,虽然 offer 暂无,但是能力见长,但愿明年能成功找到一份满意的工作,完成从学生到工程师的彻底转变!
2、2023 年嵌入式音视频领域的项目创作
本文主要围绕 2023 年,我从 0 开始创作的几个音视频的嵌入式项目。
2.1 51 单片机演奏音乐,天下
这是 2023 年 3 月份左右创作的一个项目,当时差不多学了有半个多月 51 单片机,
主要代码结构如下:
明明是天下,为什么句句不离她,哈哈,主要思路就是:
音符与索引对应表,P:休止符,L:低音,M:中音,H:高音,下划线:升半音符号 #,
播放速度,值为四分音符的时长(ms)
#define SPEED 750
然后将天下的谱转换为索引对应的频率震动来发声,延时来反转翻转蜂鸣器 IO 口
2.2 Arduino
2.2.1 Arduino+ov7670+qt 上位机实现监控
这个项目应该是在 5 月份左右完成的,当时学完 Arduino 做的一个项目
上位机差不多长这样:
下位机:
(时间有点长,我找不到了,该图片来自网络)
思路:
1. OV7670 在 I2C 接口上运行,通过 I2C 来将 Arduino 和 OV7670 连接在一起
2. 下位机和上位机之间使用串口来进行通信
缺点:
1. 这个摄像头的像素仅有约 30w,注定了拍摄的很模糊
2. 串口的速率为 115200,进行计算后也不难得出,他的帧率只有 5-8,如果改为摄像应该会好很多
(当时拍摄的一张图)
上位机代码包含:
串口的打开和关闭
串口数据的读取和发送,(读取在缓冲区)
QMediaPlayer 来实现视频的播放
进行视频的保存
下位机代码包含:
<util/twi.h> 库,I2C 把 Arduino 和 OV7670 连接起来
初始化相机
设置相机分辨率
选择单色拍摄
串口传输
2.2.2 Arduino+0.96 显示屏
这个也在 4,5 月份完成的,当时是做了一个基于 U8g2 库的,在各种显示屏上显示图形,也比较简单,读者想仔细了解的话,直接去看官方文档就好了
2.3 STM32
接着就是 STM32 单片机了,这是我今年接触的最后一款单片机,其实还有一块瑞萨的 A2E1,但是那块没做和音视频相关的开发,也就不多说了,改天有时间再聊
STM32 的 OLED 显示,更改字模
这应该是在 6 月初的时候做的,
思路:
标准的 I2C 协议,OLED 显示程序
创建字模库,来对应客户的学号+姓名
初始化 OLED 显示屏
添加到 main 函数,进行仿真测试
2.4 其他项目
原生 Qt 做的一个云音乐播放器
思路:
1. Http 通信:与云音乐服务端进行通信,C/S 架构
2. 本地存储的功能,也可离线听歌
3. WebSocket:用于实现实时通信和音乐播放进度的推送
4. HLS:用于音乐的分段传输和播放,支持自适应比特率
物联网控制面板
思路:
1. 多线程开发,调用 ECharts 来绘制曲线模型
2. 数据存储为 Mysql 数据库
…… 还有很多就不再赘述了
3. 展望未来
回应开头,还是想成为一名合格的开发者,当然有大佬看到这篇博文也欢迎捞捞弟弟。
版权声明: 本文为 InfoQ 作者【工程师日月】的原创文章。
原文链接:【http://xie.infoq.cn/article/00c57fed0d19cddc82a146078】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论