8.ため池監視用WebサイトLINE連携
この節では、ため池監視WebサイトからLINEへ水位・水温情報や画像情報等をLINEへ送信する設定を行います。
作業時間:30分
ため池監視WebサイトからLINEへ情報を送信する為には、SSLサーバ証明書を発行し、ため池監視Webサイトに設置および設定をする必要があります。
SSLサーバ証明書は無料で発行が可能なLet’s Encryptを用いて発行します。
まず、サーバを遠隔操作可能な状態にする為にWindows PowerShellソフトウェアを起動します。
※既にWindows PowerShellが起動し、サーバを遠隔操作可能な状態の場合はこの手順を飛ばして下さい。
Windows PowerShellの起動を行います。キーボード「Windows」キーを入力し、スタートメニューを開き、「PowerShell」と入力します。
最も一致する検索結果にWindows PowerShellが表示されますので、「Windows PowerShell」をクリックし起動します。

「ため池監視用IoT機器重要情報」エクセルファイル、Ubuntu 18.04欄の「sshコマンド」をコピーし、Windows PowerShellに「Ctrl+Shift+V」キーを同時に入力し貼り付けし、「エンターキー」を入力します。

「ubuntu@IPアドレス’s password:」と表示されますので、「ため池監視用IoT機器重要情報」エクセルファイル、UBUNTU 18.04欄のパスワードを入力し、「エンターキー」を入力します。
ログイン完了後、「ubuntu@・・・」と表示され、サーバの遠隔操作が可能な状態となります。

SSLサーバ証明書の発行と設定
メモ帳アプリを起動します。
メモ帳アプリの起動方法は、「スタート」ボタンをクリックし、「Windows アクセサリ」フォルダをクリック、「メモ帳」をクリックすると起動します。
または、「スタート」ボタンをクリックし、「メモ帳」と入力後、「メモ帳」をクリックすると起動します。

下記SSL証明書発行コマンドを貼り付けます。
sudo certbot certonly --webroot -w /var/www/html/tameike -d ドメイン「ドメイン」をバックスペースキーで削除し、「ため池監視用IoT機器重要情報」エクセルファイル、さくらのVPS欄の「ドメイン」を入力します。

メモ帳のコマンドをすべてコピーし、Windows PowerShellに「Ctrl+Shift+V」キーを同時に入力し貼り付けます。
貼り付け完了後、「エンターキー」を入力します

コマンド実行時「[sudo] password for ubuntu:」と表示されたら、「ため池監視用IoT機器重要情報」エクセルファイル、UBUNTU 18.04欄のパスワードを入力し、「エンターキー」を入力します。
※この節で、コマンド実行時、同様に「[sudo] password for ubuntu:」と表示されたら、「ため池監視用IoT機器重要情報」エクセルファイル、UBUNTU 18.04欄のパスワードを入力します。

Enter email addressと表示されますので、Gmail等のメールアドレスを入力します。※こちらのメールアドレスは、指定はございません。お持ちのメールアドレスを入力して下さい。
メールアドレス入力完了後、「エンターキー」を入力します。

Please read the Terms of Service at・・・と表示されますので、
「A」を入力し、「エンターキー」を入力します。

Would you be willing to share your email address・・・と表示されますので、「N」を入力し、「エンターキー」を入力します。

以上でSSL証明書の発行は完了です。次に、SSL証明書の設定を行います。
IMPORTTANT NOTES:の内容をコピーします。
コピー方法は、IMPORTTANT NOTES:の内容を選択し、選択内容(黄色の部分)を右クリックします。
※選択内容を右クリックすると選択テキストがコピーされます。

その後、メモ帳に貼り付けます。

貼り付け完了後、「ファイル」メニュー、「新しいウィンドウ(W)」をクリックし、新しいメモ帳を開きます。

新しいメモ帳が開いたら、下記テキストをコピーし、貼り付けます。
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName domain
DocumentRoot /var/www/html/tameike/
ErrorLog /var/log/apache2/tameike.error.log
CustomLog /var/log/apache2/tameike.access.log combined
<Directory "/var/www/html/tameike/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
SSLCertificateFile SSLFullChainPath
SSLCertificateKeyFile SSLPrvPath
</VirtualHost>
</IfModule>「domain」を「バックスペースキー」で削除し、「ため池監視用IoT機器重要情報」エクセルファイル、さくらのVPS欄のドメインを入力します。

