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をいろいろといじっている。
性能が昔の”マイコン”の比ではない。(^^; これ凄い。
と言うわけで、備忘録を起こしてみる。