作業中や移動中にテレビ視聴(音声)するため、XDV-G200(SONY)を使っていたが、付属のアンテナケーブル(5,000円程度らしい)が断線し、イヤホンで音声が聞けなくなった。本体は画面とスピーカーで正常に視聴できるので、どうも音声ケーブルの断線らしい。ケーブル内部の細い音声配線を修理するのは難しそうなので、新たに安価なポケットワンセグ・ラジオを購入した。
しかし、この機種はロッドアンテナが外に飛び出す構造だったので、アンテナを伸ばさず導線をアンテナに巻き付けて使っていたが、やはり接触が悪く時々放送が途絶えることがある。
そこで、本体にアンテナを内蔵しているポケットワンセグ・ラジオがないか探したところ、以下の2機種が見つかった(どちらもテレビ画面の表示は無い)。近所の電気屋で@のみ実機があったので、1万円チョットで購入した。
受信感度が気になったが、テレビ・ラジオとも全く問題なかった。ただ、今までは充電式だったが,この(両)機種は電池のみである。そこで、繰り返し使えるニッケル水素充電池(1.2V×2本)を使えないか、RF-ND50TV-Tでテストしてみたところ、問題なく動作した。
さらに、なるべく長時間使いたいので、パナソニックの充電池を調べてみると、以下のものがある。
また、充電器としては、やはり急速充電器が便利で、単4充電池1本なら満充電まで1時間未満で、継ぎ足し充電も可能で、電池1本ごとの診断や充電状況も表示してくれるので、新しい機種(例えばBQ-CC85)を選ぶべきである(USB出力も併せて持つBQ-CC57も魅力ですが・・)。
そこで、電池とエネループ充電池がセットになったK-KJ85MCC04(\3,000)を購入した。
RF-ND50TV-T | 充電池の種類(手軽, STD、STD、High) | 充電器(BQ-CC85) |
前回はWebIOPiに内蔵するjavaスクリプトのみで実行したが、今回はLEDの点灯制御をjavaスクリプトとpythonスクリプトを使用する。
ブラウザーとラズベリーパイとの関係は、
<ブラウザー> | <ラズベリーパイ(WebIoPI)> | ||
http://webiopi-ip:8000 Javaマクロを実行 [callback関数を実行] |
| |−−web要求−−−> | |<−−HTML送信−− | |−−実行指示−−−> | |<−−終了通知−−− | |
| | | | | | | | |
初期化、WebIOPIを起動しweb要求を待つ index.html+script.jsを送る pythonスクリプトを実行(GPIO制御など) |
<webiopi2.html> (Javascriptを含む)
<html> <head> <meta http-equiv="Content-Type"content="text/htmlcharset=UTF-8"> <title>WebIOPi Test2</title> <!-- WebIOPiのJavascriptの使用宣言 --> <script type="text/javascript" src="/webiopi.js"></script> <!-- ボタンの生成、機能の設定と名称設定 --> <script type="text/javascript"> IOPI = webiopi() IOPI.ready(function(){ var LedBtn = IOPI.createButton("Led", "Led2", function(){IOPI.callMacro("LedOn")}, function(){IOPI.callMacro("LedOff")} ) $("#lLedbtn").append(LedBtn) }) </script> <!-- スタイルシート定義 ボタンの形状指定 --> <style type="text/css"> button{ font-size:2em width:150px height:70px } </style> </head> <!-- ページの生成 --> <body> <br> <p style="text-align:center"> <font size=6>[WebIOPi with Python]</font><br></p> <p><div id="Ledbtn" align="center"></div></p> </body> </html> |
<webiopi2.py>(webiopi2.zipファイルに含む)
import webiopi # webiopi.setDebug() GPIO = webiopi.GPIO Led = 23 #GPIOの割付 #初期化関数 GPIOを出力モードに設定 def setup(): GPIO.setFunction(Led, GPIO.OUT) #マクロ関数 GPIOをOnまたはOff @webiopi.macro def LedOn(): GPIO.digitalWrite(Led, GPIO.HIGH) @webiopi.macro def LedOff(): GPIO.digitalWrite(Led, GPIO.LOW) #終了関数 すべてOff def destory(): GPIO.digitalWrite(Led, GPIO.LOW) |
/etc/webiopi/configファイルに以下の追加と変更
[SCRIPT] myscript = home/pi/webiopi/webiopi2.py [HTTP] welcom-file = webiopi2.html |
WebIOPiで制御中のWEB画面 | ボタンを押している時のみLEDが点灯 (抵抗入りLEDを利用) |
※ WebIOPiのデバッグ
webiopiを使ったプログラムがうまく動かないときは、デバッグ機能が使える。
● WebIOPiで使えるJavaScriptライブラリ(抜粋)例 【一部再掲】