ラベル wxpython の投稿を表示しています。 すべての投稿を表示
ラベル wxpython の投稿を表示しています。 すべての投稿を表示

2014年5月18日日曜日

Raspberry pi で Hydroponic に挑戦 (9) ポンプコントロール

今日は 午前中 水耕栽培の培養液を循環させるポンプをコントロールするタイマー機能をプログラムに追加。
Python time module の 詳細は 15.3. time — Time access and conversions を参照。


ママチャックの希望で 昼と夜、二種類ポンプの間欠頻度を設定できるようにした。

Linux上のwxPythonのCombo Box では フォントサイズが変えられないバグが有る。本当はもっと大きなフォントにしたいのだが・・・・・・
ポンプコントロールのハードウェアはリレーなどの 部品を中国に発注済。後日部品入手後、組み込むことにする。

午後は床下に潜り込んで Cat5 ケーブルをデッキ下まで引き回す。

2014年5月11日日曜日

Raspberry pi で Hydroponic に挑戦 (7) wxpython で GUIプログラミング

今週末は wxpython を利用して、Python のGUI プログラミングに初挑戦。
ママチャックでも簡単に使えるようにするにはやはりGUI にするしかないからね。
まずは Raspberry pi に wxpython をインストール。
Raspberian のターミナルから sudo apt-get update してから sudo apt-get install python-wxgtk2.8 とタイプする。途中インストール続行を訪ねてくるので Y と入力。

今まではVisual Basic でしか GUIプログラミングの経験がなかったのでずいぶん勝手が違う。
wxpython の基本情報は python-izm を参考にする。
プログラミング上必要になるRGBカラーコードは The Other RGB Color Chart を参照。
Visual Basic では コントロールオブジェクト配列は簡単に作成できて 配列インデックスで簡単に参照できたのだが wxpython ではそう簡単ではない。 複数の Widgets を一つのハンドラーで扱う方法は wxPython: Binding Multiple Widgets to the Same Handler を参考にする。
Event driven プログラミングで自動計測制御するには絶対必要になるタイマーコントロールも Visual Basic では タイマーコントロールアイコンをフォーム上に配置すればすむ。wxpython では 同じような wx.Timers というWidget があるのだが、どうもこのタイマーは Class の中でしか使用できないらしい。wxPython: Using wx.Timers を参考にする。
Python でのDate とTime の扱いは Python Date & Time を参考
MassageDialog 表示後の処理は Getting started with wxPython を参考にする。

まる2日かけて何とかpHと温度の測定、pHのキャリブレーションができるようになった!


Android タブレット Asus MeMO Pad HD7 にも VNC viewer をインストールし、
タブレットからも Raspberry pi 上の GUIプログラムにアクセスできるようにした。