Raspberry Pi


Raspberry Pi 3 Model B+ を購入
2018年6月3日
3月14日にイギリスで発売となった Raspberry Pi 3 Model B+ の総務省技術適合証明手続きが5月17日に完了し、国内でも内蔵のWiFiが使えるようになったようなので早速購入してみることにしました。ネットで安いところを探してみましたが、国内では4,980円+送料とまだ少し高いようです。イギリスのネットショップを検索してみると26.67ポンド(現在のレートで約3,900円)とかなり安い。送料5.5ポンド(804円)を足しても合計32.17ポンド(約4,700円)なのでこのショップ(Primoroni  LTD)で買うことにしました。ただし、PayPalで支払ったら4%の為替手数料をとられて合計4,913円になってしまいました。到着まで5〜10日かかるとのことです。
2018年6月11日
6月4日に発送の連絡メールがあり、6月11日に届きました。1週間で届いたことになります。低額商品なので関税等はかかっていませんでした。



Raspberry Pi 3 Model B+ の初期設定
2018年6月12日
Raspberry Pi 3 Model B+ に Raspbian をインストールする手順を残しておきます。


Windows10 パソコンを使って Raspbian を「 Download Raspbian for Raspberry Pi」からダウンロードします。次に、ダウンロードした ZIP ファイルを 7-Zip 等の解凍ソフトを利用して展開します。展開すると .img ファイルが現れるので、これを DD for Windows 等でSDカードに書き込みます。これで Raspbian の準備ができました。


Raspberry Pi にモニタとキーボード、マウスを接続しSDカードを挿入します。電源は5V2.5Aを推奨しているようですが、電源容量1Aのものでも問題ないようです。電流計を挿入して消費電流を測ってみましたが0.35A程度しか流れていません。電源を入れるとGUIで立ち上がり自動ログインします。起動時間がRaspberry Pi 3Bに比べて早くなった印象です。


まず、「Raspberry Pi 」の設定をします。画面左上の Raspberry Pi アイコンから設定メニューを選び、ロケールの設定、タイムゾーンの設定、キーボードの設定、無線LANの国設定を行い再起動します。これでGUIが日本語表示になり無線LANも使えるようになりました。無線LANは右上のLANアイコンをクリックして受信できている WiFi アクセスポイントを選択しパスワードを入力します。5GHzの WiFiも利用できます。

さらに、Raspberry Pi の設定メニューからインターフェースを選択し SSH を有効にします。その他利用したいインターフェースがあればこれも有効にします。次にシステムを選択しユーザー(pi)のパスワードの変更やホスト名の変更を行い、ブートをCUI に変更します。再起動すると SSH でのリモートログインが可能となります。リモートログインで利用する前にIPアドレスを固定にしておきます。

#vi /etc/dhcpcd.conf

   interface wlan0

   static ip_address=192.168.xx.xx/24  : 割り振るIPアドレス

   static routers=192.168.xx.xx    : ルーターのIPアドレス

   static domain_name_servers=192.168.xx.xx  : DNSサーバがあればこれのIPアドレス

以上で無線LANを使用して Raspberry Pi をリモートログイン利用するための準備は完了です。


root パスワードの変更とユーザーの追加をします。

rootパスワードの変更

#passwd root

ユーザーの追加

#useradd -m XXXX

#passwd XXXX

追加ユーザーの所属グループを pi の所属グループと同じにします。

#groups pi

   pi : pi adm diaout cdrom sudo audio video plugdev games users input netdev spi i2c gpio

#usermod -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio <ユーザー名>


Raspberry Pi のファームウェアとOSカーネルのバージョンアップをします。

#rpi-update

#reboot

パッケージ情報のアップデートとパッケージのアップグレードをします。

#apt update

#apt dist-upgrade -y

不要なファイルを削除します。

#apt-get autoremove -y

#apt-get autoclean

#reboot


以上で Raspberry Pi 3 Model B+ の初期設定は完了です。

Raspberry Pi 3 Model B+ に各種パッケージをインストール
2018年6月13日
既にインストールされているパッケージの確認

#dpkg -l


===> nmapのインストール : ポート確認ツール

#apt-get install nmap

#nmap localhost


===> ftp、ftpdのインストール : FTPサーバ

#apt-get install ftp ftpd

