つまりなにしたの?
ESP-WROOM-32で遊んでたけど、OAuth実装するのはちょっとめんどくさいからStewGate Uを使ってツイートできるようにした。
WiFiにつなぐ
こないだやったやつ
ensekitt.hatenablog.com
Twitterにつなぐ
一昨日やったやつ
ensekitt.hatenablog.com
ツイートを用意する
似たようなリクエストを投げればESPからでも行けるはず
今回ツイートするのはこちら
「EnsekiTT寝ろ %d #ESP-WROOM-32 #bot」
というわけでPOSTの部分を書いてみる
int count = 0; const char *head = "POST " WEB_URL " HTTP/1.1\r\n"; const char *host = "Host: "WEB_SERVER"\r\n"; const char *user_agent = "User-Agent: esp-idf/1.0 esp32\r\n"; const char *accept = "Accept: */*\r\n"; const char *content_type = "Content-Type: application/x-www-form-urlencoded\r\n"; char content_length[100]; char data[500]; sprintf(data, "_t=%s&msg=%s %d #ESP-WROOM-32 #bot", DEFAULT_TOKEN, "EnsekiTT寝ろ"); sprintf(content_length, "Content-Length: %d\r\n\r\n", strlen(data)); write(s, head, strlen(head)); write(s, host, strlen(host)); write(s, user_agent, strlen(user_agent)); write(s, accept, strlen(accept)); write(s, content_type, strlen(content_type)); write(s, content_length, strlen(content_length)); write(s, data, strlen(data)); //送った物を確認 printf("%s", head); printf("%s", host); printf("%s", user_agent); printf("%s", accept); printf("%s", content_type); printf("%s", content_length); printf("%s\n", data);
成功したか確認する
- レスポンスを読んで、うまくいったらカウントアップ(カウントアップしておくと同じツイートで弾かれない)
EnsekiTT寝ろ 1 #ESP-WROOM-32 #bot
— くっころAIシンデレラえんせき (@EnsekiTT) 2017年9月10日
できました。