水耕栽培とMySQL

備忘録用にメモ
主婦の電気工作好きって数少ないのでは?
https://jitaku-yasai.com/home-made/mysql-raspberrypi/

ブログ村に水耕栽培のランキングというのがあるんだ・・・知らなかった
https://flower.blogmura.com/suikou/ranking/in
でもよく見たら、ランクインしている人の内容を眺めていたら、2010年くらいのも。・・・まぁ、新しければ良いというものでは無いのだけど。

たまに太陽光発電と天文系は見るんだけど・・・

ESP32/BME280

このタイトルだと訳わからないかも知れないが、メモ。
ESP32のキットとBoshの温湿度気圧のセンサとの接続の参考

Switch scienceから
BME280搭載 温湿度・気圧センサモジュールの使い方

あと、検索で見つかったblogが良く書かれていますね
・・・・あまりここで書くことは無い気がしてきた。(^^;
ESP32 用 BME280 ( 温度 湿度 気圧センサー ) ライブラリを作ってみた@mgo_tecさんのblog

ここで繋ぎ方にI2C(これはフィリップスの規格?)とSPIの2種類があるのだけど、
私の場合は色々と使う事のあったI2Cで行ってみたいと思ったのだけど、I2Cは色々とトラブルがあるみたいですね。SPIの方が信号受信の信頼性などを見ると楽そうです。
先人の苦労に感謝です。

BME280とSPIの参考事例はInterface 2018/11月号 P70から出ているのだけどこれを参考にした。記事ではMicroPythonの例が出ているのだけど、Arduinoの場合はCQ出版からダウンロードできるという事で、ちょっと探しています。
http://www.cqpub.co.jp/interface/download/contents.htm

どうでも良いけど、この記事面白いかも
https://interface.cqpub.co.jp/nogyosensing4/

Arduino関係は相変わらずQiitaが参考になりますね
Arduino NanoとBME280を使って温度・湿度・気圧を計測する
https://qiita.com/nanase/items/f34e03c29410add9c4d0
Arduinoの場合は5Vが基本なので3.3Vが必要なんですね。

今のところここまで。

ESP32/Logging memo

精密農業をしたいという場合、例えば温度をLoggingしていくわけだけど、
考えている人は結構いて、下記の様な事例が結構見つかる。
私のいじった感じでは、データのやり取りの規格なんかはまだ無いのかも知れない。
通信コマンドとかもう少し体系化されると良いと思うのだけど、
そうなると折角の軽めに書いてあるコードが長くなってしまうんだろうけど。もう少し機能を体系化する必要があると思っている。

【arduino農業】ビニールハウスの温度をクラウドで管理する
Arduino ESP8266で温度・湿度を測定し、Ambientに送ってグラフ化する
Interfaceなんかも特集しているが、人気があるのか?売り切れのサイトが多い。

IT農耕実験
これ、さっさとこの環境で基本部分を作らないと、あっという間に次の世代が出てきそうな気がしてきた。(^^;
ソースコードの互換性はあるかも知れないけど。

まずはメモだけ書いておいて、内容をもう少し充実したいところです。

あと最近分かったのは、不揮発メモリを使う事なのだけど。これも検索すると結構出てくる。
ある程度使いこなせる様になったら、公開したいと思います。

↓これってセルフパック(自分で買ってもOKらしい)

raspi/error対応

1.pipでerrorが出た
1.1 error ImportError
“Traceback (most recent call last):
File “/usr/bin/pip”, line 9, in <module>
from pip import main
ImportError: cannot import name main”
結局:pipの指示に従ってupdateしてはいけなかった模様。
元に戻して、
sudo python3 m pip uninstall pip && sudo apt install python3pip reinstall
この辺の問題が対応されるまで待つのが得策の模様
参考:ここ 
KOKENSHAの技術ブログ 
Python pip3 – pip upgradeした後 「cannot import name ‘main’ 」error

感想:こういう問題の対応って鮮度が大切で、そのうち直ってしまう問題だよなぁ・・・
   昔からこういう事に振り回されてきた気がする。でも、自分でやるよりは早いよなぁ・・・。
試行1:上手くいかず
対応: suにして /usr/bin/pipを書き換え
leafpad pip     (GUIの場合はleafpadを使った)

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

参考:Qiita,  他の方法 これも参考になった
これ、そもそも/usr/bin/pipはpip2と同じ動作なので、この辺が上手くいかない原因らしい

pip3 listとかすると上手くいく 結局、現時点でupdateしてはいけなかったらしい・・・

 

 

raspi/ライブラリ

raspbianの入れ方とかは別のサイトで簡単に分かるとして、色々と入れてみた。
となると、通常使う言語はPythonが便利か。
最近はAIの影響もあってか?TIOB50のランキングは2019年3月は3位になっている。
TIOB50
Pythonの場合、最近の言語の特徴かも知れないけど、ライブラリが充実している。
まずは必要そうなライブラリを追加してみる。
scipy, numpy, matplotlibとか
1.導入
pip install ~~ で入るのは PCと一緒ですね。 これ、PCに入れていた色々なライブラリ殆ど入りそうです。

2.ライブラリの確認
pip freeze とか pip list
 pipに行かない時、 python -m pip -V とか・・・

3.updateの確認 と update
確認:pip list -o
update : pip install –upgrade (はたは -U) <lib name>
一括だとpip-reviewだが、入っていない場合はpip install pip-review
      pip-review –auto

4.おまけ
OpenCV
何と、raspberrypiにOpenCVも入れられる?
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
    ・・・これだと、Python2.7の方に行ってしまうけど3.5にするには調査中
Windowsでもpipで入れられる様になったらしい。

>pip install opencv-python
>pip install opencv-contrib-python
2年くらい前だと、nmakeでOpenCV3系を入れた記憶があるが、随分便利になった気がする。
動作確認
>import cv2
>img=cv2.imread(‘Lenna.png’)
>cv2.imshow(‘img’, img)
>cv2.waitKey(0)  #もしくは10とか  windowsのpythonだとwaitKeyを入れないと画像が出ないらしい。
#cv2.destroyAllWindows() #windowの削除
更に、ラズパイの場合、一行毎の実行だと画像が表示されない。Editorでコードを起こして実行すると表示されるみたいです。 (Windowsだとcv2.waitKeyで表示されるのに・・・更に面倒かも。macやLinuxなら良いのかなぁ・・・。)

参考
updateとか Qiitaの文書
OpenCV/raspi Qiita / Raspberry Pi B+にOpenCV-Python環境を構築する

はじめに

私の住む茨城は、全国の中でも有数の農業・畜産県である。
これと趣味のプログラミングを結び付けた。
現在手持ちにあるのは、arduino UNO , ESP32, raspberrypi3 B+。
現在は、raspberrypiをいろいろといじっている。
性能が昔の”マイコン”の比ではない。(^^; これ凄い。
と言うわけで、備忘録を起こしてみる。