“华为天才少年”自制百大Up奖杯,网友:技术难度不高侮辱性极强


来源:雷锋网

B站硬核黑科技Up主、AI算法工程师稚晖君,停更了好一阵子后,这位自称野生钢铁侠的超硬核Up主终于又发布了新作品。

之所以停更这么久,Up主解释说,不是因为在野外被捕了,纯粹是因为工作太忙了。

熟悉稚晖君的同学都知道,他已经加入了“华为天才少年”计划。

稚晖君2018年从电子科技大学毕业,之后加入OPPO,从事算法研发工作。在此前的视频中,他说,在华为、头条、拼多多、优必选以及一些外企等一线科技公司发来的Offer中,最终选择了华为。

话说回来,这次稚晖君带来了什么硬核黑科技?

他在视频中说,这次的更新是趁周末肝了20多个小时的作品,名叫HoloCubic,翻译过来就是分体式迷你高清光学影像分光投射桌面网络终端设备。

简称“透明小电视”,也就是这个亚子。

1

自制透明小电视HoloCubic

这个透明小电视中加入了Wifi功能,可以实时显示天气预报。

或者一些常规信息流。比如B站的粉丝数据,电脑后台的运行情况,如CPU、内存占用、温度、网速等。

除此之外,它还可以作为一个手机桌面小配件,接收到短息、通知等消息。

又或者通过订阅图片数据流来把它当做一个桌面小相册。

如果显示还不过瘾,它甚至还自带了输入法功能。

看到这里,有同学可能会好奇,这个小电视一个按键都没有,如何实现功能的切换或文本输入?

Up主解释说,小电视的底层系统内置了加速度计和陀螺仪,只要像这样,

左右摇一摇,就可以实现多功能和模块之间的切换了。

另外他还强调,HopCubic不仅是一个功能非常多的炫酷显示屏,还可以作为一个ESP32开发板来使用,结合它的网络能力以及代码框架,还可以实现很多好玩的功能。

2

实现过程

有朋友可能知道,稚晖君三个月前开发过一个硬核“小电视”项目。

当时这个项目收割了近500万的观看量、70万点赞,还被小破站收录为入站必刷视频。

不过,当时这款小电视使用的是ARM-Linux的板子,多少有些大材小用,所需要的成本和技术难度也都比较高。

为了让大家能够轻松复现,在这款小电视项目中,Up主要没有采用高性能的SOC,而是采用了非常流行的MUC方案—ESP32开发板。

软件框架也使用了比较简单,容易上手的Arduino来进行实现。总体路线图大概分为电路、软件和结构三个部分。

在电路设计方面,Up主遵循高集成度、紧凑设计路线,最终的电路板大概只有一个硬币大小,上面集成了ESP32最小系统、串口以及下载电路、一个MPU6050六轴加速度计和陀螺仪、环境光传感器、一个RGB灯、板载的WiFi和蓝牙天线,以及一个SD卡槽。

这块电路主板通过ffc的排线与IPS主屏幕进行进行连接,大概形成这个样子。

然后通过光固化3D打印出来,硬件实物就OK了。

接下来是为硬件注入灵魂,也及时软件代码的编写。Up主介绍,软件部分大概分为三个模块,一是设备驱动移植与开发,包括屏幕驱动、RGB驱动、IMU驱动,其中一些是借用现有开源的轮子,另一部分是自己开发的。

二是GUI库(lvgl)移植适配。需要说明的是,考虑到所选用EPS32-PICO-D4开发板,其硬件资源有限,而内置SRAM卡内存只有500K,无法带动复杂图形的桌面,因此Up主使用了轻量级图形库lvgl,并完成了显示接口、文件设备以及输入设备的移植。

最后一环就是基于APP的上层开发,也就是基于底层框架实现各种逻辑和功能,如上上面我们介绍的显示天气预报,后台信息流、手机通知以及小相册等。

以上所有硬件和软件代码,Up主已经在GitHub全部开源。

感兴趣的朋友,可以猛戳此这里:

https://github.com/peng-zhihui/HoloCubic

3

自制硬核百大Up奖杯

有意思的是,最后Up主用这个透明小电视还自制了一个百大Up奖杯!

原来最近B站发起了2020百大Up主评选&颁奖活动,稚晖君也作为嘉宾之一被邀请参加了。

如果不拿一个奖杯岂不是有些遗憾,于是一顿操作猛如虎后......

一个赛博朋克风的奖杯就这样诞生了!

看到这里,网友们一时间也不淡定了!

视频最后,Up主强调项目技术难度不高,可复现极强,感兴趣可以在GitHub主页了解一下。

听到这里,不少网友评论也是扎心了,“技术难度不高,但侮辱性极强”。


推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

终极教程,带具体实验现象,1个GPIO控制2个LED显示4种状态,欢迎讨论!

