ラズパイでやりたいことに、体重計の自作や、測った重さによって何か処理を行う、ということをやりたいので、それの参考になりそうな(ロードセルの取り扱い方が載っていた)本を購入しました。
ぱっと見では、なかなかマニアックなページ構成で、私的には将来的に役に立ちそう(本として)と感じで、読み始めたのですが・・・・
いきなり初っ端のエルチカ(LEDを光らす)のプログラムに
なんじゃそりゃ? の記述が含まれています。
なぜか、冒頭の
import sys
には、青色の説明文が無いんですよね。
で、途中で引数から取得という説明行にその sys関数があるのですが、
これがサイト公式の和訳ページを見ても、
sys.argv[1]
の説明が無いんです・・・。
sys.argv[0]が文字列うんたらと書いてあるので、sys.argv[1]は数値としての扱いなのか、それとも引数を一つ取得するのか、sys.argv[2]だったら、配列で2つの引数を取得できるのか・・・。
(って、本のページをめくったら、そのsys.argv[2]と[3]の記述がありまして、この数字は2番目や3番目の数値を引数にするという意味ですね)
その手前のfloat関数も、なぜこれを使う必要があるのかが、いまいちピンときません。
こちらも和訳サイトを見た感じでは、10の何乗とかの0が多いとEと表示されるやつとかを、小数点ありの数値に変換する関数なのですが、文字列を数値として扱うためなのかな・・・なんか違う関数があった気がするけど、intは整数だからか。
そして、次のページにも??な説明が
なんですか、pigpiod って。pigpio でないの?
デーモンってなんじゃい!!
とこちらも、グーグル先生で調べたら、どうもpigpioというGPIOを制御するライブラリーは、前もってこのデーモンというプログラムを起動する必要があるみたい。
ちなみに、私が使用してきたGPIOのライブラリーは、RPi.GPIOというもので、前回の記事で、GPIOのライブラリーが何種類もあって、どれを選べばいいのかよくわからないと言っていたのに、いきなり躓いています^^;
ま~こうやって、自分で調べながら電子工作するのが楽しいのですが、青色の説明文が肝心なところにないのが、なんか釈然としない本ですね。
「← PWM出力するピンはGPIO12」
プログラム初心者でも、なんとなく説明が無くても理解できそうな部分には説明があって、冒頭の良く分からない関数の呼び出しには説明が無いというのが、なんでやねん。
もしかして、著者もそこまで詳しくないのでは勘ぐってしまいます。この手のプログラムって、こうやって記述すれば、こうゆう結果になる、こうやって記述するルール、みたいなもので、説明が難しいのもありますからね~。
というか、逆なのかな。sys とか float とか知っていて当然でしょ!という考えなのかな。
ま~この本は、電子工作の本であって、Pythonの本ではないので、そこを指摘してもしょうがないですが。
とまあ、ベッドでこの2ページを読んでいたら、速攻で寝落ちして、深夜3時に目を覚まして、グーグルで調べて、こうやってブログを書いています^^;
来年1月に名古屋で会議があるので、その帰りにでっかい本屋さんにいって、Pythonのぶっとい参考書でも探してみるかな。どうにもアマゾンで検索しても、「ラズパイ向きだけど、やたらと初心者向きで説明不足っぽい」のと、「専門書だけど、ラズパイ向きではなさそう」という、両極端な感じなので、現物を見ないと買うのが難しいかなと。
コメント