2022年3月26日土曜日

さくらのクラウド「さくらのモノプラットフォーム」でLTE-Mを使ってCO2モニタリングしてみた

「さくらのIoT」でいち早くLTE接続対応のIoTデバイスとクラウドサービスの融合を実現していたさくらのインターネットがLTE-Mを使った新サービス
さくらのクラウド「さくらのモノプラットフォーム」をサービス開始しました。
https://iot.sakura.ad.jp/platform/

クローズドベータテスト募集がされていたので申し込み、いただいたアカウントと基板でサクッと試してみましたが、なかなか記事にできずにおりました

今回は、さくらのモノプラットフォームを使い作成したCO2モニタリングシステムについて紹介します。


テスター登録したところ、モノプラットフォームだけでなく、無料で各サービスを利用できるアカウントのログイン情報がメールで届きました。 また後日、

M5Stack対応LTEモジュール
DIP型LTEモジュール基板
LTEアンテナ
STM32Nucleo対応シールド基板
J-LINKコネクタ変換基板
のセットが到着しました。


利用開始前に、メールで届いたID、パスワードを使い、コンソールにログインしてSIMの登録を行います。
SIMはオンボードのeSIMで、基板上に書いてあるICCID、パスコードを入力して登録します。
あとはモノプラットフォームのメニューからプロジェクトを作成、SIMを紐付ければ準備完了です。
若干手順がありますが、このあたりはすべて丁寧なドキュメントがありますので、ドキュメントの手順どおりやれば問題ないです。
https://manual.sakura.ad.jp/cloud/manual-iotpf.html



さて、ハードウェア側です。Nucleoはあまり使っていないものの、M5Stackは出始めからいじっていたので早速つないでみました。
マニュアルにArduino用サンプルスケッチがあり、書き込むといきなりLTE-Mでさくらのサーバーと接続ができます。

サンプルは、M5StackのボタンA、ボタンB、ボタンCの押された回数をそれぞれ送信するもので、送信に成功すると、画面上の数字が増えていきます。

コンソールにログインすると、ブラウザ上で送信ログを確認できます。

もちろん、デバイスの送信データを受信するためのAPIもあります。
後述しますが、こちらはWebSocket APIになっており、デバイスがデータを送信するとJSONにシリアライズされて流れてくるストリーミングAPIです。

サンプルスケッチを見ると、LTEモジュールに送るコマンドフォーマットがわかるので、適宜改造すればサクッとデータを送信可能です。
データ形式は以下の通りです。

タグID
データ型 uint8からfloat64まで数種類
データ本文

これを設定して送信する形になります。
たとえば、温湿度センサーの値を送る場合、
タグID 0x01をfloat32で温度
タグID 0x02をint8で湿度
のようにして使うとそれぞれ別のものとして区別して送信できます。
サンプルスケッチでは、

ボタンAをタグID: 0x01のuint32
ボタンBをタグID: 0x02のuint32
ボタンCをタグID: 0x03のuint32

としてそれぞれ送信するようになっています。
試したところ、タグIDは0x00-0xFFまで使うことができたため、255個の変数を設定できそうです。

サンプルスケッチの、setup()にある接続周りの処理を実行すれば、あとはsipf_client.cppにある
SipfCmdTxコマンドでデータ送信が可能です。
先ほどの例で、気温を送信したい場合は、

SipfCmdTx(0x01, OBJ_TYPE_FLOAT32, (uint8_t*)&temperature, 4, buff);

のようにして送信できます。
引数は、第一引数から

//タグID(0x00-0xff)
uint8_t tag_id;
//spif_client.h enum SimpObjTypeId データ型enum
SimpObjTypeId type;
//データ本文
uint8_t *value;
//データレングス(バイト)
uint8_t value_len;
//モジュールからのレスポンスバッファー(?)
uint8_t *otid;

という理解で使うことができました。
それでは実際に任意の値を送ってみます。



M5StackにGROVE接続のSensirion SCD41 CO2 温湿度センサーを接続しました。
SCD41は、Sensirion公式のArduinoライブラリがあり、M5Stackで即動作させることが可能です。
SCD41のサンプルスケッチに、さくらのモノプラットフォームのサンプルスケッチを合体したものを作ってデータ送信してみました。
データ送信は、以下のようにしています。

//CO2送信コマンド発行
ret = SipfCmdTx(0x00, OBJ_TYPE_UINT16, (uint8_t*)&co2, 2, buff);
//気温送信コマンド発行
ret = SipfCmdTx(0x01, OBJ_TYPE_FLOAT32, (uint8_t*)&temperature, 4, buff);
//湿度送信コマンド発行
ret = SipfCmdTx(0x02, OBJ_TYPE_FLOAT32, (uint8_t*)&humidity, 4, buff);

タグID: 0x00をCO2
タグID: 0x01を気温
タグID: 0x02を湿度
にして、それぞれuint16 float32形式で送信しています。

