2021年5月19日水曜日

ラズベリーパイで外付けストレージをファイルサーバー(Samba)にする。

Raspberry Piに挿した外付けストレージをファイルサーバーにしてみました。

Googleフォトの無制限バックアップが5月いっぱいで終わるため、フル解像度で無制限で写真を保存できるAmazon Photosへ引っ越しました。プライム会員であれば、追加費用もかからず使えるのですが、動画の容量が少なめなため(ベーシックストレージ5GBと追加ストレージ5GBの計10GB)、一応いざという時のために動画の保存先を作っておこうということですね。

VPNで接続しておけば、外出先からでもファイルを放り込めます。

VPNサーバーの作り方は以下より。

・Windows → テレワーク環境整備のためVPNサーバー(SoftEther VPN Server)を導入しました。



ファイルサーバーを作るにあたって、今回は、手持ちで余っていた128GBのUSBメモリを使いました。しばらく試してみて、それなりに使用頻度が高いようだったら、1〜3TBくらいの、容量の大きい外付けHDDかSSDにする予定です。特に持ち歩くわけでもないですし、HDDでいいですかね。

【 サンディスク 正規品 】5年保証 USBメモリ 128GB USB 3.1 超小型 SanDisk Ultra Fit SDCZ430-128G-J57
【 サンディスク 正規品 】5年保証 USBメモリ 128GB USB 3.1 超小型 SanDisk Ultra Fit SDCZ430-128G-J57

by SimpleImageLink


参考させていただいたサイトは以下です。そのまま、①→②の順番でやればファイルサーバーができあがります。


マウントするフォルダ作成時にパーミッションでひっかかったので、root権限で実行。あとはすんなりと。



ストレージのマウントは済んでいるので、「3:Sambaのインストール」から行います。


PCからだけでなく、スマホからもつなげるので、旅行の最中などに容量がなくなったときに助かりますね。その分、通信容量は消費しますけども。


本日、無事に田植え完了


Twitter(@nkkmd)日々更新中です。

2021年5月18日火曜日

Googleフォト有料化に向けた対応、とりあえずAmazon Photosへ

さてさて、2021年6月1日からGoogleフォトが有料化しますね。有料化というか、これまで無料で無制限だった、圧縮された「高画質」でのアップロードが使用容量にカウントされるようになります。なので、保存容量を超えるような場合は、追加で保存容量の購入が必要になります。これまで、完全に頼り切っていたので、代替手段を考えねばなりません。


これを機に、NASを導入するのもいいかなと思ったものの、改めて選んでみるとやはりそこそこのお値段……。じゃあ、ラズパイとOpenMediaVaultとかで自作するのはどうかと思い、手持ちの機材で作ってみたけれど、よく考えたら、ラズパイをNAS専用にしてしまうのも微妙にもったいない気が……。というか、新たにラズパイ本体やハードディスク等を準備すると、結局、まぁまぁのお値段になるし、専用機と比べたときに、安定性や耐久性はどんなものなのだろうか……。


Synology NASキット 2ベイ DS220j/JP【ガイドブック付】 クアッドコアCPU 512MBメモリ搭載 ライトユーザー向け 国内正規代理店品 電話サポート対応品 DiskStation
Synology NASキット 2ベイ DS220j/JP【ガイドブック付】 クアッドコアCPU 512MBメモリ搭載 ライトユーザー向け 国内正規代理店品 電話サポート対応品 DiskStation

by SimpleImageLink

欲しいか欲しくないかと聞かれれば、もちろん欲しい(笑)。


などなど考えた結果、とりあえず、ありきたりに「Amazon Photos」に移行することにしました。写真は、フル解像度で無制限。動画は、ベーシックストレージ5GBと追加ストレージ5GBの計10GBが使えます(Fireデバイスなら無制限)。家族で写真を共有できるファミリーフォルダも便利そうです。

すでにプライム会員なので、追加費用はかかりません(¥4,900年/年 or ¥500/月)。固定費は上げぬに限ります。


Googleフォトの方も完全に引き払ってしまうわけではなく、いらない写真や動画は削除しながら、常に整理して、アルバムで管理していく形にしようかと思います。GmailやBloggerで使うにはやはりGoogleフォトが便利ですからね。動画に関しては、YouTubeに非公開で置いておくのもいいかなと。そういえば、昔はこうしてました。