ffftpなどの FTPクライアントで接続確認します。


===> apache2、php7.0のインストール : ウェブサーバ

#apt-get install apache2 php7.0

ウェブブラウザで http://192.168.xx.xx/ を開いてみます。apache2の Default Page が表示されればOKです。

デフォルトのドキュメントルートは /var/www/html となっています。


php のテスト用スクリプトファイルを作成します。

#vi /var/www/html/info.php

   <?php  phpinfo();  ?>

ウェブブラウザで http://192.168.xx.xx/info.php を開きます。「PHP Version 7.0.27- ・・・・」の画面が表示さ
れればOKです。

(2019/8/27追記) PHPの最新バージョンは、PHP7.3です。


次にapache2のベーシック認証が利用できるように設定をします。

 ・ベーシック認証の対象ディレクトリー:/var/www/html/htdocs

 ・パスワードファイル:/etc/apache2/.htpasswd

 ・設定ファイル:/etc/apache2/conf-available/basic-auth.conf

ベーシック認証対象ディレクトリーの作成

#mkdir /var/www/html/htdocs

テスト用のHTMLファイルを /var/www/html/htdocs へコピー

#cp /var/www/html/index.html /var/www/html/htdocs/index.html

.htpasswdの作成

#htpasswd -m -c /etc/apache2/.htpasswd xxxx

続けてログインIDを作成する場合は以下のとおり。

#htpasswd -m /etc/apache2/.htpasswd xxxx

ベーシック認証用設定ファイルの作成

#vi /etc/apache2/conf-available/basic-auth.conf

   <Directory /var/www/html/htdocs>

         AllowOverride None

         AuthType Basic

         AuthName Documents

         AuthBasicProvider file

         AuthUserFile /etc/apache2/.htpasswd

         Require valid-user

   </Directory>

ベーシック認証用ファイル basic-auth.conf の有効化

#a2enconf basic-auth

apache2のリロード

#service apache2 reload  または、#systemctl reload apache2

ウェブブラウザで http://192.168.xx.xx/htdocs/ を開いてみます。ベーシック認証のポップアップ画面が出て、
設定したIDとパスワードで認証でき apache2の Default Page が表示されればOKです。


続いて、CGIスクリプトが利用できるようにします。

 ・CGIスクリプトを置くディレクトリィー:/usr/lib/cgi-bin

000-default.confの編集

#vi /etc/apache2/sites-available/000-default.conf

   <Directory "/usr/lib/cgi-bin">  (DocumentRoot /var/www/html の下あたりに追加)

        Options +Indexes +FollowSymLinks +MultiViews +ExecCGI

        AllowOverride All

        Require all granted

   </Directory>

    ・・・・・・・・・・・・・・・・・・・・・

   Include conf-available/serve-cgi-bin.conf (アンコメント)

シンボリックリンクの作成

#ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load

mime.confの編集

#vi /etc/apache2/mods-available/mime.conf

   AddHandler cgi-script .cgi (アンコメント)

apache2の再起動

#service apache2 restart

ディレクトリィー /usr/lib/cgi-bin/ にテスト用perlスクリプト(serverck.txt)をダウンロードして動作確認をしま
す。

#cd /usr/lib/cgi-bin

#wget http://www.tonaru.net/download/serverck.txt

ダウンロードした serverck.txt ファイルの拡張子を txt → cgi に変更

#cp serverck.txt serverck.cgi

#rm serverck.txt

serverck.cgi ファイルの属性変更

#chmod 655 serverck.cgi

ウェブブラウザで http://192.168.xx.xx/cgi-bin/serverck.cgi を開いてみます。表示されればOKです。


Raspberry Pi 3 Model B+ に各種パッケージをインストール(続き)
2018年6月14日
===>  postfix、dovecotのインストール : メールサーバ

#apt-get install postfix

SASL認証用にsasl2-binをインストール

#apt-get install sasl2-bin

OP25B対策のため自宅で利用しているプロバイダー(eo光)のメールサーバでメールリレーさせます。

saslの認証ファイルを作成

#vi /etc/postfix/sasl_passwd

   [smtpauth.eonet.ne.jp]:587 xxx@xxx.eonet.ne.jp:<passward>

作成した認証ファイルをpostfixに反映

#postmap /etc/postfix/sasl_passwd

postfixのリロード

