说起单板机,可能大家最先想到的就是鼎鼎大名的树莓派了,这个2012年面世的卡片电脑几乎成了众多开发板厂商争相学习并超越的标准,各种“派”都兼容了树莓派的接口,方便接驳各种附加模块,方便开发者的使用。 而且各种“派”的硬件配置也几乎都要高于树莓派来体现自己的价值,吸引更多开发者的青睐。随着竞争的越发激烈,树莓派也在不断地升级,衍生出许多树莓派版本,以至于推出了最新的RPI3,四核的树莓派,在性能上提高了很多。不过呢,树莓派的另一个方向则是向着“小”来发展,这就是树莓派Zero,一个以小巧著称的版本。当然,小是有代价的,树莓派的Zero摒弃了多种传统的接口,只保留了最基本的功能以及标志性的40Pin的GPIO接口。然而树莓派Zero并不是最小的,在提供相似的功能下,友善之臂为我们带来了一款更加小巧的开发板--NanoPI NEO。 它们有什么区别呢?对比一下就很直观了(参数占优的部分以红色标注)
上面提到了NanoPI NEO没有视频输出接口,那么该怎么用呢?其实NanoPI NEO主要面向的是IOT开发,运行的系统是Ubuntu Core系统,这是一个专为云平台和智能设备打造的全新ubuntu,采用与Ubuntu 相同的库但提供应用程序的机制却更加简单的极小服务器系统。在它的基础上可以开发自己需要的各种服务器程序。只要简单地用WinDD将镜像文件写入到TF卡中即可启动NanoPI NEO进入终端环境。同时可以依靠ssh客户端完成命令行的操作。可能有些朋友对Linux的命令行感到恐惧,所以这个操作系统也提供了sftp的服务,可以像操作Windows本地文件一样进行文件的操作,大大简化了难度。 而且友善之臂的官方wiki为这个开发板提供了详细的操作说明和一些相关的资料,按照教程来操作就能很快的上手了。NanoPI NEO的wiki的地址为:http://wiki./wiki/index.php/NanoPi_NEO/zh NanoPI NEO的硬件和软件基本了解了,那么它的性能到底如何呢,是否能胜任当作一个小服务器呢?下面来测试一下吧,分数最能说明问题。 测试使用的工具是Linux上很常见的sysbench,一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试,小巧易用。apt-get install sysbench后开始测试(请先添加源或自行编译,很快的): CPU测试,NanoPI NEO是四核的CPU,所以采用了四线程运行 内存测试 磁盘读写测试 毕竟有着价格上的限制,虽然在性能上不是很突出,但是NanoPI NEO摒除了众多接口,没有添加其他的功能芯片,所以在功耗上还是有一定的优势的。 待机功耗为5V 240mA,也就是1W多,没有安装风扇。 满载大概在450mA左右,为了保证运行,这个是安装了风扇之后的电流。 Linux上的开发比较简单,而且支持众多的语言,即使操作硬件也可以不必用C来完成,这次呢就用golang来尝试一下控制NanoPI NEO板载的两个LED灯。 golang是谷歌推出的一款编译型的语言,然而它却具有很多托管或静态语言的特征和优势,比如自动内存回收机制、变量随时声明等,而且最大的亮点是其天生支持协程,轻松应对高并发的场景。同时支持众多的平台,包括NanoPI NEO这样的ARM Linxu也没问题,直接将编译好的可执行文件拷到系统里即可运行,不需要其他的运行环境。至于操作硬件的方法,其实是Linux操作系统提供的接口,将硬件的物理地址通过API映射为内存地址,这样就可以在用户层的程序中操作寄存器了。 先来看一看NanoPI NEO板载的两个LED灯对应的是哪个GPIO口。
程序的详细代码就不发出来了,都是手册上的东西,程序的作用是每次运行将这两个灯的状态改变,也就是亮的关掉,灭的打开。想具体了解可以到bbs.ickey.cn的NanoPI板块查看相关帖子。 编译后,将生成的可执行文件通过sftp上传到NanoPI NEO上,使用root用户来执行 同理,板子上其他所有的端口都可以用程序来控制,实现各种功能。 前面已经提到过,NanoPI NEO面向的是IOT产品,没有视频输出接口,同时操作系统运行的是UbuntuCore,没有图形界面,但是胜在功耗低、体积小、价格便宜,所以把NanoPI NEO当作一个小服务器采集数据来用还是很合适的,通过自己编程或者安装对应的软件可以实现千变万化的功能,更可以集成到现有的产品当中而不需要做太多的工作,赶快来试试吧。 NanoPI-NEO免费试用活动正在云汉电子社区火热进行中,只要你关注云汉电子社区微信公众号ickeybbs,回复'NEO',就可以免费获得体验资格。 |
|