m5stackで組込み!!

Arduinoによるm5stack開発のいろいろと...

twitterに投稿 その2

ソースを綺麗にしたので公開

メインファイル

#include <M5Stack.h>
#include "WifiTwitter.h"

WifiTwitter wifitwitter("YOUR_TOKEN");

void setup() {
  String config_ini;
  String ssid;
  String password;
  /* 初期化 */
  M5.begin();
  /* SD初期化 */
  SD.begin();

  /* 文字サイズを変更 */
  M5.Lcd.setTextSize(1);
  
  /* ファイルオープン */
  File datFile = SD.open("/set/config.ini");
  if( datFile )
  {
    M5.Lcd.println("File open successful");
    /* サイズ分ループ */
    while( datFile.available() )
    {
      config_ini = config_ini + datFile.readString();
    }
    /* ファイルクローズ */   
    datFile.close();
  } 
  else
  {
    M5.Lcd.println("File open error hello.txt");
  }
  /* SSID取得 */
  config_ini = config_ini.substring(config_ini.indexOf("#SSID\r\n") + 7);
  ssid = config_ini.substring(0, config_ini.indexOf("\r\n"));
  /* パスワード取得 */
  config_ini = config_ini.substring(config_ini.indexOf("#SSID_PASS\r\n") + 12);
  password = config_ini.substring(0, config_ini.indexOf("\r\n"));

  /* connect to WiFi */
  M5.Lcd.print("Connecting to YOUR_SSID ");
  /* wifi初期化 */
  WiFi.begin(ssid.c_str(), password.c_str());
  while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      M5.Lcd.print(".");
  }
  M5.Lcd.println(" CONNECTED");

  /* disconnect WiFi as it's no longer needed */
//  WiFi.disconnect(true);
//  WiFi.mode(WIFI_OFF);
}

void loop() {
  M5.update();
  // Aボタン
  if (M5.BtnA.wasPressed()) {
    if (wifitwitter.post("tweet for M5stack A Btn")) {
      int status = wifitwitter.wait();
      if (status == 200) {
        Serial.println("OK.");
      } else {
        Serial.print("failed : code ");
        Serial.println(status);
      }
    } else {
      Serial.println("connection failed.");
    }
  }
  // Bボタン
  if (M5.BtnB.wasPressed()) {
    wifitwitter.post("tweet for M5stack B Btn");
  }
  // Cボタン
  if (M5.BtnC.wasPressed()) {
    wifitwitter.post("tweet for M5stack C Btn");
  }
}

twitterライブラリ

このライブラリをもとにEthernetからwifiに変更しました。
github.com