測定は5秒に1度測定してLCDに表示、送信は1分に1度最新の値を送信するようにしました。

送信したデータは、WebSocket APIを使うとリアルタイムに確認することができます。



これはwscatを使ってコンソールで接続していますが、ブラウザのJavaScriptでWebSocket接続することも可能です。
(WebSocket APIのエンドポイントURLは公開しないほうがよさそうなので、公開するなら間にプロキシがいるかも)

デバイスが送信したデータを受信するAPIは、サービスアダプタと呼ぶようです。
サービスアダプタには、このWebSocket APIに加え、Outgoing Webhook、Incoming Webhookが作成できます。
HTTP APIを自前サーバーで作っておけば、データ受信時にHTTPリクエストで受け取ることも可能なようです。
それに加えて、今回は使っていませんが、デバイスからデータを送信するほかに、デバイスにデータを送信することも可能です。

それでは、データが送信できているのを確認したので、データ蓄積や表示ができるようにしたいと思います。

さくらのクラウドでは、もちろんVPSサーバーやデータベース、VPCルーターなどを作成可能であるため、
エッジデバイスのデータ送信からバックエンドまでワンストップで行うことが可能です。

モノプラットフォームのベータテストアカウントでは、なんと太っ腹なことにこれらのクラウドサーバーサービスも無料でトライアル可能でした。
非常にリッチなVPSなども立ち上げ可能ですが、1クライアントではそれほどのスペックは必要ないため、

プラン/2Core-2GB OSはUbuntuのサーバー ストレージは20GB SSD
MariaDB 10.4 シングル構成 1Core RAM2GB ディスク10GB
VPCルーター
スイッチ

という構成で組んでみました。



それぞれWebUIからぽちぽち押していくだけで作れるので簡単に設定できます。

Ubuntuサーバーを使って、Node.jsでWebSocket APIに接続し、データを受信したらデータベースに書き込み
別にNode.jsでHTTP APIも作ってデータベースから値を引っ張ってくるAPI動かすようにしました。
CO2、温度、湿度の順番でデータを送信しているため、それぞれ受信して3つが揃った段階でデータベースに書き込むようにしています。
あとはNginxで表示ページをホストして、Chart.jsでグラフを表示させるようにして完成です。



このへんはセンサー系のPoCではいつもどおりの作業ですね

使ってみた感想ですが、データ送信を非常に簡単に行えるのがメリットだと思います。

データ送信から受信までのプロセスを含め、1から作ることも可能ですが、
プロトコルを作るところから始まることになり非常に煩雑です。
モジュール、アンテナの技適やモデムコマンドを含むデータシートの開示のためのNDA契約など、
一切のプロセスを飛ばして、いきなりコマンドラインで受信可能な状態になることは
非常にアドバンテージがある仕組みだと思います。
セルラーIoTを初めたいけど、何からはじめていいかわからない、という方は1つのアカウントで
エッジデバイスからサーバーサイドまで管理できて明朗会計なさくらのモノプラットフォームがおすすめです!

2021年5月22日土曜日

USB HID-UARTブリッジ CH9350を使ってみる

秋月新商品で、CH340でおなじみWCH製、
USB HID-UART相互変換ブリッジICが出ていました。

USBマウス・キーボード用シリアル通信制御IC 
CH9350L: 半導体 秋月電子通商-電子部品・ネット通販
https://akizukidenshi.com/catalog/g/gI-16308/
 
早速先週末店頭で購入したので試してみます。
USB HIDホストになるUSBポート、USB HIDスレーブ(デバイス)になるUSBポート、
UARTのTx/Rxが付いています。

KVM Switch用に使うことが想定されているようで
このIC同士をシリアルで結ぶと、片方のホスト端子に繋いだUSBキーボードを、
もう片方のスレーブ端子につないだUSBコネクタでPCと接続させることができます。
[キーボード]--USB-->[Rx IC]--UART-->[Tx IC]--USB-->[PC]
という構図です。UARTをバススイッチで切り替えるのは容易ですし、
PCにはHIDとして認識させたまま切り離すとかできそうなのでKVMには最適ですね。
さらに、RS-422ドライバを載せたりすると相当延長できそうですよね。
そんなICです。

本来の使い方ではありませんが、UARTの通信を読めれば、
汎用のUSB HID-UARTとして、
マイコンに、面倒なSPI接続のUSBホストICを繋いだりせず
USBキーボードを接続できるのではと思い買ってみました。


データシート通りにこんな感じの配線で仮組みしてみました。
電源はUSBプラグからVBUSを入力、
ボタンを押しながらUSB接続するとUSBスレーブモード、
何もせずつなぐと電源供給のみで、USB HID to UARTブリッジとして動きます。

電源を入れて、USBキーボードとUSB-UART変換をつなぎ、
Tera TermのデバッグモードでUART出力をバイナリ表示してみるとこんな感じでした。


