香橙派mqtt阿里云终端(一) --记录我走过的坑和迈过的坎(顺便简单评测这个板子)

从过年开始闲在家中,把esp32和esp-12系列的单片机玩了个遍。顺手把家里的花盆和鱼缸给连上了我的阿里云服务器。想用树莓派做个设备管理的服务中心,上网一查发现香橙派上云这个坑还没什么人踩过,低廉的价格和不错的面板十分诱人,于是就诞生了这个项目。

文章目录

  • 系统环境准备
    • 系统选择
    • 镜像源配置
    • 系统空间分配
    • opencv从安装到卸载
  • 结语

系统环境准备

板子是zero plus2,不得不说这板子面板看着香,到手以后就开始有点后悔了。之前用树莓派3B做过非ros平台的激光雷达开发,当时觉得1G的运存非常流畅,根本用不上,于是买了512mb的内存的(这也导致我后来测试opencv的时候出问题)。
香橙派mqtt阿里云终端(一) --记录我走过的坑和迈过的坎(顺便简单评测这个板子)_第1张图片香橙派mqtt阿里云终端(一) --记录我走过的坑和迈过的坎(顺便简单评测这个板子)_第2张图片香橙派mqtt阿里云终端(一) --记录我走过的坑和迈过的坎(顺便简单评测这个板子)_第3张图片

系统选择

拿到手之前想在板子上装ubuntu mate,系统也准备好了,烧上卡进入插上设备以后,hdmi插上显示屏,开机!满心欢喜的等待着它开始安装系统,结果进入了全胜的启动画面,并且进入了板上预烧录的安卓系统。面对那个屏幕我是满头问号,连忙跑去问卖家怎么回事。
然后老老实实的去官网下载了官方给的镜像,xfce的桌面还给你配置好了国内的apt源(阿里云的),现在也更新到了16.04。
官网镜像下载地址
香橙派mqtt阿里云终端(一) --记录我走过的坑和迈过的坎(顺便简单评测这个板子)_第4张图片
我还尝试了官网的debian镜像,同样是xfce的桌面,但是在修改了root密码后莫名其妙的出现了重启后无法进入系统的问题,果断放弃。armbian下载速度太慢,虽然很多人都推荐这个系统,但是ubuntu跑起来挺稳定的所以我没有去尝试。

镜像源配置

进入系统后别的不说肯定是先修改root密码,

sudo passwd root

香橙派官方镜像的密码是orangepi,官网下镜像的时候有写。
确认两遍新密码进入root用户,然后开始配置python国内镜像源,apt源是初始就配置好的,所以不需要管他,简单apt-get update之后apt-get upgrade就行了,快的飞起。

cd ~
mkdir .pip
touch ~/.pip/pip.config
vim ~/.pip/pip.config

进入文件后加入国内pip镜像源
阿里云 http://mirrors.aliyun.com/pypi/simple/
豆瓣 http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学 http://pypi.hustunique.com/
内容修改为如下,用哪个可以自行修改

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

然后就开始愉快的apt-get了

系统空间分配

但是,在我打开浏览器以后,出现了意想不到的情况
系统自带的浏览器是chromium,正想登上csdn查点资料,结果浏览器崩了
,原因很简单,运存不够导致的崩溃,接着问题就是一连串的出现。
首当其冲的问题是,在查询崩溃原因的时候,没有弄清楚原因,我直接卸载了chromium安装firefox,结果安装完成后我想再安装apititude时提示我系统内存不够了。
我的系统卡是32g的,烧写系统完毕后显示显示大小是正常的,疑惑的我查看了系统空间

df -lh

发现整个系统加上硬件盘只有3G!
于是又开始查相关问题,发现是sd卡格式不对,fat32格式存储空间无法识别,遂重新用windows自带格式化格式成ntfs。重新烧写系统,打开文件系统查询系统空间。
系统盘依然只有2.3G,仍然没有解决这个问题。
这时候就要重新分区了,可以采用我的方式也可以用gpart重新分区,但是我的系统空间装不下gpart,运存估计跑起来也可能崩溃,于是我采用了系统自带的工具。
我的系统盘目录是 /dev/mmcblk1,这个和你在上一步中查询到的最大的disk一样。

fdisk /dev/mmcblk1

显示Command(m for help):
可以输入m后查询各个指令。
首先输入p,查看分区的大小和位置。
然后输入d,删除掉原系统分区,记住系统的初始位置(其实默认是最后一个分区,比如我的是mmcblk1p2)
之后新建一个分区,除了最后一项结束空间时采用你自选的结束地址,大小根据自己的需求选择就可以了。
输入w结束分区操作并保存。
我们这个时候要为系统重新分配分区

resize2fs -p /dev/mmcblk1p2 14G

最后那项大小和w结束后报出的空间大小一样,但是需要整数。
然后在打开系统盘查看,可以看到我的系统盘14G了。

opencv从安装到卸载

opencv安装很简单,上网上也有很多的教程,具体推荐这篇:
ubuntu16.04下载opencv3.4
我一开始想用这个东西做个人脸识别的入门检测,在完成以上配置以后我对这板子心里也有点数了。但是安装opencv过程中也发现了一些问题的解决方案。
安装过程我不赘述了,在编译过程中提示了我一个g++: internal compiler error: Killed (program cc1plus) 问题。
查询到这个问题的解决方案时建立系统交换分区,操作过程很简单

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
#将swap文件添加到/etc/fstab文件中以保留设置
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Swap分区(也称交换分区)是硬盘上的一个区域,被指定为操作系统可以临时存储数据的地方,这些数据不能再保存在RAM中。 基本上,这使您能够增加服务器在工作“内存”中保留的信息量,但有一些注意事项,主要是当RAM中没有足够的空间容纳正在使用的应用程序数据时,将使用硬盘驱动器上的交换空间。写入磁盘的信息将比保存在RAM中的信息慢得多,但是操作系统更愿意将应用程序数据保存在内存中,并使用交换旧数据。 总的来说,当系统的RAM耗尽时,将交换空间作为回落空间可能是一个很好的安全网,可防止非SSD存储系统出现内存不足的情况。

如何在Ubuntu 16.04上增加Swap分区
简单来说,就是你的ram不够用了它会把数据暂存在这个空间中,当让它的速度会比ram慢很多。
很明显它可以解决我前面提到的浏览器崩溃的问题,于是愉快的设置过后,通过以下命令检测

ls -lh /swapfile

结果显示该空间正常,当然,如果你不想继续使用它也可以使用以下指令删除。

sudo swapoff /swapfile
sudo rm /swapfile

结语

到这里系统配置完全了,下一节讲配置python开发环境以及如何上云。
有帮到你的话麻烦动动手点个赞,有问题评论区见。
后期还会更新我的个人项目,从硬件电路到底层软件开发,分享一些我在实验室做的项目的经验和方案。
感兴趣的可以点一波收藏关注,带你少走一圈坑

你可能感兴趣的:(linux,物联网,ubuntu)