#/etc/init.d/postfix reload

次にpostfixのmain.cfを変更

#vi /etc/postfix/main.cf

   myhostname = xxx.xxx (変更)

   mydestination = $myhostname, xxx.xxx,  raspi3p, localhost.localdomain, localhost (変更)

   relayhost = [smtpauth.eonet.ne.jp]:587 (変更)

   mynetworks = 192.168.xxx.0/24, 127.0.0.1 (変更)

   mailbox_size_limit = 0

   recipient_delimiter = +

   inet_interfaces = all

   inet_protocols = ipv4 (変更)

   home_mailbox = Maildir/ (追加)

   smtp_sasl_auth_enable = yes (追加)

   smtp_sasl_mechanism_filter = plain, login, cram-md5 (追加)

   smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd (追加)

   smtp_sasl_security_options = noanonymous (追加)

   unknown_local_recipent_reject_code = 550 (追加)

postfixの再起動

#service postfix restart


さらにpopサーバとしてdovecotをインストール

#apt-get install dovecot-pop3d

dovecot.confの編集

#vi /etc/dovecot/dovecot.conf

   listen = * (変更)

   disable_plaintext_auth = no  (追加)

10-mail.confの編集

#vi /etc/dovecot/conf.d/10-mail.conf

   mail_location = maildir:~/Maildir (変更)

dovecotの再起動

#service dovecot restart


以上でメールサーバのインストールが完了しました。メーラーでメールの送受信テストをして動作確認をします。


メールエイリアスの設定

root宛のメールをユーザーに転送できるようメールエイリアスを設定しておきます。

#vi  /etc/aliases

      root:    user1 (追記)

#newaliases

Raspberry Pi 3 Model B+ に各種パッケージをインストール(続き)
2018年6月15日
===>  sambaのインストール : ファイルサーバ

#apt-get install samba

ファイルを置くディレクトリーの作成

#mkdir /home/samba

#chmod 777 /home/samba

smb.confファイルの編集

#vi /etc/samba/smb.conf

以下を修正または追加

   workgroup = HOME  (変更)

   interfaces = 127.0.0.1 192.168.xx.0/24 (変更)

   bind interfaces only = yes (アンコメント)

   [public] (これより以下追加)

   comment = public

   path = /home/samba

   public = yes

   read only = no

   browsable = yes

   writable = yes

   guest ok = yes

   guest only = yes

sambaの再起動

#service smbd restart


Windows PC等でファイルサーバへのアクセスとファイルの読み書きができるか確認をします。


Windows10のアップデートで機能更新プログラムをインストールした後、sambaサーバへのアクセスができず、「エラーコード0x80070035ネットワークパスが見つかりません」と表示されることがよくあります。この場合、一旦ネットワークを切断して再接続するか、ネットワークリセット([Windowsの設定]→[ネットワークとインターネット]→[ネットワークのリセット])を行うとsambaサーバへのアクセスが可能となります。


Raspberry Pi 3 Model B+ に各種パッケージをインストール(続き)
2018年6月16日
===>  unboundのインストール : DNSサーバ

#apt-get install unbound

unbound.confファイルの作成

#vi /etc/unbound/unbound.conf.d/unbound.conf

   server:

       interface: 0.0.0.0

       access-control: 127.0.0.1 allow

       access-control: 192.168.xx.0/24 allow

       local-data: "raspi3p.tonaru.net IN A 192.168.xx.xx"

        ・・・・・・・・・・・・

       local-data: "xx.xx.168.192. in-addr.arpa PTR raspi3p.tonaru.net"

        ・・・・・・・・・・・・

   forward-zone:

       name: "."

       forward-addr: 8.8.8.8

       forward-addr: 8.8.4.4

unboundの再起動

#service unbound restart

hostまたはnslookupコマンドで動作確認をします。

正引きのテスト

#host raspi3p.tonaru.net

逆引きのテスト

#host 192.168.xx.xx


名前解決ができていれば完了です。

Raspberry Pi 3 Model B+ に各種パッケージをインストール(続き)
2018年6月16日
===>  logwatchのインストール : サーバのログレポート

#apt-get install logwatch

configファイルの作成

デフォルトのlogwatch.conf が /usr/share/logwatch/default.conf にあるので /etc/logwatch/conf へコピーします。

