2021年7月23日金曜日

夏2021

ずーっと雨だなぁ、と思っていたら突然夏になりましたね。暑いです。

もう少し、雨と晴れをバランスよく配置して、環境をマイルドにしてもらえたらうれしいのですけどね(笑)。

畑は、相変わらず非常にいまいちで、夏の加工品作りの計画は少々変更…。それでも、来年の種は最低限確保できそうなのでよかったです。

まぁ、昨今においては災害がなければ御の字という感もありますね。


***

ボートでパラリンピックを目指していた友人の出場が決まりました。

いくつもの困難な局面を乗り越えての出場…!本当に、本当に、おめでとうございます。

皆さま、ぜひ一緒に応援よろしくお願いします!

こちら有安諒平選手のTwitter → @ari_pararowing


***

舵取りの難しい日々が続きますが、この時代に何を考え、どう生きたのか。後々、けっこう重要になってくるのではなかろうかという気もします。

焦らず、無理せず、目の前のやるべきことを一つひとつやっていけたらと思います。




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

2021年7月13日火曜日

改めて、土づくり

どうもここ数年、メインで使っている畑での野菜の生育がいまいちです。

梅雨からまりの天気が変てこな年が続いているので、そのせいかと思っていたのですが、よくよく野菜の様子を見るに、長年の使用で土のバランスがだいぶ悪くなっているんじゃなかろうかと…。

そんなわけで、今年の夏野菜が終わったところで、改めて土づくりをしようと思います。



新しく作った畑に植えた里芋は、とっても元気に育っています。

畑の平衡が保たれる栽培サイクルとメンテナンスが確立できるといいのですが(保たれていると思っていたわけですが幻想でした)、まぁ、勉強しながら手探りでやっていくしかないですね。

いやはや、毎年毎年、見事に課題が湧いてきますねぇ。おもしろい、おもしろい。


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

2021年7月4日日曜日

【読書記録】世界観を広げる。(2021年7月)

実用的なこと、必要なこと、良いと思しきことばかりに目を向けていると、何かバランスが悪くなってくる感じがあります。こうした時は、哲学的なものや科学的なものに触れると世界観が広がりリフレッシュになります(個人の感想)。


・哲学的な何か、あと科学とか(飲茶)


飲茶氏は、以前Audibleで聴いた「史上最強の哲学入門」の著者の方ですね。

非常に分かりやすい、というか、分かった気になれる(笑)ので、とても楽しく読めます。

今回は、「2重スリット実験」に始まる量子力学がわかった気になれてとても良かったです。

次は、「哲学的な何か、あと数学とか」も読んでみようかと思います。


・量子コンピュータが本当にわかる! ― 第一線開発者がやさしく明かすしくみと可能性(武田 俊太郎)


量子力学は何となく少しわかった気になったけど、最近目にする量子コンピュータってどういうものなの?実際にどうやって作るの?というところが気になり読んでみました。

これまでのコンピュータとの違いや計算の仕方、どういうことに使えるのか、種類、作り方など、具体的に説明してくれています。数式はなくライトに読めます。

量子コンピュータについての記事のニュアンスなんかは、何となく理解できるようになるんじゃないかと思います。


・マンガ 老荘の思想

哲学っぽいものでおまけ。

小学生くらいの時に読んだ本ですが、自分の価値観の土台を作ったと言っても過言ではありません。老子にはとてもはまり、その後もいろいろと本を読みました。

感覚ですが、意外と今の時代にマッチする思想な気もします。

余談ですが、大学入試の二次試験が、まるまる老子についての記述問題でした。人生何があるか分かりません(笑)。




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

2021年6月27日日曜日

【雑談】素晴らしきサービスと物価と賃金(2021-6-27)

家計の見直しをしていると、次から次へと素晴らしい(それでいて安い)サービスがあらわれ、都度ホイホイ乗っかり、わーいとやっておりますが、一方で日本は長らく物価も賃金も止まっているけど大丈夫?みたいな話もよく目にします。

生活者として、楽しくハシゴに登って高いと喜んでいたら、地盤ごと沈んでしまった、みたいなことにならないだろうかという不安は、やはりありますよね。経済は表裏一体ですからね。

国内で完結していれば問題ないのかもしれませんが(わかりませんが)、諸外国の物価、賃金は着々と上がっていくわけで、そのうち、海外旅行なんかもほいほい行けないような時代になってしまったら悲しいなぁ、と(今は今で行けませんけども)。実際、物価が安いイメージの国に行っても、すでにそれほど安く感じないことも多いですしね。

まぁ、これから20年、30年、それ以上と働く私たちの世代は、ある程度コンサバティブな想定の上に、備えておかなければいけないのだろうなとは、切実に思うところです。


