这里分享嵌入式,Linux,Android 等相关领域近两周发生的资讯,以及觉得不错的开源项目和工具。周六发布!
回到过去:人人都是极客半月刊:第 1 期
天空制造作品
刊首语
疫情期间在家宅着玩了下b站,发现b站真是个宝藏之地,各种学习内容,应有尽有(是的,我之前没逛过b站)。还好,宝藏之地会迟到,但永远不会缺席,通过b站喜欢上了视频分享,有种和up主近距离实时参与感,并且视频的方式比文字更容易,更简单让人接受,毕竟通过说话的方式交流让人更真实。
其实蛮喜欢远程办公的模式,既可以高效率的完成工作,又可以做自己感兴趣的事。之所以说高效率,因为在家办公意味着你没有下班概念,没有外界干扰,其实是一直处于工作状态,直到把问题解决。(心里稍微计算了下,在家办公时间是远超公司工作时间的)。说到这里推荐下左耳朵之前说到的一本书《Rework》,写这本书的公司叫 37signal(现名 basecamp),这家公司在发《Rework》这本书的时候,整个公司只有 16 个人,分布在全世界 8 个城市,这种 Geek 文化太酷了。我相信通过这次疫情的经历会让未来企业考虑更加有效率的工作模式。
好了,随便唠了几句,下面我们一起看下最近两周整理的一些资讯,项目和工具。也欢迎读者留言希望半月刊添加的项目和工具等内容。
资讯
1. NXP推出基于i.MX RT106F本地人脸识别解决方案
NXP MCU级别的人脸识别解决方案利用i.MX RT106F来实现,使开发者轻松便捷地将人脸识别功能添加到他们基于MCU的IoT产品中,这个超小尺寸,集成软件算法和硬件的方案,可以方便开发者进行快速的评估和概念验证开发。
这个解决方案最大程度上缩短了上市时间,降低了风险并减少了开发工作,可以使众多OEM厂家更方便地添加人脸识别功能,为智能家居,智能家电,智能玩具和智能工业提供高级用户界面和访问控制功能,而无需Wi- Fi和云连接,解决了许多消费者的隐私问题。
i.MX RT106F是i.MX RT1060系列的成员,将于2020年4月份正式量产,主要针对低成本人脸识别应用,基于Arm Coretx-M7内核,主频高达600MHz的高性能实时处理器,除了人脸识别功能外,i.MX RT106F 还有大量可用外设,可以作为多种应用的主芯片。i.MX RT106F已经获得许可,可以运行NXP OASIS 运行库进行人脸识别,其中包括:
摄像头驱动;
图像捕获和预处理;
人脸检测;
人脸跟踪;
人脸对比;
人脸识别;
防欺骗;
人脸配置;
置信度;
人脸识别认证结果;
情绪识别;
内置安全bootloader,应用程序验证;
连接性:MQTT, lwIP, TLS;搜索与注册;所有驱动(包含wifi和蓝牙);
RTOS OTW客户端:OTW签名脚本,OTW rollback,图像冗余;
USD MSD更新;
自动校验脚本;
支持 MCUXpresso SDK, IDE 和配置工具。
2. Android 11新功能曝光,双击机身背面就能快速打开相机
2月20日,谷歌正式推出了Android 11的首个开发者预览版,并在开发者网站中开放下载。今年开发者预览版推出时间比去年快了一些,看来Android 11的开发进度非常乐观。在Android 11中,谷歌对多项功能进行了优化,比如增加了对5G的支持,强化隐私安全等等。此外,谷歌也继续完善Android的功能,为其加入一些个性化的功能。除了此前POPPUR报道过的原生支持长截图和屏幕录制之外,还有一个名为Double Tap(双击)的实用小功能。
近日有外媒在Android 11 Developer Preview第一版中,发现了了全新的Double Tap功能。正如名称所说的那样,Double Tap可以通过双击手机背部两下,让手机执行指定的动作命令。据POPPUR了解,Double Tap预设了一系列动作,例如打开相机、叫停闹钟响闹、停止倒数计时、暂停或播放音乐、将来电铃声调至静音、取消信息通知声音、收起下拉菜单等,用户只需简单选择就可以。此外,Android 11也允许用户自定义Double Tap执行的命令,因此使用起来是相当灵活的。至于具体的原理,应该是借助了手机内置的陀螺仪和加速度感应器的配合,来判断用户的敲击动作。
不得不说,这一功能真的十分实用,特别对于Pxiel手机。如果是我的话,我会将它设置成开启相机,这样更方便抓拍精彩瞬间呢。
开源项目
1. 即时 Linux 内核开发环境 Linux Lab
Linux Lab 是一套基于 Docker 和 Qemu 的即时 Linux 内核开发环境,它也可以用于嵌入式 Linux 系统开发。
无论是新人还是有经验的老手,搭建 Linux 的学习和实验环境都是比较费时费力的,一方面要安装基础系统,一方面要下载各种交叉编译工具,有时候还要去下载最新的源代码。在国内这个大的局域网下,要整完整套环境,少则几天,多则数周,最重要的通常还得多次重复去搭建,不光费时还很繁琐,系统一变更,又得重复做。
截止到目前,Linux Lab 已经支持世界上最主流和流行的 5 大处理器架构(X86、ARM、MIPS、PowerPC、RISC-V),也支持国产的 CSKY 和 Loongson,支持 15 款相应的开发板。
GitHub 地址:https://gitee.com/tinylab/cloud-lab.git
2. 新型冠状病毒防疫信息收集平台
针对 2020 年初在武汉爆发的新型冠状病毒疫情,本项目旨在收集各医院、酒店、工厂、物流、捐赠、捐款、预防、治疗、动态等信息,统一收集,统一发布,以便各方之间进行信息互通,有效调配社会资源。
GitHub 地址:https://github.com/wuhan2020/wuhan2020
阅读 wuhan 2020 项目的 README,可以看出这是一个流程系统,细节考虑较周全的项目,项目列表如下,罗列了详细的数据提交表单字段、Slack 频道对应定位等内容。
工具
1. linux gdb调试神器insight
Insight是一个Tcl/Tk编写的gdb的图形用户接口,虽然在linux下开发c,c++应用程序并非必须用gdb来调试,随着当今java的兴起,很多java IDE都提供c,c++开发功能,著名的有Eclipse,还有最近很火的vs code。但是对于那些喜欢用emacs进行一条龙开发,而又对gdb颇有微词的人,Insight绝对是你最好的选择。如果大家平时使用的是gdb调试器,那么看到下面的的画面可能会激动不已,先奉上几张画面吧。
源代码与汇编代码的分离界面:
完善的功能图:
2. linux 截屏工具screenFetch
screenFetch是 Bash 命令行程序,它可以产生非常漂亮的系统配置和运行时间的截图。这是方便的与它人共享系统配置的方法。
$ sudo apt install screenfetch
安装 screenFetch 后,它可以生成详细而彩色的截图,如下所示: