Raspberry Pi
Raspberryは、英国ラズベリーパイ財団が提供するラズベリーパイシリーズのモデルです。
Linuxが動作する安価なデスクトップPC並み性能と汎用入出力(GPIO)端子を備えた、手のひらサイズのボードに凝縮し、非常にコストパフォーマンスにも優れています。
趣味、教育はもちろん、業務用IoTシステムのプラットフォームとしても適用が可能です。
ここでは、モータ制御、ライトのON/OFF、センサー、読み上げなどの基本機能を試して見ます。
Raspberry Pi の主な仕様
| 比較項目 | 
Raspberry Pi 
    2B | 
Raspberry Pi 
    3B | 
Raspberry Pi 
    3B+ | 
Raspberry Pi 
    4B | 
Raspberry Pi 
    Zero W | 
Raspberry Pi 
    Zero WH | 
Raspberry Pi 
    Zero 2W | 
| CPU | 
900Mhz 
    クアッドコア | 
1.2Ghz 
    クアッドコア | 
1.4Ghz 
    クアッドコア | 
1.5Ghz 
    クアッドコア | 
1Ghz 
    シングルコア | 
1Ghz 
    シングルコア | 
1Ghz 
    クアッドコア | 
| メモリー | 
1GB | 
1GB | 
1GB | 
1~8GB | 
512GB | 
512GB | 
512GB | 
| USB2 | 
4 | 
4 | 
4 | 
- | 
1、MicroUSB | 
1、MicroUSB | 
1、MicroUSB | 
| USB3 | 
なし | 
なし | 
なし | 
2 | 
なし | 
なし | 
なし | 
| 有線LAN | 
あり | 
あり | 
あり | 
あり | 
なし | 
なし | 
なし | 
| 無線LAN | 
なし | 
あり | 
あり | 
あり | 
あり | 
あり | 
あり | 
| Bluetooth | 
なし | 
あり | 
あり | 
あり | 
あり | 
あり | 
あり | 
    | 映像入力 | 
    専用接続あり | 
    専用接続あり | 
    専用接続あり | 
    専用接続あり | 
    専用接続あり | 
    専用接続あり | 
    専用接続あり | 
  
| 映像出力 | 
HDMI | 
HDMI | 
HDMI | 
HDMI | 
MicroHDMI | 
MicroHDMI | 
MicroHDMI | 
| 音声出力 | 
3.5mmジャック、 
    HDMI | 
3.5mmジャック、 
    HDMI | 
3.5mmジャック、 
    HDMI | 
3.5mmジャック、 
    HDMI | 
MicroHDMI | 
MicroHDMI | 
MicroHDMI | 
| 電源ソース | 
MicroUSB、 
    GPIO | 
MicroUSB、 
    GPIO | 
MicroUSB、 
    GPIO | 
Type-C、 
    GPIO | 
MicroUSB、 
    GPIO | 
MicroUSB、 
    GPIO | 
MicroUSB、 
    GPIO | 
| 消費電力 | 
1.75w | 
2.0w | 
5.7w | 
5.7w~ | 
0.8w | 
0.8w | 
0.8w~ | 
| 質量 | 
45g | 
45g | 
45g | 
45g | 
9g | 
9g | 
9g | 
| 大きさ | 
85.6~56.5mm | 
85.6~56.5mm | 
85~56mm | 
85~56mm | 
65~30mm | 
65~30mm | 
65~30mm | 
共通事項 
  - 低レベル周辺機器接続:GPIO40ピン 
 - ストレージ:マイクロSDカード 
  
 - 映像入力:専用カメラインターフェース (MIPI CSI-2) あり
 - OS:Debian, Fedora, Arch Linux, RISC OS Ubuntu, (Windows 10 IoT Core(Raspberry
  Pi Zeroは含まず))
 
Raspberry Pi Bシリーズ

 
Raspberry Pi Zeroシリーズ

 
OS(Raspbian)の設定
ラズパイにOSをインストールツール「Raspberry Pi Imager」を使います。ツールはラズベリーパイ財団のWebサイトからダウンロードできます。
    Windows版とMac版、Ubuntu版が用意されています。
    
      - ダウンロードした実行ファイルをダブルクリックするとインストーラーが起動します。
      
 - インストールが終了したらRaspberry Pi Imagerを実行します。初期画面よりOSを選択し、
      書き込むためmicroSDメモリカードを指定したら「WRITE」を選択します。  - 書き込み完了したmicroSDメモリカードをラズパイに入れて、ラズパイを起動します。
      
 - 初期設定要求に従い国、言語、タイムゾーンの設定をします。
      
 - ユーザー「Pi」のパスワードを設定します。
      
 - スクリーンの設定、接続するWiFiのSSID、パスワードを設定します。
      
 - ソフトウエアのアップデートをします。
    
 
Raspbian GNU/Linux 11 (bullseye)のインストールが完了します。
画面左上のRaspberry Piのロゴをクリックすると、メニューが表示されるので、「ログアウト」をクリックすると、
    ダイアログボックスが表示されるので、「Reboot」「shatdown」の選択が出来ます。