何も入力していないとき、
0x57 0xAB 0x82 0xA3
が繰り返し流れています。
入力すると、こんな感じのフォーマットでキー入力が拾えることがわかりました。


中国語データシートでなかなか読むのが難しく、詳しくは調べておらず、
現物合わせなのですが、Headersとなっている部分はおそらく状態表示も含んでいて、
微妙に変化があるかもしれませんが、
8バイト目から13バイト目にキー入力が表示されていました。
キー入力のフォーマットは、USB HID仕様の、Usage IDが表示されているようです。

何も入力していなくてもダーっと0x57 0xAB 0x82 0xA3が流れていて、
目で追うのは大変なのでPython3でパーサーを作りました。

押したキーがUsage IDのテーブルを参照して文字で表示できるようになっています。



おまけでNum Lock、Caps Lock、Scroll LockのLEDの制御ギミックも入れています。
これって、キーボードが状態を保持しているんじゃなくてホスト側からの司令で
点いていたんだなぁという発見がありました。(何もしないと点かない)

M5Stackなどの画面付きマイコンボードで文字入力をするのには、GROVEコネクタ1本で
かなり楽ちんに接続できてよさそうです。ぜひ一度お試しください。

2021年3月21日日曜日

えっ、まだESP32にRTC外付けしてるんですか!?

煽り気味のタイトルで始めてみましたが、今回はESP32の内蔵RTCの話をしようと思います。
ESP32にはRTCが内蔵されています。

RTC timer: Allows keeping the system time during any resets and sleep modes, only the power-up reset leads to resetting the RTC timer. The frequency deviation depends on an RTC Clock Source and affects accuracy only in sleep modes, in which case the time will be measured at 6.6667 us resolution.

公式のWikiにも書いてあるとおり、スリープ中も使えるクロックです。
deepsleepの復帰をタイマーで設定するAPIなんかはこのクロックを使っています。
ただ、このクロックは、標準では内蔵RCオシレーターを使うようになっており、
実測したところ30分でも数秒以上の誤差が出ることもありました。
何時何分のデータかタイムスタンプが重要なアプリケーションや、
正確な起動時間が求められるタイマーとしてはこのままでは使うことができません。

そこで、DS3231のようなI2C RTCを接続し、スリープの復帰をGPIO割り込みにして、
RTCのINTピンを使って起こすなんてことをよくしていると思います。
しかし、実はESP32内蔵のRTC、よくRTCに使われる32.786kHzのクロックを
外部から供給して、外付けRTC並の高精度な時刻保持ができるのです。
上記リンクを少し下へスクロールすると、 RTC Clock Sourceという項目があります。
そこには
・Internal 150kHz RC oscillator (default)
・External 32kHz crystal
・External 32kHz oscillator at 32K_XN pin
・Internal 8.5MHz oscillator, divided by 256 (~33kHz)
という利用できるクロックソースのリストがあります。
それぞれ、
標準で使用されるRCオシレーター、
外付け32k水晶
XNピンへのクロック入力
内蔵8.5MHzオシレーターの分周
となっていますが、標準のRCはご存知のようにかなり精度が悪いです。
また、8.5MHzから分周するのも、周波数安定度は高いものの、
周波数が近似値なので均一にかなりずれます。絶対時間での誤差ではRCのほうがマシでした。
そこで、32kHzの水晶を外部に接続する方法を試してみました。


ひどい話ですね。これまで流通していたESP-WROOM-32では
うまくRTC用クロックソースの水晶を発振できませんでした。
そんな矢先、秋月でもチップバージョン3のWROOM-32Eが発売されていたので
本当にそちらでは動くのか試してみました。

水晶のドライブに必要な回路はデータシートの11-12ページに書いてあります。


GPIO32, 33に並列に抵抗を入れて、あとは水晶と負荷容量をつなぐだけです。
並列の抵抗は5M~10MΩとされていたので、手持ちのある5.1Mを使いました。


なお、ハードウェア的に接続するだけで自動的に水晶が使われるわけではなく、
ビルドオプションでクロックソースを別途設定する必要があります。


idf.py menuconfigで
Component config->ESP32-specific
RTC clock sourceでEnterを押して
External 32kHz crystalを選択
Number of attempts to repeat 32k XTAL calibrationでEnterを押して、
適当に数値を増やす
(これをしないと、発振の開始が間に合わずRCに切り替わってしまいます。)
なお、この数値を莫大な数値にすると、
発振できない場合にブートローダー内でWDT Resetが掛かりブートループになります。

うまく発振できないと、ブートローダーでこのようにエラーが出て、RCに切り替わります。


プローブを当てて、発振できているのにこの表示になる場合は、
Number of attempts to repeat 32k XTAL calibrationの数値を増やすといいと思います。


