デュアルウェア講習会課題 5 会津大学講習会 簡単な IoT を作成 2018 The University of Aizu

Similar documents
メール利用マニュアル (Web ブラウザ編 ) 1

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

Googleカレンダー連携_管理者マニュアル

システム設計書

Microsoft Word - Gmail-mailsoft設定2016_ docx

目次 1. ユーザー登録 ( 初期セットアップ ) を行う Office365 の基本的な動作を確認する... 6 Office365 にログインする ( サインイン )... 6 Office365 からサインアウトする ( ログアウト )... 6 パスワードを変更する... 7

EV3 の初期設定

Microsoft Word - FTTH各種設定手順書(鏡野地域対応_XP項目削除) docx

MF mypresto インストールガイド 目次 新規インストールの手順 (Windows 版 )... 2 MF mypresto の起動 (Windows 版 )... 7 新規インストールの手順 (Mac 版 )... 8 MF mypresto の起動 (Mac 版 ) 新規イン

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

在学生向けメールサービス

2 1: ネットワーク設定手順書 が完了後に行なってください 鏡野町有線テレビ 各種設定手順書 この手順書では以下の内容の手順を解説しています メール設定 ホームページの掲載 お客様がご利用の OS により設定方法が異なる部分があります OS をご確認の上 作業を行なってください お客

VPNマニュアル

Raspberry Pi で WEB カメラを使用 会津大学 RT ミドルウェア講習会 2017 The University of Aizu

Microsoft Word Webmail

シェルプログラミング コマンドをパイプでつなげるだけでは済まないような ある程度まとまった処理を複数のコマンドを制御構文を用いたりしてファイルとしたものを ( シェル ) スクリプトと呼ぶ シェルプログラム バッチなどともいう.bash_profile もシェルスクリプトなので このファイルを解読し

Proselfの利用方法

フォルダの作成 使用率 (%) が表示されます 新規フォルダの作成をクリック フォルダ名 を入力し 作成 ボタンをクリック ユーザー設定で 使用言語の選択ができます ( 日本語 英語 中国語 ) ファイルのアップロード 1 ファイルをアップロードするフォルダをダブルクリックする このフォルダにアップ

目次 メールの基本設定内容 2 メールの設定方法 Windows Vista / Windows 7 (Windows Live Mail) Windows 8 / Windows 10 (Mozilla Thunderbird) 3 5 Windows (Outlook 2016) メ

KDDI ビジネスメール 一般ユーザ用カスタマーコントロール操作ガイド Ver.2.04 Copyright , KDDI Corporation All rights reserved 1

SILAND.JP テンプレート集

GRIDY SFA Google Apps カレンダー連携 操作ガイド (1.0 版 ) 2016 年 3 月 16 日 KDDI 株式会社

1. WebShare 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします xxxxx 部分は会社様によって異なります xxxxx. 2 ログイン名 パスワードを入力し

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

マイフォルダへのアクセス マイフォルダ をクリックすると マイフォルダの一覧画面へ遷移します 利用の手引き ver.5 フォルダの作成 新規フォルダ をクリックして フォルダ名を入力し 作成 ボタンをクリックする ファイルのアップロード ファイルをアップロードしたいフォルダをクリックして開き アップ

新規インストールガイド Microsoft Office Professional Plus 2016 本書は Download Station から Microsoft Office Professional Plus 2016( 以下 Office) をダウンロ ドし 新規インストールを行う手順

受付代行 設定マニュアル このマニュアルでは 恵比寿ボイスプロダクションが Google アシスタントアプリで公開している 受付代行 ( ) を使って Google

Microsoft Word - Gmail-mailsoft_ docx

Mozilla Thunderbird アカウント設定手順 株式会社アマダアイリンクサービス

新営業支援システム 利用者マニュアル

YCU メール多要素認証の設定方法 ( 学生向け推奨マニュアル ) 2019 年 3 月 横浜市立大学 ICT 推進課 1

PowerPoint Presentation

@tstfmail利用の手引き

PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP が被るとローカル環境内接続が行えなくな

2. FileZilla のインストール 2.1. ダウンロード 次の URL に接続し 最新版の FileZilla をダウンロードします URL: なお バージョンが異なるとファイル名が

