产品需要实现demo,接触嵌入式。

综合评估了Arduino、Micro:bit、Raspberry Pi等集成方案,综合考虑灵活性、网络、性能等,包括技术栈,最终选用了OrangePi。

Arduino等微控制器,虽然可以装WIFI模块联网,但只能实现简单的功能。

树莓派是最优选择。传感器等外设相当丰富,很多场景也已经有了丰富的应用。现有的技术教程和论坛的活跃度都是非常高的。资料最多,驱动等最稳定的绝对是树莓派。

但树莓派的价格不算低廉,但综合看了下,Orange Pi是最好的选择。

相比树莓派,同样甚至更强的性能,丰富的接口,价格也更低廉。单个主板只需要70多块。性能方面,4核心 arm A7架构,512M DDR3内存。甚至可以运行Windows 10 ARM。

除了主板,连接主板调试需要购买TTL线,否则在没有网络的情况下,又没有屏幕,是无法操作的。

TTL线能用就行,10块左右。

因为我要控制电路。还需要购买由电平控制的继电器(功能就是开关)。

需要看清电压是不是在范围内。推荐都在一家店购买,可以省邮费。

当然还需要杜邦线来连接继电器和ttl等线路,公对公母对母公对母的都买一些。

到手后发现Orange Pi受限于CPU工艺,发热很大,开一会就很容易80度。所以推荐一并买个散热贴和铜片散热器。

除此之外,还需要tf卡一张。因为Orange Pi是不带内置闪存的,需要安装tf卡当硬盘。

容量需要为2g以上,不过简单的程序2g足够用了。而且2g也没得卖了,推荐16、32等,考虑到以后万一要加装摄像头需要大量存储空间呢。

当然,刷入系统需要读卡器。

读卡器没有要求,能读卡就行。

东西基本就买齐了,150块左右,总体比树莓派便宜了一倍多。

到手后首先要刷入系统,官方提供的下载地址:

http://www.orangepi.cn/downloadresourcescn

选择对应的型号后,选择系统。对比提供的几个镜像后,我选择了Debian,相对Ubuntu更为精简。

然后把tf卡通过读卡器连接到电脑。可以使用下面的工具格式化,或者直接使用右键驱动器的格式化,注意别选错盘。

https://www.sdcard.org/downloads/formatter_4/eula_windows/

格式化之后,下载http://sourceforge.net/projects/win32diskimager/files/Archive/

选择刚刚下载的img镜像,点击写入。

等进度条结束后,就可以拔下来了。然后安装到Orange Pi上,接上电源,连接ttl。

从左到右依次是GND TX RX,用母对母杜邦线接到TTL上就可以了。然后把TTL转换器接到电脑的USB上。

打开设备管理器。

找到端口,注意看COM端口号,我这里是COM6。

我使用XShell连接端口,类似的终端软件还有putty等。

协议使用SERIAL,端口号使用刚才看到的端口。

至于波特率,默认9600即可,如果你的ttl转换器使用了其他波特率,会连接不上。这时到设备管理器可以查看正确的端口号。


这时就连接上了,使用镜像提供的账号密码登录。

接下来,就是配置网络了。下面的步骤需要一定的linux知识。

首先把分区大小自动分配了,因为是直接刷写的镜像,所以分区大小没有完全分配。

1
2
3
4
#WARNING: TO RESIZE FILESYSTEM RUN:
sudo fs_resize or sudo /usr/local/bin/fs_resize
#to remove this message run:
sudo rm /usr/local/bin/fs_resize_warning

推荐修改默认的root密码。

修改默认的/etc/rc.local启动项

1
2
3
4
5
sudo insmod /lib/modules/3.4.39/xradio_wlan.ko
sudo ifconfig wlan3 up
sudo /etc/init.d/network-manager stop
sudo pkill wpa_supplicant
sudo /etc/init.d/networking restart

修改/etc/network/interfaces的网络配置

1
2
3
4
5
6
7
auto wlan3
iface wlan3 inet dhcp
wpa-ssid sssssss
wpa-psk sssssss

auto eth0
iface eth0 inet dhcp

这样,网络就能自适应了。

接下来修改默认的apt源,只要是国内大厂镜像站均可,这里使用清华大学的源。

1
2
3
4
vi /etc/apt/sources.list

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

然后重建缓存,安装常用工具。

1
2
3

apt update
apt -y install lrzsz vim git wget

完整的Linux系统的用途太多了,几乎支持所有已知的编程语言。无论你的技术栈是什么,只需要安装你的环境即可。

接下来就是自己根据自己的技术栈开发实际应用了,我这次的项目代码还没来得及放上来,等过一阵分享完整的框架。