结课啦!基于柿饼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

相关文章

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

golang版本升级如何实现

《golang版本升级如何实现》:本文主要介绍golang版本升级如何实现问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录golanwww.chinasem.cng版本升级linux上golang版本升级删除golang旧版本安装golang最新版本总结gola

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分