来源 | 嵌入式应用研究院 整理&排版 | 嵌入式应用研究院
周末两天深圳由于疫情开启了静默模式,因此没办法出去玩耍啦!既然没法出去,躺平是不可能的,那么,肝起来!此次给大家带来的一个开源项目:自适应曲线缩放传感器显示终端
,废话不多说,上视频:
这是刚开始做的效果:
新增加功能:
开源仓库:
代码语言:javascript复制https://github.com/Yangyuanxin/QT-Sensor
https://gitee.com/morixinguan/QT-Sensor
获取方法:
代码语言:javascript复制git clone https://github.com/Yangyuanxin/QT-Sensor
git clone https://gitee.com/morixinguan/QT-Sensorg
该项目功能仍不完善,还需持续维护,敬请期待!
1、上位机部分
项目的上位机部分采用QT5开发,QT在嵌入式跨平台应用来说真的是YYDS啦,因此界面和逻辑都可以在Window端开发完成,整体代码结构如下:
最终选择移植到的是韦东山老师的百问网imx6ull开发板,通信方式选择USB虚拟串口来实现,即通过在Linux内核中配置虚拟串口,如下图所示:
重新编译内核,下载到开发板后,USB口就可以当串口来使用了!具体体现的设备节点是:
代码语言:javascript复制/dev/ttyUSB0
/dev/ttyACM0
/dev/tty...
我自己的板子上看到的是这样的:
QT的上位机编写完成以后需要进行交叉编译,这样才能够移植到开发板上使用,具体步骤参考:
手把手之如何在嵌入式Linux上运行QT应用程序(以百问网imx6ull开发板为例)
另外,在使用这个程序的过程中发现LCD的背光太亮了,于是我就实现了一个调节背光的函数,这样就可以让背光降到较为舒适的亮度,具体实现如下:
代码语言:javascript复制int MainWindow::SetBacklight(int Level)
{
int Ret = -1;
FILE *Fp = NULL;
char Buf[10] = {0};
Fp = fopen("/sys/class/backlight/backlight/brightness", "w");
if(NULL == Fp)
{
printf("fopen backlight dev fail!n");
return -1;
}
snprintf(Buf, sizeof(Buf), "%d", Level);
Buf[strlen(Buf)] = '