天体写真メモ

天体写真を撮る上でわかったこと、気がついたことをメモしていけたらいいかな?

raspberry pi 4 ソフト編(初期設定)

2020-04-28 14:12:55 | 天体写真

さて、さぁソフト編。

1. microSDはSanDisk  Extreme Pro UHS-I U3 V30 A2 Rという256GBのものを用意。

2. OSはhttps://tstudioastronomy.blog.fc2.com/blog-entry-281.htmlからAstroberry-J ver2をダウンロード(いつの間にかver3が出てるんだよね・・悲しい・・)。

3. https://www.raspberrypi.org/downloads/からRaspberry Pi ImagerというSDへの書き込みツールを落としてWindowsにインストール。

4. イメージをmicroSDに焼く

5. microSDをraspberry pi4 にさして、ルータから優先イーサネットのケーブルをraspberry pi4 にさして電源ON

6. windows からVNC viewer でraspberry pi4 へ接続(多分 astroberry というホスト名で繋がると思いますが駄目なら IPアドレスを調べましょう)。

7. パーティションのサイズを増やす
・sudo apt-get install gparted
・sudo /usr/sbin/gparted

8. 解像度変更。
・/boot/config.txt 書き換え
 hdmi_group=1
 hdmi_mode=4

9.  WIfi の設定
 私はモバイルルータを持っていき、それで利用する予定なので、ホットスポットをオフして、接続ポイントにモバイルルータと、自宅のWifiを入れました。自宅のWifi で繋いだ後は有線接続は基本使っていません。

10. 温度、湿度、圧力
・/boot/config.txtに以下を追加し再起動
dtoverlay = i2c-sensor,bme280,param=0x76

以下を実行
・sudo apt-get install python3
・sudo apt autoremove 
・sudo apt-get install i2c-tools
・sudo apt-get install python-smbus
・pip3 install RPi.bme280

python で

import bme280
while 1:
    print(bme280.sample(bus,0x76))
    time.sleep(3.14)

を実行すると温度湿度気圧が表示されると思います。私はOSが起動されると3分毎に温度湿度気圧を取ってきてcsvファイルに書き出すプログラムを動かしています。

・~/python/bmp280_service.py 書き換え
import argparse
import smbus, time, bme280
import datetime

def main():
    parser=argparse.ArgumentParser()
    parser.add_argument("--time","-t",help="Interval time(second).",
                        default=300,type=int) #default 5 minuts
    args = parser.parse_args()
    tm=args.time
    interval=args.time
    time.sleep(300)
    bus = smbus.SMBus(1)
    bme280.load_calibration_params(bus, 0x76)
    logname=datetime.datetime.now().strftime("%Y-%m-%d-%H:%M:%S") + ".log"
    
    with open(logname,mode="w") as f:
        f.write("time, C, hPa, %rH\n")
        while 1:
            data=bme280.sample(bus,0x76)
        
            f.write(str(data.timestamp.strftime("%Y/%m/%d %H:%M:%S"))+","+\
               str(round(data.temperature,2))+","+\
               str(round(data.pressure,2))+","+str(round(data.humidity,2))+"\n" )
            f.flush()
            time.sleep(tm)


if __name__ == '__main__':
    main()
    
・/etc/systemd/system/bmp280.service
[Unit]
Description=bmp280
After=nginx.service

[Service]
Type=simple
User=astroberry
WorkingDirectory=/home/astroberry/bin/log
ExecStart=/usr/bin/python3 /home/astroberry/python/bmp280_service.py -t 180
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

・sudo systemctl daemon-reload
・sudo systemctl start bmp280
・sudo systemctl enable bmp280

11.  GPSの設定
・/boot/cmdline.txt 書き換え
#dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=2924e30a-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

・sudo systemctl stop serial-getty@ttyS0.service
・sudo systemctl disable serial-getty@ttyS0.service

・/boot/config.txt
enable_uart=1
dtoverlay=pps-gpio,gpiopin=18

・/etc/modules (追加)
pps-gpio

・sudo reboot

gpsd のインストールと設定(INDIで利用するため)
・sudo apt-get install gpsd gpsd-clients pps-tools

・/etc/default/gpsd 書き換え
START_DAEMON="true"
DEVICES="/dev/ttyS0 /dev/pps0"
#GPSD_OPTIONS="-n"

・sudo systemctl enable gpsd.socket
・sudo reboot

・gpsmon
・sudo apt-get install indi-gpsd
・sudo apt-get install python-gi-cairo
・INDIでgpsdを追加(後ほど書きます)

同期:
・ 例えば ~/bin/setdatefromgps.sh という名前で