「SSLFullChainPath」を「バックスペースキー」で削除し、IMPORTANT NOTES:内容を貼り付けたメモ帳内3行目、「/etc/letsencrypt/live/domain/fullchain.pem」を貼り付けます。
同様に、「SSLPrvPath」を「バックスペースキー」で削除し、IMPORTANT NOTES:内容を貼り付けたメモ帳内5行目、「/etc/letsencrypt/live/domain/privkey.pem」を貼り付けます。

貼り付け完了後、下記コマンドをWindows PowerShellに入力し、「エンターキー」を入力し実行します。
sudo vim /etc/apache2/sites-available/tameike-ssl.confテキストエディタに切り替え後、「i」キーを入力してモードを「– INSERT –」モードへ変更します。その後、メモ帳のテキストをすべてコピーし、「Ctrl+Shift+V」キーを同時に入力し貼り付けます。

貼り付け完了後「ESC」キーを入力しINSERTモードを終了し、「:wq」を入力後「エンターキー」を入力し、保存します。

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

保存完了後、下記コマンドを1行ずつ入力後実行し、設定項目を反映します。
cd /etc/apache2/sites-available
sudo a2ensite tameike-ssl
sudo service apache2 reload
sudo a2enmod ssl
sudo service apache2 restart以上でSSLサーバ証明書の発行と設定は完了です。Windows PowerShellは閉じずに、そのままにしておきます。
LINEとの連携
LINEとの連携には、LINEアクセストークンとLINEチャネルIDが必要となります。
まず、LINEアクセストークンを取得します。こちらのリンクをクリックし、LINE Developersページを開きます。その後、「ログイン」ボタンをクリックします。

LINE Business IDページが表示されますので、「LINEアカウントでログイン」ボタンをクリックします。

ログイン画面が表示されますので、お手持ちのLINEアカウント、「メールアドレス」と「パスワード」を入力し「ログイン」ボタンをクリックします。

LINE Developersアカウント作成画面が表示されますので、「Your name」と「Your email」に名前とメールアドレスを入力します。
その後、「I have read and agreed to the LINE Developers Agreement.」にチェックを入れ「Create my account」ボタンをクリックします。

LINE Developersトップページが表示されますので日本語に変更します。日本語に変更は、画面右下、「English」をクリックし、「日本語」をクリックします。

日本語に変更されたことを確認し、「新規プロバイダー作成」ボタンをクリックします。

新規プロバイダー作成ウィンドウ欄が表示されますので、プロバイダー名に「tameike」と入力し「作成」ボタンをクリックします。

tameike画面が表示されますので、「Messageing API」アイコンをクリックします。

Messaging API作成画面が表示されますので、下にスクロールし、チャネル名に「tameike」と入力し、チャネル説明に「ため池監視」と入力します。

大業種に「個人」小業種に「個人(その他)」を選択します。

「LINE公式アカウント利用規約の内容に同意します」および「LINE公式アカウントAPI利用規約の内容に同意します」にチェックを入れ「作成」ボタンをクリックします。

情報利用に関する同意についてウィンドウが表示されますので、「同意する」ボタンをクリックします。

Messaging APIが作成されチャネル基本設定画面が表示されますので、「Messageing API設定」をクリックします。

Messaging API設定画面が表示されたら、下にスクロールしWebhook設定欄、「編集」ボタンをクリックします。

Webhook URL欄にWebhook URLを入力します。Webhook URLは、
https://ドメイン/php/linebot.php
となります。
メモ帳を開き、下記テキストをコピーして貼り付けます。
https://domain/php/linebot.php
「domain」をバックスペースキーで削除し、「ため池監視用IoT機器重要情報」エクセルファイル、さくらのVPS欄の「ドメイン」を入力します。

入力完了後、メモ帳のテキストをコピーし、webhook URL欄に貼り付け、「更新」ボタンをクリックします。

更新完了後、Webhookの利用をクリックしオンにします。

下にスクロールしチャネルアクセストークン、「発行」ボタンをクリックし、チャネルアクセストークンを発行します。