#cp /usr/share/logwatch/defoult.conf/logwaich.conf /etc/logwatch/conf/logwatch.conf

logwatch.confの編集

#vi /etc/logwatch/conf/logwatch.conf

   MailTo = xxxx (メールの宛先、ユーザー名等)

   Detail = Med (情報の詳細レベル、Low/Med/Highを好みで)

logwatchの標準出力テスト

#logwatch --output stdout

次のエラーメッセージが出ました。

    /var/cache/logwatch No such file or directory at /usr/sbin/logwatch line 643.

ディレクトリーを作成します。

#mkdir /var/cache/logwatch

再度、テストします。

#logwatch --output stdout

何も表示されません。

デフォルトの設定では昨日のログを表示しますが、昨日のログが無いようなので今日のログを表示してみます。

#logwatch -range today

レポートが出力されればOK

次に、レポートのメール送信テストを行います。

#logwatch --output mail

レポートが設定したメール送信先へ届けばOK


cronにlogwatchの起動設定がされているので、毎朝06:25にレポートがメール送信されます。

Raspberry Pi 3 Model B+ に各種パッケージをインストール(続き)
2018年6月16日
===>  mrtgのインストール : サーバの監視ツール(CPU温度)

#apt-get install mrtg

mrtgを出力するディレクトリィの作成

#mkdir /var/www/html/mrtg

mrtg.cfg の編集

#vi /etc/mrtg.cfg

   WorkDir: /var/www/html/mrtg (変更)

   # CPU temperature (以下追加)

   Target[cputemp]: `cat /sys/class/thermal/thermal_zone0/temp|cut -c1-2 && cat /sys/class/   thermal/thermal_zone0/temp|cut -c1-2 && echo && uname -n`

   MaxBytes[cputemp]: 70

   Title[cputemp]: CPU Temperature Log

   PageTop[cputemp]: CPU Temperature Log

   Options[cputemp]: gauge,growright,absolute,noinfo,nopercent,unknaszero,integer

   Unscaled[cputemp]: dwmy

   YLegend[cputemp]: Temperature

   ShortLegend[cputemp]: deg-C

   LegendI[cputemp]: CPU Temp

   LegendO[cputemp]: CPU Temp

   Legend1[cputemp]: CPU Temp

   Legend2[cputemp]: CPU Temp

mrtg の起動

#env LANG=C mrtg /etc/mrtg.cfg

警告が出なくなるまで2回起動する。


ウェブブラウザで http://192.168.xx.xx/mrtg/cputemp.html を開いて動作確認をします。

Raspberry Pi 3 Model B+ に各種パッケージをインストール(続き)
2018年6月18日
===>  webalizerのインストール : アクセスログ解析ツール

#apt-get install webalizer

webalizerを出力するディレクトリィの作成

#mkdir /var/www/html/webalizer

webalizer.conf の編集

#vi /etc/webalizer/webalizer.conf

   OutputDir /var/www/html/webalizer (変更)

   Incremental yes (変更)

   HostName www.tonaru.net (必要あれば変更)

   DNSCache dns_chache.db (アンコメント)

   DNSChildren 5 (アンコメント)

   HTMLHead <META HTTP-EQUIV="content-Type" CONTENT="text/html;charset=UTF-8">

   (追加)

   SearchEngine .yahoo.  p= (変更)

   SearchEngine bing.co  q= (追加)


DNSキャッシュの作成

#webazolver


ログファイルの解析実施

#webalizer -c /etc/webalizer/webalizer.conf /var/log/apache2/access.log.4.gz

#webalizer -c /etc/webalizer/webalizer.conf /var/log/apache2/access.log.3.gz

#webalizer -c /etc/webalizer/webalizer.conf /var/log/apache2/access.log.2.gz

#webalizer -c /etc/webalizer/webalizer.conf /var/log/apache2/access.log.1

#webalizer -c /etc/webalizer/webalizer.conf /var/log/apache2/access.log


ウェブブラウザで http://192.168.xx.xx/webalizer/ を開いて動作確認をします。

Raspberry Pi 3 Model B+ をSSDで起動
2018年6月18日
Raspberry Pi をサーバとして長期間連続使用する上で、microSDによる運用は信頼度面で不安があります。このため、メインディスクをSSDに変更することにしました。


