2.Raspberry Piの設定

この節では、インターネットへデータを送信するコンピュータRaspberry Piの設定を行います。

作業時間:60分


Raspberry Piの初期設定

Raspberry Piへマウス、キーボード、モニターに接続済みのHDMIケーブル、ACアダプターを接続します。その後、ACアダプターをコンセントに接続し、Raspberry Piの電源を入れます。(コンセントに接続したら自動的に電源が入ります)

Raspberry Pi起動後、Welcomeウィンドウが表示されますので、「Next」ボタンをクリックします。

Set Countryウィンドウが表示されたら、「Country」項目の「▼」ボタンをクリックし、「Japan」を選択します。その後「Next」ボタンをクリックします。
※Set Countryでは、国の設定を行います

Change Passwordウィンドウが表示されたら、「Enter new password」と「Confirm new password」にため池監視システム重要情報エクセルファイル内に記載しているRaspberry Piのパスワードを入力し、「Next」ボタンをクリックします。
※Change Passwordではpiユーザのパスワードを変更します(piユーザはRaspberry Piのデフォルトユーザです)

Set Up Screenウィンドウが表示されたら、デスクトップ周りに黒い枠が表示されている場合チェックし、「Next」ボタンをクリックします。デスクトップ周りに黒い枠が表示されていない場合はチェックする必要はございません。
※Set Up Screenではディスプレイの設定を行います

「Select Wireless Network」ウィンドウが表示されたら、「Skip」ボタンをクリックします。※後程ネットワーク設定を行います

Update Softwareウィンドウが表示されたら、「Skip」ボタンをクリックします。※後程Raspberry Piのアップデートを行います

Setup Completeウィンドウが表示されたら、「Rerstart」ボタンをクリックし、Raspberry Piを再起動します。

Raspberry Piが再起動したら、Raspberry Piのアップデートやプログラムソフトウェアのインストールをする為、インターネットに接続します。インターネットへ接続する方法は2種類あり、有線LANケーブルを用いて接続するか、WiFiに接続します。有線LANケーブルを用いる場合は、有線LANケーブルをRaspberry PiのEthernetポートに接続します。

WiFiに接続する場合は、デスクトップ画面右上のネットワークアイコンをクリックし、接続し、接続先の無線LANルーターSSIDをクリックします。

「Pre Shared Key:」欄にパスワードを入力し、「OK(O)」ボタンをクリックします。

WiFiへの接続が完了すると、ネットワークアイコンが変更され、インターネットに接続している状態になります。


Raspberry Piの設定と各ソフトウェアのインストール

Raspberry Piの設定では、

画面左上のRaspberry Piアイコンをクリックし、「設定」メニュー、「Raspberry Piの設定」メニューをクリックします。

Raspberry Piの設定ウィンドウが表示されますので、インターフェイスタブをクリックし、「カメラ」「SSH」「I2C」をそれぞれ「有効」にし、「OK(O)」ボタンをクリックします。
それぞれの設定項目について、カメラはため池画像取得に、SSHはIoT機器設置時PCからRaspberry Piへの接続に、I2Cは回路基板との通信に使用します。

再起動が必要ですウィンドウが表示されたら、「はい(Y)」ボタンをクリックして再起動します。

再起動後、画面左上の「LXTerminal」アイコンをクリックします。

LXTerminalウィンドウが表示されますので、「sudo apt-get update -y」コマンドを入力後エンターキーを入力し、Raspberry Piのアップデートを行います。

※コマンド実行時、時間がかかるものが多数ありますので、コマンド実行中は、LXTerminalウィンドウを閉じないようにします。

同様に下記コマンドを1行ずつ入力後エンターキーを入力します。

sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y  
sudo apt-get install exfat-fuse -y  
sudo apt-get install vim -y  
sudo apt-get install mariadb-server -y  
sudo apt-get update -y  
sudo apt-get upgrade -y

update、upgrade、dist-upgradeコマンドは、Raspberry Piのアップデートを行います。

install exfat-fuseコマンドは、USBフラッシュメモリを使用する為に必要なソフトウェアをインストールコマンドになります。