うまく発振できると、App cpu upの周りでエラーが表示されなくなります。
このように、ESP-WROOM-32Eでは外付けの水晶を使ったRTCクロックソースを
使用することができました。

この状態で実際に仕事で使ってみていますが、半日時計合わせをしなくても
1秒以内の誤差になっているため、
外付けRTCなしでも絶対時刻が重要なアプリケーションで使用できています。

ちなみに、秋月で売っているESP-WROOM-32Eは、技適マークが刻印されておらず、
シールが添付されていますが、3月のロットからは技適マークが入るようになっています。

Changes of the marking on ESP32-WROVER-E and ESP32-WROVER-IE to add new certification identification

実際にDigiKeyで3月に購入したものについては、技適マークが入っていました。

2021年1月10日日曜日

WindowsでphpMyAdminを使う+多段SSHポートフォワードでDBのポートが通るようにする

サーバーサイドは本番環境は自分は作らず、試作や検証目的のことが多いので、
データベースは1つのVPS上にMariaDB+Webサーバ&phpMyAdminの環境を構築して
SSHポートフォワードで直接サーバ内のphpMyAdminを開いてSQLを投げていたのですが、
たまに本番環境のDBも時折直接編集する必要が出てきて、
Amazon AWS VPC内にあるRDSを多段踏み台経由で操作する必要ができました。
接続の構成としてはこんな感じ。

ひとまずRLoginで多段踏み台経由でRDSと接続するポートをSSHポートフォワーディング、
やはりGUIで操作したいのでMySQL Workbenchを使ってやっていたのですが、
phpMyAdminのほうが慣れていてやっぱり使いやすいよなということで、
ローカルにphpMyAdmin環境を構築し、リモートDBを参照できるように設定してみました。
結果はうまくいっていつもどおりphpMyAdminからRDSを操作できています。
ぱっと調べてもコピペで動くページが見つからなかったので手順をまとめておきます。

構成:
OS: Windows 10(x64) WSLも使わないしあんまりバージョンは問わない
Webサーバ: nginx version: nginx/1.19.6
php: PHP 8.0.0 (cgi-fcgi) (built: Nov 24 2020 22:02:53)
ターミナル: RLogink (x64) Version 2.25.6 (2020/12/09)
phpMyAdmin: 5.0.4

多段SSHポートフォワードでSQL用のポートが通るようにする
RLoginをダウンロード
Tera termのスクリプトとかでもできるみたいなんですが、
RLoginならGUIで全部設定できるので最近は結構使っています。
少しスクロールしたところに、GitHubからダウンロード、実行プログラム…
という項目があります。
64bit Windows 10なのでrlogin_x64.zipをダウンロードしました。
インストーラではなく解凍したところにいきなり実行ファイルがあるので、
適当な場所へ移動しておいたほうがいいと思います。

起動するとServer Selectというダイアログが出るので、新規をクリック

まずはエンドポイントとなる踏み台の接続情報を埋めていきます。
ホスト名に踏み台のホスト名あるいはIPアドレスを入力
ユーザー名に接続ユーザー名、パスワードログインが可能ならパスワード
鍵認証の場合は、SSH認証鍵ボタンで鍵ファイルを選択
エントリー欄にわかりやすい名前(踏み台1など)をつけておく

プロトコル項目のポートフォワードをクリック

新規をクリックしてSSH2ポートフォワード設定ウインドウで
Local Socksを選択
Host: localhost、Port: 11022(任意)
でOK

一旦つないでみて、SSH接続できたら踏み台1の設定はOK。
VPC内にあるDB接続用踏み台の接続プロファイルを作成
再びServer Selectウインドウで新規をクリック

右上にあるタブ(上)、前接続先(下)の下のプルダウンで
先ほど作成した接続プロファイルを選択

IPアドレス(Host名)、ユーザー、認証情報を入力
プロキシ設定ボタンでSelect Proxy Protocol: SOCKS5を選択
Server OptionでProxy Server Address: localhost
Socket Portを先ほど設定したポート 11022に設定してOK

プロトコル→ポートフォワードウインドウを開く
Listened: Local、 Host:localhost、 Port: 13306(任意)
Connect: Host: RDSのIPアドレス、 Port: 3306
に設定してOK

Server Selectに戻り、踏み台2のほうに接続すると、
自動的に多段SSH接続してくれて、RDSのポートも通るようになる。

Nginx+phpMyAdminを使えるようにする
上記手順でlocalhost:13306でRDSと接続できるようになったので、
phpMyadminをセットアップ。

Nginxをダウンロード
nginx/Windows-1.19.6 を選びました。解凍してC:\nginxに移動しました。

phpをダウンロード
x64 Non Thread Safe のZipをダウンロードしました。解凍してC:\phpに移動しました。

phpMyAdminをダウンロード
右側にDownloadってリンクボタンがあります。
解凍して、C:\nginx\html\phpmyadminに移動しました。

