Atom's tech blog

Raspberry Piで顔検出した顔画像をAWS経由でLINE通知してみた!

本記事は、遠隔からRaspberryPiのカメラを起動し、顔検出した画像をLINEに通知します。 キーワードは「AWS IoT Device Shadow、IoT Rule」、「AWS Lambda」、「LINE Nortify」です。 構成図 LINE Notifyを登録とアクセストークン発行 AWS Lambda関数の作成と…

Pythonを勉強しよう! 他モジュールのクラスをインポート

Python初心者の備忘録..... 今回は他のPythonファイル(モジュール)をインポートする方法です。 基本的なimport宣言 別名を任意につけたimport宣言 複数のimport宣言 モジュール内の特定のメソッドのimport宣言 動的にインポート インストールしたパッケー…

Pythonを勉強しよう! switch文はあるの?

Python初心者の備忘録..... 今回はPythonでC言語のswitch文のような記述についてです。 C言語のswitch文の記述 Pythonのswitch文相当の記述 残念ながらPythonにはC言語でいうswtich文のという条件文はありません。 C言語のswitch文の記述 C言語では「 switch…

Pythonを勉強しよう! 更新不可のデータ(タプル)の管理

Python初心者の備忘録..... 今回はリスト型に似ているタブルについてです。 タプル作成 タプル変数を更新した場合 ご参考 タプルで使用可能なメソッド リストで使用可能なメソッド タプルは1回設定した要素は書き換えることができないリストのことをいいます…

Pythonを勉強しよう! and、or、notについて

Python初心者の備忘録..... 今回は条件文「 if 」、「 elif 」などでよく使われる論理演算子「 and 、or 、not 」についてです。 演算子比較 and(論理積) or(論理積) not (否定) この演算子はどのプログラミング言語でも使われます。しかし言語で記述が…

Pythonを勉強しよう! データを管理するリストについて

Python初心者の備忘録..... 今回はよく使われるリスト型についてです。 リストの生成 要素が整数の場合 要素が文字列の場合 空のリスト(スクエアブラケット) 空のリスト(list()コンストラクタ) リスト要素の追加 append()メソッド 新しい要素を配列指定 …

Pythonを勉強しよう! Pythonパッケージ管理について

Python初心者の備忘録..... 今回はPythonのパッケージ管理についてです。 pip インストール パッケージインストールコマンド関連 requirements.txtの書き方例 インストールリスト表示 最新版がインストールされていないパッケージを表示 最新版がインストー…

Pythonを勉強しよう! ローカルとグローバルについて

Python初心者の備忘録..... 今回はローカルとグローバルのスコープと変数についてです。 ローカルスコープ/変数 グローバルスコープ/変数 ルール グローバル変数値の変更 プログラミングする上で絶対意識する必要があります。例えば関数外で作成した変数は…

Pythonを勉強しよう! 関数とメソッドの違い

Python初心者の備忘録..... 今回は関数(function)とメソッド(method)の違いについてです。 関数 関数の基本形 入力パラメータが無い場合 入力パラメータが有る場合 結果を返す場合 メソッド 関数とメソッドの違い プログラミングする上で絶対関数とメソッ…

Pythonを勉強しよう! 関数パラメータに初期値を設定する