1. マイページの取得 学情主催イベント原稿入稿システム URL 上記 URL にアクセスしてください ( ブラウザに直接入力してください ) 1-1. メールアドレスの入力 トップページ 上記の学情主催イベント原

目次 1. はじめに... 1 動作環境... 1 その他 他の人が利用する ID を発行したい... 2 ユーザー ID 作成を作成しましょう パソコンのデータを自動でアップロードしたい... 4 PC 自動保管機能を使用してみましょう 不特定多数の

SAMBA Remote(Mac) 編 PC にソフトをインストールすることによって OpenVPN でセキュア SAMBA へ接続することができます 注意 OpenVPN 接続は仮想 IP を使用します ローカル環境にて IP 設定が被らない事をご確認下さい 万が一仮想 IP とローカル環境 IP

1 ログインとログアウト 1.1 ログイン ログイン画面で [ password ] 欄にパスワードを入力します (図 1) 図 1 ログイン画面 正しくログインができると Ubuntu のデスクトップ画面 図2 が表示されます 図2 Ubuntu デスクトップ画面 2

バージョンアップにおける変更点 バージョンアップにおける変更点 07 年 月 7 日に実施したバージョンアップにおける変更点は次の通りです ) 最新 OS/ ブラウザへの対応 次の OS とブラウザの組み合わせが動作環境となりました [Windows 7 SP/8./0] Microsoft Edg

PowerPoint プレゼンテーション

Mcafee

証明書インポート用Webページ

Shareresearchオンラインマニュアル

CONTENTS Copyright 2017 NEC Solution Innovators, Ltd All rights reserved 0. 通訳案内士登録情報検索サービスを利用するまえに 1 利用環境 2 ブラウザの設定 3 プラグイン 4 操作上の制限 5 ウェブ操作マニ

注意 インストール中に ユーザアカウント制御 ( 以下 UAC といいます ) の実行確認画面が表示されることがあります 表示された場合ははいをクリックして インストールを進めてください なお 管理者以外の場合 管理者への昇格を求める UAC 画面が表示される場合がありますので 管理者アカウントのパ