芯片之家前几天发了一篇文章,讨论1个GPIO控制2个LED显示4种状态,并没有带具体的实验现象,有点小遗憾:绝妙!1个GPIO控制2个LED显示4种状态,什么?你不信?(点击阅读&#xf…

《Linux内核精髓:精通Linux内核必会的75个绝技》一HACK #15 ramzswap

HACK #15 ramzswap 本节介绍将一部分内存作为交换设备使用的ramzswap。ramzswap是将一部分内存空间作为交换设备使用的基于RAM的块设备。对要换出(swapout)的页面进行压缩后,不是写入磁盘,而是写入内存。可以使用的内存仅为完成压…

TQ210——底板部分原理图

TQ210——底板部分原理图 1、主电源接口(过压过流保护) 2、串行接口 2路5线RS232电平的DB9接口,4路TTLT电平扩展接口 COM1和PC之间通信需使用直连串口线 COM2和PC通信需使用交叉串口线 接口UART2可接GPRS模块实现打电话发短信功能&#xff1b…

有趣的灵魂百里挑一,Linux同学你低下头干嘛,起来说下这个问题。

今天我们不讲源码,不说面试题,我们来说点轻松的,聊点好玩的,我们来看看linux下有哪些酷酷的,有意思的命令。0x00 sl - 呜呜,让开,小火车来啦0x01 cowsay - 一起来 say hello0x02 cmatrix - 超级…

nodejs在cmd提示不是内部或外部命令解决方法

今天用cmd安装个库,结果发现node不是内部命令,于是搜索了下解决方法,解决方法是: . 找到变量值中node的安装地址,比如C:develop\nodejs,如果不是这个地址改成现在新的安装的地址,然后保存,重新打开cmd,输入 node -v 查看版本号,就会发现一切正常啦!当然这只针对于安…

用mtrace定位内存泄漏

一. 缘起有的公众号读者,看完我上次写给大学生的查bug方法后,希望我多分享一些查bug的实践经验和具体步骤,比如如何查内存泄漏和core dump问题。所以,就打算写这篇文章。二. 内存泄漏简介内存泄漏,是一个谈虎色变的问题…

为什么每个人都应该尝试Ubuntu下篇 Why Everyone Should Try Ubuntu 分享

但是老实说,我认为 Ubuntu 拥有长期的生存能力重要于其短期的实用主义。最近几年来,对于改进 Linux 桌面方面,Ubuntu 做得比其他发行版本要多。这就是我已详细讨论的,其带来的实际好处,但它也有许多不明确的地方。感谢…

陪我长大的村,镇,学校和家乡

我们村在广西河池市金城江区九圩镇江潭村山岳屯上面的字可以省略,因为看起来确实麻烦。地图上是这样显示的。小说我们村的那座桥,那座老桥据说是我爷爷那一辈人建起来的,用的是实打实的大石头。我上小学那段那会,我们同龄的小孩都…

Linux硬盘分区

MBR分区主分区:14,一块硬盘最多4个主分区,对主机必须有,主分区可以格式化ntfs,存数据。扩展分区:14,一块硬盘最多一个扩展分区,可以没有扩展分区,可以划分成更小的单元&a…

使用FileZilla Server轻松搭建个人FTP服务器

使用FileZilla Server轻松搭建个人FTP服务器 添加一个用户,然后在“共享文件夹”下设置将要设为FTP目录的文件夹和操作权限,点击确定 https://jingyan.baidu.com/article/ed15cb1bb6de421be3698188.html 可以为不同的用户创建不同的目录,新建…

TQ210——启动方式

TQ210——启动方式

AngularJS:应用

ylbtech-AngularJS:应用1.返回顶部 1、AngularJS 应用 现在是时候创建一个真正的 AngularJS 单页 Web 应用(single page web application,SPA)了。 AngularJS 应用实例 您已经学习了足够多关于 AngularJS 的知识,现在可…

你可能对电灯泡一无所知

今天在公众号“电路啊中看到一篇推文”超低成本的LED恒流驱动电路[1] ,作者讲述了看到一个仅仅售价1元人民币的LED灯泡,并包邮时所感到的惊讶。为了消除惊讶,作者还花巨资(1)购买 薅羊毛 了该款灯泡并拆开一看究竟。▲…

TQ210——S5PV210启动过程

TQ210——S5PV210启动过程 1、S5PV210内存地址映射 S5PV210 含有一个大小为64KB的IROM,起始地址为0xD0000000,结束地址为0xD000FFFF;含有一个大小为96KB的 IRAM,起始地址为0xD0020000,结束地址为0xD0037FFF;内存起始地…

composer-安装插件包

上一步完成后,选定国内镜像地址,以为下载插件包做准备 https://pkg.phpcomposer.com/ 安装完componser后使用下面这条命令即可(设置国内镜像地址): composer config -g repo.packagist composer https://packagist.phpcomposer.com 插件包地址…

555定时器是如何被发明的?

在电子领域中, 555 定时器集成芯片[1] 是著名集成芯片之一。然而很多人并不知道它是如何被发明的?下面是发表在网站 Circuit Today上的一篇文章[2] ,带你重温从555被发明开始直到当今的发展历程。一、什么是555定时集成芯片?555芯…

TQ210——交叉编译器的安装

TQ210——交叉编译器的安装 1、 下载arm-linux-交叉工具链 2、 在ubuntu下新建一个目录,通过Samba拖到虚拟机ubuntu中 3、由于刚创建的目录没有samba权限,因此要加权限。 4、解压交叉工具连,-C指定目录 5、用arm-linux-gcc–v查看版本&#…

CCCC L1-002. 打印沙漏【图形打印】

L1-002. 打印沙漏 时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ************ *****所谓“沙漏形状”,是指每行输出奇数个符号&am…

Samsung原版44B0X的Bootloader分析

原作者:BCbbs 1.中断向量表 AREA Init,CODE,READONLY 说明: 1.从代码看Init段就是要写入0x00地址的原始中断向量,因此把这个文件编译生成的44binit.O和Init填入ADS的Linker-Layout页对应项中(这样编译器会把该段代码编译到0X…

C语言,把指针按地上摩擦,爽

不要陷在指针里面,最好的方法是跳出指针,我们从最终结果来思考问题。于是我的解题思路总是很偏,但是直指本质。我们写一段代码:编译,反编译,反编译这里我们用objdump -d hello >1.txt,如果你…