Androidのメモとか

ポキオの日記です。今日も遅延してない。

デブサミ2017に参加・展示して気づいたあれこれ

前回は、展示して頂いたコメントをメインで記事にしました。

relativelayout.hatenablog.com

今回は、気づいたことをちょっとメモっておきます。

使ってみたいmBaaS(っていうんですかね)

devsumi2017

隣で展示してたAnbient。ちょっとまえから気になっていました。

mackerel.io

ArduinoとかESP8266が流行ってて、簡単にセンサーで色んな情報を取ることができるようになりました。ただ、その情報を簡単に可視化するのは結構難しいです。特に、僕みたいにウェッブなエンジニアリングが苦手な人間にとってみれば、苦行でしかありません。そこで、上記のサーヴィスを使えば、簡単に無料で情報を可視化することができます。

プラレールで2進数カウンタ

devsumi2017

人生、無駄を省くことは大切かもしれません。でも、全く無駄のない人生は楽しいのでしょうか?

この展示ではプラレールのポイントレールの曲がる方向を0と1を表していて、プラレールが走ると0b000から0b111という感じで増えていきます。(もしかすると、4bitカウンタの間違いでした。ゴメンナサイ。)

誰の得になるのか。何かの役に立つのか。そういうのはいいんです。作ることが素晴らしいし、発想も素晴らしい。バジェット出してくれる会社も素晴らしい。

ExcelCreater

www.adv.co.jp

www.adv.co.jp

JavaC#からExcelファイルが作成できるプラグインのようなもの。Excelと雁字搦めになったプロジェクトや会社ではかなり重宝しそうな予感。Excelはわりと最強なアプリであり開発環境であったりしますが、Excelから離れてGoogle Spreadsheetとかで代用できれば、こういうツールは不要だったりするんですよね。(まぁ、それができないからExcel使ってるんですよね)

つい買っちゃうオライリー

devsumi2017

会場では、翔泳社さんとオライリーさんの本を安く買うことができます。

www.instagram.com

僕もついつい、「Make: Electronics ―作ってわかる電気と電子回路の基礎 」を買ってしまいました。定価から10%オフ、そして消費税分も割引。かなり安く買えました。

デモにはトラブルはつきもの

一応、会場のAPが有ったので、それ経由で通信するコードに、その場でライブコーディング。モバイルバッテリーでも動くように、ESP8266のDEEPSLEEPも封印し、delay()でLoopするように変更。

#include <ESP8266WiFi.h>
#include <WiFiClient.h>

char ssid[] = "会場のSSID";
char password[] = "会場のPASSWORD";

char unkopage[] = "unkou.keikyu.co.jp";
int led = 14;
int intervalSec = 10 * 60;

void setup() {
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);

  Serial.begin(115200);
  Serial.println("");
}

void loop() {
  connectWifi();
  String result = getPageSource();
  Serial.println(result);
  disconnectWifi();

  if (result.indexOf("unko-panel") < 0) {
    Serial.println("取得エラー");
    delay(5000);
  } else if (result.indexOf("平常") < 0) {
    Serial.println("遅延してるかもしれません");
    blinkLed(intervalSec * 1000, false);
  } else {
    Serial.println("平常通り運転してます");
    //    ESP.deepSleep(intervalSec * 1000 * 1000, WAKE_RF_DEFAULT);
    delay(intervalSec * 1000);
  }
}

void connectWifi() {
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    blinkLed(1000, true);
  }

  Serial.println("connected!");
}

void disconnectWifi() {
  WiFi.disconnect();
  Serial.println("disconnected!");
}

String getPageSource() {
  WiFiClient client;

  if ( !client.connect(unkopage, 80) ) {
    return String("");
  }

  client.print(String("GET ") + "/" + " HTTP/1.1\r\n" +
               "Host: " + unkopage + "\r\n" +
               "Range: bytes=8000-9000\r\n" +
               "Connection: close\r\n\r\n");
  client.println();

  delay(1000);

  String body = "";

  while (client.available()) {
    body += client.readStringUntil('\r');
  }

  return body;
}

void blinkLed(int msec, boolean fast) {
  int totalTime = 0;

  while (totalTime < msec) {
    int onTime;
    int offTime;

    if (fast) {
      onTime = 5;
      offTime = 95;
    } else {
      onTime = 5;
      offTime = 995;
    }

    digitalWrite(led, HIGH);
    delay(onTime);
    digitalWrite(led, LOW);
    delay(offTime);
    totalTime += onTime + offTime;
  }
}

なかなか会場のWi-Fiが詰まり気味だったりして、情報が取りづらい状態になることもありました。そして・・・

京急が全然遅延しないという事態。いや、遅延しないのはいいことなんですが、肝心のLEDが全然光りません。デモ的にはちょっとアレでした。

やっぱり光り物は強い

マシコムさんのウクレレとか、ギャル電さんとか、本当にキラキラしてました。

devsumi2017

www.instagram.com

やっぱり、光るとインパクト強いですしね、オーディエンスも必然的に多くなります。ちょっとうらやましいですね。京急も光り方が弱いんですかね・・・。

どうでもいいこと

devsumi2017

  • 目黒の天狗(居酒屋)はいい
  • 名刺を忘れてはいけない
  • デブサミの参加登録を忘れてはいけない
  • 雅叙園Amazonオフィス(アルコタワーアネックス)のエスカレーター経由で行くと、坂道を登ったり下ったりしなくて済む
  • 品川⇔目黒は都営バスが走ってる
  • 品川⇔雅叙園は無料シャトルバスが走ってる

www.megurogajoen.co.jp

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。