宇都宮まで餃子を食べに行ってきました!

久しぶりの投稿になります。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:ネットワーク構築

VPC10.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設定 操作履歴等