#!/bin/sh
echo start at `/bin/date`
for i in 1m 1m; do
  echo sleep $i
  /bin/sleep $i
  GPSDATE="`/usr/bin/gpspipe -w | /usr/bin/head -10 | /bin/grep TPV | /bin/sed -r 's/.*"time":"([^"]*)".*/\1/' | /usr/bin/head -1`"
  echo $GPSDATE
  /bin/date -s "$GPSDATE"
done
echo end at `/bin/date`

の様なファイルを作って、

chmod a+x ~/bin/setdatefromgps.sh
して、
crontab -e 
で、以下を追加
@reboot /home/astroberry/bin/setdatefromgps.sh > /home/astroberry/bin/log/setdatefromgps.log 2>

あとは、

12. デジタル時計時刻表示フォーマット「%R」を「%Y/%m/%d %R」と書き換え(私の好み)

13. その他 emacs のインストールや画面デザインの変更など。

取り合えず、こんな感じで準備OK!


最新の画像もっと見る

22 コメント

コメント日が  古い順  |   新しい順
教えて下さい。 (天体初心者)
2020-05-15 06:58:00
私もラズパイでの天体撮影に挑戦中です。興味深く読ませてもらっています。2点教えていただけませんか。
1.sudoとか、ソフト命令を書き込みなどは、どのように行えばよいのでしょうか。Astroberry内のコマンドプロンプトからでしょうか。その際、ディレクトリーは、どのようにするのでしょうか。
2.Astroberry-J(ver.2)の2MASSカタログのインデックスファイルを増やすことが出来ません。本家のAstroberryではうまく行くのですが・・・

以上、よろしくお願いいたします。
返信する
Re:教えて下さい。 (天体初心者) (チャシャ猫@天メモオーナー)
2020-05-15 09:53:29
1. ターミナルエミュレータから入力します。GUIのメニューでは「端末」とか書かれてる場合が多いです。windowsでいうcmdツールとかコマンドプロンプトとか呼ばれるものに対応します。
ざっと確認したところ、ここに書かれているコマンドは、ディレクトリに依存するものはないようですので、どのディレクトリで実行しても構わないはずです。
2. 2MASSカタログのインデックスファイル とは、Plate Solving の設定で指定する index-xxxx.fits とかいう形式のファイルのことででしょうか? そうだとすると、私は https://www.indilib.org/about/ekos/alignment-module.html に書かれたやり方で追加しました。
具体的には、
% sudo apt-get install astrometry.net
して(すでにインストールされていると出たと思いました)、その後、その下に並んでいるastrometry-data-xxxx というファイルをすべてブラウザで落として(astrometry-data-4200-4_0.45_all.debなんていうファイルが出来ます)、その後、ターミナルエミュレータで、そのファイルがあるディレクトリに移動して、
sudo dpkg -i astrometry-data-*.deb
を実行したところ、設定で指定できるようになりました。
ただし、設定で現れるのは Tycho2側で2MASS 側ではありませんので答えになっていないのかもしれません。
返信する
早速ありがとうございました。 (天体初心者)
2020-05-15 15:03:22
早速の教示ありがとうございます。
Linuxは扱ったことがないので、すみません、もう一度質問です。

>GUIのメニューでは「端末」
このメニューはLinuxがOSのPCのことを言っているのでしょうか。それともラズパイにディスプレイやキーボードなどを接続して表示されるメニューなのでしょうか。WindowsのPCでコマンドを入力する方法はあるのでしょうか。

>2MASSカタログのインデックスファイル とは
私も方法論として、このURLを見ていましたが、コマンドが送れないので途方に暮れていました。ブラウザで落とすのはLinuxのPCなのでしょうか。

初歩的な質問で申し訳ありません。
返信する
Re: 早速ありがとうございました。 (チャシャ猫@天メモオーナー)
2020-05-15 19:47:38
raspberry pi 4での話です。
まず有線でraspberry pi 4をつなぎ電源を入れると、
ディスプレーはついていないので外からはわかりませんが、Astroberry-J(ver.2)が起動しているはずです。
Astroberry-J(ver.2)は、起動するとvncサーバが自動的に上がるように設定されているので、同じルータに繋がったPCからvncのクライアントを使って接続することで、PCからraspberry pi 4を操作できます。astroberryというホスト名で繋げられると思います。イメージとしてはPCの窓の一つがAstroberry-Jのディスクトップになる感じですね。
「raspberry pi 4 ソフト編(INDIと格闘)」の一番上の画面イメージはPC上からVNCでつないだ画面をPCで画面コピーをとったものです。

接続後、私はAstroberry-Jのwifi を設定して、その後は無線で接続できるようにしています。また、解像度等も自分にあった解像度に変更しています。

ブラウザで落とすのは Astroberry-Jで行いました。PCで落としてAstroberry-Jに転送することもできるとは思いますが。
返信する
丁寧な教示、助かります。 (天体初心者)
2020-05-16 05:04:40
初心者は、体系的な知識なしに目的を果たそうと言う作業が多いです。本当にこのような教示は助かります。ただただ感謝です。

何とか、VNC Viewerで操作できるようになりました。ディレクリーはそのままで良いという助言は、心強かったです。Astroberry-Jで、2MASSカタログのIndexファイルの増強に失敗したのは、SDカードのVolumeが13.5GBになっており、SDカード上限への自動拡張が出来ない状態になっていたことが原因でした。教示通りVNCでコマンド sudo raspi-config を送り、volumeを上限まで拡張することができました。

本当にありがとうございました。感謝です。
返信する
GPSに関して (天体初心者)
2020-05-16 16:30:26
初心者で申し訳ありませんが、もう1点教えて下さい。

GPS情報はどのように取得されているのでしょうか。GPSドングルをUSB端子に挿しておられるのでしょうか。

ソフト内の書き換えなど行っておられるようですが、初心者向きに肝になるようなところを解説していただけないでしょうか。

以上、よろしくお願いします。

返信する
Re:GPSに関して (チャシャ猫@天メモオーナー)
2020-05-16 18:41:21
raspberry pi 4 ハード編 に書きましたが、「GPS受信機キット 1PPS出力付き みちびき3機受信対応(秋月電子通商で購入)」というハードウエアを追加しています。
このあたり私も理解していないことが多く、https://denor.jp/raspberry-pi%E3%81%AB%E3%80%8C%E3%81%BF%E3%81%A1%E3%81%B3%E3%81%8D%E3%80%8D%E5%AF%BE%E5%BF%9Cgps%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E6%8E%A5%E7%B6%9A 等から情報をもってきました。
raspberry pi 4の持つシリアルIOにつないだことになるようです。「/boot/cmdline.txt 書き換え」から「/etc/modules(追加)」の部分はシリアルポートの設定みたいです。これでシリアルポートからGPSの吐き出す情報が見れるようになります。
「gpsd のインストールと設定(INDIで利用するため)」gpsの情報を様々なソフトが見れるようにするサービスの設定です。
「sudo apt-get install gpsd gpsd-clients pps-tools」はサービスのインストールを行うコマンド。「/etc/default/gpsd 書き換え」サービスの設定です。
「sudo systemctl enable gpsd.socket」、「sudo reboot」でサービスが有効になります。
「gpsmon」でgpsの動作モニターできます。これはモニタしたければやってごらん、程度の記述です。
「sudo apt-get install indi-gpsd」はgpsdとINDIの間を取り持つプログラムのインストールかな?
「sudo apt-get install python-gi-cairo」は多分python(今流行りの超高級言語)からこのあたりの機能を利用するためのライブラリだと思いますがよくわかってないです。
だいぶ、怪しくなってきましたね^^
返信する
多謝! 勉強します。 (天体初心者)
2020-05-17 07:11:09
面倒なお願いを叶えていただだきありがとうございます。かなり複雑で難解ですので、これから勉強しまっす。つながったら感想を記載したいと思います。

ありがとうございました。
返信する
Re: 多謝! 勉強します。 (チャシャ猫@天メモオーナー)
2020-05-18 19:19:55
「raspberry pi 4 ハード編」わかりましたか?
https://blog.goo.ne.jp/cheshirecat107/e/c9963f3845d54a6d23aef2e6493e20da のことです。いや、アクセスカウンタではアクセスが記録されていなかったので、念のため。
raspberry pi を始めるにはDebian系のLinuxの知識をある程度身に付けないと辛いかもしれません。windows では大抵のものはGUIで行いますが、Linux では 「端末」上でコマンドを打つこと行います。ただし、大抵の作業は、windowsならば こういう意味・・・と言うふうに対応が付きますので対応つけて考えると何をやっているのか理解しやすくなります。頑張ってくださいね。
返信する
現状報告 (天体初心者)
2020-05-20 11:41:28
チャシャ猫 殿へ

フォローと励ましありがとうございます。
連日、コロナにめげずに頑張っています。

即、秋月に発注しょう思ったのですが、以下のところが消化不良で思いとどまっています。

・/boot/cmdline.txt書き換え
  ?bootを書き換えて、他の箇所に影響するのではないか??
・/boot/config/txt
  ?どうするのか? 追加か、書き換えか
・/etc/module 追加
  ?追加方法を知らない
・gpsdのインストール
  ?Astroberryには既にインストールされているのでないか?

などなどと、不明な点が多くて手に負えないのが現状です。今のところは、手持ちのUSB-GPSとU-blox7(GPSドングル)でのテストをおこなっています。

・USB-GPS
  /etc/default/gpsdの中のDEVICES=とGPSD_OPTIONS=を書き換えてKcosのGPSDの稼働を確認できました。ところが翌日起動すると認識しません。新たにsudo systemctl **** gpsdを叩かねばならない課題が残っています。

・U-blox7
  /etc/default/gpsdのDEVICES=とGPSD_OPTIONS=を書き換えると、デフォルトの緯度経度(ヨーロッパ)を現在位置が交互に表示されます。いろいろ書き換えていますが、成功しません。

それにしてもターミナル作業は大昔のMS-DOSを思い起こさせるジレッタイ作業ですね。vi編集は最悪の作業です。

時刻と緯度経度情報をSkySafariで送り込むという方法論もあるようなので、SkySafariの接続をいろいろと試していますが、うまくつながりません。

以上、現状報告まで
返信する

コメントを投稿