matplotlib のフォント設定

matplotlib のフォント設定

matplotlib をそのまま使うと
日本語が文字化けするので対処

ubuntuでmatplotlibのfontを設定

を参考に設定

 fc-list |less| grep Takao

でTakao を含むフォントを確認

結果は

/usr/share/fonts/truetype/takao-mincho/TakaoExMincho.ttf: TakaoEx明朝,TakaoExMincho:style=Regular
/usr/share/fonts/truetype/takao-mincho/TakaoPMincho.ttf: Takao P明朝,TakaoPMincho:style=Regular
/usr/share/fonts/truetype/fonts-japanese-gothic.ttf: Takao Pゴシック,TakaoPGothic:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoExGothic.ttf: TakaoExゴシック,TakaoExGothic:style=Regular
/usr/share/fonts/truetype/fonts-japanese-mincho.ttf: Takao P明朝,TakaoPMincho:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf: Takao Pゴシック,TakaoPGothic:style=Regular
/usr/share/fonts/truetype/takao-gothic/TakaoGothic.ttf: Takaoゴシック,TakaoGothic:style=Regular
/usr/share/fonts/truetype/takao-mincho/TakaoMincho.ttf: Takao明朝,TakaoMincho:style=Regular

次に設定ファイルの場所を調べるので

python

でpython の操作ができるようにして

 import matplotlib
matplotlib.matplotlib_fname()

で設定ファイルの位置を確認

私の環境だと

'/home/snowpool/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc'

ファイルを編集するので

vim ~/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc 

/#font.family
で検索すると
196行目ぐらいにフォントの設定業があるので
197行目に

font.family: TakaoPGothic

を追記して保存

このままだとキャッシュが影響して文字化けしたままなので
.cache/matplotlib/ にあるファイルを削除

ls .cache/matplotlib/

でファイルを調べると

fontlist-v300.json  tex.cache

となっており
fontList.cache は存在しない

これは
Google Colabでまた日本語表示が豆腐不可避な方に

に記載されていたように

matplotlibがver.3以上だと
font cacheが「fontlist-v300.json」に変更されているため

このため

rm -f ~/.cache/matplotlib/fontlist-v300.json

でキャッシュファイルを削除

これで無事に日本語の文字化けが解消されます

ubuntu 16.04 へ Jupyter Notebook インストール

ubuntu 16.04 へ Jupyter Notebook インストール

Installing the Jupyter Notebook
https://jupyter.org/install
にインストール方法が掲載されていて
方法は
Anaconda でインストールするか
pip でインストールする
という2つの方法があるようなので

この2つの違いを検索

condaとpip:混ぜるな危険

によれば
Anaconda 下で pip を使うと環境を破壊するとのこと

どちらもパッケージ管理するようだけど
互換性が一切ない

Anaconda で提供されていないパッケージをインストールするには
デフォルト以外のレポジトリからインストールする
というのが無難ぽい

自分で condaパッケージはまだつくれないし
pip をいれると
Anaconda 環境を墓石
他の仮想環境まで破壊するようなので

今回は Anaconda を使うことに
Anaconda Distribution


Linux をクリックし
Python 3.7 Version の Download をクリック

ダウンロードできたら
ctrl + alt + t で端末をひらき

cd ダウンロード
bash Anaconda3-2018.12-Linux-x86_64.sh 

これで

Welcome to Anaconda3 2018.12

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue

となるので
Enter をクリック

===================================
Anaconda End User License Agreement
===================================

Copyright 2015, Anaconda, Inc.

All rights reserved under the 3-clause BSD License:

Redistribution and use in source and binary forms, with or without modification,
 are permitted provided that the following conditions are met:

  * Redistributions of source code must retain the above copyright notice, this 
list of conditions and the following disclaimer.
  * Redistributions in binary form must reproduce the above copyright notice, th
is list of conditions and the following disclaimer in the documentation and/or o
ther materials provided with the distribution.
  * Neither the name of Anaconda, Inc. ("Anaconda, Inc.") nor the names of its c
ontributors may be used to endorse or promote products derived from this softwar
e without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WA
RRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
--続きます--

