コンテンツにスキップ

octopiを使ってみた

元がPythonなのでどの環境でも構築できる。
イメージを使えば何も考えずに使える。

インストール

Raspberry PI Imager から Other specific-purpose OS を選び 3D Printing へ進む。 octopiを選び octopi(STABLE)を選ぶ。

あとはSDに焼くだけで終わる。 起動するとSDカードのサイズに合わせて resizeしてくれる。 最初は有線LANにさして立ち上げても良いかも知れない。

基本的には、キーボード、マウス、HDMIを挿してセットアップする。 セットアップと言ってもIPの固定化くらいなので、最初からリモート でも良いかも知れない。

因みに FreeBSDの時の UEFI-BOOT(UBOOT)にあるconfig.txtには、

hdmi_force_hotplug=1
hdmi_group=1
hdmi_drive=2
hdmi_mode=16
と
[pi4]
#hdmi_safe=1
と書いた。

FreeBSDとかに入れる場合は、pythonと virtualenv があれば良い。 octopiを動かすユーザーで、

$ virtualenv OctoPrint
$ OctoPrint/bin/pip install OctoPrint 

Wifi

Wifi は標準で使えるようだ。インターフェースがあるか確認して SSIDを調べてみる。

$ ifconfig wlan0
wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether dc:a6:32:93:91:a6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ありますな

$ sudo iwlist wlan0 scan | grep ESSID
                    ESSID:"TP-Link_0CBC"
                    ESSID:"DCONM-16AD9-G"
                    ESSID:"DCONM-16AD9"

ちゃんと動いているようなので、wpa_supplicant.confを作る。

$ wpa_passphrase  SSID himituhimitu > ws.conf
$
$ cat ws.conf
network={
        ssid="SSID"
        #psk="himituhimitu"
        psk=836f3f8cb11d9c48301b7b67ee3827539010a1331109bcf7b1c73740c420d822
}
SSIDとパスワードは自分のアクセスポイント合わせて書けば良い。
FreeBSDなら /etc/wpa_supplicant.confに書けば良いんだけど、octopiの場合は、 /etc/wpa_supplicant/wpa_supplicant.confにシンボリックリンクが置いてあって 実体は、/boot/octopi-wpa-supplicant.txtのようだ。

なので、イメージを書いた時に Windowsから書いても良い。初期状態では、 country=GB # United Kingdomになっているので、

country=JP # JAPAN 
に直す。これはWifiの規制に関する設定で REGDOMEIN=なんちゃらのこと。 多くの例では、GBやETSIなどの例が書かれている。 チャネルヤWifiパワーなどを規制している。

avahiが動いているから、 octopi.localでアクセスできると思うし、cura の pluginでも 認識すると思うけど、IPアドレスは固定にしたい。

/etc/dhcpcd.conf

interface wlan0
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
物理インターフェースの場合は、

interface eth0
このimageは他にもmjpg_streamerが標準で動いているから、USBカメラも即使える。 FreeBSDの時は自分でPortsから入れた。

ついでにプロセスを覗いてみると、

  307 ?        I      0:00 [kworker/1:2-cgroup_destroy]
  318 ?        Ssl    0:00 /lib/systemd/systemd-timesyncd
  366 ?        Ss     0:00 /usr/bin/dbus-daemon --system --address=systemd: --no
  372 ?        Ssl    0:12 /home/pi/oprint/bin/python3 /home/pi/oprint/bin/octop
  374 ?        Ss     0:00 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d
  375 ?        SNs    0:00 /usr/sbin/alsactl -E HOME=/run/alsa -s -n 19 -c rdaem
  378 ?        Ss     0:00 /usr/sbin/cron -f

まずは日本語化してみる。

https://github.com/Osawa-Yoshiki/OctoPrint-JA-LangPack から zip を取り寄せてアップロードする。

後は王道のPluginを入れて終わり。