リモート操作用(VNC-Viewer)の設定
    VNCを使って、PC (パソコン) からRaspberry Pi(ラズパイ)にリモート接続するとディスプレイ、キーボード、マウスなしで
    Raspberry Piを操作することができて運用の幅が広がって便利になります。
VNCサーバーの設定 (Raspberry Pi)
      - スタートメニューから、「設定 - Raspberry Piの設定」をクリックすると設定ツールが起動します。
      
 - 上部タブから「インターフェイス」を選択し、VNCの項目を「有効」にチェックして、「OK」をクリックします。
      
 - デスクトップ右上にVNCサーバーのアイコンが出るので、クリックするとRaspberry PiのIPアドレスが表示されます。
      これがVNC Viewerから接続する際のIPアドレスになります。  
Raspberry PiのIPアドレスを固定する
    通常、IPアドレスは自動的に割り振られていますが(DHCP機能)、たまにIPが変わってしまって接続できなくなることがありますので、
    IPアドレスを固定の設定をします。
    
      - ディスクトップ右上のwifiマークを右クリックして「Wireless & Wired Network Settings」を選択します。      
      
 - 設定画面が表示されるので、interfaceの右の選択ボックスをクリックして、インターフェースを選択します。
      有線LANの場合は「eth0」、無線LANの場合は「wlan0」を選択します。  - 「Automatically configure empty options」のチェックを外し、IPv4 Address、Router、DNS Serversを設定し「Apply」、「Close」ボタンを押します。      
      
 - IPアドレスの変更を反映させるため、デスクトップ右上のネットワークアイコンをクリックし、「Turn OFF Wi-Fi」で一度無効化します。      
      
 - その後、再度ネットワークアイコンから「Turn On Wi-Fi」で接続し直します。有線の場合は有線接続をOFF/ONして下さい。    
    
 
    VNC Viewerのインストール (Windows)
    接続元のPC(パソコン)にVNC Viewer(クライアント)ソフトをインストールします。今回はReal VNCのソフトを使用します。
    
      - ダウンロードページからWindows用の「EXE x86/x64」を選択し、「Download VNC Viewer」をクリックします。
      
 - インストーラーの指示によりインストールします。
      
 - 初回起動時に、使用統計データを送りたくない場合は「Send anonymous usage data 〜」のチェックを外して「GOT IT」をクリックして画面を閉じます。
      
 - メニューの「File -> New connection」をクリックすると詳細設定画面が表示されます。
      VNC ServerにRaspberry PiのIPアドレスを、Nameに表示名を入力します。  - メイン画面にRaspberry Piが接続先として登録されました。接続を開始する時はアイコンをダブルクリックします。 
 - Raspberry Piのユーザー名とパスワードを入力します。ユーザー名のデフォルトは「pi」になっています。
    
 
Webブラウザからの遠隔制御(Webiopi)の設定
    WebIOPiとはwebサーバの機能により、ブラウザからGPIOの操作や、Raspberry Pi内のPythonプログラムを実行できるようになります。
    WebIOPiのインストール
    ラズパイにログインし、適当なところで作業します。今回は~/work配下で作業を行っています。
    WebIOPi をダウンロードします。(最新バージョンは 0.7.1 なので、WebIOPi-0.7.1.tar.gz をダウンロードします。)
    $ wget https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz
    ダウンロードしたファイルを解凍し、ディレクトリ移動します。
    $ tar xvzf WebIOPi-0.7.1.tar.gz
    $ cd WebIOPi-0.7.1
    ブラウザで表示するGPIOの表示を修正するパッチを適用します。
    $ wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi-pi2bplus.patch
    $ patch -p1 -i webiopi-pi2bplus.patch
    セットアップスクリプトを実行します。
    $ sudo ./setup.sh
    セットアップ画面が「Do you want to access WebIOPi over Internet ? [y/n]」で止まったら、「n」を入力し、エンターキーを押します。
    (「y」を入力し、エンターキーを押すと、「Weaved IoT Kit」がインストールされます。)
    WebIOPiサービスをsystemctlで操作できるようにするため設定ファイルをダウンロードします。
    $ cd /etc/systemd/system/
    $ sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi.service
    WebIOPi サービスのStart、Stop、Status、resatart
    startでサービスを起動できます。
    $ sudo systemctl start webiopi
    stopでサービスを停止できます。
    $ sudo systemctl stop webiopi
    webサーバが起動しない場合はstatusで状況を確認できます。
    $ sudo systemctl statu webiopi
    restartでサービスの停止と起動をまとめて実行できます。
    $ sudo systemctl restart webiopi
動作確認
ブラウザからWebIOPiにアクセスしてみます。
    ブラウザからhttp://「Raspberry PiのIPアドレス」:8000にアクセスします。 
    認証ダイアログが表示されるので、
    ユーザー名:webiopi、パスワード:raspberryでログインすることができます。 
    ログイン後は、WebIOPI Main Menuが表示されます。
    「GPIO Header」を選択すると、GPIOピンの状態(OUT/IN)を確認・変更できる画面が表示されます。 
該当ピンのINをクリックすると、テスターで電圧の変化が確認できます。