数年前に植えた梅の木から初収穫しました。


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

2021年6月19日土曜日

【定期】家計の見直し(2021年6月)

仕事と生活がリンクする家族農業において、家計の最小化は、心強い生存基盤となります。

また、定期的な見直しを行うことで、自身や家族にとって価値があるもの、必要なものが何なのか、都度確認することがでるのではないかと思います。


・電気代とスマホ代

UQ mobileで、「でんきセット割」が始まりましたね。

UQ mobileのくりこしプランと、UQでんき、もしくはauでんきをセットで契約すると、月々のスマホ代が安くなります。税込の割引額は、くりこしプランS、Mで638円、Lで858円です。家族割グループであれば、10回線まで適用されます。うちの場合、父、母、私がSで契約しているので、合計1,914円ほどの割引になります。

これにより、私のスマホ代は、とうとう3桁の990円になります(笑)。通話は、楽天モバイルのRakuten Linkを併用しているので、だいたい無料。多少の通話料を含めても、1,000円ちょっとくらいで収まりそうですかね。

さらに、UQでんきとUQ mobileのセットであれば、電気代に応じたPontaポイントの還元もあります。

ただ、こちらは支払いの都合で、UQでんきの契約者(父)と紐づけるUQ mobileの契約者(私)が別名義なので、還元率は低く(5,000円未満 0.5%、5,000円以上8,000円未満 2%、8,000円以上 3%)なってしまうみたいです。まぁ、そのうち名義変更しようと思います。同一名義であれば、5,000円未満 1%、5,000円以上8,000円未満 3%、8,000円以上 5%の還元になります。

ちなみに、でんきとスマホが同一のau IDであれば高い方の還元率でいけるっぽい記述もあるのですが(これとか)、2019年8月28日のUQでんき提供開始のニュースリリースの注4部分の記述によると、やはりだめそうですね。UQスポットのスタッフの方も、そういう説明でした。

結果的に、電気代に関しては、おそらく微増になるのですが、スマホ代との差し引きで月々1,000円以上のマイナスにはなりそうです。年間だとざっくり12,000円ですね。けっこう大きいですよね。


***

ということで、定期的な家計の見直しでした。

節約と言っても、今回のような場合は、手続きさえやってしまえば、普段の使い勝手は何ら変わりません。取りこぼしなくやっていきたいですね。




2021年6月16日水曜日

獣害対策「イノシシ避けマシン」を作る。【後編(ソフトウェア)】

イノシシ避けマシン

前編に引き続きまして、「イノシシ避けマシン」のソフトウェア部分です。


▼ Raspberry Piの下準備


まずは、Raspberry Piの下準備です。

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

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

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


音声の出力先を「USB Audio Device」に変更。



音量は、alsamixerコマンドで変更できます。F6のサウンドカード選択で「USB Audio Device」を選び、操作します。私の場合だと、初期状態の音量がけっこう小さくなっていました。


scheduleモジュールを、pipコマンドで入手します。後ほどデーモン化を行う際にsystemdのuserモードを使うので、sudoコマンドは使わずにインストールします。

$ pip3 install schedule


それから、これはどちらでもいいのですが、スマホのテザリングに接続できるようにしておくと、(Wi-Fiの届かない)設置先で何かちょっとした操作をしたい時に、スマホからSSHで接続できて便利です。この場合は、設置前にIPアドレスの固定を解除しておきます。

スマホからSSH接続する際は、テザリングしているスマホからIPアドレスを調べます。(Androidですと普通に調べられるのですが、iPhoneはよく分かりません。一応、IPアドレスのパターンが決まっているみたいなので順に試せばいけるのかな。)


▼ 音声データの用意


イノシシが驚きそうな、もしくは警戒しそうな音声データを用意します(mp3、もしくはogg形式のもの)。検索すれば、フリーの音声データも見つかるかと思います。

人感センサーが反応した際に流す音声と定期的に流す音声の2種類が必要です。バッテリー容量の都合で、音声データの時間は短いものの方がいいと思います(数秒〜1分程度)。

今回は、とりあえず「sound_1.mp3」「sound_2.mp3」としてスクリプト内で扱います。音声ファイルは「/home/pi/Music」フォルダに置いておきます。


▼ Pythonスクリプトの作成


スクリプトファイルは、「/home/pi/Python/wild_boar」など、適当なフォルダを用意して、そこに置きます。

まずは、人感センサーが反応した際に音声を流すスクリプトです。19時から翌朝5時まで間に人感センサーが反応すると音声が流れます。

