Vol.745 11.May.2018

ACアダプタのプラグ形状が合わない PHP(2)〜フォーム入力 ラズパイ(9)〜pythonプログラム入門 RaspberryPi-Zero-WH(番外)

A ACアダプタのプラグ形状が合わない

by fjk

しばらく使っていなかったデジタルチューナー(D-TR1)を使おうと箱から出したところ、ACアダプタが無いことに気づいた。「ACアダプタは電圧と電流が合えば・・」と思って、センターピンタイプのプラグを探してみたが、電気店などで販売されているACアダプタには、合うものが無い。
 そこで、合うプラグが無いかネットので調べてみると、ACアダプタのプラグ形状には数十種類あることが判った。どれが合うかよく判らないので、アマゾンで38種類のプラグセット(aceyoon、1,298円)を入手したところ、その中にプラグが一致するものがあった。
 12V/3Aのアダプタ(MKS-1203000C8、Merryking製、1,850円)を接続し、電源を入れると、正常に動作させることが出来た。しかし、古い製品で純正のACアダプタが入手できない場合は仕方が無いが、メーカーの純正品は、過電流保護や、ノイズ対策などが施されているので、出来れば純正品のACアダプタを使うのがベターとされている。
多種のACアダプタ用変換プラグ 一致するプラグがありました


P PHPプログラミング(2) 〜フォーム入力〜

by fjk

webサーバーとwebブラウザでデータなどをやりとりするには、フォームを使ってリクエストとレスポンスで行う。ファイルはデータ送信用フォームHTMLまたはPHPファイル(リクエスト)と応答用PHPファイル(レスポンス)が必要。
 リクエスト用のHTMLファイルでは、formタグを用い、methodにはデータの送信方法(getまたはpost)、actionには応答するファイル名を記述する。GETとPOSTの違いは、

入力の種類はinputタグのtypeで指定でき、nameで指定した名前でphpがデータを受け取ることができる。typeには以下の種類が使える。

送信されたデータは、postメソッドでは$_POST、getメソッドでは$_GET、どちらの送信メソッドでも$_REQUESTという連想配列に値が格納され、例えばPOSTメソッド送信され、nameで指定した名前がdataの場合 $_POST["data"] で取得できる。

@<送信用フォーム> testform.html(zip)

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<title>testform</title>
</head>
<body>
<form action="regist.php" method="post">
  名前:<br>
  <input type="text" name="name" size="30" value="" ><br>
  メールアドレス:<br>
  <input type="text" name="mail" size="30" value="" ><br>
  コメント:<br>
  <textarea name="comment" cols="30" rows="5"></textarea><br>
  <br>
  <input type="submit" value="登録する" >
</form>
</body>
</html>
A<受信応答> regist.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<title>regist</title>
</head>
<body>
<table border="1">
  <tr><td>名前</td><td><?php echo htmlspecialchars($_POST["name"], ENT_QUOTES) ?></td>
  </tr>
  <tr><td>メールアドレス</td><td><?php echo htmlspecialchars($_POST["mail"], ENT_QUOTES) ?></td>
  </tr>
  <tr><td>コメント</td><td><?php echo nl2br(htmlspecialchars($_POST["comment"], ENT_QUOTES)) ?></td>
  </tr>
</table>
</body>
</html>
入力フォーム画面例 入力応答画面例



R ラズベリーパイ(9) 〜pythonプログラム入門〜

by fjk

ラズパイで使える標準言語は、c(gcc)やc++(g++)、perl、Pythonなどが使える。特にpythonはラズパイのGPIOを直接制御することもでき、またAIにも対応しているなど、ラズパイでは最もよく使われているようです。さらに、Python用の統合開発環境であるIDLEはウィンド型のテキストエディタで、対話形式でpythonのプログラムの開発や実行が行える。

  • windows用pythonはダウンロードページで入手。
  • windowsで、IDLEの起動は、”すべてのプログラム/Python3.6/IDLE”から。
  • IDLEで作成したプログラムは「f・5」でも実行できる。
  • pythonの実行はIDLEまたはコマンドプロンプト内で実行。


    pythonのダウンロードHP

<IDLEの場合>(windowsの例)

