2020-03 << 2020-04 >> 2020-05

2020-04-29 (水)

さくらVPSのOSをCentOS 8にしたら,IPv6環境でbad addr or host: ::と言われてsshdが起動しなくなった.sshd_configのAddressFamilyを無視してv4アドレスで待ち受けようとする.

結局/etc/sysconfig/sshdのOPTIPNSに"-4"が入ってた落ちだったんだけど,なんでそんな設定になってたんだろ.

* arduino-cliでESP8266/ESP32

いままでArduino for Visual Studio Codeを使ってたけど,内部でArduino IDEを呼び出してるせいで遅いので arduino-cli に乗り換える.

https://github.com/arduino/arduino-cli

だいたいドキュメントどおりだけど,3rd party coresを入れた場合の説明が大雑把すぎてわかりにくかったのでファームウェアを書き込むとこまでのメモ.

arduino-cli config init

config initするとyamlの場所が表示されるので,ESP8266とESP32のパッケージのURLを追加しておく.

  additional_urls:
  - https://arduino.esp8266.com/stable/package_esp8266com_index.json
  - https://dl.espressif.com/dl/package_esp32_index.json
arduino-cli core update-index
arduino-cli core search esp8266
arduino-cli core install esp8266:esp8266
arduino-cli board listall

今回はArduino IDEで使ってたボードもインストール済みになってたので,upgrade esp8266:esp8266した.

board listallで使えるボード全部出てくるので,それっぽいのを探す.(board listで接続されているやつを自動認識しそうだけど,Arduino以外はダメっぽい)

あとは適当なスケッチのある場所で comple & upload.

arduino-cli compile --fqbn esp8266:esp8266:generic
arduino-cli upload -p COM3 --fqbn esp8266:esp8266:generic:baud=256000

fqbnに色々オプションを追加する必要がありそうだけど,ESP-WROOM-02はgenericのデフォルト設定で動いた.

fqbnが変わると不要なものまで再コンパイルが走るっぽいので,通信速度とかはupload時にだけつけたほうが良さそうかも.

* IFTTT Webhook

温度計とかインターホンとかエアコンから直接IFTTTのWebhook(Makerチャンネル)でつなげば自分でサーバ立てなくていいので嬉しいと思ったけど,IFTTTのThat側になるためにhttpで待ち受けなくてはいけなくて,そうするとLANの中の機器にアクセスするにはNATが邪魔でめんどい.いまはUDPでNATに穴開けて通信してる.

今回は,通知したい値の入ったパケット1つ送るだけ,みたいな軽量なやつが欲しかった.バッテリーで動いてる温度計とかはWiFiに接続してる時間を一瞬でも減らしたい.

ただ,せっかくWebhook試したので,サーバからIFTTTに中継できるようにしておく.

2020-03 << 2020-04 >> 2020-05