-
下载 Armbian 镜像 Armbian.com
-
将镜像刻录到 MicroSD 卡上(我使用了刻录工具 Etcher);
-
将 MicroSD 卡插到 OrangePi 上,并将 OrangePi 连接网线、电源;
-
待 OrangePI 的指示灯亮起以后,可以在路由器的登录页面后寻找 OrangePI,确定 IP 地址
-
ssh 到 OrangePI:
ssh root@192.168.3.63 -p 22
初始密码是:1234
-
OrangePI 会提示修改密码并且新建用户,赋予 sudo 权限等;
-
在 root 用户下,查看 OrangePI 是否可以正常联网;若显示 ping: ***: Name of service not known,则需要编辑 /etc/network/interfaces 添加 dns-nameservers 8.8.8.8 8.8.4.4;
-
在 root 用户下,
apt-get update
apt-get upgrade
-
在 root 下,有一个配置工具 nmtui-connect 可以连接 WiFi,还有 armbian-config 可以设置静态或动态 IP
-
在 root 下,
sudo adduser octoprint
-
接下来
sudo usermod -a -G tty octoprint
sudo usermod -a -G dialout octoprint
-
然后
sudo adduser octoprint sudo
-
sudo vimudo 将我们 octoprint 的 sudo 设置写入:在此文件的最后添加:octoprint ALL=(ALL) NOPASSWD:ALL,然后 ctrl-o 回车写入,ctrl-x 退出;
-
嗯,然后 sudo passwd octoprint -d 重置密码过期信息
-
然后安装所需的 git,python 工具:
sudo apt-get install git python-pip python-dev python-setuptools psmisc virtualenv
-
切换到我们刚才创建的 octoprint 账号:sudo su octoprint
-
切换到 octoprint 的家目录 cd ~
-
wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz ,这一步我直接使用了
sudo pip install pyserial
-
下一步,git OctoPrint:
git clone https://github.com/foosel/OctoPrint.git
-
当克隆完成后,进入 OctoPrint 目录:cd OctoPrint,用虚拟环境变量命令: virtualenv venv;
-
成功完成后
./venv/bin/python setup.py install
-
好了!现在可以启动一下 OctoPrint 看看:
~/OctoPrint/venv/bin/octoprint serve
-
稍等片刻,看到 listening… 的字样以后就可以打开浏览器,输入 orangepi 的 ip 地址后面跟着 :5000 端口,然后就可以一步一步设置 OctoPrint 了;
-
我在用户名栏里面输入了我的拼音缩写,然后输入了密码;
-
下面我们要拷贝一些文件,以使得 octoprint 可以在开机的时候启动;我们首先 ctrl+z 结束 octoprint
-
接下来将 octoprint 服务拷贝到启动服务目录
sudo cp ~/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint
-
赋予可执行权限
sudo chmod +x /etc/init.d/octoprint
-
然后
sudo cp ~/OctoPrint/scripts/octoprint.default /etc/default/octoprint
-
接着
sudo vim /etc/default/octoprint
-
将 OCTOPRINT_USER=pi 改为 =octoprint
-
将 DAEMON=… 取消注释,并且改为 DAEMON=/home/octoprint/OctoPrint/venv/bin/octoprint
-
然后保存退出
-
最后我们要 push 这些更新到 default:
sudo update-rc.d octoprint defaults
-
然后 sudo service octoprint start
-
注意到做完这一套流程以后,octoprint 的无线网络好像失效了,于是我们要采取下面的补救措施:
-
运行
sudo iwlist wlan0 scanning | grep ESSID
看到你网络里面所有的路由器名称
-
下一步,注意引号要使用英文的引号
wpa_passphrase “你的 WiFi 名称” “你的 WiFi 密码” | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
这个会在你的 wpa_supplicant.conf 里面加上一段话类似于 network={ ssid=“…” #psk=“”….},把这里面的 #psk 变成 psk 然后保存文件
- 在 /etc/network/interfaces 这个文件里面加上
-
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
然后重新启动 sudo reboot
-
而且,域名识别好像也没有启用(注意:更改域名的话要改 /etc/hostname 和 /etc/hosts 两个文件里的域名,初识时为 orangepizeroplus,可以改为 “你喜欢的任何名字”)
-
然后:
sudo apt-get install avahi-daemon
这个的用处是在局域网里面广播域名,然后你就可以用 “你喜欢的任何名字”.local:5000 去访问 octoprint 了!