C:\nginx\conf\nginx.confをエディタで開き、
location ~\.php$...の部分のコメントアウトを外して有効にして、
SCRIPT_FILENAMEの行を修正します。

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

とりあえずphpが動くようになったか確認してみます。
C:\nginx\html\phpinfo.phpに以下の内容のファイルを保存します。

<?php
phpinfo();
?>

Nginxとphp-cgiの起動スクリプトを作成します。
C:\nginx\run.batに以下の内容のファイルを保存します。

start nginx.exe
start C:\php\php-cgi.exe -b 127.0.0.1:9000

停止用スクリプトも作成します。
C:\nginx\stop.batに以下の内容のファイルを保存します。

  nginx -s stop
  taskkill /F /IM php-cgi.exe

run.batを実行して、
http://localhost/phpinfo.php
を開いて、
phpinfoが正常表示できれば準備完了です。
停止するときはstop.batを実行すればphp-cgiとnginxが停止します。


phpMyAdminの設定を行います。
C:\nginx\html\phpmyadmin\config.sample.inc.phpをコピーして、同じフォルダにconfig.inc.phpとして保存します。
内容を以下のように編集します。

  $cfg['Servers'][$i]['host'] = 'localhost';
  $cfg['Servers'][$i]['port'] = '13306';

ポートフォワードでローカルホストの13306でRDSと接続できるようにしたので、
host: localhost、port: 13306にします。
portの項目がない場合は行を追加すればOKです。
コメントアウトされている場合はコメントアウトを解除して設定を有効にしてください。
保存して、
http://localhost/phpmyadmin/index.php
を開くとphpMyAdminが開きます。
RDSの接続情報を入れればRDSをphpMyAdminで操作できます。



2021年1月2日土曜日

ジョゼと虎と魚たちを見た感想

劇場版ヴァイオレット・エヴァーガーデンを見てから、一人映画もなかなかいいなと思い、
ご飯食べにでかけた先で折角来たのでみたいな感じで、
ヴァイオレット・エヴァーガーデンは3回も見たりしてました。
大人向けアニメ映画自体それほどぶわーっと人が入る映画でもないので、
館内もわりと閑散としていてコロナ禍向きのエンターテインメントだなと思っています。
映画館ごとに椅子の座り心地とか、スピーカーのセッティングが違うのがわかり、好みもわかってきたような気がします。

ヴァイオレット・エヴァーガーデンを見るときに予告編で何度か見ていた、
「ジョゼと虎と魚たち」を今度は見ようと思っていて、
たまたま最寄りの映画館の予約を見たら1席しか予約入っていなかったので
空いてていいじゃんと今日行ってきました。
結局僕を含めて5人くらいしか入ってなかったです。この回、赤字なのでは…


さて、内容ですが、
生まれつき足が動かないようで、車椅子に乗ったジョゼと、
アルバイトでもダイビングショップで働くダイビングをライフワークにしている学生、管理人と、
ダイビングショップのアルバイトの同僚が主な登場人物です。
ひょんなことから主人公の大学生は「管理人」としてジョゼの世話焼きのアルバイトを始めます。
ジョゼはおばあちゃんと二人暮らし。
おばあちゃんには外は危険で恐ろしい猛獣ばかりと言い聞かされながら毎日家の中で過ごしています。
ふわふわした可愛らしい見た目ですが毒舌で横暴。
自分の部屋のふすまを閉めたまま、ふすま越しに管理人に無茶な要求をして使い走らせます。
高額な時給を目当てに管理人は必死で要求に答えますが、
掛け持ちバイト先のダイビングショップの同僚に、「アイツ絶対泣かす」とボヤきます。



ある日、いつものようにジョゼの家へ行くとジョゼの姿がありません。
管理人はおばあちゃんと一緒に探し回ります。ジョゼを見つけた管理人は、
これからたくさんジョゼと一緒に外の世界へ出歩くことになります…

ネタバレはこれくらいにしときます。予告見た感じだと全然話わからなかったので、
これくらいの情報は知ってても良かったなと思ったのをまとめたのが上のあらすじです。

内容ではありませんが、音楽がヴァイオレット・エヴァーガーデンと同じEvan Callさんで、
とても情景に合った効果的なBGMになっていたと思います。
舞台は大阪の市街地で、ちょうど先日マジミラ併催イベントの通天ミクを見に行ったので記憶に新しい町並みが丁寧に描かれていました。

主人公の管理人はひたむきで人当たりもいい好青年。
自身の夢、目標に対して一歩一歩近づいていきます。
この時点で、僕はこういう人に弱いので自己実現を応援したくなります。
一つステップを進むたび、こちらもうれしくなります。
夢を掴むためのステップを自分で組み立てて一歩ずつ進んで行く感じがよく描かれています。
僕自身進路とかを真面目に考えたことがほとんどなくて、
成り行きで大学卒業まで進んできたので、しっかりとした夢や目標がある人に憧れる部分があるのかなと思います。
ストレートに何もかもうまく行ってしまうと物語にならないのでやはり挫折があります。
絶望で空っぽになってしまったところ、仲間に夢を思い出させてもらう、月並みなパターンですが、内容が、本当に自分も頑張ろうと思うだろうなという説得力のあるエピソードになっています。

