结课啦!基于柿饼UI实现的汽车仪表盘、网络流媒体播放器等作品,究竟如何?...

本文主要是介绍结课啦!基于柿饼UI实现的汽车仪表盘、网络流媒体播放器等作品,究竟如何?...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于柿饼UI:柿饼UI是一款专注于嵌入式领域,由C/C++语言构建,为用户提供类安卓效果的GUI解决方案。为用户提供了设计器+JavaScript语言的开发模式,用户只需拖拽UI控件,写一些简单的JS控制逻辑,就可以实现绚丽、复杂的UI效果。相对于传统纯C语言开发模式的GUI,柿饼UI可以极大的提高开发效率,降低代码调试难度,加快产品迭代速度。

11月末,柿饼UI团队上线了柿饼UI入门课程,获得了社区一致的好评!通过1个月的学习,小伙伴们收获颇丰还提交了许多优秀的作品,以下作品在众多作业中冲出重围,获得了老师团一致的认可。下面就让我们来看看,他们这段时间的学习感悟和作品吧~

01 一等奖

大家好,我是傅应益,来自天府之国-成都,电子爱好者。目前就职于某医疗器械公司,主要从事血液成分分离、净化、采集,TPE、UBIO等相关医疗器械开发工作。

作品介绍

作品名称:

酷炫汽车仪表盘实现

硬件平台:

柿饼派屏幕分辨率:1024×600

主要功能:

1.汽车仪表

通过摸拟汽车的操作,实现汽车速度、电量的仪表指示和数据显示。

可摸拟汽车行驶过程中的转向灯显示、阻力、耗油、水温上升和油量检测功能。

2.网络联接

实现无线网络的搜索、密码输入、状态显示、网络联接等功能。

3.音乐播放

实现本地音乐的播放,拥有上一曲、播放/暂停、下一曲、音量调节、总时长显示、实时时长显示、进度条拖放、播放模式设置(顺序播放、单曲循环、随机播放)等功能。

4.天气获取及语音播报

当用户选取城市信息后,通过HTTP协议向互联网上的天气服务器GET请求获取天气消息,然后对服务器返回的json信息解析展示到面板上。若有语音播报需求,则将自定义的语音文本通过HTTP请求百度tts接口,配合audio达到语音播报天气的目的。

总结

这次柿饼UI的学习使我对柿饼的了解深入很多.由于时间关系,还有很多地方没有做好。未来考虑把柿饼派打造成为一个控制中心,通过网络协议实现各种外设的控制。

02 二等奖

我是赖冠宏,来自厦门,是一名能干(饭)的嵌入式软件工程师。也是一个maker,喜欢diy,接触各种新技术。本次作品是炫酷汽车仪表盘   ,硬件平台是大柿饼派。

作品介绍

UI部分:灵感来源是机器人脸,使用Imagebox、Label、Clock、ProgressBar、WheelString、Button、Switch等控件来实现界面功能,并配合panel和timer等来实现页面的切换

网络部分:使用HTTP来获取天气、温度、时间等数据时时更新。

音乐播放:实现了本地音乐播放。将音乐和对应图片使用相同的名称分别放SD卡不同的文件夹,使用FileManager API启动时将不同文件夹信息读出存到Array,以达到播放音乐时音乐、图片、名称都对应的效果。再通过AudioPlayer的api实现全功能的音乐播放。

遗憾:总体来说柿饼UI实现自己的想法真的很方便,短时间内就可以做出很多功能。由于个人时间不足,很多想法还没完善。作品最终想做成一个类似智能语音助手的仪表盘,继续加油。

03 二等奖

张丙儒,来自辽宁,电子爱好者,大三物联网专业学生在读,喜欢玩单片机,diy一些有创意的作品,乐于分享。

作品介绍

作品名称:

网络流媒体播放器

硬件平台:

柿饼派+小熊派

主要功能:

1.网络部分:通过HTTP,MQTT网络协议从API接口获取数据、从串口接收到的数据发布消息到指定topic。

2.音频播放:

- 音频:实现了类似网易云的网络音频流播放器,通过HTTP的GET请求获取专辑信息,通过对json的解析配合audio达到播放音乐的功能。

- 视频:因为视频不支持在线播放,固采用本地视频播放,通过对视频转码存放到SD卡中,配合VideoPlayer控件实现对视频的播放。

3.天气获取:通过HTTP的GET请求获取天气消息,通过对json的解析以及发送HTTP请求百度tts接口,配合audio达到语音播报,天气显示功能。