install vimコマンドは、設定ファイル等を編集する為に必要なテキストエディタソフトウェアをインストールするコマンドになります。

install mariadb-serverコマンドは、データベースソフトウェアのインストールコマンドになります。


プログラムに必要なソフトウェア等のインストールと各設定

プログラムに必要なソフトウェアやパッケージ、ライブラリをインストールする為には、長いコマンドを入力する必要があります。確実かつ簡単に入力を行う為に、テキストファイルからコピー&ペーストでコマンドの入力を行います。

まず、PCからRaspberry Piにテキストファイルを移す為のUSBフラッシュメモリを準備し、フォーマットを行います。

PCにUSBフラッシュメモリを挿入後、マイコンピュータを開き、挿入したUSBフラッシュメモリをを右クリック、「フォーマット(A)…」メニューをクリックします。

フォーマットウィンドウが表示されるので、「ファイル システム(F)」にexFATを選択し、「開始(S)」ボタンをクリックします。

警告ウィンドウが表示されるので、「OK」ボタンをクリックします。

フォーマット完了ウィンドウが表示されるので、「OK」ボタンをクリックします。

次に、設定テキストファイルを下記「ダウンロード」ボタンをクリックし、ダウンロードします。

ダウンロードした設定テキストファイルをusbフラッシュメモリに移動し、USBフラッシュメモリをPCから抜きます。

Raspberry PiにUSBフラッシュメモリを挿入します。

挿入後、リムバーブルメディアの挿入ウィンドウが開くので、「OK(O)」ボタンをクリックし、ファイルマネージャを開きます。

ファイルマネージャが開くので、「raspberryPiSetting.txt」ファイルをデスクトップにドラッグ&ドロップしてファイルをコピーします。

コピー完了後、画面右上の「取り出し」アイコンをクリック後、挿入しているUSBフラッシュメモリをクリックし、取り出す状態にします。デスクトップ上のUSBフラッシュメモリアイコンが消えたことを確認後、USBフラッシュメモリを抜きます。

デスクトップにコピーした「raspberryPiSetting.txt」ファイルをダブルクリックで開き、python3のインストールに必要なパッケージのインストールコマンド(1行)

sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev libc6-dev libatlas-base-dev libjasper-dev qt4-dev-tools qt4-doc qt4-qtconfig libqt4-test -y

を選択し、右クリック、「コピー(C)」をクリックします。
※python3は、カメラ撮影や、回路基板との通信、クラウドへデータ送信のプログラムを動かすプログラミングソフトウェアです。

LXTerminalウィンドウ、コマンド入力の箇所で右クリックし、「貼り付け(P)」をクリックし、コマンドを貼り付け、エンターキーを入力し、コマンドを実行します。

同様に、python3のダウンロードとインストールコマンドを1行ずつコピー、貼り付け、コマンドの入力、コマンドの実行を行います。

sudo wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
tar zxvf Python-3.7.2.tgz
cd Python-3.7.2
./configure
make
sudo make install

python3に必要なパッケージのインストールを行います。1行ずつコマンドを実行します。

sudo pip3 install -U pip
sudo pip3 install -U setuptools

インストールしたpython3とpip3のバージョン確認を行います。1行ずつコマンドを実行します。

python3 -V
pip3 -V

python3のバージョン「Python 3.7.2」、pipのバージョン「pip・・・」となっていることを確認します。
※pipのバージョンに関して、画像と異なる場合があります

python3に必要なライブラリのインストールを行います。1行ずつコマンドを実行します。※ライブラリとは回路基板との通信や、クラウドサーバへの送信等に必要なプログラムが入っているファイルです。

sudo pip3 install rpi.gpio
sudo pip3 install requests
sudo pip3 install smbus
sudo pip3 install PyMySQL
sudo pip3 install picamera
sudo pip3 install gspread
sudo pip3 install oauth2client
sudo pip3 install ephem

回路基板から取得した値を格納するデータベースの作成及び設定を行います。下記コマンドを実行し、データベースの初期設定を行います。

