久しぶりの投稿になります。5月3日に宇都宮まで行ってきました。朝6時30分に藤沢市を車で出発し到着したのが14時でした。圏央道~東北道が幹線道路と交差するところで大渋滞で8時間かかってしまいました。餃子通りの人気No1のみんみんに行きましたが360分待ちで諦め宇都宮駅前まで行って別の餃子屋さん(宇都宮餃子館)にに入りました。食べ比べ餃子8種(チーズ、ニラ、しぞ、健太、えびなど)、水餃子、佐野ラーメンを食べお腹いっぱいに。でも、いつかみんみんに行きたいな。
東京オリンピックボランティア活動に参加した!
本日(8/1)、江の島で開催されているセーリング競技の参加選手のお出迎えのボランティアに藤沢市のシテイキャストとして参加した。無観客試合になった時点で活動は全て中止となったが、少しでも何かしら活動出来ないか検討してくれたようで応募があり申し込んだら運良く当選したので参加させていただきました。選手が乗ってくるバス、タクシーや自ら運転する車に対して駐車場手前で横断幕を持って旗を張ってお出迎える活動でした。炎天下の中大変ではありましたが気づいて手を振り返してくれる方もいて喜んでもらえて良かったなと感じました。提供されたユニフォームや靴を、一回も着る事なく終わってしまうのかと思いましたが今回着れてよかったです。
片瀬漁港の海の詩像前辺りで、記念撮影してもらった。この恰好で自宅から自転車で江の島まで来ましたが結構目立っていた様です。
RaspberryPiでIoT
RaspberryPiを使ってセンサーの値をクラウドへ格納する実験をおこなってみた。
1.RaspberryPi3ModelBの設定
必要な機器 | RaspberryPi本体、MicroSDカード(32g)、USBキーボード+マウス、HIDIケーブル(TV接続) |
準備 | SDカード初期化:SDカードフォーマッターで初期化 Raspberry Pi ImagerのWindows版をダウンロードしインストール Raspberry Pi Imager でPCからSDカードにRaspberryPiOSを書き込む。 |
接続 | RaspberryPi本体 にSDカードをセット RaspberryPi本体 に USBキーボード+マウスをセット、HIDIケーブルをTVに接続する |
OSセットアップ | RaspberryPi本体 起動(電源接続) WIFI設定 RaspberryPi設定:VNC,I2Cをonに設定する (VNC:PCから RaspberryPiを操作する) |
VNCセットアップ | PCにVNC Viewerインストール |
SSHセットアップ | PCにTeraTermインストール (ターミナル&ファイル転送で利用する) |
2.センサー準備
センサー | 温湿度センサー(SHT31-D) 照度センサー(GY-302) 距離センサー(VL6180X) |
道具 | リレーモジュール(JQC-3FF-S-5V) ブレットボード ジャンパーワイヤー ハンダセット(温度調整付き小手、小手台とスポンジ、ハンダ |
仕組み | xxxセンサーI2C(アイスクエアーシー) VIN/VCC——-電源(プラス) GND———–地面(マイナス) SCL ———— シリアルクロック(データ送受信のタイミング合わせ) SDA ———– シリアルデータ(データの送受信) |
3.センサーをRaspberryPIに接続して動かす
モジュールインストール (プログラム部品) | /home/piの配下にrequirements.txtを格納する <requirements.txt> smbus I2C通信用 rpi.gpio gpioピンの命令 spidev gspread googleスプレッドシート用 oauth2client schedule ターミナルより pip3 install install -r requirements.txt |
Pythonで実行ファイル作成 | /home/piの配下に test.py を格納する <test.py> import RPi.GPIO as GPIO GPIOモジュールをGPIOとして利用する GPIO.setmode(GPIO.BOARD) GPIOの番号をボード通りに使う GPIO.setup(7, GPIO.OUT) GPIO7番を出力として利用 GPIO.output(7, 1) 出力値を1にする |
Pythonで実行 | ターミナルを立ち上げ python3 test.py エンターで実行する |
4.Googleスプレッドシートにセンサーの結果を書き込む
準備 | Google Cloud Platformを開いて API とサービスから ライブラリを選択する GooglesheetsAPI を検索し有効化する。 管理をクリックしAPIとサービスから 認証情報を選択し サービスアカウント設定 サービスアカウント名、役割(オーナー)設定 キー(鍵)が作成(jsonファイル)されるのでダウンロードする 認証情報 にわりあてられたメードアドレスを控えておく xxxxx-sensor@sublime-iridium-xxxxxx.iam.gserviceaccount.com |
スレッドシート作成 | GoogleSPreadSheet URL(ID) で新規ファイル作成し、タイトル変更 共有設定でユーザやグループに上記認証情報のメールアドレス設定ごenterして送信ボタン GoogleスプレッドシートのIDを控える 具体的にはurlのhttps://docs.google.com/spreadsheets/d/ から xxxxxxxxxxxxxxOJTWmzHvneGnJ9iXfzlBIok6Xr3bR78M /edit#gid=0 までの部分 |
Pythonで実行ファイル作成 (例) | /home/piの配下に test2.py を格納する <test2.py> from oauth2client.service_account import ServiceAccountCredentials import argparse import gspread SCOPE = [ “https://spreadsheets.google.com/feeds”, “https://www.googleapis.com/auth/drive”, ] DEFAULT_KEY_PATH = “key.json” DEFAULT_SHEET_ID = “dummy” DEFAULT_SHEET_INDEX = 0 class SpreadSheet(object): def init(self, key_path, spread_sheet_id): credentials = ServiceAccountCredentials.from_json_keyfile_name( key_path, SCOPE) self.sheet_client = gspread.authorize(credentials).open_by_key(spread_sheet_id) 以下関数 |
Pythonで実行 | ターミナルを立ち上げ python3 test2.py -s GoogleスプレッドシートのIDを渡す エンターで実行する |
5.参考画像
ブレットボード上に温湿度センサー
・一番上のラインは5V電源
・二番目はグランド
・最下線はSDA(シリアルデータ)
・その上はSCL(シリアルクロック)
ブレットボード左は距離センサー
ブレットボード右は照度センサー
ブレットボード上はリレーモジュール
そして、画像右のRaspberryPI(液晶接続)と接続している。
温湿度センサーからGoogleスレッドシート取り込んだデータとなる。
江の島まで走ってみた!
藤沢市にある秩父宮体育館のトレーニング室で体を動かしてから江の島まで走ってみた。ちょうど横を流れる境川に沿って江の島まで小道がある。途中で道路を横切ったり、江ノ電の下をくぐったりと何とか行けるようにはなっているので自転車や走る人もいる。ちなみに、反対方向の道は藤沢駅あたりで一旦途切れるが町田市までつながっているサイクリングロードとなっている。なお、江の島までは往復で7kmくらいあるのでちょうどよいランニングコースです。
昨日、東京オリンピックの開会式があり、今日から競技が開始されており、江の島はセーリングの会場となっているが無観客なので、混雑はしていない。片瀬橋にはオリンピックののぼりが一杯あった。
駅もそれほど混んでない!駅は竜宮造りといわれる神社仏閣の技法を取り入れた造りとなっており東京オリンピックにあわせ建て替えられたばかりだ。ちょうど一年前の2020年7月ですが・・・
AWSでWORDPRESSを構築してみた!
AWSを利用してサイトを作成しました。
日々の様々な出来ことを記録できればと思っています。
参考にしたもの
・UDEMY AWS:ゼロから実践するAmazonWebService.手を動かしながらインフラの基礎を習得
【AWS】WordPress SSL化の備忘録
以下、作成手順メモ
1..AWSアカウント作成
2.IAM: ユーザアカウント作成
3.VPC:ネットワーク構築
VPC | 10.0.0.0/8 |
パブリックネットワーク1a (10.0.10.0/24) EC2(Linux)+apache +WORDPress | プライベートネットワーク1a (10.0.20.0/24 ) RDS(MySQL) |
パブリックネットワーク1c (10.0.11.0/24 ) | プライベートネットワーク1c (10.0.21.0/24 ) |
セキュリティグループ設定 | インバウンド:インターネット→port22:ssh、80:http、443:https アウトバウンド:インターネット←EC2 |
4.EC2:Webサーバ構築
AMI(AmazonMachineImage) | AmazonLinux2:t3.micro |
ストレージタイプ | EBS(8G) |
ElasticIPアドレス設定 | ECに割り当てる |
5.apacheインストール
・rloginインストール、SSHログイン
・sudo yum update -y (パッケージ管理ソフト更新)
・sudo yum -y install httpd (apacheインストール)
・sudo systemctl start httpd.service (apache起動)
・sudo systemctl enable httpd.service (自動起動設定)
6.DNS設定(Route53)
ホストゾーン作成 | NSレコード※、SOAレコードが自動作成 Aレコードに ElasticIPアドレス 設定 |
ドメインの取得 | お名前.comで ドメインを取得する お名前.comで取得したドメインのネームサーバを※に変更する |
whois情報 | domain status確認 |
7.データベースサーバ構築
セキュリティグループ作成 | EC2で作成 インバウンド:3306(MySQL) |
DBサブネットグループ作成 | RDSで作成 サブネット:プライベートサブネット(1a、1c) |
DBパラメータグループ作成 | MySQL8.0 各種パラメータの設定ができる |
DBオブジェクトグループ作成 | プラグイン等が設定できる |
データベース作成 | RDS:データべース作成 DBエンジン:MySQL8.0 テンプレート:開発/テスト マスタユーザ(root)、パスワード設定 DBインスタント:db.t2.micro 汎用SSD20GB |
EC2へMySQLインストール | sud yum -y install mysql |
MySQL 接続テスト | mysql -h RDSエンドポイント -u root -p |
8.WrodPress用データベース作成
・ MySQLにログオン
・create database xxxxxx(データベース名) default character set utf8 collate utf_general_ci; (データベース作成)
・create user ‘xxxxx(ユーザ名)’@’%’ identified by ‘xxxxx(パスワード)’; (ユーザ名、パスワード設定)
・grant all on xxxxx().* to ‘xxxxx()’@’%’ ; (すべてのテーブルにアクセス権設定)
・flush privileges; (設定の反映)
9. WrodPressインストール
・sudo amazon-linux-extras install -y php7.2 (PHPライブラリインストール)
・sudo yum install -y php php-mbstring (PHPインストール)
・cd ~ (ホームディレクトリ移動)
・wget https://ja.wordpress.org/latest-ja.tat.gz (apache最新ダウンロード)
・tar xzvf latest-ja.tat.gz (apache解凍)
・cd wordpress (wordpressフォルダ移動)
・sudo cp -r * /var/www/html/ ( wordpressファイル移動 )
・sudo chown apache:apache /var/www/html -R (ファイルの所有者、グループを変更)
・sudo systemctl restart httpd.service (apache再起動)
10.SSL化
ssl証明書作成 | Certificate Manager パブリック証明書リクエスト ドメイン名、*. ドメイン名 の2つ DNS検証 CNAME登録(Route53に登録) |
ロードバランサ設定 | EC2でアプリケーションロードバランサ作成 |
DNS Aレコード設定 | ROUTE53でAレコード aliasをYESとして アプリケーションロードバランサ 設定 |
WORDPRESS管理画面の SSL化 | wp-config.phpのdefineの下に以下を追加 (nanoコマンドで編集する) $_SERVER[‘HTTPS’]=’on’; define(‘FORCE_SSL_LOGIN’, true); define(‘FORCE_SSL_ADMIN’, true); |
WORDPRESSのSSL化 | プラグイン simple ssl のインストールと有効化 |
HTTP→HTTPSリダイレクト | EC2ロードバランサーのリスナーのHTTP80のルールを表示/編集を選択してルールを追加する。 IF(パスが*)ならTHEN(リダイレクト先:HTTPS、443)とする |
11.その他
スナップショット取得 | (EC2,RDS) |
cloudWatch設定 | 料金、リソース(CPU,DISK容量等) |
cloudTrail設定 | 操作履歴等 |