となるので
スペースですすめて

Do you accept the license terms? [yes|no]

となったら
yes
を入力

Anaconda3 will now be installed into this location:
/home/snowpool/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

とインストール場所を聞かれるので
そのままEnter でOK

最後に

Do you wish the installer to initialize Anaconda3
in your /home/snowpool/.bashrc ? [yes|no]

がでてきて
デフォルトが no なので検索

Anaconda で Python 環境をインストールする

によれば
これは
システムにインストールされている同コマンドを隠してしまう
ので no がデフォルトになっているとのこと

なので
Enter

このあと

To install Visual Studio Code, you will need:
  - Administrator Privileges
  - Internet connectivity

Visual Studio Code License: https://code.visualstudio.com/license

Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]

とでてきたので調べてみたら
テキストエディタ VSCode をインストールするか?
ということなので
no を選択

VSCode に関しては
【ゼロから!】Visual Studio Codeのインストールと使い方

があったけど
いまのところテキストエディタは
Atom と vim で足りているので不要

インストール完了したら
.bashrc にパスを追記
これなら、不要になったときにパスを削除すれば解決

Anaconda を利用した Python のインストール (Ubuntu Linux)

を参考に

echo 'export PATH=/home/snowpool/anaconda3/bin/:$PATH' >> ~/.bashrc

を実行

設定反映のため

source .bashrc 

を実行

これで

conda -V

としてバージョンが表示されれば成功

次に Jupyter の設定ファイルの作成

jupyter notebook --generate-config

で設定ファイルを作成

これで

Writing default config to: /home/snowpool/.jupyter/jupyter_notebook_config.py

というように
設定ファイルが作成される

次に、このファイルを開いて
Jupyter Notebook のホームディレクトリを変更

mkdir notebook

で作業ディレクトリを作成

vim .jupyter/jupyter_notebook_config.py 

でファイルを開き

/#c.NotebookApp.notebook_dir = ”
で検索すると
261行めあたりにでてくるので
コメントを外し

c.NotebookApp.notebook_dir = '/home/snowpool/notebook'

というように任意の保存場所を指定

Windows の設定の場合は結構でてくるけど
Ubuntu の場合はあまりでてこないので

#c.NotebookApp.notebook_dir = ”
で検索し

Jupyter Notebookのホームディレクトリを変更する方法

を参考に編集

これで

jupyter notebook

を実行すると

ブラウザで jupyter notebook が起動

Ubuntu 16.04 uTorrent インストール

Ubuntu 16.04 uTorrent インストール

BitTorrent クライアントソフトを使うことで
ダウンロード時間を短縮できるので
uTorrent  をインストール

書籍に掲載されていたダウンロード、インストールは
Windows のため
検索してインストール

参考サイトは
Linux Mint 19.x : 軽量 BitTorrent クライント「uTorrent」のインストール [修正再up]

英語でも大丈夫なら

How to Install uTorrent in Ubuntu 16.04 LTS and Ubuntu 17.10

も参考に

実行環境は Ubuntu 16.04 だが問題なし

まず wget コマンドでダウンロード

wget http://download.ap.bittorrent.com/track/beta/endpoint/utserver/os/linux-x64-ubuntu-13-04 -O utserver.tar.gz

次にパッケージを解凍し
/opt に移動させる

sudo tar xvf utserver.tar.gz -C /opt/

所有権を root に変更

sudo chown root:root -R /opt/utorrent-server-alpha-v3_3/

必要なパッケージをインストール

 sudo apt install libssl1.0.0 libssl-dev 

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

 sudo ln -s /opt/utorrent-server-alpha-v3_3/utserver /usr/bin/utserver

これで準備はOK
ただし uTorrent は80番ポートを使うので
80版ポートを使うサービスを停止しておく必要がある

また
uTorrent は
10000 と 6881 ポートも使うので注意

uTorent の
起動コマンドは

utserver -settingspath /opt/utorrent-server-alpha-v3_3/ &

最後に & をつけることで
バックグラウンドで動作します

停止させるには

sudo pkill utserver