最初に、ファイルシステムをSSDに切り替える前にSSDのトラブル等に備えmicroSDでの起動に必要な cmdline.txtファイルを他のPCなどを利用してバックアップ・コピーしておきます。


次に、microSDをRaspberry Piに戻して Raspbianを起動し、SSDをSTA-USB変換アダプターを介して接続します。

SSDのID確認

#fdisk -l

   「/dev/sda1」などと表示されます、

SSDのフォーマット

#fdisk /dev/sda

/dev/sda1にLinux(83)を設定

#mke2fs -j /dev/sda1

#e2fsck /dev/sda1

SSDをアンマウント

#umount /dev/sda1


ファイルシステムのコピー

#mkdir /tmp/usd /tmp/ssd

#mount /dev/mmcblk0p2 /tmp/usd

#mount /dev/sda1 /tmp/ssd

#(cd /tmp/usd;tar --backup -c *)|tar -C /tmp/ssd -xv


起動時のファイルシステムのパーテション変更

#mkdir /tmp/boot

#mount /dev/mmcblk0p1 /tmp/boot

cmdline.txt の編集

#vi /tmp/boot/cmdline.txt

   root=PARTUUID=9c21e37e-02 を root=/dev/sda1 に変更

             ( PARTUUID=9c21e37e-02)などマシンによって異なる

メモリー内データを同期して再起動

#sync

#reboot


これでSSD起動したはずです。念のためディスクの空き容量を確認しておきます。

#df


なお、SSDのトラブルなどで Raspberry Pi が起動しなくなった場合、保存しておいた cmdline.txtファイルを他のPCでmicroSDへ上書きするか、エディタで元の内容に書き戻せばmicroSDにて起動することができます。


動画ストリーミング
2019年8月28日
動画ストリーミングソフト MJPG-Streamerをインストールしてみました。

USBカメラはロジクールのC270を使用します。

まず、MJPG-Streamerに必要なパッケージをインストールします。

#apt-get install subversion libjpeg-dev imagemagick

MJPG-Streamerのソースを取得します。

#cd home/pi

#svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer

#cd mjpg-streamer

ソースをgccでコンパイルします。

#make

次のエラーメッセージが出てコンパイルに失敗しました。

      make: *** [<ビルトイン>: utils.o] エラー 1


Raspverry Pi のOSは、Raspbianの最新OS Busterです。試しに、古いOS Raspbian Stretchをインストールしている別の Raspberry Piでは問題なくコンパイルできました。

原因調査に時間がかかりそうなので、Raspberian Stretch OSを使用しているマシンの/hone/pi/mjpg-streamer配下ににあるすべてのファイルをBusterのマシンに丸ごとコピーしたら問題なくMJPG-Streamerが動作したのでこれを利用することにしました。

コンパイル済のファイルをFTP等で転送しMJPG-Streamerをインストールします。

#cd /home/pi/mjpg-streamer

#make install


(追記)その後、よく調べてみたらコンパイル時に utils.o ファイルが見つからないようです。

Raspberian Stretch OS マシンの /home/pi/mjpg-streamer 配下に utils.o ファイルがあったので、それをコピーして持ってきたらコンパイルが正常に終了しました。


MJPG-Streamerの起動スクリプトを作成します。

#vi start-mjpg.sh

    #!/bin/sh

    PORT="8080"

    SIZE="720x540"

    FRAMERATE="15"

    export LD_LIBRARY_PATH=/usr/local/lib

   /home/pi/mjpg-streamer/mjpg_streamer -i "input_uvc.so -f $FRAMERATE -r $SIZE -d /dev/video0 -y -n" -o "output_http.so -w /usr/local/www -p $PORT" -b


MJPG-Streamerを起動します。

#sh start-mjpg.sh

ウェブブラウザでhttp://アドレス:8080/で表示されればOKです。


Respberry Piを起動したときに自動でMJPG-Streamerを立ち上げるには、/etc/rc.localに以下の記述を追加します。

#vi /etc/rc.local

    sh /home/pi/mjpg-streamer/start-mjpg.sh


MJPG-Streamerのスナップショット(静止画)をウェブ上に残すには。

以下のスクリプトを作成

# vi /home/pi/snapshot.sh

    #!/bin/bash

    FILENAME=`date +%Y%m%d%H%M`

    wget -O /var/www/html/webcam/$FILENAME.jpg http://192.168.0.**:8080/?action=snapshot