ジョゼも、家に閉じ込められていたところから、怖い世界だと思っていた外の世界に触れ、
友達もできて、自分の生き方や目標を見つけます。


「何者」という映画があって、就職活動を描く作品で、
大してやりたいこともないけどどっかに入らないといけない。
何社受けても面接で落とされる。じゃあどんな自分を作って面接で見せたらいいんだろう。
そもそもこんなことはなんの意味があるんだろう?
みたいな鬱々とした作品なのですが、その逆って感じですね

今就職活動中や、受験する大学を決めようみたいな進路について考えている学生は、
やりたいことがない人も、多少なりとも夢がある人も「何者」よりはジョゼを見たほうがいいと思いますw
やりたいことがあって、自分でそのためにどうしたらいいか考え、歩きながら、
そのやりたいことに対して周りの理解や応援があると、
それが実現してもしなくても本当に幸せだろうなと思うのですよ。
自分がそうじゃなくても夢を追う人を支える側になり、一歩一歩自己実現に近づくのを共に喜ぶこともやはり幸せだろうなとダイビングショップの仲間を見ていて思いました。

本音ですか?
管理人のように芯のあるヤツだったら人生豊かで楽しいだろうなと思いました。
自分でバシィッ!と目標を決めて突き進むのは自分の人生を作り上げていく感じがするんだろうなと。
僕なんか成り行きで薄っぺらい人生を歩んでいますよ。それが不幸とまでは感じませんが。

2020年10月28日水曜日

劇場版ヴァイオレット・エヴァーガーデン見た感想

ヴァイオレット・エヴァーガーデン、すごく評判良くて
映画館とか5年くらい行ってないので久しぶりに行くかー
と思ってたので先週末見に行きました。


結論から言うとかなりよかったです。

久しぶりの映画館は鬼滅の刃ばっかりやっていて鬼滅キッズで溢れていてロビーが密でした。
僕が入ったシアター自体はちょうど埋まってる座席がちょうど半分くらい。
快適に見ることができました。

映画の設定ですが、
舞台は外国のどこかで、ヨーロッパのどっかなのかなーみたいな景色でした。
主人公のヴァイオレット・エヴァーガーデンさんは郵便局に務め、
当時の識字率がそれほど高くない世の中で、手紙や文章が書くのが得意でない人の代わりに文書の代筆をする、自動手記人形の仕事をしています。
依頼主の伝えたい意図をよく汲み取って非常にいい手紙や文章を書くことで高く評価されています。
そんな彼女も実は暗い過去がありました。
戦争中、ヴァイオレットさんはある軍人一家の兄弟に拾われ、幼くして戦場に駆り出されていました。
そんな中、弟である少佐はヴァイオレットさんのことをかわいがり、まだ幼くして感情をなくし、戦闘マシーンと化していた彼女に、勉強や情緒などたくさんのことを教えてあげていました。
戦争が激しくなり、お互いボロボロになりながら離れ離れになってしまった少佐のことを、ヴァイオレットさんは人気自動手記人形として活躍しながらも忘れられずにいた…
という設定でした。

あんまりにネタバレしてもあれなので、ざっくりよかったところをいうと、
はじめに人気自動手記人形として活躍するヴァイオレットさんを見せて華やかな感じになりつつも、暗い過去の説明で一度下げる、さらに吉報を受け取りまた感情が高ぶって、そうストレートにはうまくいかない…とまた下がる。クライマックスに向けてさらにもう1段上げて下げて…というメリハリが効いた感情の起伏があり、主題の合間合間に挟まれるサブエピソードも相まって非常に見ている人を引き込みます。
それぞれのシーンでヴァイオレットさんのひたむきさを感じることができ、感情移入してしまいます。

そのシーンを引き立てているのが背景で、心象風景が非常に効果的に使われています。
肝心のシーンでは背景がものすごくきれいで、説得力を高めています。

ちなみにどのシーンもヴァイオレットさんかわいいです。ちびヴァイオレットさんもかわいいし、真剣なヴァイオレットさんもかわいいし、すっごい喜んでるヴァイオレットさんもかわいい。

そして、登場人物の人柄もいい。慈愛に満ちています。
同僚はヴァイオレットさんを慕い、強かながら弱い部分もあるヴァイオレットさんを温かく支えています。登場人物全員いい人です。
一人ひとりの登場人物のヴァイオレットさんとの関係性がまた、この作品からにじみ出る優しさや暖かさを作っています。