これでブラウザを立ち上げ
http://localhost:8080/gui
にアクセスすると
認証画面になるので
ユーザ名 admin
パスワードはなし
でOKをクリック

次にユーザ名とパスワードの設定をするので
歯車アイコンをクリック

WebUIの
username と Password の部分を変更し
Save settings をクリック

なお、変更すると再度認証画面になるので
設定したユーザ名とパスワードでログイン

次に保存先の設定

mkdir ダウンロード/Torrent

でディレクトリを作成し

Directories

Put new downloads in:

Store .torrents in:
に保存先を設定します

設定をしたら
Save settings をクリック

これで設定ができたので
Kali Linux のVirtualImage をダウンロード

Download Kali Linux VMware and VirtualBox Images

からダウンロードは可能

Kali linux VirtualBox Image
をクリックし
Torrent を右クリック

リンクのURLをコピーすると

https://images.offensive-security.com/virtual-images/kali-linux-2019.1-vbox-amd64.ova.torrent
となるので
これを
uTorrent の URL に追加して Add をクリックすると
ダウンロードが開始されます

VirtualBox Extension Pack のインストール

VirtualBox Extension Pack のインストール

セキュリティ関連の学習のため
Virtualbox で実験環境を構築

今回の実践の参考にするもの

仮想環境を構築する VirtualBox に
Extension Pack を追加することで

USB2.0/3.0 のサポート
リモートデスクトップ機能が使えるようになる
ディスク暗号化
Webカメラが使える
というようになるので

これをインストール

実行環境は Ubuntu 16.04

参考サイトは
VirtualBoxをインストールする for Ubuntu

なお、使っている Ubuntu のバージョンがわからないのなら

cat /etc/lsb-release 

で調べることができる

ほとんどの場合、今は64bit だけど
確認したいのなら

arch 

を実行

結果が
x86_64
なら 64bit

使用しているCPUを調べるなら

cat /proc/cpuinfo

でOK

すでに virtualbox がインストール済みなら

sudo apt-get update
sudo apt-get upgrade 

でリポジトリ更新とパッケージ更新して

vboxmanage -v

で virtualbox のバージョン確認

今回は

5.1.38_Ubuntur122592

となりました

使用しているバージョンに合わせて
パッケージをダウンロードするので

https://www.virtualbox.org/wiki/Download_Old_Builds_5_1

Extension Pack をダウンロード

All Platforms をクリックするとダウンロードできます

ダウンロードしたファイルを右クリックし
VirtualBox で開く
を選択

警告がでますが気にせず
インストールをクリック

利用規約がでるので
一番下までスクロールして
同意します
をクリック

管理者権限が必要になるので
ログインユーザパスワードを入力

これでインストールが完了となります

なお、確認するには
ファイル > 環境設定
で開くと
拡張機能に
Oracle VM VirtualBox Extension Pack
が表示されているのがわかります

wordpress で数式を書けるプラグイン

wordpress で数式を書けるプラグイン

Paiza ラーニングで問題をとくには
アルゴリズムや数式などの理解が必要なため
今後、数学の復習をすることに

備忘録として wordpress に書いていくときに
数式を記述するときに便利なプラグインがないかと
検索したところ

WordPressで 数式 を書いてみる − Mathjax Latexを使う


便利なプラグインがあるようなので
これを使うことに

インストール方法は
ダッシュボードで
プラグイン > 新規追加
Mathjax Latex
で検索し

今すぐインストール
をクリック

インストールしたら有効化を忘れずに

数式の書き方に関しては
Easy Copy MathJax

を参考に

[mathjax]
$$数式$$

というように

[mathjax]
というショートコードを記述し
数式を $$ ではさんで記述すると表示されるようになります

もし、表示されない場合は
設定 > MathJax-Latex で
Force Load にチェックをいれてみましょう

ラズパイZeroW の画像を NAS へ保存

ラズパイZeroW の画像を NAS へ保存

ラズパイZeroW から NAS へアクセス

ラズパイZeroW から NAS へアクセス


でラズパイ3で構築したNASの外付けHDDをマウントできるようになったので
motion やシェルスクリプトで撮影している画像の保存先を
NAS に変更します