sudo mysql_secure_installation

・「Enter current password for root (enter for none):」
と表示されたら、Raspberry Piのパスワードを入力後、エンターキーを入力。
※パスワードを入力しても画面には表示されない

・「Change the root password? [Y/n]」
と表示されたら、「n」入力後エンターキー入力。

・「Remove anonymous users? [Y/n]」
と表示されたら、「n」入力後エンターキー入力。

・「Disallow root login remotely? [Y/n]」
と表示されたら、「y」入力後エンターキー入力。

・「Remove test database and access to it? [Y/n]」
と表示されたら、「y」入力後エンターキー入力。

・「Reload privilege tables now? [Y/n]」
と表示されたら、「y」入力後エンターキー入力。

データベースの設定を行います。下記コマンドを実行し、データベースにログインします。

sudo mysql -u root -p

下記ウィンドウのように、「MariaDB [(none)]>」と表示されればログイン完了です。「MariaDB [(none)]>」の続きにコマンドを入力していき、データベースの設定を行います。

データベースの作成を行う為、下記コマンドを実行します。

CREATE DATABASE `tameike`;

作成したデータベースを選択する為、下記コマンドを実行します。

use tameike;

データを格納するテーブルを作成します。
※1行ずつではなく、全てコピーして実行する

CREATE TABLE `tameikeDatas` (
  `id` int(11) NOT NULL,
  `rainFall` varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
  `waterLevel` varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
  `waterTemp` varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
  `val1` varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
  `val2` varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
  `val3` varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
  `val4` varchar(16) COLLATE utf8mb4_general_ci NOT NULL,
  `postFlg` int(2),  
  `measurementDate` datetime NOT NULL,
  `created` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

テーブルの設定を行います。1行ずつコマンドを実行します。

ALTER TABLE `tameikeDatas` ADD PRIMARY KEY (`id`);
ALTER TABLE `tameikeDatas` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
COMMIT;

データベースに接続するユーザの作成と設定を行います。
「Raspberry Pi DBのパスワードを入力」箇所を削除し、ため池監視システム重要情報エクセルファイルのRaspberry PI DB欄のパスワードを入力します(シングルクォーテーションは残す)。その後1行ずつコマンドを実行します。

create user 'tameike'@'localhost' identified by 'Raspberry Pi DBのパスワードを入力';
grant all on tameike.* to 'tameike'@'localhost';
exit

インターネットへ接続する為の、USB LTEドングルを安定動作させる為、USB供給電流を変更します。下記コマンドを入力し、テキストエディタに切り替えます。

vim /boot/config.txt

テキストエディタに切り替え後、「i」キーを入力してモードを挿入モードへ変更します。

「↓」キーを入力し続け一番下にカーソルを移動後、「→」キーを入力し続け一番右にカーソルを移動します。

移動後、「エンター」キーを入力し改行し、下記をを入力します。
※max_usb_current=1とエンターキー2回入力(コピー&ペーストをしないこと)

max_usb_current=1

入力後「ESC」キーを入力し挿入モードを終了します。
※ウィンドウ左下、「– 挿入 –」と表示されていたのが、表示されなくなれば挿入モードは終了しています。

挿入モード終了後、「:wq」を入力し「Enter」キーを入力し、保存します。
※コピー&ペーストをしないこと

※もし誤って入力した場合、「ESC」キーを入力し挿入モードを終了し、「:q!」を入力後「Enter」キーを入力すると、保存せずに終了します。再度コマンド入力からやり直して下さい。

以上でRaspberry Piの設定は完了です。

LXTerminalやMousepad等のウィンドウを「×」ボタンをクリックして閉じます。その後、Raspberry Piのシャットダウンを行います。画面左上「Raspberry Piアイコン」をクリックし、「ログアウト」メニューをクリックします。

Shutdown optionsウィンドウが表示されますので、「Shutdown」ボタンをクリックします。

Raspberry Piのシャットダウンが行われますので、シャットダウン後、コンセントからACアダプターを抜きます。


次の章:第六章:情報の可視化