友善ZeroPi
小巧
易用
产品概况
# 友善ZeroPi 超小全志H3开发板开箱体验
## 前言
非常抱歉,由于最近的coronaVirus的影响,这篇开箱迟到了很久,虽然会迟到,但是永远不会缺席。
## 第一眼的感觉
我拿到产品的时候,感觉轻飘飘的一个盒子,打开以看就被铝合金的外壳吸引住了,这么小巧,当时第一个反应是整个板子的GPIO在哪里??
如图:
![](https://IMG_URL_REPLACE/bbsimages/202003/3cdd2a32b4ade33983339091b1d4c722.jpg)
换个角度看看:
![](https://IMG_URL_REPLACE/bbsimages/202003/ad1ed18278a228c39d1e7851a7cf62bf.jpg)
顶部细节:
![](https://IMG_URL_REPLACE/bbsimages/202003/775b348c0c6ef1405b8cb81500b1ed8b.jpg)
背部细节:
![](https://IMG_URL_REPLACE/bbsimages/202003/86d98b3d12690cb8edae6c26b7d53586.jpg)
和ESP32对比一下:
![](https://IMG_URL_REPLACE/bbsimages/202003/70e5a85e47edaae9c60e678137436277.jpg)
然后和我用3D打印机打印的艺术品对比一下:
![](https://IMG_URL_REPLACE/bbsimages/202003/a17669b8ed30a5b0657b622cc549f607.jpg)
这么小巧的外壳,好Q弹, TF卡槽,OTG/MicroUSB口开口非常精致,一个标准USB2.0接口可以外界一个无线的键盘鼠标,以太网口据说是千兆的,家里的路由器接上后,发现如果做一个小型的服务器真的是太小巧了!!!!
## 从何开始
在申请的连接里面有很多资源可以选择,网上一搜也是一大把资源。
友善的东西做的比较细致,细节方面考虑的也比较多,文档更不用说了,非常的赞!对于一个初级入门的人来说,上手只要看文档就可以玩儿的风生水起了。
下面帖出几个链接供大家访问:
本实用产品为ZeroPi(带散热片,黑色铝型材外壳)
### 资料下载:
* WiKi维基教程
http://wiki.friendlyarm.com/wiki/index.php/ZeroPi
* 系统固件以及源代码下载
http://download.friendlyarm.com/zeropi
* 原理图
http://wiki.friendlyarm.com/wiki/images/7/71/ZeroPi_20190731_Schematic.pdf
* 尺寸图
http://wiki.friendlyarm.com/wiki/images/e/e0/ZeroPi_20190731%28dxf%29.zip
## 我是如何开始使用的?
### 拆解
其实我是想看看板子做工和GPIO的信息,所以我将外壳拆去了,下面是图示:
![](https://IMG_URL_REPLACE/bbsimages/202003/16058463e549d63bed76936e34adc1eb.jpg)
* 做工很细致,身边的朋友都觉得小的可以,同事说,它在我手里显得像熊掌托了一块方糖。
![](https://IMG_URL_REPLACE/bbsimages/202003/90387d77df860f9c5fe051566a3944dc.jpg)
* 铝型材的外壳散热效果非常不错,很喜欢,小巧是关键。
![](https://IMG_URL_REPLACE/bbsimages/202003/26e5014531efd104cd2dc8b6b35e96c2.jpg)
* 散热系统真的是非常酷, 这么一大片散热片,还有散热硅胶垫结合紧密,我怕损坏了thermal tape就没有拆下方的散热片。
![](https://IMG_URL_REPLACE/bbsimages/202003/85246d6b6b2cbc7104447fd9bf7c5d47.jpg)
* 唯一想要吐槽的地方是GPIO引脚的丝印被排针挡住了,不过依稀可以判断GND,5V,TX和RX, 这里留出的串口为后面操作带来了极大的便利。
![](https://IMG_URL_REPLACE/bbsimages/202003/16605405c1f479941253d092ada2cad6.jpg)
* TF卡卡槽是按压弹出式设计,在外壳包裹的情况下,取TF卡非常方便。这里给一个好评,唯一怕的是时间久了容易出现TF卡松动自动弹出的情况,这个我曾经在树莓派早期系列产品中遇到过。
## 查看硬件配置
* CPU: Allwinner H3, Quad-core Cortex-A7 Up to 1.2GHz
* DDR3 RAM: 256MB/512MB
* Connectivity: 10/100/1000Mbps Ethernet
* USB Host: Type-A x 1
* MicroSD Slot x 1
* MicroUSB: for power input only
* Debug Serial Port: 4Pin, 2.54 mm pitch pin header
* Power Supply: DC 5V/2A
### 硬件设置点评
双核Cortex-A7 1.2GHz 搭建小型服务器环境绰绰有余,属于轻量型的配置。
DDR3 内存 256MB/512MB 如果搭建LNMP架构的环境,搭建一个个人博客是足够了的,如果搭建一个简单的IoT边缘节点做个MQTT的broker服务器那是绝对的真香。
串口调试波特率:115200, 和树莓派的一样,可以在系统上用screen(Mac OS)或者串口调试助手调试(windows)。如果需要看完整电路图可以访问这里:http://wiki.friendlyarm.com/wiki/images/7/71/ZeroPi_20190731_Schematic.pdf
其他的单个USB口如果接键盘鼠标不太现实,毕竟没有视频输出接口,最好的应用应该是:
1. 接一个usb摄像头
2. 接一个wifi无线网卡
3. 接一个USB的U盘做存储
## 如何开始??
### 下载并烧录系统
为了方便测试,我下载了
![](https://IMG_URL_REPLACE/bbsimages/202003/fe032e165b2472a795af0e6829ac89b8.jpg)
链接:http://download.friendlyarm.com/zeropi
解压后,我是通过etcher 这个软件烧录的,大家可以用官方自带的win32diskimager来烧录,一样效果。
然后接设备点亮的时候,突然发现一个问题,我的USB-to-TTL的usb转串口的设备没带到家里来,在家里操作非常不方便,思前想后突然想到用树莓派的串口来调试zeroPi不是很方便么?
于是用3根杜邦线连接到zeroPi,5V那个脚就不接了,用树莓派的串口功能,不要树莓派供电了,供电通过USB口接zeroPi,然后启动树莓派。
![](https://IMG_URL_REPLACE/bbsimages/202003/d29f7251a2d2fb6e097b202dace7f35b.jpg)
## 树莓派开启串口
1. sudo raspi-config 去开启串口,关闭串口登陆树莓派。
如图所示:
![](https://IMG_URL_REPLACE/bbsimages/202003/4092a63ed7b574484f93e6d56c4507d7.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/87e2f463c9ce6bf7d30676e4e6c16380.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/6bad9e899b4da86b176c8767a0c64e61.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/10eaedb36d254f451590b40278b04ce9.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/e327177024ead1f4559152c84e426b41.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/fcf14bb5936ee498da0147bf8f191a60.jpg)
## 配置/boot/config.txt
```bash
sudo vim.tiny /boot/config.txt
```
添加:
```bash
dtoverlay=pi3-miniuart-bt
```
![](https://IMG_URL_REPLACE/bbsimages/202003/1b9a93066d466fd6168a348592054b27.jpg)
保存后重启,看到的效果是这样:
![](https://IMG_URL_REPLACE/bbsimages/202003/2144399ed1b1b63555399f438b4ed5bd.jpg)
如果不加这句话的话:
```bash
serial0(GPIO串口)默认使用的是ttyS0(mini串口)
serial1(蓝牙)使用的是ttyAMA0(硬件串口)
```
![](https://IMG_URL_REPLACE/bbsimages/202003/1955db186f126e02b8b1f4f6e7d7316f.jpg)
## 安装screen软件远程连接zeroPi
![](https://IMG_URL_REPLACE/bbsimages/202003/c8663fab16e63f9ec71666ce22718bcf.jpg)
安装完成后,先确保/dev/serial0 -> /dev/ttyAMA0, 然后确认一下zeroPi的串口引脚与树莓派的GPIO引脚接驳正确:
| zeroPi | Raspberry Pi |
| :--: | :--: |
| GND | GND |
| TX | RXD |
| RX | TXD |
下面是树莓派的引脚图和zeroPi的引脚图:
![](https://IMG_URL_REPLACE/bbsimages/202003/83f514a66003fb5f63a074e5274956ab.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/c87f40dfc28561fa17a3d6beed67fbd8.jpg)
然后树莓派打开一个终端,输入:
```bash
screen /dev/ttyAMA0 115200
```
回车就可以看到zeroPi的界面了,密码都不用输入的,哈哈。
不过默认zeroPi的普通用户也是pi,密码是pi。如果是root用户,那么用户名就是root,密码是:fa
下面是登陆好以后的状态:
![](https://IMG_URL_REPLACE/bbsimages/202003/17de4c344eea76ca47355b667590bc72.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/3714da8dbd0a54920e9b7ace6315197d.jpg)
我拿到的这块是512MB实锤了。我之前还以为是512MB, 现在就可以开始搞事情了,但是突然发现...没有网络的派是没有灵魂的,而我手头又没有以太网线,订购中...继续等待,我得找个USB的wifi模块试试走无线。
再联网之前,我能做的就是看看系统的基本状态信息:
![](https://IMG_URL_REPLACE/bbsimages/202003/cbaab092f583c69489c61b19aafaecb2.jpg)
## 基本系统信息检查
先看看CPU信息:
![](https://IMG_URL_REPLACE/bbsimages/202003/1c7970cd56f010cf1bc2dd77b5c0d813.jpg)
四核CPU ArmV7l,小端模式,CPU最大主频1200MHz
![](https://IMG_URL_REPLACE/bbsimages/202003/9a19af74d51723780d4522bd5972725d.jpg)
我8GB的一个TF卡,现在只有5.2G了,系统的东西还是不少的。
![](https://IMG_URL_REPLACE/bbsimages/202003/e8fd596de3fbec6c64ef2416e153ad8e.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/53e767d51044428147195b2bdef88f40.jpg)
看看网卡状态,启用了,但是我没有网线,没有USB网卡,让我感觉很纠结,我要买个USB网卡开搞,或者来跟网线也不错,无奈手头都没有,难道我要自己做一根网线?No,No,No,工程量太大了。哈哈
![](https://IMG_URL_REPLACE/bbsimages/202003/03df7ebb91b3faf96645e6a5b4b7f948.jpg)
再看看它的工具,树莓派上的工具叫raspi-config,这里的叫npi-config:
```bash
sudo npi-config
```
![](https://IMG_URL_REPLACE/bbsimages/202003/8f05cfd97b495d9eacf6cb5991ca36e2.jpg)
这里面的分别介绍一下:
1. 修改用户密码
2. 更改主机名
3. 启动选项
4. 本地化设置,应该是语言,字符集什么的。
5. 接口配置
6. 高级配置
7. 更新
8. 关于npi-config
和树莓派好像,无缝迁移,给点个赞!!!
这里其他的配置都很简单,我这里就着重看看接口配置和高级配置看看能用点儿什么?
![](https://IMG_URL_REPLACE/bbsimages/202003/c33ac90537c2449b01d3c54420720f46.jpg)
这里可以调试显示设置,音频设置,欢迎消息,串口信息,I2C,SPI,PWM,I2S(这个树莓派没有), IR(树莓派也没有), CPUFreq(超频?)
![](https://IMG_URL_REPLACE/bbsimages/202003/7ca09f97b715275cb11d8d29a4a7ba3e.jpg)
果然可以超频,1200MHz也就是1.2GHz,必须这个频率跑起来啊。
再看看其他的例如python的版本什么的。
![](https://IMG_URL_REPLACE/bbsimages/202003/37653bb518a4d0a0f540229286c74b70.jpg)
很不错啊,基础版本一贯沿用了python2.7.12,高级版本使用了python3.5.2, 基本上满足了大部分python开发工程师的要求,现在就是没有网络,如果有了网络,那可不得飞起来?
基本思路:
1. 想办法联网
2. sudo apt-get update 更新软件仓库索引
3. 然后安装virtualenv,再虚拟环境下面安装各种库。
4. 例如:numpy, opencv,估计可以支持到4.1.1,dlib库啥的,接个USB摄像头搞点儿人脸识别和动态检测,那感觉,真香!!
5. 如果联网成功,直接写个爬虫,各种API爬起来,什么天气,温度,CoronaVirus数据,都不在话下。
6. 还可以做个推流的服务器,美滋滋哈哈! nginx搞个rtmp服务器,躲在角落直接推流到家庭媒体中心,真的低功耗哈哈!
再试试编译器环境:
![](https://IMG_URL_REPLACE/bbsimages/202003/e4b520cfd426fe51e07e601d71839bec.jpg)
这样如果有C源码就直接编译好了。
简单尝试一下编译个读取温度的gettemp.c
![](https://IMG_URL_REPLACE/bbsimages/202003/e871d01066c6f6cc9c41422e4d971065.jpg)
编译执行一下看看效果:
```bash
gcc -o gettemp gettemp.c
./gettemp
```
![](https://IMG_URL_REPLACE/bbsimages/202003/5daeac13f5801e4a61015111d92a66d9.jpg)
![](https://IMG_URL_REPLACE/bbsimages/202003/164ae56f2f953fae07d01d64b8b9ee9c.jpg)
写个shell循环跑一下,看看效果:
![](https://IMG_URL_REPLACE/bbsimages/202003/a8d172dae0c4c01e0d96c0a0fa6b0fa3.jpg)
稳定,功耗也不高,当然了,可能没有跑太多应用吧!
功能体验
## 功能体验
这里我对功能体验感觉非常不错,是各位Linux入门爱好者的可以选择的一款开发板,轻量, 小巧,性价比应该蛮不错的,并且官方资源蛮多,可以借鉴参考的资源例如树莓派的一些操作,在zeroPi上有似曾相识的感觉,应该说系统层面上做的不错,很有代入感,在使用过程中,虽然全程通过串口远程操作,完全没有感觉到卡顿。对做一些互联网上的轻量级的应用,非常不错,之前我也提到了一些设想,大家可以尝试去实现,少了很多GPIO的操作,应该会减少很多小白接错线烧板子的烦恼,大家可以将其刷一个Openwrt做路由器,也可以利用zeroPi开始你的python编程之旅,更可以在这个平台上巩固C语言的编程技巧,另外,全开源的设计是我感觉非常赞的亮点,其中官方wiki提供的资源全面,包括文档,烧录器,还有BSP的包,一些已经做好的镜像,大家可以尝试刷dietpi系统,更加精简,方便的一款操作系统,前提是一定要联网,否则Linux没有网络就发挥不出它神力了!
总结
## 总结
* 外观: 小巧可爱,是我喜欢的类型
* 操作容易度: 五颗星 基本上如果有USB转串口的设备就可以用。
* 联网难度: 三颗星 必备六类网线,而且离路由器得近
* 系统功能全面度: 五颗星 系统软件资源全面,编译环境齐全
* 功耗: 五颗星 低功耗表现不错,温度也不太高,常温状态,可能归功于散热器
* 网络性能: 没有测试,没有发言权,后期能联网我再用sysbench做一下测试。
## 感谢
感谢大家耐心看完,我是骑驴玩儿漂移, AKA 漂移菌。希望大牛轻喷,小白看不懂可以留言提问。
下一篇我想尝试跑一下Opencv+dlib库做人脸识别,期待我的无线网卡早点儿到!
再次鸣谢电子芯吧客的工作人员和友善提供的zeroPi!!!
原创作品,未经权利人授权禁止转载。详情见转载须知。