EspruinoをWiFiに繋ぐ - GETリクエストを投げる

  • 0
    いいね
  • 0
    コメント
    この記事は最終更新日から1年以上が経過しています。

    Espruinoを手に取ったからにはIoT的な事がしたいはずです。IoTというからにはネットに繋ぎたいはずです。というわけでwifiに繋いでいきましょう。

    目標

    EspruinoにCC3000 Wifiモジュールをつなぎ、Wifi経由でGetリクエストを投げます。公式(英語)にあるように、CC3000Wifiモジュールを使います。

    image

    必要なもの

    • Espruino
    • CC3000 WiFiモジュール
    • ピンヘッダ (CC3000用)
    • Wifiネットワークの情報 SSID/パスワード

    CC3000Wifiモジュールに何を使うかですが、とりあえず公式で勧められているコレか、日本でも買えるコチラが良いかと思います。後者の方も私の手元では動作しています(公式な保証はできませんよww)ので、海外発送の時間とコストが惜しい人にはおすすめです。

    Espruino同様、ワイヤで結線するにはピンヘッダが居るので、Espruinoにつけたときの余りを使うと良いと思います。ちなみに私はオスをつけています。

    結線

    線が多く複雑に見えますが、落ち着いて配線しましょう。
    下の図の通り配線します(図のEspruinoのB3~B8は実際の配置とは逆なので気をつけてください。忠実にすると線がクロスしちゃうので...)

    image

    プログラム

    以下のような感じになります。wifiConfigには環境に応じた値を設定しましょう。実行してしばらく待つと Hello World!とコンソール出力されるはずです。

    // wifi接続情報 ssidとパスワード
    var wifiConfig = {
      ssid: "",
      key: ""
    };
    
    // CC3000Wifiモジュールに繋ぐ
    var wlan = require("CC3000").connect();
    // wifiネットワークに繋ぐ
    wlan.connect( wifiConfig.ssid, wifiConfig.key, function (s) {
      // コネクション確立時のコールバック 
      if (s=="dhcp") {
        // GETリクエストを投げる : 公式の Hello World! と返してくれるURL
        require("http").get("http://www.pur3.co.uk/hello.txt", function(res) {
          var data = "";
          res.on('data', function(chunk) {
            // 細切れのデータを変数に足し込む
            data += chunk;
          });
          res.on('close', function(){
            // レスポンスが全部かえってきたら溜め込んだデータをコンソールに出力
            console.log(data);
          });
        });
      }
    });
    
    

    実行

    wifiモジュールにつないで、wifiにつないで、そこからリクエストを投げて、、という流れなのでコレまでと違って少し実行まで時間がかかります(5秒~15秒くらい)。

    image

    できました。
    多少熱くなりますが、大丈夫です。ただ、配線を悪い感じで間違った場合は、触った瞬間に尋常ではない熱さを感じることができます。すぐに電源を抜きましょう。当然ですが誤配線は故障の原因になりますので、慎重に、落ち着いて結線することが大事です。

    次のステップ

    ようやくインターネットにつながったので、これからPOSTリクエストを投げたりサーバとして動かしたりしていきます。ようやくIoT的にEspruinoが使えるようになるので、出来る事の幅が広がりますね。

    ただ、このCC3000WiFiモジュール、結構電気を使います。PCに繋がず、安定して長時間動かすためには電源的な部分も含めて色々工夫をする必要があるので、それについても触れられたらと思っていたりします。

    この投稿は Espruino Advent Calendar 201415日目の記事です。