M5Stack(PlatformIO)環境での奇妙なエラーと回避方法

謎のエラーメッセージ

UnicodeDecodeError: ‘cp932’ codec can’t decode byte 0x98 in position 134: illegal multibyte sequence

というエラーメッセージで、C++(Arduino)のswitch~case文の中で起きました。「multibyte」とありますが、特に日本語を使ってるとかはありません。

case 0xc0:
    uint8_t r = 0x00;
    break;
“M5Stack(PlatformIO)環境での奇妙なエラーと回避方法” の続きを読む

ECHONETスキャナを作ってみる(5)

なんとかひと段落

各プロパティ値の表示を意味ある形にして、ノード一覧をソートしました。プロパティの設定は制約としてできないようにしていますが、スキャナ(Echonet機器のプロパティ値の取得)としては、それなりに使えるようになったと思います。

プログラムソースはGitHubで公開しています。

仮想ホストの追加方法

nginx-proxy&letsencrypt-nginx-proxy-companionコンテナ環境下で仮想ホストを追加する手順を残しておきます。

  1. サブドメインをDNS登録(nginx-proxyが稼働しているサーバのIPアドレスと紐づけ)
    • ウチではお名前.comからドメイン(windesign.work)を入手しているので、お名前.com NaviにログインしてDNS設定。
  2. 仮想ホスト用ディレクトリを作成
  3. docker-compose.ymlを作成
  4. コンテナ起動
    • 起動するだけでnginx-proxyが見つけてくれる。
“仮想ホストの追加方法” の続きを読む

ECHONETスキャナを作ってみる(4)

先日の課題が一応解決

しばらく待たないと情報取得できない件ですが、依存ライブラリのELSwiftに1行追加したところ、すんなり情報が返ってくるようになりました。(後述の通り、依存ライブラリの修正は不要

追加したのは、ELSwift.swiftのinitialize()メソッドの最後に、自ノードインスタンスリストSの取得パケット送信(マルチキャスト)。

try ELSwift.sendOPC1( EL_Multi, [0x0e,0xf0,0x01], [0x0e,0xf0,0x01], 0x62, 0xd6, Node_details["d6"]! );

オリジナルのコードでは、

  1. インスタンス通知(0xD5のINF)

だけだったのが、

  1. インスタンス通知(0xD5のINF)
  2. 自ノードインスタンスリストS取得(0xD6のGet)

となる格好となります。

よく見たら、追加する行はELSwift.search()メソッドの内容と同じでした。

依存ライブラリをオリジナルに戻し、ELSwift.initialize()を呼び出した直後にELSwift.search()を呼び出せば同等の結果になることを確認できました。

PHPのバージョンを上げたい件(まとめ)

結局、1インスタンスですべてのDockerコンテナを稼働させることに

色々と試行錯誤した結果、マシンタイプe2-microを1インスタンス立ち上げ、7つのコンテナを稼働させることにしました。(nginx-proxy、letsencrypt-nginx-proxy-companion以外の5コンテナは仮想ホストとして稼働)

“PHPのバージョンを上げたい件(まとめ)” の続きを読む

PHPのバージョンを上げたい件(その3)

運用前の走行確認

パフォーマンスが気になったので、nginxコンテナ とWordpress/My SQLコンテナだけ起動して走確してみました。

結果としては、まともにブラウザ表示できない状況でした。試しに、VMインスタンスのファイアウォール設定で8080を空けて、Wordpressコンテナに直接アクセスできるようにすると問題なかったので、nginxを経由していることが原因と思われます。

“PHPのバージョンを上げたい件(その3)” の続きを読む

PHPのバージョンを上げたい件(その2)

まずは、Dockerエンジンが動くGCEインスタンスを立ち上げます。こちらのQiita記事を参考にしました。

gcloudとかインストールしてないので、ブラウザ上のGCPコンソールを開いて操作しました。叩くコマンドは一つだけ。(GCEインスタンスさえできればよいので、「docker-machineを切り替える」操作はスルーしました)

“PHPのバージョンを上げたい件(その2)” の続きを読む

PHPのバージョンを上げたい件

本サイトではWordPressを使用していますが、ダッシュボードのサイトヘルスステータスを見ると「改善が必要」となっていて、PHPのバージョンが「7.0.30」と古いことが原因であるようです。

ただ、PHPのバージョンだけを上げるのはちょっと面倒そうです。

WordPressの移行だけなら、GCEの新規インスタンスでWordPressを動かしてバックアップからリストアすればよいのですが、他にもGrafana、InfluxDB、SSL対応などをやっていて、またイチから設定するのは、これも面倒です。

“PHPのバージョンを上げたい件” の続きを読む