I. CA 証明書のインポート 1 リモート端末にて CA 証明書の URL ( へアクセスし ca.cer をダウンロードし デスクトップ上など任意の場所に保存し ダブルクリックしてください ( 上記 URL へアクセスした際に デジタ

- 目次 - ページ数 1. お客様管理者用コントロールパネル (SCP) について P.2 2. 管理者用コントロールパネル (SCP) にアクセスする P.3 3. メールマネージャーについて P.5 4. FTP マネージャーについて P サイト統計情報 (Urchin) について

Microsoft Word - XOOPS インストールマニュアルv12.doc

第5回 マインクラフト・プログラミング入門

Active! mail 6 操作マニュアル 株式会社トランスウエア Copyright TransWare Co. All rights reserved.

Microsoft Word - MyWebMedical40_client_guideIE8.doc

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

目次 バックアップの作業を行うには 本学 Gmailアカウント ( 例 :s 及び個人用 Gmailアカウント ( 例 が必要となります 個人用 Gmailアカウント を既に取得している学

目次 1. はじめに 証明書ダウンロード方法 ブラウザの設定 アドオンの設定 証明書のダウンロード サインアップ サービスへのログイン

(Microsoft Word - Compiere3.0Windows\203C\203\223\203X\203g\201[\203\213\203K\203C\203h.doc)

1. 事前準備 ひかりワンチーム SP は インターネットにアクセスして利用するサービスです ご利用いただくには インターネット接続環境及びインターネットに接続可能な端末 (PC 等 ) WEB ブラウザが必要となります 以下のサービス推奨動作環境に合わせ 事前にご用意ください ひかりワンチーム S

Microsoft Word - winscp-LINUX-SCPを使用したファイル転送方法について

再起動した状態になり パスワードを入力すると 図 2 のように DEXCS2011 のアイコ ンがデスクトップ上に表示される 2 端末を準備する メニューバーにある端末の形を左クリック 図 2 デスクトップ メニューバーに端末の形がない場合 図 3 メニューバー アプリケーション アクセサリー 端末

証明書インポート用Webページ

目次 : はじめに 2 1. 安否確認アプリについて 安否確認アプリの設定について 安否確認アプリのインストール方法について Android の場合 iOS の場合 アプリの通知設定について 7 2. メールについて 8 2-

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

(Microsoft Word - VisionPro\203C\203\223\203X\203g\203\214\201[\203V\203\207\203\223\203}\203j\203\205\203A\203\ doc)

新規インストールガイド SPSS Statistics 24/25 Windows 32/64bit 版 本書は Download Station から SPSS Statistics をダウンロ ドし 新規インストールを行う手順を記載しています 本手順は学内ネットワークに接続した状態で行う必要があ

1. ボイステクノに問い合わせ スマホで議事録 Pro のご利用に際して 専用のお問合せページ(Ctrl キーを押しながらクリック ) ページを開き 必要事項を入力し 送信してください 手動で URL を入力する場合は を

マカフィー (R) マルチアクセス 設定ガイド

<4D F736F F D2089E696CA8F4390B35F B838B CA816A>

intra-mart Accel Collaboration — Collaboration共通 ユーザ操作ガイド   第7版  

目次 1. はじめに ログイン方法 (PC の場合 ) メール送信方法 (PC の場合 )... 6 からのアドレス帳の移行方法 (PC の場合 ) メール転送方法 (PC の場合 ) Gmail アプリの設

1. WebShare(HTML5 版 ) 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします xxxxx 部分は会社様によって異なります xxxxx 2 ユーザー名 パ


スライド 1

目次 1 サービス概要 3 あんしんフィルター for auとは 4 動作環境 5 2 利用開始 6 アプリをインストールする 7 サービスを開始する 8,9 あんしんフィルター for au アプリアイコンの移動 10 3 設定変更 11 管理者を登録する 12 管理者画面を表示する 13 管理す

レセプト送信プログラムのアンインストール及び再インストールについて - Windows 用 - このマニュアルでは 労災レセプト電算処理システムを利用し レセプト情報を送信するためのセットアップ方法 ( レセプト送信プログラムのアンインストール及び再インストール方法 ) を説明このマニュアルでは 労

<8B9E93738CF092CA904D94CC814090BF8B818F B D836A B B B816A2E786C73>

日医特定健康診査システム ORCA PROJECT Linux 対応版インストールマニュアル (Version 対応 ) Ubuntu Trusty 用 版 2017 年 2 月 23 日 Copyright (C) Japan Medical

1. ボイステクノに問い合わせ スマホで議事録 Pro のご利用に際して 専用のお問合せページ(Ctrl キーを押しながらクリック ) ページを開き 必要事項を入力し 送信してください 手動で URL を入力する場合は を

Adobe ユーザー申請システム Version 1.0 for 北海道大学利用者向け取扱説明書 第 1.1 版 平成 26 年 11 月 06 日

NALC 活動管理システムインストール手順書 NALC 活動管理システムを利用するためには 以下の性能を持った PC が必要です システム要件 対応 OS 対応ブラウザ Windows7 / Windows8 8.1/windows10 Internet Explorer 8 以降 (Firefox

PowerPoint プレゼンテーション

改版履歴 版数 日付 内容 担当 V /3/9 初版発行 STS V /5/4 エラー画面の削除 STS V //3 サポート環境の追加 サポート環境の説明文章の STS 修正 画面修正 V /2/25 サポート環境変更 STS V

Ver.70 改版履歴 版数 日付 内容 担当 V /09/5 初版発行 STS V /0/8 証明書バックアップ作成とインストール手順追加 STS V /0/7 文言と画面修正 STS V..0 0//6 Firefox バージョンの変更 STS V..40

(株) 殿

Microsoft Word - 【掲載用】True Keyマニュアル_1.0版_ r2.docx

YubiOn ポータル 簡易導入手順 2018/08/08 1

1. インストール方法 STEP 1 ダウンロードしたファイルを任意の場所に解凍します Windows 標準の機能を用いて解凍する場合は ファイルを選択して 右クリックメニューから [ すべて展開 ] を選択し 表示されたメッセージに従って解凍します STEP 2 解凍されたフォルダにある Setu

項番 現象 原因 対応手順書など 4 代理店コードでのダウンロード時に以下のメッセージの画面が表示される サービス時間外のため 現在 このサービスはご利用になれません 当機能のサービス時間外です 以下の時間帯にダウンロードしてください 月曜日 ~ 金曜日 7:00~21:00 土曜日 7:00~17

目次 セキュアメッセージを開く... 3 Proofpoint Encryptionへの登録... 4 セキュアメッセージへの返信... 5 セキュアメッセージの保存... 6 パスワードを忘れた... 7 Bank of Americaへの新しいセキュアメッセージの開始... 7 ログアウト...

3. ユーザー情報の登録 必要事項をご入力の上 申込み ボタンを押してください ご利用される方のお名前を入力してください 個人名以外の名称は サポートセンターからの ご連絡の際に連絡がうまくとれないなど不都合が 生じる恐れがありますので ご遠慮いただいています 複数のメールアドレスを登録することはで

PowerPoint プレゼンテーション

ヘルスアップWeb 簡単操作ガイド

SimLab Plugins for SketchUp 評価版インストールおよびアクティベート方法 注意事項 評価版をお使い頂くには 評価用ライセンスでのアクティベートが必要です 評価用ライセンスファイルの取得を行い 手動でアクティベートする必要があります 各 SimLab プラグインは 評価用とし

ハンズオン事前準備資料 2017 株式会社 FIXER All rights reserved.

メールデータ移行手順

設定ガイド

目次 1. 教育ネットひむかファイル転送サービスについて ファイル転送サービスの利用方法 ファイル転送サービスを利用する ( ひむか内 ) ファイル転送サービスへのログイン ひむか内 PCでファイルを送受信する

ファイルサーバ ご利用の手引き 第 1.0 版 2008 年 2 月 14 日 近畿大学総合情報システム部 (KUDOS)

インストールマニュアル

パソコンバンクWeb21 操作マニュアル[導入・事前設定編]

Transcription:

会津大学講習会 簡単な IoT を作成 2018 The University of Aizu

目次 1 課題... 1 1.1 課題説明... 1 課題 5-1... 1 課題 5-2... 1 2 Google API... 2 2.1 Gmail API とは... 2 2.2 Gmail API 設定... 2 Google アカウント作成... 2 Google Developers Console 内で設定... 8 Raspberry Pi 上で GmailAPI を使える様にインストール... 19 正常に動作するか確認するために Quickstart を実行... 21 2.3 Python でメールを出す... 26 3 温度を取得してメールで送信するプログラムの作成... 30 3.1 温度センサを接続... 30 3.2 温度を取得して送信するプログラムを作成... 30 3.3 プログラムの実行... 30 4 温度を取得してメールを 1 分毎に送信するプログラム... 31 4.1 シェルスクリプトとは... 31 4.2 シェルの書き方... 31 作り方 実行の仕方... 31 変数... 31 条件分... 32 ループ文... 33 コマンドの実行... 34 4.3 シェルスクリプト作成... 35

1 課題 1.1 課題説明 課題 5-1 Raspberry Pi に接続した温度センサから温度を取得して Gmail で送付する Gmail API を使用して Python プログラム上から Gmail を送信する簡単な IoT システムを作成す る 課題 5-2 課題 1 で温度をメールで送付するプログラムを作成しました 次はこのプログラムを 1 分毎に起動するように設定しましょう 動かす方法はシェルスクリプトを使用します -1-

2 GOOGLE API Google API とは提供するプラットフォームやサービスを使用出来る API 2.1 Gmail API とは メッセージの送信や受信など Gmail の様々な機能をプログラムから操作をするための API で Googel API の一種です 2.2 Gmail API 設定 Gmail API を使用するためには以下の設定が必要です 1. Google アカウントの作成 Gmail 使用するために Google のアカウントを作成します 2. Google Developers Console 内で設定 1) プロジェクトの作成 2) Gmail API を有効化 3) 認証情報を作成 4) client_id.json をダウンロード 3. 使用するコンピュータ内で設定 1) インストール Google アカウント作成 最初に使用する Google のアカウントを作成します 1. ログイン ボタンを押下 -2-

2. アカウント作成 リンクを押下 3. 全項目 ( 姓, 名, ユーザ名, パスワード ) を入力 -3-

4. 入力内容を確認し誤りがなければ, 次へ ボタンを押下 5. SMS で確認コードが届くため,SMS 受信可能な電話番号を入力 端末やブラウザによっては, 下記の画面が表示されない その場合項番 8 へ進む -4-

6. 電話番号に誤りがなければ, 次へ ボタンを押下 7. SMS で届いた 確認コード を入力し, 確認 ボタンを押下 -5-

8. 必須項目 ( 生年月日, 性別 ) を入力 電話番号とメールアドレスは省略可 9. 電話番号とメールアドレスはセキュリティ保護のために基本的には入力するが, 今回は未入力で登録 -6-

10. 生年月日, 性別に誤りがなければ, 次へ ボタンを押下 11. 利用規約を確認し問題なければ, 同意する ボタンを押下 -7-

12. 作成したユーザでログインされていることを確認 これで Google のアカウントが作成できました Google Developers Console 内で設定 Gmail API の設定を有効にします 1. URL 入力バーに https://console.developers.google.com/apis/dashboard を入力し, Enter キーを押下 1 上記 URL(Google APIs) にアクセスする場合,Internet Explorer では正常に表示されないことがあるため,Google Chrome を使用することを推奨 2 Google Chrome をインストールされていない方は, 下記の URL よりダウンロードしインストールしてください https://www.google.com/chrome/ -8-

2. 3.2.1 Google アカウント作成で決めたパスワードを入力 既にログイン済の場合は, 項番 4 に進む 3. パスワードに誤りがなければ, 次へ ボタン押下 -9-

4. 利用規約を確認し問題なければ, 同意します にチェックし, 最新情報をメールで通知 を 希望する場合は はい, 希望しない場合は いいえ を選択 5. 内容に誤りがなければ, 承諾する ボタンを押下 -10-

6. Google APIs の画面が表示されたら, プロジェクトを作成 ボタンを押下 7. 作成 ボタンを押下 -11-

8. プロジェクト名を入力し, 作成 ボタンを押下 プロジェクト名は作成した後で プロジェクトの設定 より変更可 9. Google APIs のロゴの右にあるプロジェクト選択リストボックスで作成したプロジェクト が選択されていることを確認し,Gmail API を選択 -12-

10. 有効にする ボタンを押下 11. 認証情報を作成 ボタンを押下 -13-

12. 使用する API をコンボボックスより Gmail API を選択 13. API を呼び出す場所 をコンボボックスより その他の UI(Windows,CLI ツールな ど ) を選択し, アクセスするデータの種類 は ユーザーデータ を選択 -14-

14. 選択内容に誤りがなければ, 必要な認証情報 ボタンを押下 15. OAuth 2.0 クライアント ID を入力 クライアントの ID の名前を今回は GmailTest にしてください -15-

16. OAuth クライアント ID に誤りがなければ, OAuth クライアント ID を作成 ボタンを 押下 17. メールアドレスはデフォルトとし, サービス名に任意の名称を入力 サービス名の名前を今回は GmailTest にしてください -16-

18. 入力内容に誤りがなければ, 次へ ボタンを押下 19. ダウンロード ボタンを押下 -17-

20. client_id.json ファイルが正常にダウンロードされたら, 完了 ボタンを押下 21. 項番 20 でダウンロードし忘れた場合, 完了 ボタン押下後に表示される下記の画面の ボタンよりダウンロード可 -18-

22. ファイル名は client_secret_.json という名称でダウンロードされる ダウンロードされた.json ファイルは [client_secret.json] に名前を変えてください Raspberry Pi 上で GmailAPI を使える様にインストール 1. client_secret.json ファイルを Raspberry Pi にコピー Terterm 画面右上のファイル (F)->[SSH SCP] を使いファイルをコピーします -19-

client_secret.json 格納フォルダ 2. パッケージを最新に更新 $ sudo apt-get update $ sudo apt-get upgrade 3. Gmail API に必要な Python パッケージをインストール $ sudo pip install google-api-python-client $ sudo pip install oauth2client $ sudo pip install apiclient -20-

正常に動作するか確認するために Quickstart を実行 1. 下記ソースコードを quickstart.py として保存し,Raspberry Pi の client_secret.json ファイルと同一ディレクトリにコピー #Raspberry Pi from googleapiclient.discovery import build from httplib2 import Http from oauth2client import file, client, tools # Setup the Gmail API SCOPES = 'https://mail.google.com/' store = file.storage('credentials.json') creds = store.get() if not creds or creds.invalid: flow = client.flow_from_clientsecrets('client_secret.json', SCOPES) creds = tools.run_flow(flow, store) service = build('gmail', 'v1', http=creds.authorize(http())) # Call the Gmail API results = service.users().labels().list(userid='me').execute() labels = results.get('labels', []) if not labels: print"no labels found." else: print"labels:" for label in labels: #print"label["+name+"]" print label['name'] # [END gmail_quickstart] コピーが出来ない方は以下 URL からダウンロードしてください https://rtc-fukushima.jp/wp/wp-content/uploads/2019/01/quickstart.zip このプログラムは Google が確認用に配布しているプログラムを Raspberry Pi 様に編集したものです Python Quickstart https://developers.google.com/gmail/api/quickstart/python 参照したのが 6 月でしたので現在のものとは異なります 2. 下記のコマンドを実行 $ python quickstart.py --noauth_local_webserver [--noauth_local_webserver] はこの [quickstart.py] を実行したコンピュータとは別のブラウザを使う必要があるときに付けるオプションです 今回は TerTerm で Raspberry Pi にアクセスし プログラムを実行しています ブラウザは PC 側で起動する必要があるのでこのオプションを付けます -21-

3. 表示された URL を Windows で起動しているブラウザに入力 -22-

4. 自分のアカウントを選択 このウィンドウが 出たら [ 許可 ] を押す 5. 許可 ボタンを押下 -23-

6. 表示されたコードをコピーし,TeraTerm の Enter verification code: に張り付ける -24-

プログラムが実行されました これは登録した Gmail のラベルを表示しております プログラムが実行されると同時に credentials.json が作成されます このファイルには認証情報が登録されます 以降はこのファイルを参照するので ブラウザを使用した認証はなしで実行が出来ます -25-

2.3 Python でメールを出す 1. MailSend.py を作成し,Raspberry Pi にコピーしてください import httplib2 import os #Raspberry Pi import googleapiclient from googleapiclient.discovery import build from oauth2client import file, client, tools from httplib2 import Http import base64 from email.mime.text import MIMEText from email.utils import formatdate SCOPES = "https://www.googleapis.com/auth/gmail.send" FROM = # 自分のメールアドレス # TO = # 自分のメールアドレス # def create_message(): message = MIMEText("Gmail body: Hello world!") message["from"] = FROM message["to"] = TO message["subject"] = "gmail api test" return {'raw': base64.urlsafe_b64encode(message.as_string())} def main(): store = file.storage('credentials.json') creds = store.get() if not creds or creds.invalid: flow = client.flow_from_clientsecrets('client_secret.json', SCOPES) creds = tools.run_flow(flow, store) service = build('gmail', 'v1', http=creds.authorize(http())) try: result = service.users().messages().send( userid=from,body=create_message()).execute() print("message Id: {}".format(result["id"])) except: print("------errer------") if name == " main ": main() [MailSend.py] でファイルを作成してください メールアドレスの欄は先ほど設定の時に使用した Gmail のアドレスを入れてください 文字列なのでダブルクォートで囲む必要があります コピーが出来ない方は以下 URL からダウンロードしてください https://rtc-fukushima.jp/wp/wp-content/uploads/2019/01/mailsend.zip メールを出すプログラムは以下のページを参考に作成されています -26-

Users.messages: send https://developers.google.com/gmail/api/v1/reference/users/messages/send Sending Email https://developers.google.com/gmail/api/guides/sending 2. プログラムの実行 下記コマンドを実行してください $ python MailSend.py --noauth_local_webserver 下図の様に結果が出た場合は [5.] で自分の Gmail を確認してください URL が表示された人は [3.] 以降の作業をしてください 3. 表示された URL を Windows で起動しているブラウザに入力 -27-

quickstart.py の時と同じように認証をしてください コードを表示してください 4. 表示されたコードをコピーし,TeraTerm の Enter verification code: に張り付ける 以下の様に結果が表示されます -28-

5. Gmail にログインし, メールを受信したことを確認 今回は自分から自分に送付しているので, スパム扱いになっていますが, 別のメールアドレス 宛てにすれば問題はございません -29-

3 温度を取得してメールで送信するプログラムの作成 Raspberry Pi に温度センサの回路を接続し, 取得した温度をメールで送信するプログラムを作成します 先ほど作成したプログラムに温度センサから値を取得するプログラムを組み合わせて, 実行してください 3.1 温度センサを接続 前日の内容を参考に,Raspberry Pi に温度センサを接続してください 3.2 温度を取得して送信するプログラムを作成 温度を取得して送信するプログラムを作成 プログラム名は [MailSend_Raspberry_temp.py] で作成してください 3.3 プログラムの実行 $ python MailSend_Raspberry_temp.py --noauth_local_webserver -30-

4 温度を取得してメールを 1 分毎に送信するプログラム 温度をメールで送付するプログラムを作成しました 次はこのプログラムを 1 分毎に起動するように設定しましょう 動かす方法はシェルスクリプトを使用します 4.1 シェルスクリプトとは シェルで実行するコマンドを連続で実行するためのプログラムのことです このプログラムは上から順に実行されるので, 複数のコマンドを実行する作業などをシェルスクリプト内に書き込むと便利です 4.2 シェルの書き方 作り方 実行の仕方シェルファイルの作り方と実行の仕方を説明します [test.sh] で保存して Raspberry Pi に転送してください #!/bin/sh echo 'hello world' 転送後以下のコマンドで実行してください $ chmod 755 test.sh $ sed -i 's/ r//' test.sh $./test.sh 実行結果として [hello world] と表示されます シェルプログラムのファイルは [.sh] の形式で保存されます そのファイルを [./ ファイル名 ] で 実行します [#!/bin/sh] はシェルスクリプトであるという意味になります [echo] は出力を表します 変数 シェルスクリプトでも変数を使うことが出来ます 数字や文字列を代入することができます -31-

変数への代入は [=] で行います その時スペースを入れないようにしてください 変数を echo で表示する場合は変数の前に $ を付けます #!/bin/bash num=10 echo $num word="hello" echo $word 4.2.2.1 変数での計算 変数同士の計算を行う場合は式を [$(())] で囲む #!/bin/bash a=1 b=4 c=$((a+b)) echo $c 条件分 If 文の構文は以下になります if 条件文 1 then 処理 1 elif 条件文 2 処理 2 else 処理 3 fi 条件文は [] でくくります 値の比較は以下の演算子を使います 演算子 書き方 意味 eq a eq b a=b ge a -ge b a>=b gt a -gt b a>b le a -le b a<=b lt a -lt b a<b ne a -ne b a!=b -32-

条件文の [] や比較演算の間にはスペースを入れてください #!/bin/bash a=1 b=2 if [ $a -eq $b ] then echo True else echo False fi while 文 ループ文 While 文の構文は以下になります while 条件文 do 処理を書く done 条件式が真ならばループを続けます #!/bin/bash a=1 while [ $a -lt 10 ] do echo $a a=$((a+1)) done -33-

無限ループの場合は条件文の所を [:] を指定します #!/bin/bash a=1 while : do echo $a a=$((a+1)) done ループを抜ける時は [CTR+C] で抜けてください コマンドの実行 シェルスクリプト内では Linux のコマンドを実行することが出来ます これを利用してディレ クトリの移動やファイルの実行が来ます print "Hello World" [test.py] で保存して Raspberry Pi にホームディレクトリに転送してください 以下のプログラムを実行してください #!/bin/bash pwd cd /home/ pwd cd python test.py コマンド [pwd] の結果が 2 回表示された後 Python のファイルが実行されます 4.2.5.1 Sleep コマンド sleep コマンドを使うと指定した時間だけ処理を遅延させることが出来ます #!/bin/bash echo 'start' sleep 10s echo 'end' [start] から 10 秒後 [end] と表示されます s は秒,m は分,h は時間を表します -34-

4.3 シェルスクリプト作成 1 分毎に python プログラムを実行するシェルを作成してください -35-