Python初心者の備忘録..... 今回は起動先の関数側で、予め初期値を設定しておく方法です。 デフォルト引数ができる記述 パラメータが一つの場合 パラメータ全てに初期値を設定する場合(下記はパラメータ2つ) パラメータ二番目だけに初期値を設定する場合(…

Pythonを勉強しよう! パラメータ名を指定して引数を渡す

Python初心者の備忘録..... 今回は、関数でパラメータ値を渡すときに、パラメータ名を指定して渡す方法です。 キーワード引数 サンプルソース 基本的には、起動先の関数のパラメータの順番は同じにする必要があります。これはC言語と同等。パラメータ名を指…

Pythonを勉強しよう! 同じ処理を繰り返すfor文

Python初心者の備忘録..... 今回は、「 for 」文についてです。 for文の記述 for文を途中で終了: break 処理をスキップ: continue forループ正常終了後の処理: else インデックス(カウンタ): range()関数 インデックスカウンタを0から開始するとき インデ…

Pythonを勉強しよう! if文と比較演算子について

Python初心者の備忘録..... 今回は、「 if 」文と「比較演算子」についてです。 if文 基本的なif文の形 if のみの場合 if , else 場合 if , elif , else の場合 比較演算子 == の書き方例 != の書き方例 > の書き方例 「 >= 」の書き方例 < の書き方例 <= の…

Pythonを勉強しよう! 関数の戻り値について

Python初心者の備忘録..... 今回は、関数の戻り値についてです。 戻り値とは return文 戻り値が1つのとき 戻り値が2つのとき 戻り値が2つのうち1つ使わないとき 戻り値を計算して返すとき 戻り値とは 戻り値は「関数」から返ってくる値をいいます。自分はリ…

Pythonを勉強しよう! 変数名の命名規則

Python初心者の備忘録..... 今回は、自身スキル不足で命名規則を詳しく知らなかった....情けない。 プログラミング言語では下記の命名規則が広く使われているみたいです。 命名規則 感想 命名規則 記法 規則説明 記述例 キャメル記法 複数の単語を連結。先頭…

Pythonを勉強しよう! シングル/ダブル/トリプルクォーテーションについて

Python初心者の備忘録..... 今回は文字型には、「シングルクォーテーション」、「ダブルクォーテーション」、「トリプルクォーテーション」があり、このあたり勉強してします。 シングルクォーテーション/ダブルクォーテーション 全文文字列にならない 全文…

Pythonを勉強しよう! 文字列から数値への変換

Python初心者の備忘録..... 今回は数値の文字列から数値へ変換することを勉強してみます。 数字の文字列を整数(int)、浮動小数点(floar)へ変換 エラーになるケース 2、8、10、16進数文字列を10進数に変換 数字の文字列を変換して演算 数字の文字列を整数…

Pythonを勉強しよう! 扱うデータの種類とn進数の変換

Python初心者の備忘録..... 今回はPythonで扱う基本データ型とn進数の変換について勉強してみます。 Pythonで扱う基本データ型 2進数、8進数、16進数の書き方 2進数、8進数、16進数へ変換 bin(),oct(),hex()を使用 format()を使用 10進数へ変換 int()を使用 …

AWS IoT Device Shadowを使ってみた!(Part4)

本記事は、最終目標である遠隔からDevice Shadow機能を使ってIoT Device制御をまとめたものです。 なお、4つの記事の中で今回は 下記の「 Part4 」です 主な全体記事の流れです。 ■ Part1 : API Gatewayから起動するLambda関数の作成 ■ Part2:API Gatewayに…

AWS IoT Device Shadowを使ってみた!(Part3)

本記事は、最終目標である遠隔からDevice Shadow機能を使ってIoT Device制御をまとめたものです。 なお、4つの記事の中で今回は 下記の「 Part3 」です 主な全体記事の流れです。 ■ Part1 : API Gatewayから起動するLambda関数の作成 ■ Part2:API Gatewayに…

AWS IoT Device Shadowを使ってみた!(Part2)

本記事は、最終目標である遠隔からDevice Shadow機能を使ってIoT Device制御をまとめたものです。 なお、4つの記事の中で今回は 下記の「 Part2 」です 主な全体記事の流れです。 ■ Part1 : API Gatewayから起動するLambda関数の作成 ■ Part2:API Gatewayに…

AWS IoT Device Shadowを使ってみた!(Part1)

以前の記事からの変更追加 一番難航したところ AWS構成図 IoT Device Shadowとは Lambda function作成 Lambdaのロールアタッチとポリシー登録 備忘録です。 本記事は、最終目標である遠隔からDevice Shadow機能を使ってIoT Device制御をまとめたものです。 …

AWS アクセスキー情報を取得してみた!

AWS

備忘録です。 アクセスキーの作成 アクセスキーのダウンロード Rasberry PiからAWS CLIを使用するのでインストールしてみたら、「 アクセスID 」と「 シークレットアクセスキー」が必要だった.....。 アクセスキーを取得してみました。 アクセスキーの作成 A…

Rasberry PiにAWS CLIをインストールしてみた!

備忘録です。 前提条件 Rasberry Pi SSH接続 AWS CLI インストール AWS CLI アップグレード AWS CLIバージョン確認 AWS CLI使用設定 コマンドリファレンス 前提条件 Raspberry PiとPC(MAC)がインターネット接続されていること Raspberry Piにpipコマンドが…

AWS API Gateway/Lambda Functionを使用してIoT Coreへメッセージ送信してみた!

AWS

最終目標は 「 スマホ-> AWS API Gateway->Lambda->AWS IoT Core -> IoT Device」ルートで遠隔操作です。 本記事ではAWS API GatewayにLambda関数を登録して、AWS IoT Croreで受信ができるところまで。 少しみたところIoT Deviceを制御するには、IoT Coreで…

Raspberry Pi からCPU温度、メモリ使用量をAWS IoT Analyticsへデータセットしてみた!

本記事ではコアデバイス(Raspberry Pi)から送信したCPU温度、メモリ使用量をAWS IoT Core経由でIoT Analyticsへデータセットしてみます。 AWS IoT Analyticsとは AWS構成図 IoT Analytics登録 IoT Analytcisコンソール チャネル作成 チャネルID、データ保…

Raspberry Pi からAWS IoT通信データをEmail通知してみた!

本記事ではコアデバイス(Raspberry Pi)から送信したメッセージをAWS IoT Core経由でEmail通知(AWS SNS)してみます。 AWS SNSとは AWS構成図 AWS IoTルール追加 AWS SNSにEmail登録 Raspberry Piからメッセージ送信 フォルダ/ファイル構成 メッセージ送…

Raspberry Pi のAWS IoT通信データをデータベース(DynamoDB)へ挿入してみた!

本記事ではコアデバイス(Raspberry Pi)から送信したメッセージをAWS IoT Core経由でデータベース(DynamoDB)に挿入してみます。 Amazon DynaoDBとは AWS構成図 DynamoDBサービスにテーブル追加 DynamoDBの起動 テーブル追加 AWS IoTルール作成 コアデバイ…

Raspberry Pi でAWS IoT Core Lambda関数を未使用でPythonスクリプトを実行してみた!

本記事では、コアデバイス(Raspberry Pi)にデプロイしたLambda関数ではないPythonスクリプトを実行してAWS IoT Coreでメッセージ受信ができるかトライしてきます。 AWS構成図 Raspberry PiへSSH接続 環境構築 Pythonスクリプトファイル編集と実行 pythonフ…

Raspberry Pi でAWS IoT Greengrassを動かしてみた!(Part5)

本記事はGreengrass Core = 1.11.0 で実施した情報です。 ここではコアデバイス(Raspberry Pi)にデプロイしたLambda関数が起動し、AWS IoT送受信できていることを確認します。 Part1: Raspberry Piのセットアップ Part2: AWS IoT Greengrass(クラウド)の…