なお
ラズパイ3に外付けHDDでNAS 構築


外付けHDDでNASを構築する方法を記載しましたので
興味があれば参考に

まずは motion の動画と静止画の保存先を変更

なお、各種パラメータに関しては
motionのオプションについて

を参考に

今回は保存先の変更なので

target_dir
の項目を変更

デフォルトでは
/var/lib/motion

現在、NASをマウントしていて

df -h

ファイルシス                 サイズ  使用  残り 使用% マウント位置
/dev/root                      5.7G  4.3G  1.2G   80% /
devtmpfs                       181M     0  181M    0% /dev
tmpfs                          186M     0  186M    0% /dev/shm
tmpfs                          186M  5.1M  180M    3% /run
tmpfs                          5.0M  4.0K  5.0M    1% /run/lock
tmpfs                          186M     0  186M    0% /sys/fs/cgroup
/dev/mmcblk0p6                  68M   23M   46M   33% /boot
//192.168.1.208/pizero_photo   916G   47G  870G    6% /mnt/nas
tmpfs                           37M     0   37M    0% /run/user/1000
/dev/mmcblk0p5                  30M  398K   28M    2% /media/pi/SETTINGS1

となっているので
/mnt/nas
に保存するように変更する

motion の設定は

sudo nano /etc/motion/motion.conf 

で設定ファイルを開いて変更

nano エディタの場合
ctrl + w で検索できるので
target_dir
で検索し

#target_dir /var/lib/motion
target_dir /mnt/nas      

というように
もともとの設定を # でコメントアウトしておき
その下へNASの保存先を記述

#でコメントアウトしておけばミスしても修正が簡単になります

これで ctrl + x で終了し
Y で保存
そのまま Enter にすればファイルを上書き保存できるので
これで設定ファイルの変更はOK

次に撮影スクリプトの変更

nano rscamera.sh 

でファイルを開き

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H-%M")
#raspistill -o /home/pi/rscamera/$DATE.jpg
raspistill -o /mnt/nas/$DATE.jpg

として保存

これで実際に保存ができるかを

raspistill -o /mnt/nas/$DATE.jpg

としてみると
少しの時間差のあと撮影した画像が保存されるのが確認できる

なお、WiFi 経由となるため
撮影してもすぐには反映されないので注意

ラズパイZeroW から NAS へアクセス

ラズパイZeroW から NAS へアクセス

ラズパイZeroW で撮影ができなくなっていたので
原因が容量不足と思われるため
SSH でアクセスし
ls コマンドでファイルとかをみようとすると

デバイスに空き領域がありません
-bash: ヒアドキュメント用一時ファイルを作成できません: デバイスに空き領域がありません

となってしまっていた

df -h

で確認してみると

ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root        5.7G  5.7G     0  100% /
devtmpfs         181M     0  181M    0% /dev
tmpfs            186M     0  186M    0% /dev/shm
tmpfs            186M  5.0M  181M    3% /run
tmpfs            5.0M  4.0K  5.0M    1% /run/lock
tmpfs            186M     0  186M    0% /sys/fs/cgroup
/dev/mmcblk0p6    68M   23M   46M   33% /boot
tmpfs             37M     0   37M    0% /run/user/1000

まずはこれをどうにかしないと無理なので
Ubuntu 側で