ファイル名は「ms_sound.py」(何でもいいです)。
#!/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:
            now = datetime.now()
            now = now.hour
            
            if(GPIO.input(GPIO_PIN) == GPIO.HIGH and (19 <= now <= 23 or 0 <= now <= 5)):
                pygame.mixer.init()
                pygame.mixer.music.set_volume(1)
                pygame.mixer.music.load("/home/pi/Music/Sound_1.mp3")
                pygame.mixer.music.play(1)
                time.sleep(音声データの秒数)
                pygame.mixer.music.stop()
                time.sleep(SLEEPTIME)
            else:
                time.sleep(INTERVAL)
    except:
        pass
    finally:
        GPIO.cleanup()

-----
・追記(2021-6-22)

一部スクリプトの修正をしました。
-----

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

・21行目「19 <= now <= 23 or 0 <= now <= 5」

音声が流れる時間を指定します。19時から翌朝5時ですと「19 <= now <= 23 or 0 <= now <= 5」となります。丸一日だと「0 <= now <= 23」です。


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

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


次に、定期的に音声を流すスクリプトです。19時から翌朝5時まで、1時間おきに音声が流れます。

ファイル名は「skd_sound.py」(何でもいいです)。
#!/usr/bin/env python3

import schedule
import time
import pygame.mixer

def skd():
    pygame.mixer.init()
    pygame.mixer.music.set_volume(1)
    pygame.mixer.music.load("/home/pi/Music/Sound_2.mp3")
    pygame.mixer.music.play(1)
    time.sleep(音声データの秒数)
    pygame.mixer.music.stop()

schedule.every().day.at("19:00").do(skd)
schedule.every().day.at("20:00").do(skd)
schedule.every().day.at("21:00").do(skd)
schedule.every().day.at("22:00").do(skd)
schedule.every().day.at("23:00").do(skd)
schedule.every().day.at("00:00").do(skd)
schedule.every().day.at("01:00").do(skd)
schedule.every().day.at("02:00").do(skd)
schedule.every().day.at("03:00").do(skd)
schedule.every().day.at("04:00").do(skd)
schedule.every().day.at("05:00").do(skd)

while True:
    schedule.run_pending()
    time.sleep(1)

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

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

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


・15~25行目「schedule.every().day.at("時刻").do(skd)」

上のスクリプトでは、19時から翌朝5時の1時間おきの時刻を指定してあります。scheduleの指定の仕方はこちらを参照ください(英語ですが、翻訳すればだいたい分かります)。


▼ Pythonスクリプトのデーモン化


「ms_sound.py」と「skd_sound.py」をデーモン化します。デーモン化を行うことで、Raspberry Piの電源を入れると自動的にプログラムが実行されます。

デーモン化は、systemdのuserモードで行います。やり方は、こちら(systemdのuserモードでデーモン化をする)を参考にしてください。


▼ 使い方


ということで、完成です。

使い方は、とても簡単。Raspberry Piとアンプの電源を入れて設置するだけです。


懸念点は、完全放置でバッテリー残量を維持できるのかどうかです。太陽光発電なので、もちろん天気次第ではあるのですが、加えて、アンプの消費電力が大きいのですよね。テスターで確認したところ、音がなっていない時の消費電気はほとんどなく、想定する音声再生時間であれば計算上は(たぶん)いけるはずなのですが……。

-----
・追記(2021-7-12)

太陽光が全く射さない日が2日以上続くようだとバッテリー切れますね。

バッテリーが5V以下まで過放電してしまうと充電自体が難しくなるので、天気が悪い時には早めに回収して、バッテリー充電器でコンセントから充電してしまった方がよさそうです。

ちなみに、曇り空の下に数日放置したら2Vくらいまで放電してしまって、充電器にバッテリーの認識がされない状態になってしまいました。一応、そのままつないでいたらじわじわ充電してくれたのですが、バッテリーにはすこぶる良くないみたいなので、今後は放置しないように気を付けます。
-----

あとは、肝心のイノシシ避けの効果があるかどうかですね。少しでも出現頻度が落ちてくれるといいのですけどね。


・関連投稿




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

2021年6月15日火曜日

獣害対策「イノシシ避けマシン」を作る。【前編(ハードウェア)】

近年、高頻度で出没するイノシシに対応すべく、「イノシシ避けマシン」を作ってみました。



機能としては、

・人感センサーが反応したら音声を流す。
・定期的に音声を流す。

の、2つになります。

農家として、どうしても来てほしくないタイミングというものはあります。獣害対策というと物々しい感じになりますが、できる事ならば棲み分けが一番いいと思っています。聞きなれない音を警戒して、距離を取ってくれたら大成功です。