映画を見ながら、自分もこんな仲間が欲しいなぁと何度も思いました。
仲間を想い支える側としても、よくわかり合って本当に必要なときにそばにいてもらう側としても、こんな仲間がいればどんなときもやっていけるだろうなと。
テーマは、「大切な人のことを思い出して、大切な人に伝えるべきことを伝えているか?」
ということのようですが、友達がいないのでまずその大切な仲間がほしいなと思ったのでした。。。


追記
サブスク系ではNetflix独占配信のTVアニメ版と外伝もそのためにNetflix入って観ました。
ヴァイオレットさんが持っているブローチ、手袋、傘など
ひとつひとつにもエピソードがあったのですね…。
それに、同僚との関係性も、徐々に作り上げていったものだったのを知って
ヴァイオレットさんのひたむきさに涙腺崩壊でした。
ヴァイオレットさんが、少佐の言った「あいしてる」の意味をどのようにして知ったのか、
映画から入った人もぜひTVアニメ版も見てほしいですね

2020年9月21日月曜日

GoToを使って帰省してみた(JR東日本 びゅうトラベル使用)

 GoToトラベルとかいう謎企画やってるじゃないですか。

やり始めてすぐはまだ厳重に警戒してる人も多くて批判もされてましたが、

結局のところ、主たる完成経路は飛沫か接触でしょうということになり、

どちらも起きにくい状況であれば別に移動しようが何しようがいいんじゃね?

という流れになりつつありますね。僕もそういうものかーと受け入れて

5月の連休、盆休みともにしてなかった帰省をGoToトラベルを使ってやってみました。

GoToを使うとなると旅行パックになるので交通宿泊費合計から補助が出る感じです。

帰省はするけど実家に泊まらずホテルに泊まって顔だけ出すのもこの状況だしありかなと思い、連休前の木曜日に調べてみました。


埼玉在住、実家は新潟なので、移動経路は新幹線です。

ちょうど検索したらJRのびゅうトラベルのサイトが出てきたので

その中で4連休中に使えるプランを探してみました。

https://www.jre-travel.com/lp/goto/?utm_source=go&utm_medium=sea&utm_campaign=goto&utm_content=goto&gclid=Cj0KCQjwnqH7BRDdARIsACTSAdtXItBCDPBBtDkuKDg6HyltX-ZTO2exB7sIc9xXkitn9k_bYlTNP8kaAii2EALw_wcB

もともと東京から新潟まで1万円くらいする新幹線ですが、プランを見ていくと、

連休中でも1万9千円を切る価格で往復新幹線代と宿泊費が込みのプランがありました。

宿も素泊まりのプランですが、数年前にできた新潟駅南口に直結されているJRが運営しているきれい目のビジネスホテルです。

新潟帰ったらまず実家に泊まるしここに泊まる機会なんてそうそうないだろうなと思っていたのでいい機会だしと予約ボタンをぽちぽち。

注意事項が複雑で、またパックなので合計金額しか出ておらず内訳が不明で本当にこの料金だけでいいのかな?など何度も確認しつつ、行き帰りの新幹線の時間を設定。

旅程表というのがPDFで出てきて、これを印刷して旅行中持ち歩けと出ていましたが、

結局一度も使う機会はありませんでした。

もし新幹線乗り遅れ、時間変更が必要になったさいなど、

みどりの窓口に駆け込んだ際に必要になるかもなので、携帯でPDFをダウンロードしておいたり、予約番号を控えておいたりはしたほうがいいかもしれません。


旅行当日、出発駅の新幹線の切符が出せる券売機でチケットを発券します。

いつも指定席予約を受け取るときのとおりインターネット予約のえきねっと予約の受け取り→予約したクレジットカードで受け取るってやったところ、そこからは受け取れなかったようで、カードをお返ししますと出てしまいました。

取り消しボタンを押して最初の画面に戻って、インターネット予約の受け取り→JR東日本国内ツアーの受け取りというボタンがあったので、そこから予約したクレジットカードで受け取るというボタンを押したところ、往復分の切符がでてきました。

https://www.eki-net.com/travel/guide/payment/mv.html

ここに受け取り方が書いてありました。僕のような心配性の人は見といて損はないと思います。

「クーポン2枚の発券があります」と予約画面で出てましたが、この企画マーク付き切符がそれのようです。

とりあえず発券したので昼食を食べ、いい時間になったので新幹線乗り場へ。

3時間弱で新潟へ着き、

実は目的の一つだった、まんがタイムきらら展 in 新潟を見に新潟市マンガ・アニメ情報館へ。

市内出身で地元とは言え学校と家の往復ばかりの引きこもりだったのであまり街中を歩いたことがなく、実は土地勘がない新潟駅東口エリアを歩くこと20分くらい。

万代シティバスセンターのすぐ近くビルボードプレイスとかいうなんか都会的でおしゃれっぽい名前の建物の中にありました。2階が映画館になっていて、1階が漫画アニメ情報館みたいですね。