#mkdir /var/www/html/webcam

crontabに登録

#crontab -e

    MAILTO=""

    1-59/5 * * * * sh /home/pi/snapshot.sh

以上で5分毎のスナップショットが記録されます。



監視カメラのパン・チルトをサーボモーターで制御する雲台の製作
2019年9月1日
MJPG-Streamerで動画ストリーミングを行っていますが、カメラの向きが固定で使い勝手が悪いため、安価なサーボモーターを利用してパン・チルトを遠隔で制御できる電動雲台を製作してみました。

ネットで検索してみると、サーボモーター:SG90、SG90用雲台:A838、サーボモーターコントローラー:PCA9685を利用した電動雲台の記事がたくさん出てきます。これらの機材をAmazonで調達し組み立ててみました。プログラムはネットからダウンロードしました。

最初、木材を加工した箱の中にコントローラーを納めて箱の上に雲台とUSBカメラを設置しましたが、サーボーモーターを動かしたとき、雲台を設置した箱がひっくり返ってしまうので鉄のアングルを組み合わせて重たくしました。

Raspberry PiからサーボコントロールのためのI2C信号線を引き出しているので、気圧、温度、湿度計測用のセンサーAE-BME280も箱の上に取り付けました。




Raspberry Pi 起動不能(Karnel Panic)
2019年10月17日
監視カメラに使用していたRaspberry Pi のアップデートをしていたところ、パッケージの更新中にエラーが出て    
アップグレードに失敗しました。そこで、Raspberry Pi をリブートしたところ起動できなくなりました。起動の途中  
にKarnel Panick のエラーが出て先へ進みません。一部のファイルがクラッシュしたようです。

SDカードを他のLinuxマシン(Debian)にUSBカードリーダーを介して接続し、fsckを実行してファイルシステム
の修復を試みてみました。


SDカードがどのデバイスとして認識されているか調べます。

#ls /dev

USBカードリーダーを抜き差ししてデバイス名を比較すると、sdg1とsdg2が認識されました。

fsckを実行します。

#fsck -af /dev/sdg1

#fsck -af /dev/sdg2

エラー修正があれば実行するか否かyes,noを聞いてくるので、ひたすらYキーを押し続けます。

sdg2にエラー修正が大量にありました。


しかし、SDカードをRaspberry Pi に戻し、起動してみたら Karnel Panic のエラーが再度出て起動できません  
でした。お手上げです。OSを再インストールします。


Motion動体検知監視カメラ
2020年6月20日
動体検知で撮影した映像を保存できるMotionを入れてみました。

USBカメラはUVCタイプのものを使用します。

まず、必要なパッケージをインストールします。

#apt-get install motion

映像を保存するための任意のディレクトリーを作成。保存ファイルをウェブからダウンロードできるようにします。

#mkdir /var/www/html/motion/log

motionの設定ファイルmotion.confを編集します。

#vi /etc/motion/motion.conf

とりあえず以下の項目を変更します。

   daemon on

   width 640

   height 480

   framerate 30

   threshold 3000

   event_gap 10

   target_dir /var/www/html/motion/log

   stream_localhost off

   webcontrol_localhost off


自動起動の設定

#vi /etc/default/motion

   start_motion_daemon=yes

Raspberry Pi起動時にmortion起動させます。

#vi /etc/rc.local

   motion & を一行追加


#motion & にて起動テストします。

http://<Raspberry PiのIPアドレス>:8081/ を閲覧して表示できればOKです。


長時間運用すると録画された映像ファイルが大きくなるので定期的に削除するcronを設定します。

ファイルを削除するスクリプトを作成します。

#vi /home/pi/delete_motionfile.sh

   #!!/bin/bash

   find /var/www/html/motion/log -name "*.mkv" -mtime +1 -delate

   exit 0

   (注) 「+1」は1日変更がないファイルを削除。半日の場合は「+0.5」とします。

ファイルの属性を変更します。

#chmod 755 /home/pi/delete_motionfile.sh

crontab に登録します。

#crontab -e

   0 0 * * * sh /home/pi/delete_motionfile.sh


Raspberry Pi 4 8GB に64bit版OSを入れてみる
2020年6月21日
Raspberry Pi 4B 8GB が手に入ったので、Raspberry Pi OS の64bit版をインストールしてみました。