<IDLEの場合> (ラズパイの例)


<コマンドラインの場合>(ラズパイの例)

    $ nano hellow.py・・・hellw.pyの作成
    $ python hellow.py・・・hellow.pyの実行
      Hellow RaspberryPi!
     
     
    $ chmod +x hellow.py・・・hellow.pyに実行権限付与
    $ ./hellow.py・・・ファイル名のみで実行

    hellow.pyプログラム例(ラズパイ用)
    #! /usr/bin/env  /usr/bin/python
    #  -*- coding: utf-8 -*-
      print("Hellow RaspberryPi!")

<python文法アレコレ>【抜粋】
・変数は型(整数方、数値型、文字型、ボール型)を宣言しなくとも使用できる。
・文字型データと数値型データを「+」で文字列として結合する場合、数値をstr関数で変換が必要。

※特殊なリテラル(生の値)
False: 空の値(数値は0、文字列は””)
None: 値そのものが存在しない(例えば、読み込まれていないデータ)
True(真)/False(偽): bool型変数での2つのリテラル

<プログラムで一般的によく使われる識別子(変数名など)の命名規則>
@キャメル記法: 先頭単語の頭文字は小文字、それ以降の単語の頭文字は大文字(例:usrName)
Aパスカル記法: 全ての単語の頭文字は大文字(例:UsrName)
Bアンダースコア(バー)記法: 単語同士をアンダーバーで連結。1文字目のアンダーバーは特別な意味となる場合があるので使わない(例:usr_name)



R RaspberryPi-Zero-WH(番外)

by fjk

小型のラズベリーパイであるRaspberryPi_Zero-WH(WiFi、ピンヘッダー付き。ケース付き\2,680)を入手したので、使ってみた。主な仕様は、
・CPU、メモリ: ARM1176JZ-F(ARMv6)、512MB DDR2 SDRAM
・SoC、USBポート: Broadcom BCM2835、USB2.0(microB、OTG接続)×1
・映像出力: miniHDMI、DualCore VideoCore IV、250MHz
・ストレージ: microSDメモリーカードスロット(SDIO対応)
・低レベル周辺機器:27×GPIO、UART、I2C、SPI、+3.3 V、+5 V、GND
・カメラコネクタ: Raspberry Pi Zero用カメラケーブルコネクタ(Pi3より小さい)
・電源ソース: 5 V / USB Micro-Bコネクタ または GPIOコネクタ
・無線通信機能: 802.11 b/g/n wireless LAN、Bluetooth 4.1、Bluetooth Low Energy (BLE)

<準備と周辺機器接続>
付属のケースにラズパイZeroを取り付けて、miniHDMI、USBマウス・キーボード(USBハブ利用)、電源ケーブルを接続。ところが、miniHDMIケーブルの一部がケースにぶつかり、接触不良となり画面が表示されない。そこで、ケースのHDMIコネクタ部分をカッターで切取り、ケーブルを奥まで押し込むと、HDMIモニタに表示ができた。EW-RW010(abc741で紹介)は問題なく動作(USB変換アダプタ利用)したが、一部のUSBハブではマウスのみ認識されキーボードは認識されなかった。また、REUDOのRBK-3000BTキーボードもBluetooth接続で正常にペアリングが出来た。
<初期設定とテスト>
1.OSをインストール: 2017-11-29-raspbian-stretch.imgファイルをSDにWin32DiskImagerで書き込む。できあがったSDに空のSSHファイルを作成する(SSHが自動起動に設定される)。SDカードをラズパイに差し込み、電源を入れるとシステムが構築された。
2.環境設定: ”ローカライゼイション”を設定(abc740参照)。wlanは画面上部のアイコンに利用できるアクセスポイントが表示されるので、接続すると、wlan0が使えるようになった。
3.SSH、VNC: 同じネットに繋がったパソコンからのSSH、VNCは問題なく接続できた。

カットしたケースに固定したラズパイZero SSH(上)、VNCでパソコンからリモート中

ACアダプタのプラグ形状が合わない PHP(2)〜フォーム入力 ラズパイ(9)〜pythonプログラム入門 RaspberryPi-Zero-WH(番外)