mkdir raspi_camera_bak
cd raspi_camera_bak/
scp pi@192.168.1.9:/home/pi/rscamera/* .

で静止画のバックアップをとり

次に motion で撮影されたものは
保存場所は
/var/lib/motion
に記録されるので
こちらも同様に

scp pi@192.168.1.9:/var/lib/motion/* .

でバックアップ

このままだとディスクがいっぱいで何もできないので

sudo rm -f /var/lib/motion/*

で一度削除しようとしたが処理に時間がかかりすぎたため

sudo su
 cd /var/lib/motion
rm -f *.jpg
rm -f *.avi

でそれぞれの拡張子ごとに削除

次に
Raspberry Pi Zeroから自宅のNASにアクセスしてみよう

を参考に
NASへアクセスできるように設定

なおNASは購入すると高かったため
Raspberry Pi3 で構築したものを使用

まずラズパイZero W で
SMB でNASをマウントするツールのインストール

sudo apt install cifs-utils

次にマウントするためのディレクトリを作成

sudo mkdir /mnt/nas

これで NAS へアクセスしようとしたけど
エラーになるので
一度NASの確認

【Raspberry Pi 3】sambaサーバーが接続できないときのハマリポイントまとめチェック

を参考に

まず samba が起動しているか確認

sudo /etc/init.d/samba restart

結果

[ ok ] Restarting nmbd (via systemctl): nmbd.service.
[ ok ] Restarting smbd (via systemctl): smbd.service.

なので問題なし

次にパスワードの設定確認

sudo pdbedit -L

で何も表示されないので

sudo smbpasswd -a pi

で任意のパスワードを入力し設定

再度

 sudo pdbedit -L

を実行すると

pi:1000:

となるが、Ubuntu からアクセスしてファイルの作成などができない

原因を調べるためいろいろやってみたら
Windowsへの接続

を参考に
Nautilusを起動し、Ctrl + Lで
smb://NASのIPアドレス
としたら簡単にアクセスできた

接続が Ubuntu からはできたので
ラズパイZeroWから

sudo mount -t cifs //192.168.1.208/share /mnt/nas -o username=pi,password=raspberry,iocharset=utf8

としたけど

mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

となってしまう

NASの設定を

sudo vim /etc/samba/smb.conf 

で確認したら

[ファミリー]
        path = /mnt/hdd/share/family
        writable = yes
        guest ok = yes
        guest only = yes
        create mode = 0777
        directory mode = 0777

となっていたので

[pizero_photo]
        path = /mnt/hdd/share/pizero
        writable = yes
        guest ok = yes
        guest only = yes
        create mode = 0777
        directory mode = 0777

を追記して保存

これは motion で撮影した画像がすごい量になるので
専用のフォルダで補完するため

あとは

sudo service smbd restart

で再起動

あとはディレクトリも用意するので

mkdir /mnt/hdd/share/pizero
 sudo chmod -R 777 /mnt/hdd/share/

でディレクトリ作成とパーミッション変更

これで再度 ubuntu で
smb://192.168.1.208/
と Nautilus で検索すると表示されるようになりました

次に ラズパイZeroW で

sudo mount -t cifs //192.168.1.208/pizero_photo /mnt/nas -o username=pi,password=raspberry,iocharset=utf8

とすると
無事にマウントできました

確認のため

df -h

とすると

ファイルシス                 サイズ  使用  残り 使用% マウント位置
/dev/root                      5.7G  4.3G  1.2G   79% /
devtmpfs                       181M     0  181M    0% /dev
tmpfs                          186M     0  186M    0% /dev/shm
tmpfs                          186M  5.1M  180M    3% /run
tmpfs                          5.0M  4.0K  5.0M    1% /run/lock
tmpfs                          186M     0  186M    0% /sys/fs/cgroup
/dev/mmcblk0p6                  68M   23M   46M   33% /boot
tmpfs                           37M     0   37M    0% /run/user/1000
/dev/mmcblk0p5                  30M  398K   28M    2% /media/pi/SETTINGS1
//192.168.1.208/pizero_photo   916G   47G  870G    6% /mnt/nas

となりマウント成功が確認できます

次にOS起動したら自動的にNASをマウントするように
/etc/fstab にマウントに必要な情報を記述

sudo nano /etc/fstab

でファイルをひらき
最終行に

//192.168.1.208/pizero_photo /mnt/nas cifs username=pi,password=raspberry,file_mode=0755,dir_mode=0755,iocharset=utf8,uid=1000,gid=1000,forceuid,forcegid,_netdev 0 0
[\shell]
を追記

長いけど1行で書き込みます

最初は行をわけるかわからなかったので
<a href="https://www.mana-cat.com/entry/2017/05/02/164244" rel="noopener" target="_blank">ラズパイZeroで自宅のNASをマウントする</a>

も参考にしました


このとき
username はユーザ名
password はユーザパスワード
ですがNASのものを使います

//192.168.1.208/pizero_photo
はNASのマウント先

 /mnt/nas 
はラズパイZeroWのマウントする場所
となります

次にOS起動後にNASが自動マウントするように
ブートオプションを変更
これはネットワークサービスが
起動してからブートしないとNASのマウントが失敗するから


 sudo raspi-config 

で設定画面を開き

3の
Boot Options を選びSelect にしてEnter

次に
B2 Wait for Network at Boot Choose whether to waito for n
で Select にして Enter

次に
Would you like boot to wait until a network connection is established?
となっているので
はい
にしてEnter

Waiting for network on boot is enabled
となるので
了解で Enter

あとは Finish で Enter することで設定画面を抜けます

設定確認のため

sudo reboot

で再起動して

df -h

ファイルシス                 サイズ  使用  残り 使用% マウント位置
/dev/root                      5.7G  4.3G  1.2G   80% /
devtmpfs                       181M     0  181M    0% /dev
tmpfs                          186M     0  186M    0% /dev/shm
tmpfs                          186M  7.4M  178M    4% /run
tmpfs                          5.0M  4.0K  5.0M    1% /run/lock
tmpfs                          186M     0  186M    0% /sys/fs/cgroup
/dev/mmcblk0p6                  68M   23M   46M   33% /boot
//192.168.1.208/pizero_photo   916G   47G  870G    6% /mnt/nas
tmpfs                           37M     0   37M    0% /run/user/1000
/dev/mmcblk0p5                  30M  398K   28M    2% /media/pi/SETTINGS1

というように
NASがマウントされていれば成功

ラズパイ3に外付けHDDでNAS 構築

ラズパイ3に外付けHDDでNAS 構築

ラズパイZeroW で動画撮影できるようになったけど
容量が足りないため
NAS へ保存することに

ただ、NASは高いため
ラズパイ3と外付けHDDで構築

今回使用したのは昔購入した外付けHDDがあったので
これを活用

今回は
Raspberry Pi 3 に Samba 4.2 をインストール

を参考に実践

すでに過去にインストールなどは済ませてあるので
ssh で接続

ssh pi@192.168.1.208

というように
pi@ラズパイのIPアドレスで接続

なお、パスワードは変更済みだけど
デフォルトのパスワードは
raspberry

ここからは root ユーザで実行するので

sudo su

で root ユーザに切り替え

apt-get update

でリポジトリ更新

apt-get -y upgrade

でソフトのアップデート

次にSamba のインストール

apt-get -y install samba

次に外付けHDDの設定

とはいっても
デバイスがどのパスになっているのかは
それぞれの環境により異なるので
ラズパイ3 外付けhdd
で検索し
Raspberry Pi 3 ModelB で外付けHDDをファイルサーバー化する

を参考に

 fdisk -l

Device     Boot Start        End    Sectors   Size Id Type
/dev/sda1          63 1953520064 1953520002 931.5G 83 Linux

と表示されるので
/dev/sda1 にあることを確認

次に再起動時に自動マウントさせるために
UUIDを調べたいので

blkid /dev/sda1

でUUIDを確認

今回の結果は

/dev/sda1: LABEL="outhdd" UUID="3c00b165-8ba1-481d-8f0d-372b8bbbcb66" TYPE="ext4" PARTUUID="c675b7b1-01"

なお blkid コマンドについては
【 blkid 】コマンド――ブロックデバイスの属性を表示する

を参考に

次にext4 形式でフォーマットするので
もともと書き込まれていたファイルシステムの情報を削除

使用するコマンドは wipefs コマンド

ファイルシステム関連コマンドについては
ファイルシステムの痕跡(メタデータ)をクリアする方法あれこれ(wipefsほか)

を参考に

wipefs -a /dev/sda1

を実行したものの

wipefs: error: /dev/sda: probing initialization failed: デバイスもしくはリソースがビジー状態です

となってしまう

このため

df

でマウント位置の確認

ファイルシス   1K-ブロック      使用   使用可 使用% マウント位置
/dev/root         26651708  11079260 14195580   44% /
devtmpfs            468084         0   468084    0% /dev
tmpfs               472692         4   472688    1% /dev/shm
tmpfs               472692     12472   460220    3% /run
tmpfs                 5120         4     5116    1% /run/lock
tmpfs               472692         0   472692    0% /sys/fs/cgroup
/dev/mmcblk0p6       66528     22541    43988   34% /boot
tmpfs                94536         0    94536    0% /run/user/1000
/dev/sda1        961301000 820207676 92238940   90% /media/pi/outhdd
/dev/mmcblk0p5       30701       398    28010    2% /media/pi/SETTINGS

/media/pi/outhdd
にマウントされているようなので

デバイスもしくはリソースがビジー状態です

を参考に
umount コマンドでアンマウント

umount -f /media/pi/outhdd/

そして再度

wipefs -a /dev/sda1

とすると成功

次にパーティションの新規作成

fdisk に関しては
fdisk でパーティションのサイズを変更する

を参考に

fdisk /dev/sda1

を実行すると

Changes will remain in memory only, until you decide to write them. Be careful before using the write command.  Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xe590c949.

となるので
n を入力し Enter

Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

となるので、そのままEnter

Partition number (1-4, default 1): 

となるので、これも Enter

First sector (2048-1953520001, default 2048): 

も Enter

Last sector, +sectors or +size{K,M,G,T,P} (2048-1953520001, default 1953520001):

もEnter

これで

Created a new partition 1 of type 'Linux' and of size 931.5 GiB.

Command (m for help): 

とでたら
p を入力するとパーティーション情報が表示される

今回は

Disk /dev/sda1: 931.5 GiB, 1000202241024 bytes, 1953520002 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe590c949

Device      Boot Start        End    Sectors   Size Id Type
/dev/sda1p1       2048 1953520001 1953517954 931.5G 83 Linux

Command (m for help): 

これで設定反映のため
w とすると

The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: 無効な引数です

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

となってしまう

エラーメッセージから検索したところ
37.3. パーティションの作成と削除
https://www.turbolinux.co.jp/products/server/11s/user_guide/partition.html
によれば再起動が必要とのこと

再起動前にフォーマットやマウントをしておきたいので

mkfs.ext4 /dev/sda1

を実行

Found a dos partition table in /dev/sda1
Proceed anyway? (y,N)

となるので y を入力

次に外付けHDDのマウント先を作成し
マウント

mkdir /mnt/hdd
mount /dev/sda1 /mnt/hdd/

外付けHDDを ext4 でフォーマットしているので

blkid /dev/sda1

で確認

結果

/dev/sda1: UUID="96cc41c9-808c-4851-83f5-53bdfa487787" TYPE="ext4" PARTUUID="c675b7b1-01"

となっているので

nano /etc/fstab 

で設定ファイルを開き

最終行に

UUID="96cc41c9-808c-4851-83f5-53bdfa487787"     /mnt/usb1       ext4    defaults 0 0

を追記

あとは設定反映のため再起動するので

reboot

を実行

これで

 df 

を実行し
マウントされていればOK

今回だと

ファイルシス   1K-ブロック     使用    使用可 使用% マウント位置
/dev/root         26651708 11079248  14195592   44% /
devtmpfs            468084        0    468084    0% /dev
tmpfs               472692        4    472688    1% /dev/shm
tmpfs               472692    12452    460240    3% /run
tmpfs                 5120        4      5116    1% /run/lock
tmpfs               472692        0    472692    0% /sys/fs/cgroup
/dev/mmcblk0p6       66528    22541     43988   34% /boot
/dev/sda1        960379088    77852 911446852    1% /mnt/hdd
tmpfs                94536        0     94536    0% /run/user/1000

というかんじ

次に samba 用フォルダ作成

mkdir /mnt/hdd/share
mkdir /mnt/hdd/share/family
chmod -R 777 /mnt/hdd/share/

次に設定ファイルの編集
ここからは使い慣れた vim で編集していきます

vim /etc/samba/smb.conf 

で設定ファイルを開き
/global で検索し
25行目あたりに

dos charset = CP932
unix charset = UTF-8
guest account = pi

を追加

なお、vim の場合 ctrl + shift + v で貼り付けが可能

そして
shift + g で最終行に移動し

[ファミリー]
        path = /mnt/hdd/share/family
        writable = yes
        guest ok = yes
        guest only = yes
        create mode = 0777
        directory mode = 0777

として保存

これで

service smbd restart

でSamba の再起動をすることでファイル共有が可能に

Ubuntu 16.04 の場合
エクスプローラで
ネットワークをクリックすると
RASPBERRYPI
と表示されるので

これを
クリックして今回設定したフォルダをクリックすると
ユーザ認証になるので
ユーザ名 pi
パスワード ラズパイ3のパスワード
とすることでログインしてファイル共有することが可能になります

ラズパイ Zero W で動画保存の設定変更

ラズパイ Zero W で動画保存の設定変更

今回も参考書籍はラズパイマガジン

motion では
動きを検知したときに動画と静止画が保存される

保存場所は
/var/lib/motion
に記録される

なお、デフォルトだと撮影時間が無制限なので

sudo  nano /etc/motion/motion.conf 

でファイルを開き

ctrl + w で検索モードにして
max_movie_time
で検索し

max_movie_time 0

から任意の撮影秒数に変更

保存するには
ctrl + x で Y のあと Enter

今回は20秒にするので

max_movie_time 20

そして、自動的に motion を起動できるようにしたいので

sudo nano /etc/default/motion 

でファイルを開き

start_motion_daemon=no

start_motion_daemon=yes

次に insserv パッケージをインストール

 sudo apt-get install insserv

あとは

sudo insserv motion

これで自動起動設定も完了

もし、自動起動していないのなら

sudo motion

で motion を起動

あとは電源をモバイルバッテリーにすることで
コンセントがない場所でも撮影が可能に

これで撮影ができるようにはなったけど
容量が8GBの microSD のため容量不足により
motion が停止してしまうので
Raspberry Pi3 でNASを構築し
動画保存先をそちらに移す予定

ラズパイ Zero W で動画保存

ラズパイ Zero W で動画保存

今回も参考書籍はラズパイマガジン

動画撮影には
motion というソフトを使うけど
デフォルトでは使えないようなので
設定を変更

 sudo nano /etc/modules

でファイルを開き

bcm2835-v4l2

を最終行に追記

保存するときには
ctrl + x で
Y
あとは Enter で保存されます

nano エディタの使い方は
nano 使い方
で検索してもでてくるけど
ファイルの作成と編集、保存ぐらいなら
nano (テキストエディター) について

のほうがまとまっていておすすめ

あとは

sudo reboot

で再起動

次に motion のインストール

sudo apt update

でリポジトリを更新し

sudo apt install -y motion

で motion をインストール

次に設定ファイルの編集

sudo nano /etc/motion/motion.conf 

で設定ファイルを開き

ctrl + w で検索できるので
daemon で検索し

daemon off

daemon on

に変更

ctrl +x で width で検索し

width 320 

width 640 

に変更

height 240

height 480

に変更

ctrl +x で framerate で検索し

framerate 2

framerate 10

に変更
framerateは
動体を検知した時に画像をキャプチャするフレームレートの最大値
大きくするとCPU負荷も上がるが
動きがなめらかになる

ctrl +x でevent_gap で検索し

event_gap 60

event_gap 10

に変更
eventgap は
動体検知が収まってから再度検知するまでの秒

ctrl +x で stream_localhost で検索し

stream_localhost on

stream_localhost off

に変更
stream_localhost は
ライブストリームへのアクセスをローカルホストからのみに制限する
on だとローカルホストのみ

ここまでできたら
ctrl + x で Y を押して保存ファイルを聞かれるので
Enter で上書き保存

なお
motion の各種設定については
motionのオプションについて

を参考に

ここまでできたら

sudo motion

で motion を起動

これでブラウザから
http://ラズパイZeroWのIPアドレス:8081/
にアクセスするとリアルタイムの動画を見れます

なお motion の停止は

sudo service motion stop

でできます

停止方法がラズパイマガジンになかったので
Raspberry Pi でカメラ

を参考にしました