4.物联网:通过柿饼派内置的paho-mqtt连接emq服务器将小熊派通过串口发送的json串发送至指定的topic。同时物联网平台订阅该topic实现物联网功能。

UI界面展示:

通过ListCtrl,imagebox等等控件打造了一个类似网易云播放器的界面UI。将网络获取到的音频通过列表形式展示在该界面,可谓“麻雀虽小但五脏俱全”。

后续待加入功能:通过RTC配合WIIFI获取网络时间,显示在主界面。通过接口获取更多类似:歌手、歌词,收藏/关注歌曲等信息,并通过下载按钮实现一键下载歌曲等功能。    

04 三等奖

我是杨澄,来自深圳的一名打工人,也是一名从事嵌入式软件开发的工程师。本次作品是网络音频流播放器,基于RT-Thread出品的柿饼派实现。

作品介绍

实现的主要功能如下:

- 连接wifi

使用wifi控件,按照说明文档几行代码就实现了。

主要功能如下:

- 播放本地音乐

使用了audio控件,提前将mp3文件放入sd卡,然后js代码建立索引,将歌曲路径传入audio控件播放即可

- 搜索网易云的音乐

根据输入的文本,然后转换成特定格式然后结合网易云的搜索接口api,使用http请求数据,得到歌曲相关信息(歌曲名,作者,歌曲id等)

- 播放网易云的音乐

使用http的方式向网易云平台申请数据,拿到歌曲id,然后将播放路径传给audio控件播放即可。

- 查看歌词

根据歌曲id,使用http请求歌词数据,得到json数据,提取特定内容数据后发给文本控件(加入滑动控件)显示即可。

- 查看评论区内容

与获取歌词类似,主要是处理返回的json数据。

后期想要增加的功能

- 个性推荐(诸如歌单之类的)

- 增加搜索功能,目前只能按单曲搜索,尝试增加按歌手等更多的方式搜索歌曲。

- 增加标记“喜欢的音乐”的功能

目前工程实现的不足:

界面做的比较low,美工天赋差,后天也没好好培养,后面对界面再对修修补补。

控件方面,对某些控件的使用还不熟。

Js也是现学现卖,感觉用写c的方式去写的,造成代码很混乱,同时也没有对一些数据进行有效性检查,造成功能的不稳定,有些操作会卡到bug造成死机,这个方面只能不断优化了。

总结

柿饼UI开发工具开发GUI的方式真的效率很高,所见即所得,采用js来编写代码的方式也很快实现所要的功能。

05 三等奖

李勇华,通信工程本科在读,嵌入式、物联网、电子爱好者。

作品介绍

作品简介:

酷炫汽车仪表盘,硬件环境:800x480柿饼派

功能如下:

1、模拟汽车仪表盘

 使用按键模拟汽车的前进后退、左右转向以及加油

2、通话记录:

 模拟电话通信记录,区分拨入、拨出

3、WiFi网络列表:

 使用柿饼派硬件wifi模块扫描周围WiFi网络热点显示

4、模拟音乐播放器

 模拟显示歌单

5、模拟天气预报

 模拟显示当前时间、位置的天气情况

不足:

界面不是很一体化,网络和音乐的功能没有完善,需要接入网络完成联网天气预报、对时功能

总结:

柿饼UI采用js开发上层界面,效率非常高,代码量少、非常方便,很快可以实现需要的功能

06 三等奖

我是胡静辉,2012年毕业于浙江大学城市学院电子信息工程专业,毕业以后一直在杭州从事嵌入式软件开发。

作品介绍

作品简介:

本次作品是网络音频流播放器,基于RT-Thread出品的柿饼UI在柿饼派上实现。

实现的功能如下:

1. 播放网络音乐

因为要在线播放音乐,所以必须要联网,必须要说这个WIFI控件太好用了,按照说明文档轻松搞定。然后我自己搭了一个http服务器,把需要的一些音乐和音乐相关的一些东西都放在服务器上,然后使用http获取音乐数据进行在线播放。

2.播放本地视频

把需要播放的视频放在SD卡里,然后用videoPlayer控件进行播放。

3. 网络校对时间

然后还有一个系统时间网络校对功能,联网获取网络时间然后设置系统时间。

恭喜以上获奖选手,不日我们将为您寄出本次的奖品!


你可以添加微信17775982065为好友,注明:公司+姓名,拉进RT-Thread 官方微信交流群!

RT-Thread


让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。

长按二维码,关注我们

 点击阅读原文进入官网

这篇关于结课啦!基于柿饼UI实现的汽车仪表盘、网络流媒体播放器等作品,究竟如何?...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/229482

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja