2018-10-15 OrangePi zero手记
下方这小玩意是49块的OrangePi zero .散热器是手工制作的,电源是小米充电宝。
上边的是widora的BIT5,做路由器用的。可以忽略。
写下来的目的是我也是beginner, 知识来源于百度的汪洋大海,还容易忘事儿。不能老掉同一个坑里白白增加网络负担是吧!
既然如此那么开始咯!
A。准备篇
首先需要准备的材料:OrangePi zero 256M一块,散热器一片,android microusb充电线一根,ch340usb转UART模块一个,安卓可插sd 卡的手机一部,TF卡(最少1G吧,镜像都890M了)。
需要准备的软件:Win32DiskImager ,MobaXterm_Personal_10.4 以及armbian镜像Armbian_5.59_Orangepizero_Ubuntu_bionic_next_4.14.65
先不急上电,将TF卡插入android手机,选择格式化SD卡。 将手机接入电脑,(选择以USB存储设备的方式),此时会在我的电脑出现新的盘符(最好再格式化一下或删光盘内内容)。打开Win32DiskImager
选择Armbian_5.59_Orangepizero_Ubuntu_bionic_next_4.14.65,Device 会自动加载(H:,J:.....),加载完毕read write将使能。点击write,等待1,2分钟写入完毕。拔下TF卡,插入香橙派的TF卡槽.
接下来我们要连接香橙派的 uart口到 ch340上。板上有一个独立的三针插口,从板边缘起依次接CH340板的地,TX,RX.
然后插入CH340到电脑(需要安装驱动的自行百度),打开MobaXterm_Personal_10.4
点击Session-->Serial-->Advance Serial settings 按照下图设定:(COM口各电脑不一样)
--点击OK 双击 下图的COMX开始的图标会出现右侧的黑白屏。此时插上你的USB充电头,黑白屏将会打印出加载信息。以及接入串口 ssh 界面。
一分钟左右会加载完毕,要求login , 输入 :root 初次加载缺省密码是 1234 ;正确以后会要求设定新密码,此密码将作为ssh接入的时候root账户的密码。设定完成将接入ssh 的界面了。同样初次接入armbian会要求设定一些个人信息,随意。
接下来我们将进入linux 的命令行操作, 输入 ls / -l 看看目录结构吧
首先建议备份 /etc目录。mkdir /bketc
cp -r /etc/* /bketc
ls /bketc
以备不时之需。然后就开始改改改吧!
reboot 重启 halt 关机
B.操作篇
前面我们已经让模块跑起来了。下面我们给它加上WIFI,以SSH 接入进行调试和编程,摆脱CH340的束缚。方式有2种:
一。以station 模式接入AP
在你需要网络的时候首先查看板子是否有加载网卡模块
ifconfig
armbian 已经帮我们做好了模块加载工作,有一个eth0 以太网卡,一个wlan0 无线网卡,一个lo本地locahost,我们只需要操作 /etc/network/interfaces 文件对网卡的属性进行更改即可
可以看到初始文件 只对localhost 进行了定义 ,使得你在访问127.0.0.1和locahost这个地址时指向本机,WEB服务调试等一些应用会使用。那么我们试着加载 wlan0 模块看看
将以下内容添加到/etc/network/interfaces 尾部
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "mywifi_1234"
wpa-psk "12341234"
######## SSID ,PSK 就是你要接入的wifi名称密码 当然明文存储比较低级,psk加密请自行百度。
保存interfaces 文件以后 我们关闭wlan0 模块再打开 试试 执行:
ifdown wlan0 && ifup wlan0
但是,你reboot 以后不会自动连接到你的AP,至于为啥我还没搞懂。
需要在 /etc/rc.local 文件里加上 sudo ifdown wlan0 && ifup wlan0 让他启动后自己开关一下wlan0 以获得IP.
然后reboot
这样WIFI AP已经分配地址给你了,你可以让自己的电脑接入同一局域网再通过这个地址用SSH连接。问题是如果没有屏幕,你只能登陆AP服务器才能看到接入的IP,非常的不方便。
这个地址由于dhcp的原因不固定,导致我们使用SSH的时候不知道OrangePi 的接口,那么接下来修改DHCP为静态 static再试试。
auto wlan0
iface wlan0 inet static
address 192.168.8.128
netmask 255.255.255.0
network 192.168.8.0
broadcast 192.168.8.255
gateway 192.168.8.1
wpa-ssid "mywifi_1234"
wpa-psk "l2341234"
保存 reboot一下
ip静态为192.168.8.128 ping 一下网内的2个地址看看通不通。OK 了。
到此时,你可以拔掉CH340串口线。使用SSH连接 192.168.8.128端口22 来管理你的香橙派了。
如下图MobaXterm_Personal_10.4 点击 Session -->SSH 输入你的 PI的IP ,端口号。然后确定
--------------------------------------------------------坑---------------------------------------------
reboot 以后此处逗留会高达5分钟,因为恰好你配置了auto eth0 dhcp模式 又恰好没接eth0口的网线,估计你会崩溃
解决办法是有的:sudo vim /etc/systemd/system/network-online.target.wants/networking.service
TimeoutStartSec 改为15sec 或者更短
二。以AP模式产生热点,允许电脑,手机等其他station接入
A.最简单的方法 使用 create_ap
git clone https://github.com/oblique/create_ap.git
cd create_ap
sudo make install
sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq
sudo ifdown wlan0
sudo create_ap wlan0 eth0
以上的方式我是复制来的,实验过,可以开启热点并连接。但是rc.local里加入自启动以后连接电脑端不稳定,莫名会掉了。 而且后台的转移log 会慢慢积累。
大神对create_ap的应用重点在与单无线网卡实现既接入外网无线AP1,又自身产生AP2给其他设备分享。他的无线热点中继应用。对于OrangePi Zero的rt819有些吃力,但是非常典型。
首先得知道网卡是否支持AP,以及软AP
sudo iw list | grep -C 5 "AP"
出现 *AP字样即可、
sudo iw list | grep -A 10 "interface combinations"
网卡是否支持混合模式
创建系统服务文件
先设置你的AP热点的参数
vim /etc/create_ap.conf
WIFI_IFACE=wlan0
INTERNET_IFACE=wlan0
这里两个参数如果都设置为 wlan0 则是 wifi 进,ap出的软路由(性能不咋样啊,哈哈)
这种软路由目前需要 像前面所提及的那样
先在interfaces里 配置wlan0的外网连接参数
再在 rc.local 里手动的 ifdown wlan0 再 ifup wlan0 才可以中继续上网。
至于为什么明年我弄懂再来回答。
如果INTERNET_IFACE=eth0则是 以太网口进,wifi ap出。
接下开始配置自启动:
先看看create_ap 把自启动服务文件放哪了
find / -name create_ap.service
在 /usr/lib/systemd/system/里
已经非常体贴的给我们设定好了。只需要将这个文件加入系统服务即可
sudo systemctl enable create_ap.service
sudo systemctl start create_ap.service
然后reboot 打开你的手机搜搜看吧
新手难免简单粗暴,高手请自行略过
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~