回顾2023,展望2024——小工程师的执着|社区征文

2023总结
1、前言

在2023年,作为一名工程师,我坚持的爱好有阅读、写作、coding,战绩为阅读书籍20+,写作80余篇,爱好项目5个左右,完成了从后端向嵌入式的转行,也增长了一岁,19岁大三,虽然offer暂无,但是能力见长,但愿明年能成功找到一份满意的工作,完成从学生到工程师的彻底转变!

picture.image

2、2023年嵌入式音视频领域的项目创作

本文主要围绕2023年,我从0开始创作的几个音视频的嵌入式项目。

2.1 51单片机演奏音乐,天下

这是2023年3月份左右创作的一个项目,当时差不多学了有半个多月51单片机,

picture.image

主要代码结构如下:

picture.image

明明是天下,为什么句句不离她,哈哈,主要思路就是:

音符与索引对应表,P:休止符,L:低音,M:中音,H:高音,下划线:升半音符号#,

播放速度,值为四分音符的时长(ms)

#define SPEED 750

然后将天下的谱转换为索引对应的频率震动来发声,延时来反转翻转蜂鸣器IO口

2.2 Arduino

2.2.1 Arduino+ov7670+qt上位机实现监控

这个项目应该是在5月份左右完成的,当时学完Arduino做的一个项目

上位机差不多长这样:

picture.image 下位机:

picture.image

(时间有点长,我找不到了,该图片来自网络)

思路:

  1.  OV7670 在 I2C 接口上运行,通过I2C来将Arduino和OV7670连接在一起

  2. 下位机和上位机之间使用串口来进行通信

缺点:

  1. 这个摄像头的像素仅有约30w,注定了拍摄的很模糊

  2. 串口的速率为115200,进行计算后也不难得出,他的帧率只有5-8,如果改为摄像应该会好很多

picture.image

(当时拍摄的一张图)

picture.image

上位机代码包含:

  1. 串口的打开和关闭
  2. 串口数据的读取和发送,(读取在缓冲区)
  3. QMediaPlayer来实现视频的播放
  4. 进行视频的保存

下位机代码包含:

  1.  <util/twi.h> 库,I2C把Arduino和OV7670连接起来
  2. 初始化相机
  3. 设置相机分辨率
  4. 选择单色拍摄
  5. 串口传输

2.2.2 Arduino+0.96显示屏

这个也在4,5月份完成的,当时是做了一个基于U8g2库的,在各种显示屏上显示图形,也比较简单,读者想仔细了解的话,直接去看官方文档就好了

picture.image

2.3 STM32

接着就是STM32单片机了,这是我今年接触的最后一款单片机,其实还有一块瑞萨的A2E1,但是那块没做和音视频相关的开发,也就不多说了,改天有时间再聊

STM32的OLED显示,更改字模

这应该是在6月初的时候做的,

picture.image

思路:

  1. 标准的I2C协议,OLED显示程序
  2. 创建字模库,来对应客户的学号+姓名
  3. 初始化OLED显示屏
  4. 添加到main函数,进行仿真测试

2.4 其他项目

原生Qt做的一个云音乐播放器

picture.image

思路:

  1. Http通信:与云音乐服务端进行通信,C/S架构

  2. 本地存储的功能,也可离线听歌

  3. WebSocket:用于实现实时通信和音乐播放进度的推送

  4. HLS:用于音乐的分段传输和播放,支持自适应比特率

物联网控制面板

picture.image

思路:

  1. 多线程开发,调用ECharts来绘制曲线模型

  2. 数据存储为Mysql数据库

…… 还有很多就不再赘述了

3. 展望未来

回应开头,还是想成为一名合格的开发者,当然有大佬看到这篇博文也欢迎捞捞弟弟。

首发于InfoQ: 回顾2023,展望2024——小工程师的执着 (infoq.cn)

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论