2015年5月31日日曜日

Windows10 IoT Core でLチカ(Windows10 + VisualStudio2015じゃん...)

せっかくWindows10 IoT Coreを準備したので、GPIOを使ったLチカでもやってみましょう。

ブレッドボードの上はこんな感じです。

オレンジ色のケーブルは#01のピン(3.3v)に、黒のケーブルは#29のピン(GPIO05)に接続します。
詳しくはこちらでピンの詳細を確認しましょう。
http://www.element14.com/community/servlet/JiveServlet/previewBody/73950-102-4-309126/GPIO_Pi2.png

開発はWindows10+VisualStudio2015で行います。

File->New->Project を選択し、VisualC#->Windows->Window Universalから「Blank App」を選びます。
あとは、Referencesに「Windows IoT Extension SDK」を追加して、以下のソース(MainPage.xaml.cs)をコンパイル、実行します。

----- MainPage.xaml.cs -----
using Windows.UI.Xml.Controls;
using Windows.Devices.Gpio;

namespace App1
{
  public sealed partial class MainPage : Page
  {
    // Raspberry Pi 2 の GPIOのピン番号
    private const int LED_PIN = 5;
    public MainPage()
    {
      this.InitializeComponent();
      this.InitGPIO();
    }
    private void InitGPIO()
    {
      var gpio = GpioController.GetDefault();
      // GPIO#05のピンに接続
      var pin = gpio.OpenPin(LED_PIN);
      // 出力モードにセット
      p.SetDriveMode(GpioPinDriveMode.Output);
      // 05をLowにすると電流が流れてLEDが光るのでLowにセット
      p.Write(GpioPinValue.Low);
    }
  }
}
--------------------------------------

コンパイルする場合は、ターゲットを「ARM」に、Remote Machineにセットして実行しましょう。
アプリがRaspberryPi2に転送されたらLEDが点灯します。

ピンを選んで、データ入力を読み込む/データを出力する、という流れで開発するというのは分かりやすいかと思います。

あとは、Taskを使って点滅させたり、いろいろ遊べるかと。

WinRMでログインしたシェルから、コマンドでGPIOを直接いじれると、より柔軟に開発できるんじゃないかと思いましたので、その辺は次のバージョンに期待でしょうか。

2015年5月20日水曜日

FlashAir プロトタイピングボード MTO-EV101でLチカしてみる

FlashAirで直接GPIOを制御できるので、FlashAirハッカソンで入手したMTO-EV101を使ってブレッドボード上のLEDを点滅させてみます。
もちろんLuaです。

その前に、ハードが苦手な私は四苦八苦しましたので、こちらで確認を。
http://yone2.net/MTO-EV101

DAT1からブレッドボードへ、そこからGNDへ接続します。
実際はこんな感じです。



LuaからLEDを5回点滅させるためには、以下のようにします。
for i=0, 4, 1 do
  s,id=fa.pio(0x1f,0x00)
  sleep(100)
  s,id=fa.pio(0x1f,0x1f)
  sleep(100)
end

ビットの割り当てはこちらで。
今回は面倒なので、全ビットをオン/オフしてます...

このプログラムを動かすと、この動画のようになります。

もちろん、読み込みもいけます。
実は、人感センサーで値を読み込むこともできてるので、その辺は後ほど。

消費電力が小さくWi-Fi機能があるので、FlashAirはもっといろんな場所で使えそうですね。


2015年5月18日月曜日

Windows10 IoT Core搭載ラズパイ2をWebブラウズ専用機にする

Windows、それは私からもっとも遠いOS。
しかし、IoT云うなら避けて通れないということで、
Windows10 IoT をWebブラウズ専用機にできないかと。

もちろん、Visual Studio は申し訳ないが死ぬほど使いにくいので、
以下のブログをまるごと参考にして、XAMLにWebView貼って表示です。
http://www.moonmile.net/blog/archives/7071

出来上がったスクショがこれ。


TextBoxにURLを入れて、ボタン押して読み込むだけ。
確かに動いてる。
Flashのバナーも動いてるw

しかし、ここで大きな落とし穴が。
IMEどうやって使うんだ?
Windows10 IoT Core でIME動くのか?

うーん...



2015年5月12日火曜日

Visual Studio Code + mono で、Webサーバーがシャットダウンできない

地味な小ネタです。

AppleWatchやらドローンやらIoTっちゅーかFlashAirやらインフラやらの合間に、
MacOSX に Visual Studio Code を入れてみました。

このサイトが一番確実ですね。
http://qiita.com/TsuyoshiUshio@github/items/48d28d123239fea4c42d

で、このサイトのチュートリアルを進めていったんですが、
https://code.visualstudio.com/Docs/codebasics

kestrel(開発用Webサーバー)をシャットダウンする方法が見当たらない。

そんなときは、「control + z」で停止して、monoプロセスをkillします。
なんと原始的なw

2015年5月11日月曜日

AppleWatch買って思ったこと

まだ2000年の頃、周りに「パソコンからキーボードとマウスを無くさないとダメだ」と言ってきた。
パソコンの画面が机の上のメタファー「デスクトップ」なら、書類を手に取り書き込んで、ポストに投げるようにメールに添付して相手に送信し、ポイっとゴミ箱に捨てる。
オフィスをコンピューターに再現するなら、隣り合ったパソコンのデスクトップをレイアウトした仮想空間があってもいいだろう。

それから15年たって、キーボードやマウスを必要とする割合は減ってきた。
携帯が普及し、iPhoneが登場し、iPad以降安価なパソコンはタブレットへ。
机の上にあった書類は、今やクラウドへ。

そしてAppleWatch。
もちろんスマートウォッチは以前からも出ているが、Appleが出したことでそれなりに知名度を得ていくジャンル。
買ってしばらく使ってみて、なかなかの発見があった。

そもそも、クラウドが登場して以降、このような全体像をある程度のゴールとして定義することができるだろう。



自動的にある程度のデータを取得してクラウドに集約し、手元のデバイスをビューワーとしてみるアレだ。

AppleWatchを使って気づいたことというのは、ビューワーにどのぐらいの情報量があればいいのか、だ。
メッセージなどの着信は、最低限の事柄(誰から、内容のサマリー、など)がわかれば良いとすると、今までスマホを取り出して見てたときと比べると、あっという間に確認できてしまう。
その程度の情報、というとアレかもしれないが、これで事足りる場面が多いと感じた。

メガネをまったく付けない自分は、GoogleGlassなどのメガネ型デバイスは正直不快だったのだけれども、腕時計ならOKかなーと。

今後の期待するポイントは、心拍数以外のあらゆるバイタルサインのリアルタイム計測だろうか?
脳波なども皮膚の電気信号から計測できるので、いろいろ期待しちゃうところでしょうか。