あと、おまけですが、ラズパイに挿したUSBメモリをファイルサーバー(Samba)にしておきました。VPN接続すれば、どこからでもファイルを放り込めるので便利です。(→ 作り方はこちら



Googleの空き容量を増やすために、DriveやGmailを整理していたら、なぜか見落としてしまっていたメールをちらほら発見……けっこうな期間空いてしまっているので今さらながら返信した方がいいものなのか、どうなのか……ううう。


Twitter(@nkkmd)日々更新中です。

2021年5月13日木曜日

ラズベリーパイでVPNサーバー(SoftEther VPN Server)を作る。

これまで動かしていたVPNサーバーは、WindowsでSoftEther VPN Serverを使っていたのですが、今後の運用等を考えて、改めてRaspberry Piで作ってみました。Raspberry Piは、Raspberry Pi OSのRaspberry Pi 4 Model Bを使用。


いつものことながら先人の知恵を借り、ひとまず完成。

参考にさせていただいたサイトはこちら。

Raspberry PiでのVPNサーバ構築 - Qiita


概ね、この通りでいけましたが、突っかかったポイントだけ補足。(環境にもよるかと思います。)


・「4. vpnserverのインストール」

vpnserverをrsyncで/usr/localディレクトリにコピーする際、パーミッションエラーが出たのでroot権限で実行。

sudo rsync -av vpnserver /usr/local


・「12. ブリッジ用の起動ファイル」

ローカルブリッジを有効にする起動ファイル(vpnserver.service)の実行時に、/usr/local/vpnserver/vpnserver_startスクリプトの実行権限がなく、"code=exited, status=203/EXEC"というエラーが出ていたので、権限を付与。

sudo chmod 744 /usr/local/vpnserver/vpnserver_start


これで、とりあえず無事に動き出しました。


***

データロガー人感センサーの工作を、より安価なRaspberry Pi Zero WHでやるようにしたので、余った4 Model Bを有効活用できてよかったです。

今後は、オープンデータ公開用のサーバーも構築できたらなと。


軽トラ好きキャット


・関連投稿
テレワーク環境整備のためVPNサーバー(SoftEther VPN Server)を導入しました。





Twitter(@nkkmd)日々更新中です。

2021年5月8日土曜日

読書記録(2021年・GW)

ふと、読書記録でもつけようかなと思い…そういえばこのブログ、「読書」ラベルも作ってあるので活用していければなと。


・ダチョウはアホだが役に立つ(塚本 康浩)
ダチョウはアホだが役に立つ (幻冬舎文庫)
ダチョウはアホだが役に立つ (幻冬舎文庫)

by SimpleImageLink

著者の方の回の情熱大陸をたまたま見かけて、おもしろかったので、読んでみました。

ダチョウって、走るでかい鳥くらいのイメージしかなかったのですが、まさか感染症等の抗体を作ることに役立っていたなんて露知らず。いつの日か1羽くらい飼いたいな…なんて。

また、著者がダチョウの研究に至るまでが非常に興味深いです。特に、大学院生時代から自分で商売で稼いで研究費に充てていたというエピソードは、ダチョウ並みのたくましさしか感じません。


・正直不動産
正直不動産(11) (ビッグコミックス)
正直不動産(11) (ビッグコミックス)

by SimpleImageLink

不動産屋のマンガなんですが、エピソードが具体的なので、おもしろいのですよね。別に不動産を買ったりなんだりという予定はないのですが、知識として知っておいても損はないように思います。

健康で文化的な最低限度の生活」とか、こういうマンガは、知らないけれど確実に身近にある世界を知れて勉強になりますね。


・百姓たちの江戸時代(渡辺尚志)
百姓たちの江戸時代 (ちくまプリマー新書)
百姓たちの江戸時代 (ちくまプリマー新書)

by SimpleImageLink

農業経営に関しては、今とたいして変わらいないというのが率直な感想。自給自足的な生活なのかと思いきや、すでに貨幣経済が浸透し、お金のない生活は考えられないという時代になっていたのですね。

「百姓は、自然との共生を目指す農業者であるとともに、経済感覚の求められる経営者でもありました。」(位置NO.918)

また、小百姓による兼業なども現代の農業の姿に通じるところがありますね。


***


ということで、読書記録でした。時々、投稿できればと思います。


Twitter(@nkkmd)日々更新中です。

2021年5月5日水曜日

新しい畑を作りました。

先日、新しい畑を作りました。



この場所は、いつの日にか畑になればと、堆肥を作っていた場所です。

2014年頃から畳表やら、廃棄になった椎茸のホダ木、ナメコの廃菌床を積み続けていました。やっと量的にもいい感じになってきたので、整地して畑として使い始めることにしました。

まだまだ時間がかかるかなと思っていましたが、鈴木農園さんからいただいているナメコの廃菌床によって相当加速しました。ホダ木もとてもいい土を作るのですが、いかんせん時間がかかります。



整地するとカブトムシの幼虫がゴロゴロ。

精神的な負荷が大きい作業です…(笑)。なるべく傷つけないよう掘り起こして、安全な場所へ。



何とか、平らに。

写真からは全然わかりませんが、半分くらいの場所には里芋を植えました。昨年はこの場所で、捨てた里芋から立派な里芋が育ったので、今年も育つといいですね。

-----
追記(2021-5-7)

里芋の芽

里芋の芽が出てきました。
-----

面積的には家庭菜園くらいのものですが、いろいろ使えそうです。


イラスト基本からわかる堆肥の作り方・使い方
イラスト基本からわかる堆肥の作り方・使い方

by SimpleImageLink


Twitter(@nkkmd)日々更新中です。

2021年5月4日火曜日

ラズベリーパイに人感センサーを付けて音声を再生する。

Raspberry Piに人感センサーモジュールを付けて、動くものを感知すると音声を再生するというものを作りました。

お店の入り口に設置して、お客さんが入ってきたら「いらっしゃいませ」と音声が流れるという感じのものです。

今回はまず、基本となるプログラムを作成します。けっこう難儀するかと思っていたのですが、意外とすんなりできました。

いろいろ使えそうですが、まずは、獣害対策として、この前作った太陽光発電の電源と組み合わせて田畑に寄ってきたイノシシを驚かせるようなものが作れたらと思っています。


Raspberry PiはZero WH(Wのピンヘッダ実装モデル)、人感センサーモジュールはHC-SR501を使いました。

Ren He HC-SR501人体赤外線感応モジュール モジュール焦電型赤外線検出器PIRモーション 人体の赤外線の感応器 人感センサースイッチ ボディセンサーモジュール 3個
Ren He HC-SR501人体赤外線感応モジュール モジュール焦電型赤外線検出器PIRモーション 人体の赤外線の感応器 人感センサースイッチ ボディセンサーモジュール 3個

by SimpleImageLink

昨年末に購入した時には、中国からどんぶらこと1か月くらいかけて届いたのですが、今現在はすぐ届く状態になっていますね。


ELEGOO 120pcs多色デュポンワイヤー、arduino用ワイヤ—ゲ—ジ28AWG オス-メス オス-オス メス –メス ブレッドボードジャンパーワイヤー
ELEGOO 120pcs多色デュポンワイヤー、arduino用ワイヤ—ゲ—ジ28AWG オス-メス オス-オス メス –メス ブレッドボードジャンパーワイヤー

by SimpleImageLink

最短の接続は、メス-メスのジャンパーワイヤー。


では、作っていきます。

今回は主に、以下の2サイトを参考にさせていただきました。

【Raspberry Pi】自作人感センサーの使い方と活用法 - CHASUKE.com
Raspberry Piで音楽(wav/mp3)ファイルを再生する方法 python編 - Qiita


▼ Raspberry Piの下準備


Raspberry Piの準備をします。

① Raspberry Pi OSのセットアップ
② IPアドレスの固定
③ VNC、SSHを有効化
④ PythonのデフォルトをPython3に変更
⑤ 日本語入力パッケージのインストール(「fcitx-mozc」、「ibus-mozc」 等)

やり方は、検索すればたくさんでてきますので省略。

②③は、作業時に、いちいちモニターとキーボード、マウスをつなぐのが大変なので、リモートアクセスで作業できるようにします。⑤の日本語入力は必要があれば。


▼ 人感センサーを接続する



人感センサーモジュールをジャンパーワイヤーでRaspberry Piに接続します。



左から、グランド(GND)、出力、電源(4.5-20V)になります。



HC-SR501側:Raspberry Pi側(ピン番号)
電源:5V(4)
出力:GPIO18(12)
GND:GND(6)



オレンジのつまみは、左が時間調節、右が感度調節です。右に回すと時間は長く、感度は良くなるみたいです。

さらに、右側端っこにリピート設定の切り替えスイッチがあるはずなんですが、なぜか付いていませんでした(笑)。まぁ、どちらにせよ、時間やリピートについてはプログラムで制御する形にします。


▼ 音声データと音声出力の準備


Raspberry PiでPythonから音声を再生する方法はいろいろあるようですが、今回は最初からパッケージとしてインストールされているpygameというモジュールを使います。音声データはmp3、もしくはogg形式のものを準備をします。

ちなみに、Raspberry Pi Zero WHにはミニジャックがないので、ミニHDMI、microUSB、GPIOのいずれかから出力する必要があります。


ROADOM 7インチ Raspberry Pi用タッチモニター IPS 1024X600 スピーカー内蔵 Raspberry Pi 4/3/2/1 Xbox PS4 Ubuntu Windows 7/8/10に適用…
ROADOM 7インチ Raspberry Pi用タッチモニター IPS 1024X600 スピーカー内蔵 Raspberry Pi 4/3/2/1 Xbox PS4 Ubuntu Windows 7/8/10に適用…

by SimpleImageLink

例えば、スピーカー内蔵のモニターだとHDMI接続で音声がでます。


▼ Pythonスクリプト


人感センサーが反応した際に音声を再生するPythonスクリプトです。ディレクトリやファイル名は適当に。

#!/usr/bin/env python3

from datetime import datetime
import time
import RPi.GPIO as GPIO
import pygame.mixer

INTERVAL = 3  # 判定の時間の間隔
SLEEPTIME = 10  # 音声再生後の休止時間
GPIO_PIN = 18

GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN, GPIO.IN)