現時点ではbetaテスト版です。

イメージファイルは、 https://downloads.raspberrypi.org/raspios_arm64/images/ よりダウンロードします。

現時点での最新ファイルは、 2020-05-27-raspios-buster-arm64.zip です。

ファイルをダウンロードして解凍し、マイクロSDにイメージをコピーすればOKです。

SDカードをRaspberry Pi にセットし電源を入れたら問題なく起動しました。

32bit版の推奨ソフトが入ったものよりパッケージソフトがだいぶ少ないみたいで、日本語入力もできません。

#apt-get install fcitx-mozc  を実行し日本語入力が可能になりました。

bata版のためか動作が不安定で、WiFiが時々つながらなくなりrebootしなければならないこともことも時々ありま
す。レスポンス感は32bit版と変わらないようです。

使い倒すには正式版がリリースされるまで待った方がよさそうです。


Raspberry Pi 4 8GB に Ubuntu20.10を入れてみる
2020年11月16日
Raspberry Pi4 8GB 向けに Ubuntu20.10 64bit Desktop OS がリリースされたのでインストールしてみました。

Raspberry Pi Imager を利用してSDカードにイメージファイルをコピーするだけで準備完了です。SDカードを
Raspberry Piにセットし電源を入れるだけで問題なく起動しました。初期設定もRaspberry Pi OSよりもわかりや
すいように感じました。

さすがに完成度が高いOSで、使い勝手が非常に良いように思います。SDカードでも結構サクサクと動作しデスク
トップパソコンとして十分利用できます。

ただ、Buluetoothの動作が不安定で接続して直ぐに切断されます。使用したBluetooth機器はエレコムのワイヤ
レスキーボードです。いろいろ調査した結果、「bluetooth.service」を手動で再起動すると接続できることがわか
りました。

#systemctl restart bluetooth.service

そこでOS起動時にこのコマンドを自動実行させることにしました。

rc.localに書こうと思ったら、/etc/rc.localがありません。どうやら最近のubuntuにはrc.localがないようですが、フ
ァイルを作成すれば利用できるようなので、新たにファイルを作成し目的のコマンドを記述しました。

#touch /etc/rc.local

#chmod 744 /etc/rc.local

#vi /etc/rc.local

   #!/bin/sh

   systemctl restart bluetooth.service

さらに、bluetoothが切断されても自動的に再接続させるように「bluetoothctl」で接続したい機器の信頼設定
をしました。

#bluetoothctl

   >devices

   >trust xx:xx:xx:xx:xx:xx:xx:xx

#exit

#reboot


次にUSB接続のSSDで動作させてみることにしました。

Raspberry PiにSSDを接続しパーティションを作成します。

#lsblk

SSDが認識されているデバイスを確認 → /dev/sda1

#fdisk /dev/sda

/dev/mmcblk0p2にUbuntuが入っているのでこれをまるごとSSDにコピーします。

#dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=16M conv=noerror,sync

SSDのパーティションラベルを変更します。

現在のパーティションラベルを確認

#e2label /dev/sda1

パーティションラベルをUbutuに変更

#e2label /dev/sda1 Ubuntu

カーネルコマンドラインのブートパーティションを変更する。

#vi /boot/firmware/cmdline.txt

root=LABEL=writable を root=LABEL=Ubuntu に変更

再起動します。

#reboot

かなり速くなりました。


micrSDカードなしでUSB接続SSDを起動する方法も試してみました。

Raspberry Pi 4 のboot EEPROMが2020-09-03以降のものであればUSBから起動できるようなので、
EEPROMのバージョンを確認します。

Raspberry Pi 4をSDカードからRaspberry OSで起動します。

#vcgencmd bootloader_version

2020-09-03以前であればEEPROMを更新します。

#apt update

#apt full-upgrede

#reboot

EEPROMに書かれているboot orderを確認して、ブート順序を確認します。

#vcgencmd bootloader_config

BOOT_ORDER=0xf41 となっていればUSBで起動され起動できなければSDで起動されます。

UbuntuはWindous PCでRaspberry Pi Imagerを利用してSSDにイメージファイルをコピーします。Raspberry Pi
4のUSBに接続するだけで問題なくubuntu20.10が起動できました。