音声データは、Raspberry Piから出力します。

野外での使用を想定しているため、防水対策をして、電源は太陽光発電で確保。そして、イノシシが驚くように、ある程度の大音量が出るようにしました。


▼ 部品一覧


金額は全て購入時点、税込です。

【Raspberry Pi関連】
・Raspberry Pi Zero WH(1,848 円)
・Raspberry Pi Zero ケース(660 円)
・microSDカード 32GB(690 円)
・人体赤外線感応モジュール(HC-SR501)(142 円)
・ジャンパーワイヤー(メス - メス)(990 円)



【電源関連】
・太陽電池モジュール(12W SY-M12W-12)(2,500 円)
・完全密封型鉛蓄電池(12V 7.2Ah LONG製 WP7.2-12)(1,800 円)
・ソーラーチャージャーコントローラー(ALLPOWERS 20A 12V/24V)(2,099 円)



【スピーカー関連】
・スピーカー(Herdio 100W HIFI 2-Way 防水型 4インチ)(4,599 円)
・アンプボード(Acouto 12-24V 100W*2)(1,799 円)
・変換アダプタ (micro USB オス - USB A メス)(699 円)
・変換アダプタ(USB A オス - オーディオ 3.5mm メス)(999 円)
・ステレオミニプラグ オーディオケーブル 3.5mm(オス - オス)(635 円)



【その他】
・ウオルボックス 屋根一体型<ヨコ型>(WB-11DM) ×2(1,821 円)
・コンバータ(DC12VからDC5V 変換モジュール USB充電器アダプター)(849 円)
・KIVケーブル(1.25SQ)(700 円)
・ファストン端子 ×2(10 円)
・台



費用は、送料等含めトータル2万5000円程度でした。

Raspberry Pi Zero WH、Raspberry Pi Zero ケースはスイッチサイエンス、太陽電池モジュール、完全密封型鉛蓄電池、ファストン端子は秋月電子通商、その他はAmazonで購入しました。ジャンパーワイヤーやKIVケーブルは、販売単位の関係で多めの購入になっています。台は、その辺にあった板と収穫箱を使いました。

ちなみに、イノシシ避けの役目を果たしたら分解して、部品はそれぞれ他の工作に転用する予定です。

もう少し価格を抑えたい場合、Raspberry Pi Zero ケースなんかはなくても大丈夫かと思います。また、Raspberry Pi Zeroのmicro USBからステレオミニプラグへの変換を、まどろっこしく3本のケーブルでつないでいますが、1本で変換できるケーブルもあります。今回は、後々転用しやすいように3本でつなぎました。(あと、micro USBからステレオミニプラグへの変換ケーブルは、説明に互換性云々書いてある製品が多く、どれがいいのかよく分かりませんでした。まぁ、micro USBがそもそも使われなくなってきていますし、マイナーな変換っぽいですね。)

部品以外には、ドライバー、電工ペンチ、テスター、固定用のテープ等が必要になります。


▼ 接続


接続は、いろいろと試した結果、この形になりました。

太陽光・ラズパイ・スピーカー_接続図


Raspberry Piとアンプの電源は、ソーラーチャージャーコントローラーからではなく、バッテリーから直接取ります。ソーラーチャージャーコントローラーから取ると、ノイズが発生します。


工作は、つなげていくだけなので省略。Raspberry Piと人感センサーの接続はこちら(ラズベリーパイに人感センサーを付けて音声を再生する)を参照。


実際に接続した様子がこちら。収まり良く整えたら、こんな感じになりました。



右ボックス。ソーラーチャージャーコントローラー、Raspberry Pi、人感センサー、アンプボード。



左ボックス。バッテリーとコンバータ。




▼ 固定と防水対策


今回は、分解前提なので、養生テープでペタペタ軽めに固定しました。ただ、スピーカーだけは、バランスが不安定だったので、ネジで台に固定しました。

それから、防水のボックスを使っていますが、寝かせて使っているので、念のため、ケーブル等の出ている穴は、養生テープで上下から挟んで貼り付けておきました。



また、人感センサーの穴のすき間は「ひっつき虫」で埋めました。(ひっつき虫、とても便利ですね。)



スピーカーはもともと防水のものなので、これで大丈夫なはず……です。あとは、意を決して雨にさらすしかありません。壊れませんように……。

-----
・追記(2021-7-12)

ひとまず梅雨には耐えれました。
-----


ということで、「イノシシ避けマシン」のハードウェア面でした。

後編は、ソフトウェア部分、Raspberry Piの設定を行います。


・関連投稿


ラズベリーパイのスピーカーノイズ問題と、とりあえずの解決策


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