入り口では手のひらを使った非接触検温、手指のアルコール消毒ののち、入場料を支払いチケットを受け取っておー入れるーと思ったらもう一段階あって、注意事項の説明がありました。これがなかなか長い説明で、おお…これ全員に対して読み上げるのキツそうだなぁと思いながら聞いて、アッハイわかりましたーって進もうとするとまだ続きがある…、30秒くらいだったと思います。ちゃんと聞きましょうね。

きらら自体は漫画はあまり読んだことがなくて、先日も書きましたが単行本全部読んだのはひだまりスケッチくらいでしょうか。ただきらら原作のアニメは刺さるものが多くてNEWGAME!などそれなりにハマっているものも多かったので来れてよかったです。

撮影禁止のメインの展示エリアでしたが、これまでの発刊されたきらら誌がずらーっと並んで飾ってあるところでは、

ひだまりスケッチもまだ始まってないころなんだこれ!とか、

おおーこのへんでNEWGAMEアニメ化した!とか、

最近やっぱりひだまりスケッチ載ってないけど載ると必ず表紙って聞いてたとおりなんだな

とかいろいろ見られて面白かったです。

あとは僕はあまりソシャゲー自体が合わなくてやってないですが、

きららファンタジアキャラクターの等身大パネル的なものを見て、

えっ、キルミーベイベーのやすなってひだまりのゆのっちより背低いの!!

など驚きながら、

展示を出た後に物販コーナーでささやかながら戦利品を手にして一度ホテルへ向かいました。

ホテルに入りチェックイン。はてさてGoToの場合だと何か特殊なことがあるのかしらとか思って帰りの新幹線の切符や持ち歩いてくださいと書いてあったPDFの印刷を用意してフロントに行き、予約した(苗字)です~って言ったら、フルネーム様ですねって言われて、ほかのビジホでやるように宿泊票に連絡先書いてカードキー貰って終わりでした。

会計のときにまた何かあるのかなーと思いながら部屋へ。

さすがにできて数年しかたってないのできれいな部屋でした。禁煙室だし。

本当にタダで泊まっていいのか…と思いながらベッドにぱふ。普通のビジホのベッドって感じですがあまり外泊しないのでちょっとプレミアム感を感じます。

日が暮れてきておなかもすいたので再び夕食のために外出。

入居しているビル自体の耐震工事のため一時閉店してましたが復活したというバスセンターのカレー(名物 万代そば)を試食しました。

 ソウルフードロスからの解放ということで、メディアにもたくさん取り上げられたようで閉店時刻間際でしたがそれなりにお客さんが入っていました。

立ち食いのスタイルですが女子高生のような感じのお客さんもいて流行ってんなーと。

僕は前述のとおり街中詳しくなかったので最近知って初めて食べに来ました。

色的にボンカレー的なものかなと思っていましたが、

中辛と辛口の中間くらいでわりとそれなりの辛さがあるルウで、

ぶ厚めに切った肉がコロコロと入ってました。

量も、女性がミニを頼んでいてサイズを見たら小さかったので、

普通盛りにしましたがこれだと結構多め。440円でこれはかなりの高コスパです。

確かに近くにあったらしょっちゅう来る感じ。

そして歩き疲れておなかすいていたのでそれだけでは飽き足らず


これも市民のソウルフードのみかづき「イタリアン」

ベーシックなものではなく期間限定の麻婆豆腐味というのが出てたので買って帰りました。

完全にオーバーカロリーですがたくさん歩いたのでいいでしょう…

わずかながらでも地元にお金落とさないとだし…ね?

うちはあまり外食とかしなくて実家に帰ってしまうと実家の飯しか食べないので、この機会にジャンクフードでちょっとした観光気分を味わってみました。

宿に帰り、ゆっくり休んで翌朝チェックアウト。

チェックアウトも拍子抜けで、ありがとうございましたー。とカードキーを返却したら「お会計はお済でございます。ありがとうございました。」とコインパーキングみたいなことを言われて終了でした。

びゅうトラベル、コミュ障には最高のサービスですね。

ほとんどコミュニケーションをしなくても旅行ができる。マジ最高です。

そこから実家へ向かい、数時間の間実家に滞在しました。

食事以外はマスクをつけたまま最近の話を聞いたりして、17時すぎの便でまた東京へ。

そんな感じで新しい生活様式の規制をGoToトラベル制度を使ってやってみました。

連休なので新幹線往復普通に取るより1000円ちょっとしか変わりませんでしたが、

平日だと1万5千円くらいで圧倒的に普通に新幹線乗るより安く、

しかも宿泊付きになったりするので、

たとえば金曜日、あるいは月曜日だけお休みして、お盆に帰省できなかった分、

少しだけ家族に会いに行くのもいいのではないかと思います。