チャネルアクセストークンが発行されますので、チャネルアクセストークンをコピーし、「ため池監視用IoT機器重要情報」エクセルファイル、LINE欄の「アクセストークン」に入力します。
※チャネルアクセストークンは長いのでコピー漏れがないように注意すること

以上でチャネルアクセストークンの取得は完了です。
LINEチャネルID
ため池監視用WebサイトからLINEグループへ情報を送信する為に、LINEチャネルIDを取得します。LINEチャネルIDを取得する為に、スマートフォン、LINEアプリから作成したMessaging APIのLINEボットを追加し、グループを作成します。
先ほどの画面(Messaging API設定)を上にスクロールし、LINE公式アカウント機能、グループ・複数人チャットへの参加を許可する欄、「編集」ボタンをクリックします。

アカウント設定画面が表示されるので、下にスクロールし、チャット、チャットへの参加欄、「グループ・複数人チャットへの参加を許可する」にチェックを入れます。

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

LINE Developersタブをクリックし、Messagegin API画面へ戻ります。

上にスクロールし、ボット情報のQRコードを表示します。

スマートフォン、LINEアプリを起動し、友だち追加、QRコードを開き、表示しているQRコードを読み込みます。※上記QRコードは読み込まないこと。

友達を追加画面が表示されるので「追加」ボタンをタップします。

追加完了後、グループ内「グループ作成」をタップします。

友達を選択画面が表示されるので、追加した「tameike」をチェックし、「次へ」をタップします。

グループ名に「ため池監視」と入力し、「作成」ボタンをタップします。

ため池監視グループが作成されますので、「トーク」をタップします。

「テスト」と入力し送信アイコンをタップし送信します。

送信完了後、tameikeから下記メッセージが送信されていることを確認します。

以上でスマートフォンの操作は完了です。
Windows PowerShellに下記コマンドを入力し、実行します。
cat /var/www/html/tameike/php/linebotGID.txt
LINEチャネルIDが表示されますので、LINEチャネルIDをコピーし、「ため池監視用IoT機器重要情報」エクセルファイル、LINE欄の「channel」に入力します。※コピー方法は、チャネルIDを選択し、選択した内容(黄色の部分)を右クリックします。

以上でLINEチャネルIDの取得は完了です。
ため池監視用WebサイトLINE設定
ため池監視用Webサイトに、取得したLINEアクセストークンとLINEチャネルIDの設定を行います。
Microsoft EdgeやGoogle Chrome、Firefox等のWebブラウザで、ため池監視システム重要情報エクセルファイルのさくらのVPS欄のphpmyadminのURLを入力しページを開きます。

phpMyAdminへようこそページが開いたら、「ユーザ名」、「パスワード」入力欄に、ため池監視システム重要情報エクセルファイルUBUNTU 18.04 DB欄のIDとパスワードを入力します。
入力完了後「実行」ボタンをクリックします。

phpMyAdmin管理画面が表示されますので、画面左側「settings」テーブルをクリックし、settingsテーブル管理画面を開き、「編集」をクリックします。

編集画面が表示されますので、lineChannel欄を削除し、「ため池監視用IoT機器重要情報」エクセルファイル、LINE欄「channel」を入力します。※入力時改行等channel以外の文字が入らないように注意すること。
同様に、lineAccesstoken欄を削除し、「ため池監視用IoT機器重要情報」エクセルファイル、LINE欄「アクセストークン」を入力します。※入力時改行等アクセストークン以外の文字が入らないように注意すること。

入力完了後、「実行」ボタンをクリックします。

1行変更しました。と表示され、変更完了です。

以上で、ため池監視WebサイトからLINEへ水位・水温情報や画像情報等をLINEへ送信する設定は完了です。
ため池監視用WebサイトからLINEへの送信は、1日1度12時頃もしくは、1時間後の降水量予測が10mm/h以上の場合は10分に1度送信されます。

LINEへの送信が確認完了後、Raspberry Piのシャットダウンを行います。Raspberry Pi画面左上「Raspberry Piアイコン」をクリックし、「ログアウト」メニューをクリックします。

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

Raspberry Piのシャットダウンが行われますので、シャットダウン後、コンセントからACアダプターを抜きます。
以上で、ため池監視WebサイトからLINEへ水位・水温情報や画像情報等をLINEへ送信の設定および確認は完了です。次の章に移って下さい。
次の章では機器に給電する太陽光システムの解説します。