if __name__ == '__main__':
    try:
        while True:
            if(GPIO.input(GPIO_PIN) == GPIO.HIGH):
                pygame.mixer.init()
                pygame.mixer.music.load("音声データ(絶対パスで記述)")
                pygame.mixer.music.play(1)
                time.sleep(音声データの秒数)
                pygame.mixer.music.stop()
                print(datetime.now().strftime('%Y/%m/%d %H:%M:%S'))
                time.sleep(SLEEPTIME)
            else:
                print(GPIO.input(GPIO_PIN))
                time.sleep(INTERVAL)
    except KeyboardInterrupt:
        print("finished")
    finally:
        GPIO.cleanup()

書き換えが必要な箇所は以下の通り。

・20行目「音声データ(絶対パスで記述)」

例えば、Musicフォルダの場合は、「/home/pi/Music/ファイル名」になります。


・22行目「音声データの秒数」

音声データの秒数を記述します。1分の音声データであれば「60」。


また、8行目の「INTERVAL」、9行目の「SLEEPTIME」の時間によって反応のタイムラグができますので、用途によって適宜調整してください。「INTERVAL」は反応の判定をする時間の間隔、「SLEEPTIME」は音声再生後の休止時間になります。


▼ 動かしてみる


実行。

$ python ms_sound.py
pygame 1.9.4.post1
Hello from the pygame community. https://www.pygame.org/contribute.html
0
0
0
2021/05/04 21:55:45
0
2021/05/04 21:56:03
0
0
^Cfinished

こんな感じになります。

人感センサーが反応した場合は、日時が表示され、音声が流れます。無反応の場合は、3秒ごとに「0」と表示。

「Ctrl + C」でプログラムが終了します。


***

ということで、Raspberry Piを使い、人感センサーの反応に合わせて音声を再生するプログラムでした。


・関連投稿


Twitter(@nkkmd)日々更新中です。