★玄の館(本館)自作DOS/Vパソコン中心のバラエティホームページラズベリーパイ秘密の部屋★
ラズベリーパイ秘密の部屋
Raspberry Pi4にオートガイダーをインストールするための、手順をまとめたページ。いや、まぁ、普通の人には何の役にも立たない。自分のためだけにまとめたものだ。ラズパイからWebを通じて参照できるようにしてある。アドレスが分からず、日本語検索ができない場合は「genyakata」で検索するとトップページがヒットする…はず。
玄の館トップページに帰る
手順1:ラズベリーパイハードウェアを準備する
2021年5月現在、最新のラズベリーパイはRaspberryPi4である。メモリは8GBとかもあるが、基本4GBでいいだろう(OSは32bitだが…)。amazonで検索すれば、7千円前後で入手できる。
Raspberry Pi4 ModelB 4GB \7,800
Raspberry Pi4アルミニウム合金ケース&ヒートシンク \1,880
これとは別に、マイクロSDカード(じゃんぱらで500円で32GBを入手)、それを読み書きできるカードリーダー(今回はノートPCを使用した)、USB-ACアダプタ(3Aが推奨だが、とりあえずスマホ用の2Aのものを流用)、TypeA-TypeCのUSBケーブル(最初手持ちのものを使ったが、電圧不足エラーが出たので100均の3A対応の50cmぐらいのを利用したらエラー出なくなった)、TV(ディスプレイ)に繋げるためのマイクロHDMI-HDMIケーブル(amazonで1000円前後)、マウス、キーボード等が必要になる。後、ケースもあった方が良い。今回は2千円ほどで放熱を兼ねたケース(というか、ヒートシンクそのもの)を導入した。USBビデオキャプチャがあれば、PC画面で見る方法もある。
|
手順2:マイクロSDカードにRaspberry Pi OSをインストールする
これは一般的にPCを使ってマイクロSDカードに書き込む。まずはOSをダウンロードしておくダウンロードサイトはこちら
Operating system images
OSのイメージは2021年5月現在3種類あって、「with desktop and recommended software」と、「with desktop」、そして「Lite」だ。「Lite」はコマンドプロンプトオンリーになるらしいので、少々使いにくい。オフィスやプログラミング環境の入ったRecommendedでもいいのだけど、今回はオートガイドができればいいので、とりあえずデスクトップのみの、「with desktop」をダウンロードしてインストールしている。
|
インストールには専用のプログラムを使用する。Raspberrypi Softwareに書き込みソフトがあるので、今回はWindows版をダウンロード。普通にインストールして、後は上のOS本体、そしてSDカードをセットした上で起動し、Choose OS、Choose Storageと進めば、SDカードにインストールできる。SDカードの中身は全て消えてしまうので注意が必要だ。
|
※追加情報
ラズパイOSを起動して最初に設定する内容は、この書き込み時に設定できるらしい。詳細はこちらにあるが、書き込みソフトを起動した後、[CTRL]+[SHIFT]+[X]で、オプション画面が出る。WiFi設定などをPC側で終わらせておけるのは便利かも。SSH接続なら、いきなりできることになるらしい。
|
手順3:Raspberry Pi OSの起動
マイクロSDカードにOSを書き込んだら、RaspberryPi本体にマイクロSDをぶっ刺して、ディスプレイ(私の場合は普通の液晶TV…と言っても40インチあるが…)、マウス、キーボードを刺して起動する。最初の起動はしばらくかかるが、特に問題なければ普通にデスクトップが表示されるはずだ。
|
まず最初にすることは、インターネットへのアクセスだ。まだよくわかっていないのだが、ラズパイに限らず、Linuxの世界ではネットへアクセスして、そこに落ちている色んなアプリを必要に応じて拾ってくるというのが常識らしい。まずはネットにアクセスしないと始まらない(何もできない?)わけだ。
※最初の起動時にWiFiのアクセスポイントの設定があるので、そこで設定してしまえば以下は不要かも。
右上のWiFiのアイコン(接続されていなければ赤いバツが二つ)をクリックして、自宅のアクセスポイントを指定、パスワードを入力すれば接続される。
この後、IPアドレスを固定化しておいた方が便利らしいので、好きな番号で固定化する。GUIでやった方が楽なので、この辺を参考にするといい。
手順としては
・WiFiアイコンを右クリック−Wireless&Wired Netwark Setting
・Configure interface,Wlan0を選択する
・Automatically configure empty options チェックを外す
・IPv4 固定IPアドレス/サブネットマスクとする
・DNS ServerにDNSサーバーのIPアドレスを入れる ※Windowsでipconfig /allで出る。通常は上。下のは代替DNSだと思われる。
設定終了後、適用して、リブートすることでIPアドレスの固定化が行われる。
※「WiFiのON/OFF」でも反映されるらしい。コマンドだと
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
ちなみにコマンドラインでのリブート、およびシャットダウンは
sudo reboot
sudo shutdown -h now
で行けるらしい
この辺、コマンドの簡単な一覧はこの辺が見やすい
手順4:VNCの有効化
「VNC」はVirtual Network Computingの略で、ラズパイに外部からアクセスできるようにする。これで、ディスプレイ無しで操作できるようになる。手順はこの辺にも詳しい。
・ラズパイの設定(設定−RaspberryPiの設定)で、Interfaceタブを選択
・VNCを「有効」にする(一般には「SSH」も有効にするらしい)
・「OK」を押して終了。すると、右上にVNCのアイコンが出る。これをクリック。
Connectivityの所に今のIPアドレス(多分固定化したやつ)が出るのでこれをメモ
・クライアント側(一般的にはAndroidのVNC Viewer(RealVNC)。対応はAndroid6以上らしい)でIPアドレスを指定し、パスワードを入力すればコネクトできるはず。
・最初に接続する際にID(変更してなければpi)パスワードを聞いてくるので確認。
・なお、初回のみ以下の操作が必要、とのこと
※Raspberry PiでVNC Serverを有効にする。ウィンドウ右上のメニューボタン(横棒が縦に3つ並んだマーク)から [Option] を開き、 [Security] タブの [Authentication] をUnix passwordからVNC passwordに変更する。
・Androidの古いバージョン(4.4)だとVncViewerの手ごろなのが無く、セキュリティ上の問題で接続できないようだ。タブレットは新しいのに限るな…。
・SSHならできるか?ConnectBotでやっている人がいる。
ユーザー名@ホスト名:ポート pi@192.168.n.mで接続できるが、キーボードによっては入力できない場合がある。キーボードを変更すれば行けるみたい。
Keyboard with Ctrl keyという、専用のキーボードアプリもあるらしい。
…GUIが見えなきゃどのみちオートガイダーは使えねぇか。
VNCで制御する場合、ディスプレイに接続しないため、ディスプレイの属性が取得できず、エラーで起動できないことがあるらしい。そのため、デフォルトの解像度を指定しておく必要がある。
sudo raspi-config
で、ラズパイの設定ソフトが開く。
〇Advanced Options →A5 Resolution で解像度設定。2種類あるけど、DMTがPC画面らしい。
<了解>をクリックして終了。これで解像度は固定されてるはず。うまく行かない場合は、この辺に強制的に変更する方法がある。
|
※PCのディスプレイで見る方法
VNCで見られるならそれで良いが、マウスとキーボードを繋いでいて、直接操作できるなら、画面があればよい。HDMIなのでTVに繋いでもいいが、PCのディスプレイの方が綺麗に見えるし、操作スペースの問題もあるだろう。
私の場合はWebカメラ用に、と、安価なUSBビデオキャプチャー(リンク先はamazon)を購入してあったので、これを使うことを思いついた。表示ソフトはなんでもよかったのだが、実はWindows標準の「カメラ」アプリを使うと、HDMI→ビデオキャプチャー→PCと繋いだ画像を見ることができる。VNCでは無いのでPCのマウスやキーボードは使えないが、WiFiが繋がらなくても操作できるので便利ではある。
|
この後、ソフトをインストールしていくが、基本的なコマンドを示しておく
・sudo (須藤?スー・ドゥー:Superuser Do)
管理者権限で実行するという前置詞。インストールなどはこいつを付けておかないと「ファイルがロックされている」等のエラーになる。
・apt (あぷと)。Advanced Package Tool
パッケージ(アプリ)を操作するためのコマンド。通常は 付随するコマンドで色んなアプリ操作を行う。「apt install」は代表的なインストールコマンド。apt moo とすると面白いらしい…
※apt-getは以前必要なコマンドだったらしいが、今はaptだけでいいらしい。
・wget (だぶるげっと。フライングゲットではない)
ファイルのダウンロードを行う。-0で保存先を指定するが、ファイル名を「−」とすると標準出力に出力される。
・nano (なの)標準のテキストエディター。設定ファイルは基本テキストなので、これで編集する。
[CTRL」+[O]で上書き。[CTRL]+「X]で終了となる。(下に表示される)
|
手順5 ソフトウェアのインストール
基本コマンドやライブラリーのインストール
ここは今後増やすかもしれない。
sudo apt install software-properties-common
|
※ Lin_guider(norikyu) をインストール ※
まずは必要な環境。Qt5(開発環境)のインストール
sudo apt install libusb-1.0-0-dev fxload libftdi-dev libraw-dev libtiff-dev libusb-dev liblcms2-dev libtiffxx5 libjpeg-dev libjbig-dev liblzma-dev qttools5-dev-tools qt5-qmake qt5-default
続いてINDIのインストール。参照はこちらのページ
色々背景はあるが、結局INDIを入れないとドライバーが足りない気配
wget -O - https://www.astroberry.io/repo/key | sudo apt-key add -
sudo su -c "echo 'deb https://www.astroberry.io/repo/ buster main' > /etc/apt/sources.list.d/astroberry.list"
sudo apt update
sudo apt install indi-full gsc
ついでにEkosも入れておくなら
sudo apt install indi-full kstars-bleeding
ここまできて、ようやくlin_guiderをインストールする。
※先にダウンロードが必要?。必要ならnorikyuさんのページから。
解凍してビルドします。
tar jxvf lin_guider-5.0.0-norikyu.tar.bz2
cd lin_guider_pack
cd lin_guider
./build.sh
lin_guider_pack/lin_guider/build/release/lin_guider が実行ファイルなので、コピーします。
sudo cp build/release/lin_guider /usr/local/bin
norikyuバージョンの場合、以下のスクリプトを実行して日本語ファイルをインストールします。
./build_i18n.sh
|
※ PHD2 をインストール ※ AINDIがダブってるので注意。
PHD2をLinuc(RaspberryPi)にインストールするには、このページを参照するのがよい。(PHD2のページから、-Download-Bulding+HD2onLinuxと進む)
@必要なライブラリをインストール
sudo apt install build-essential git cmake pkg-config libwxgtk3.0-gtk3-dev wx-common wx3.0-i18n libindi-dev libnova-dev gettext zlib1g-dev libx11-dev libcurl4-gnutls-dev
sudo apt update
どこかで、 sudo apt upgradeをやっておいた方がいいかもしれん。但し時間がかかることがあるので注意が必要。
AINDIが必要とのこと。INDIをインストールする。
wget -O - https://www.astroberry.io/repo/key | sudo apt-key add -
sudo su -c "echo 'deb https://www.astroberry.io/repo/ buster main' > /etc/apt/sources.list.d/astroberry.list"
sudo apt update
sudo apt install indi-full gsc
BPHD2のソースをダウンロード
git clone https://github.com/OpenPHDGuiding/phd2.git
cd phd2
Ccmakeでmakeファイルを作成して、makeでPHD2をビルドする。
mkdir -p tmp
cd tmp
cmake ..
make
Dmakeされたファイルをインストールする。
sudo make install
phd2を起動して、SSAGを認識するには、「QHY Camera」を選び、カメラのウィザードを進めて設定を進める。
|
手順6:外でのVNC接続(ラズパイのWiFi AP(アクセスポイント)化)
・屋内でVNC接続をする場合は、ラズパイ、タブレット等の両方が同じネットワーク(WiFi)にアクセスしている状態だが、屋外で単独で運用しようとすると、WiFi環境を別途構築しなければならない。様々な方法があるが、ここではラズパイをWiFiAP化し、そこにタブレット等を繋ぐ(インターネット環境は無い)形とする。
参考にしたのはこちらのサイト。但し、いくつか省略が見られるので注意が必要
なお、前提として以下のIPアドレスを利用している。この部分は各自の環境に合わせて変更していただきたい
WiFi接続時:192.168.0.61 (固定させておく)
AP(屋外)時:192.168.2.1 (接続側は、192.168.2.2〜192.168.2.100)
|
1.初期設定
1) hostapd(APで動作させるデーモン)とdnsmasq(簡易DHCPサーバ)をインストール。
sudo apt install hostapd dnsmasq
2)dhcpcdを設定 いったん動作を止める
sudo systemctl stop dhcpcd
エディターで以下のファイルを編集する(以下 nanoの説明は省略する)
sudo nano /etc/dhcpcd.conf
以下を追記し、AP時用のはコメントアウトする。切り替え時はコメントアウトを入れ替える。(DNSの番号は個別に調べて入れてください)
#interface wlan0
#static ip_address=192.168.2.1/24
interface wlan0
static ip_address=192.168.0.61/24
static routers=192.168.0.1
static domain_name_server=nnn.mmm.aaa.bbb
static domain_search=
(必要なら)dhcpcdをリスタートしておく
sudo systemctl restart dhcpcd
2) hostapdの設定
APとして動作させる場合の設定を記述する。間違えやすいので注意。
sudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
hw_mode=b
channel=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
ieee80211ac=0
wmm_enabled=1
ieee80211d=1
country_code=JP
ieee80211h=1
local_pwr_constraint=3
spectrum_mgmt_required=1
wpa=3
wpa_key_mgmt=WPA-PSK
ssid=raspi
wpa_passphrase=[password]
※ssid=は、SSIDの名称。区別しやすい好きな名前を記述しておく。
※wpa_passphrase=は、8文字以上必須。8-64文字内でないとエラーになる
3)hostapdのデフォルト動作ファイルを編集
sudo nano /etc/default/hostapd
#DEMON_CONF=""の頭の#を取って以下に
DEMON_CONF="/etc/hostapd/hostapd.conf"
hostapdの再起動
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
4)ポートフォワード機能の追加(これは必要ないかも?)
sudo nano /etc/sysctl.conf
以下の先頭の#を削除
net.ipv4.ip_forward=1
5) dnsmasq(DHCPサーバの設定)
一旦止めて、設定ファイルを開いてIPアドレス範囲を記述する
sudo systemctl stop dnsmasq
sudo nano /etc/dnsmasq.conf
interface=wlan0
dhcp-range=192.168.2.2,192.168.2.100,255.255.255.0,12h
4) hostapdのサービスを有効化。ただ、自動起動されたくないので、disableにする
sudo systemctl unmask hostapd
sudo systemctl disable hostapd
5) wpa_supplicantの設定 ※WiFiに繋がっていれば、既に同じ状態なので不要
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="[wifiのSSID名]"
psk="[wifiパスワード]"
}
2.まず WiFi接続
sudo systemctl restart dhcpcd
※これでインターネットに接続できているか確認。
3.wifi→APへの切り替え
1) wpa_supplicantとdhcpcdを停止します。
sudo systemctl stop wpa_supplicant
sudo systemctl stop dhcpcd
2) 固定IPをipコマンドで設定。これなら設定ファイルを編集せずにすむ
→etc/dhcpcd.confで、static_ipを変更する方が確実みたい。
以下2行は参照元オリジナルのやり方
sudo ip addr add 192.168.2.1 dev wlan0 #元サイトでは dev wlan0が抜けてる
sudo ip route add default via 192.168.2.1 #エラー
(RTNETLINK answers: Network is down)が出てうまく行かない
…なので、
→sudo nano /etc/dhcpcd.conf で以下を編集し直して、コメントアウトを入れ替える
interface wlan0
static ip_address=192.168.2.1/24
#interface wlan0
#static ip_address=192.168.0.61/24 ※以下DNS部分もコメントアウト
3)DHCPサーバを起動。
sudo systemctl start dnsmasq
4)hostapdを起動します。
sudo systemctl start hostapd
5)dhpcdを再起動する ※参照元ではこれが抜けてる
sudo systemctl start dhcpcd
以上でその他の機器から、hostapd.confにて設定したSSIDに対して接続可能となる…はず。
うまく行けば、右上のLANのアイコンが、WiFiから↑↓になって青点灯となる。
☆動いていない場合は、statusで何が動いていないか確認してみる
sudo systemctl status hostapd
sudo systemctl status dnsmasq
sudo systemctl status dhcpcd
4.AP→wifi
1) hostapdを停止。
sudo systemctl stop hostapd
2)dnsmasqを停止
sudo systemctl stop dnsmasq
3)固定IP設定を削除 ※ 同じ固定IPなら不要?
sudo ip addr flush dev wlan0
dhcpcd.confの固定ipを元に戻す
sudo nano /etc/dhcpcd.conf
#interface wlan0
#static ip_address=192.168.2.1/24
interface wlan0
static ip_address=192.168.0.61/24
※DNS設定とかも特殊なら回復しておく。
4)wpa_supplicantを起動
sudo systemctl start wpa_supplicant
5)dhcpcdを起動
sudo systemctl start dhcpcd #元に戻すのはうまく行った
|
5.起動設定
ここまでうまく動作すれば、起動時にAP化ができるように記述する。
まずIPアドレスをAP用に変更
sudo nano /etc/dhcpcd.conf
interface wlan0
static ip_address=192.168.2.1/24
#interface wlan0
#static ip_address=192.168.0.61/24
起動時の実行コマンド用として、一般的に行われているのが
「rc.local」への記述。最後の「exit 0」の前に記述する。
sudo nano /etc/rc.local
service dnsmasq stop
sleep 8
service dnsmasq start
#iptables-restore < /etc/iptables.ipv4.nat
sleep 3
service hostapd restart
sleep 3
service dhcpcd restart
exit 0
いや実際、最後のdhcpcdのリスタートが無いとうまく行かない。
|
もし、再度インターネット接続環境が必要になるなら、上の4.AP→wifi を実施
なお、インターネット環境が無い場合、ラズパイはNTPを参照できなくなるので、前回起動時の時刻でスタートしてしまう。時刻を合わせるには、ネットに接続するか、RTCを内蔵させて参照させるか、手入力するか。ここでは手入力。時刻設定コマンドは以下。.ssまで全て入力しないと受け付けてくれない。
sudo date mmddhhmmyyyy.ss
※月・時・分・年.秒 と入力する。
|
☆トラブル事例☆
・コマンドが無い、ライブラリが無い、などと怒られたら、たいていどこかでアプリのインストールが失敗していることが多い。
「apt install」に続く文字列には、空白で区切った複数のアプリやライブラリが記述されていることがあり、そのうちひとつでも抜けたりうまく行かなかったりするものがあると後でエラーになることがある。その場合は、一つずつインストールし直すなど、確認してみるのが良い。
|
・起動時にWiFiがつながらなくなることがあった。前日までOKだった2.4GHzがアウトで、5GHzに変えたらつながるなど不安定。結局自宅のルーターをリブートしたら直った。
|
玄の館トップページに帰る