P グリップ式雲台(Camera Platform)
by fjk
MyArmorのどこにでも挟める360度回転雲台(\800)を入手した。この雲台は幅70mmまでのポールや板にグリップすることで固定され、雲台に取り付けたカメラを自由な位置に固定することが出来る。また、テーブルの上にそのまま置くことでマクロ撮影用のスタンドにもなる優れものである。
高齢者には苦手な電子部品の印字を読むために、リングガイドライト(LG-1)を付けたTG-5をこの雲台に取り付け、マクロ撮影モードを使って拡大し、はっきりと読むことが出来た。しかし、ICの印字文字はライトを付けるとコントラストが無くなるので、ライトは使わない方よさそうである。
|
|
|
クリップ式雲台 |
雲台を使用し IC回路の拡大画像を見る |
マクロ撮影例 |
R ラズベリーパイ(21) 〜WebIOPiによるGPIO制御(1)〜
by fjk
WebIOPiとはブラウザからRaspberryPi用のGPIOを操作できるようにするIOTフレームワークで、既に開発が終わっておりPi3Bで使うにはパッチを当てる必要があります。
- 1.インストール
- @WebIOPiをダウンロード(参考サイト)
- $ wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
- Aファイルを解凍
- $ tar xvzf WebIOPi-0.7.1.tar.gz
- BWebIOPiのディレクトリ(WebIOPi-0.7.1)に移動
- $ cd WebIOPi-0.7.1
- C修正プログラム(WebIOPi-0.7.1 Patch for Raspberry B+ and Pi 2)をダウンロード
- $ wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
- Dパッチを実行
- $ patch -p1 -i webiopi-pi2bplus.patch
- Eセットアップを実行
- $ sudo ./setup.sh
- 途中で「Do you want to access WebIOPi over Internet?」[Y/N]と聞かれるが、後からも変更可能なので、ここでは「N」と入力してEnter
- 2.ホームディレクトリの作成
- /home/piでWebIOPi用にドキュメントルートを作成
- $ mkdir webiopi
- 3./usr/share/webiopi/htdocs 内のサンプルプログラムの全ファイルをwebiopiフォルダ以下にコピー
- $ cp -r /usr/share/webiopi/htdocs/* webiopi/
- 4./etc/webiopi/configファイルでドキュメントルートの位置をwebiopiフォルダに設定
- $ sudo leafpad /etc/webiopi/config
- 42行目のdoc-root行の次に、以下の行を挿入(元のdoc-root行は残しておく)
- doc-root = /home/pi/webiopi
- 5.再起動後webiopiの起動
- $ sudo reboo
- $ sudo systemctl start webiopi
- 6.webブラウザからの動作を確認
- http://192.168.1.39:8000
- (アドレスが192.168.1.39の場合)
- ユーザー名:webiopi
- パスワード:raspberry
- を入力(パスワードはwebiopi用のもの)
- 7.webiopiの動作停止
- $ sudo systemctl stop webiopi
- 8,webiopiの動作確認
- $ sudo systemctl status webiopi
- 9.webiopiの停止と再起動を行うには
- $ sudo systemctl restart webiopi
- 10.GPIOピンの制御(動作テストも兼ねて)
- 起動画面のGPIOHeaderまたはGPIOListをクリックすると、ヘッダー画面が表示され、ピンの色(橙、黒)は現在の値(high、low)を示している。
- INボタンをクリックするとOUT(出力モード)に変更できる。さらに、ピンボタンを押すと出力を変えることが出来る。
- 11.スマホからwifi接続し同じように制御
- http://192.168.123.1:8000 (ipが192.168.123.1の場合)
|
|
WebIOPiの起動画面 |
GPIO Header画面 |
|
|
スマホのweb画面からLED制御 |
LEDが点灯(消灯) |
- 12.WebIOPiの使い方(1)・・・(webiopiのチュートリアル等を参考に)
- WebIOPiを使う方法には以下の2つの方法がある。
- @WebIOPiで直接実行。・・・・・HTML上でJavascriptのみで実行
- APythonのマクロ経由で実行。・・HTML上でJavascriptとラズパイ上のPythonのマクロで実行
- まず、@の直接実行でWebIOPiを使ってみる。この方法ではラズベリーパイでサーバーとしてWebIOPiを起動し、クライアントのwebページ上でGPIOを制御する。ただし、事前にラズパイの動作環境をconfigファイルで指定しておく。
- (1) configファイルの編集(赤字部追加)
- $ sudo leafpad /etc/webiopi/config
- @ポート番号を8030に変える(任意)
- AHTMLファイルの場所を指定
- BHTMLファイル名を指定
[HTTP]
# HTTP Server configuration
enabled = true
port = 8030
・・・
#doc-root = /home/pi/webiopi/・・・
doc-root = /home/pi/webiopi
・・・
#welcom-file = index.html
welcom-file = webiopi.html
・・・
|
- (2) WebIOPiの起動
- $ sudo /etc/init.d/webiopi start
- (3) webページからアクセス
- http://<IPアドレス>:8030
<webiopi.html>・・/home/pi/webiopi/に格納 |
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8">
<title>WebIOPi Test</title>
<!-- WebIOPiのJavascriptの使用宣言 -->
<script type="text/javascript" src="/webiopi.js"></script>
<!-- ボタンの生成、機能の設定と名称設定 -->
<script type="text/javascript">
IOPI = webiopi();
IOPI.ready(function(){
IOPI.setFunction(2, "OUT");
var LedBtn = IOPI.createGPIOButton(2, "LED");
$("#Ledbtn").append(LedBtn);
<!-- jQuerryでボタンを関連づける -->
});
</script>
<!-- スタイルシート定義 ボタンの形状指定 -->
<style type="text/css">
button{
font-size:2em;
width:150px;
height:70px;
margin-left:120px;
float:left;
}
</style>
</head>
<!-- ページの生成 -->
<body> <br>
<p style="text-align:left; margin-left:100px;">
<font size=6>[WebIOPi Test]</font><br></p>
<p style="align:center">
<div id="Ledbtn"></div>
</p>
</body>
</html>
|
|
|
WebIOPiで制御中のWEB画面 |
|
※Javascript関数の例
- ・webiopiのオブジェクトを返す
- IOPI = webiopi()
- ・初期化関数。function()関数内で環境を作成
- IOPI.ready(fumction(){・・})
- ・GPIOの機能を指定する
- IOPI.setfunction(gpio,func[,callback])
- ・GPIOに対応するボタンを生成する
- IOPI.createGPIOButton(gpio,label)
- gpioはピン番号
- funcはIN、OUT、PWMのいずれか
- callback関数はGPIO処理後に実施する関数