寝台急行はまなす

札幌駅 22:00発 増結12両編成 青森行き

micropythonでslackに投稿

qiita.com

 

MicroPython Advent Calender 4日目です。

5日目の15分前ですがぎりぎりセーフということで。

 

昨日@inachiさんの

BLE対応版MicroPython for ESP32をmacOSでビルドしてみる - Qiita

はでした。

 

ESP32のBLEの部分はArduinoでもmicropythonでも絶賛開発中でまだまだサンプルも少ない感じ気がしますがこれから充実してくるでしょう。

また今月のインターフェイスはmicropython特集があるのでぜひ興味がある方は購入されてはいかがでしょうか。

Interface2018年1月号目次|Interface

 

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に接続してメソッドを呼び出してみます。

f:id:ken5owata:20171204233349p:plain

 

f:id:ken5owata:20171204233515p:plain

ちゃんとメッセージを投げれました。