micropythonでslackに投稿
MicroPython Advent Calender 4日目です。
5日目の15分前ですがぎりぎりセーフということで。
昨日@inachiさんの
BLE対応版MicroPython for ESP32をmacOSでビルドしてみる - Qiita
はでした。
ESP32のBLEの部分はArduinoでもmicropythonでも絶賛開発中でまだまだサンプルも少ない感じ気がしますがこれから充実してくるでしょう。
また今月のインターフェイスはmicropython特集があるのでぜひ興味がある方は購入されてはいかがでしょうか。
2日目の記事でNUCREO-F401でmicropythonを動かしてみましたが、今日はESP32と
micropythonでslackのAPIを使用してメッセージを投稿します。
このへんはwifiにつながりTCP/IPスタックを積んだESPシリーズの強みですね。
ESP8266やESP32のmicropythonでHTTP通信をする場合はsocketモジュールを使います。
以下のチュートリアルにはGETリクエストとwebサーバの例が載っています。
5. Network - TCP sockets — MicroPython 1.9.3 documentation
GETリクエストの例をPOSTにしてslackのAPIを使用します。
まずSlackのAPIを使うためにはtokenを取得する必要があります。
以下の手順でtokenを取得しましょう。
Slack APIを使用してメッセージを送信する - Qiita
取得したtokenは送信先のチャンネル、メッセージとともにPOSTするデータに貼り付けます。
以下のようなコードになりました。
gist69e875ce8b9aeb1145865e13d79421a1
コードを書いたらampyツールでファイルをESP32に転送します。
> ampy -p port put slack.py
ファイルを転送したらwifiに接続してメソッドを呼び出してみます。
ちゃんとメッセージを投げれました。