ホチキス先生の「プログラマーと呼ばれたい」

InfoPath & SQL Server !

携帯電話の MNP 乗り換え高額キャッシュバックキャンペーンはなぜなくならないのかを考えてみた

leave a comment »

P1100501_mid_640_480

携帯電話を乗り換えると高額なキャッシュバックがもらえるキャンペーンを主な携帯電話事業者が繰り返し行っている。これは健全ではないという指摘があり、やめるべきであるという議論がこれもまた繰り返しおこっている。思えば何年も前からこのようなキャンペーンは続いているようなので、これはもはや単なる一過性の現象ではなく、こうなるべき構造的な理由があるからではないか。念のため私は一利用者であり、これらの業界内部事情に全く通じているわけではないので真実を追求することを求めているものではなく、以下の考察は「頭の体操」といった意味での考察と思ってほしい。

1.なぜ台数が多ければキャッシュバックが大きいのか

携帯電話会社の前を通ると、キャンペーンの看板にはたいてい「4台まとめて」といった言葉が並んでいる。なぜ店舗は契約台数の多い客を相手にしたがるのか。これは実際に携帯電話の契約をした人にはわかりやすい。携帯電話の契約には手間と時間がかなりかかる。様々なプランを説明し、お客さんに最も最適なプランを選んでもらう。オプションにどのようなものがあるか、追加料金が必要なサービスはどれか、料金は月単位かどうか、無料期間はあるのか、端末代金の支払いはどうなるのか、解約するときはどうか。いくら上手に説明しても最低30分はかかる。契約内容が決まり、書類を整え契約が完了するまでにまた30分はかかるだろう。1人のお客さんに1時間かかるならば、カウンター社員が1日8時間働く間に絶え間なく接客できたとして最大8人までしか対応できない。もし8人のお客さんがそれぞれ1回線しかもたないときは1日働いて8契約。だがそれぞれのお客さんが4回線ずつもっていれば32契約もとれる。つまり、携帯電話の契約が繁盛する時期には、1回線しか持っていないお客さんは店にとっては逆に迷惑な客だ、ということが考えられる。だから新入生や新社会人が携帯電話を持とうとする春先には、当該本人が1契約だけするのではなく、家族を道連れにして契約してもらえるような販売手法をとるのは当然のことだろうと考えられる。

2.なぜ新規顧客は優遇されず MNP では採算がとれそうにないほどのキャッシュバックをするのか

たとえば携帯電話の本体代金を0円、プラスキャッシュバック4万円といったキャンペーンがあったとする。この場合、携帯電話の代金を6万とすれば、10万円ものキャンペーン費を携帯電話会社なのか販売店舗なのかが負担しなければならない。一方で携帯電話の月額料金は下がる傾向にある。たとえば月額4000円のプランで契約するとしたら、1年間で4万8千円、いわゆる2年しばりで2年間契約して9万6千円。諸経費等を考慮すると2年続けて契約してもらってはじめて採算ラインに達するという計算になる。もちろん携帯電話の本体代金は売値と仕入れ値の差があるので単純ではないだろうが、この変化の激しい時代に2年先をあてにして採算をとるようなビジネスモデルはどうなのだろうという疑問がわく。しかもそれは MNP 限定だ。新規顧客には全くといっていいほど高額キャンペーンはない。新規顧客こそ大歓迎で優遇するべきではないか、と思うのだが、これと類似のビジネスモデルは新聞だということに気が付く。ある新聞を契約してとっていると、たまに別の新聞販売店がやってきて、商品券などをプレゼントに契約をもちかけてくることがある。このとき、何年か分の新聞代に匹敵する商品券を持ってこられた経験はないだろうか。新聞は、ある地域で一定のシェアを持てば、1件増やして配るための追加コストはほとんど無料に近いという性質がある。それは印刷代と配達人が一件余分に投げ込む手間だけだ。だから収益がほとんど見込めなくても1件の契約を増やす意味がある。自社の収入が増える額はわずかだが、他社の収入を減らすことになるからだ。だから総額でマイナスにさえならなければ1つの契約を増やす戦略は正しいだろう。

3.なぜ携帯電話会社は長期契約者を優遇しないのか

携帯電話会社に課せられた使命は、新規顧客を増やすことに加えて、自社の顧客に逃げられないようにすることのはずだ。しかし携帯電話会社は新規顧客の開拓にはなりふり構わであるにもかかわらず、自社の顧客をつなぎとめる戦略がほとんどないように思える。これについてのヒントを得られるエピソードがある。我が家はずいぶん前からケーブルテレビでインターネットとIP電話をテレビとの 3 点セットで契約している。最近ではよくあるケースだと思うが、我が家はケーブルテレビ網がインターネット接続サービスを提供し始めた頃から契約しており、また格安の遅いスピードの契約を見直すことなく続けてきた。すると昨年末にケーブルテレビ会社の方から、料金は据え置きでいいのでスピードの早いサービスに更新させてほしい、と申し出があった。理由を聞くと、ケーブルテレビの設備を更新するために、もはや遅いスピードに対応した設備を導入することがコスト増になるという事情があるという。これを携帯電話にあてはめると、確かに知人の中には携帯電話の契約を見直すことなく何年も同じサービスを続けている人が少なからずいる。ところで日本は携帯電話網については世界のトップを走っている。3G の普及から 3.5G ともいわれる LTE の普及とすすんできたが、LTE を導入する理由は低コストで回線容量を拡充できることにある。つまり 3G 回線の契約を続けるユーザーは携帯電話事業者にとってコスト増の重荷になると考えられる。だから長期契約者を優遇せず、新しいサービスへ切り替えさせる戦略をとることが考えられる。

4.なぜ毎年キャンペーンの終息時期に規制を求める声が聞こえてくるのか。

このように考えると、携帯電話の MNP 乗り換え高額キャッシュバックキャンペーンがなくならないのは、それが構造的に正しい戦略であるからだと思えてならない。では、それなのになぜ毎年これらのキャンペーンの規制を求める声があがるのだろうか。しかもキャンペーンの終息時期を狙うかのように。そして規制を求める声が聞こえてくるにもかかわらず、店頭では一向に高額キャンペーンの旗が下りないように思えるのはなぜだろう。一般のユーザーとしては、その倫理的な是非はともかく、高額キャンペーンがあるならその恩恵を受けたいだろう。携帯電話の契約見直しを考えながらも面倒と思い躊躇しているユーザーにとっては、もしかしたらこれは「お客さん、最後の一個ですよ」という商売なのではないか。つまり、携帯電話の MNP 乗り換え高額キャッシュバックキャンペーンは異常であるという定期的な規制を求める声もあわせて、キャンペーン全体を構成しているのではないだろうかと見えてしまう。

5.MNP 乗り換え高額キャッシュバックキャンペーンがなくなるとすれば

ではもしそれが前述のような構造的なものであるとして、MNP 乗り換え高額キャッシュバックキャンペーンがなくなるとしたらどのような状況が考えられるだろう。(1)ネットでの契約など携帯電話の契約が簡素になり従業員の人件費を考慮する必要がなくなる。(2)基本料金が 0 円で完全従量制になるなどユーザーの奪い合いをしなくてよい状況になる。(3)2 年しか契約できないといった期間制限付きの「逆しばり」契約が普及する。こうした状況になれば、サービス品質と価格に基づいた選択が行われるようになるのではないか。

どうだろうか。改めて申し上げるが、筆者は携帯電話の業界事情について全く素人であるし、キャッシュバックキャンペーンをどう利用するかとか、倫理的にどうかと言っているのではない。単に一利用者として「頭の体操」として思いついたことである。単にモノを作って売るのではなく様々なサービスが世の中にある現代社会において、こういうビジネスの仕組みを考えることが面白いのである。

Xbox360 のシステムリンクプレイが可能なゲーム – FORZA MOTORSPORT 2 はシステムリンクプレイに対応している

leave a comment »

Xbox 360 のシステムリンクプレイとは、2 台の Xbox 360 本体をケーブルで接続したり、最大 16 台までの本体をネットワークで接続したりできるマルチプレイヤー ゲームの方法だ。Xbox 360 本体は LAN ケーブルで接続し、ピアツーピア型のローカルネットワークになる。インターネットに接続しなくても楽しむことができるのだ。これは Xbox 360 の初期型から使うことができる機能だ。インターネットに接続せずにネットワーク対戦をするので、XBOX LIVE での対戦と区別するためにシステムリンクプレイという用語が使われている。

もちろんゲームがシステムリンクプレイに対応していなければならない。たいていの Xbox 360 ゲームは XBOX LIVE による対戦に対応しているが、リンクプレイに対応しているゲームは少ない。ちなみに手持ちの Xbox 360 ゲームでシステムリンクプレイに対応しているものを探してみた。

1.HALO Combat Evolved Anniversary: システムリンクプレイ 2-16 人

P1100659_mid_640_480

P1100660_clip_640_480

2.HALO 4: システムリンクプレイ 2-16 人

P1100661_mid_640_480

P1100662_clip_640_480

3.Gears of War Judgement: システムリンクプレイ 2-10 人

P1100663_mid_640_480

P1100664_clip_640_480

4.Forza Mortorsport 2: システムリンクプレイ 2-8 人

P1100665_mid_640_480

P1100666_clip_640_480

5.Project Gotham Racing 3: システムリンクプレイ 2-8 人

P1100667_mid_640_480

P1100668_clip_640_480

6.Project Gotham Racing 4 : システムリンクプレイ 2-8 人

P1100669_mid_640_480

P1100670_clip_640_480

俺はワイヤレスレーシングホイールを持っているほどレーシングゲームが好きで、とりわけ Forza Motor Sport は大好きだ。しかし Forza Motor Sport 2 がシステムリンクでマルチプレイができるとは気が付かなかった。ワイヤレスレーシングホイールと Xbox 360 を 2 セット用意して並んでゲームをしたらヒートアップするだろう。ちなみに Forza Motor Sport も 3 、4 、HORIZON はシステムリンクプレイに対応していないようだ。またテストドライブアンリミテッド Test Drive Unlimited、ニード・フォー・スピード・シフト Need for Speed Shift もシステムリンクプレイに対応していない。

Netduino で Arduino 用の multifunction シールドを使う(4) – オンボードの 4つの LED を点灯させる

with one comment

前回までに「Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは」「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」「Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート」で Visual Studio 2013 で Netduino の開発をする準備を整えた。今回から multifunction シールドを Netduino に接続してプログラミングを始めよう。

P1100621_clip_640_480

Arduino 用 multifuncion シールドにはオンボードに 4つの LED が取り付けられている。基盤には D1、D2、D3、D4 と名前が印刷されているが、これはそれぞれ Netduno の D13、D12、D11、D10 の I/O ピンに接続されている。Arduino では 13、12、11、10 の各ピンだ。

P1100469_clip_640_480

この LED は、I/O ピンから抵抗を介して接続されており、反対側は +5V につながっている。したがってこの LED 光らせるには、各 I/O ピンの出力を 0 に、つまり GND に落とせばよい。

Arduino のスケッチなら、例えば次のようになる。

—————————————————–

digitalWrite(10, LOW);

—————————————————–

ではプログラミングの前に multifunction シールドを Netduino につなごう。両側の各ピンをつなげばいい。つないだら USB ケーブルでパソコンに接続しよう。

P1100622_clip_640_480

P1100624_clip_640_480

P1100619_clip_640_480

multifunction シールドと Netduino の準備ができたら Visual Studio 2013 を起動してプログラムをつくろう。

Netduino_3_001_mid_640

Visual Studio を起動したら、新しいプロジェクトを開始する。

Netduino_3_002_mid_640

テンプレートは言語を Visual C# とし、Micro Framework から Netduino Application (Universal) を選ぶ。Visual Studio のセットアップができていなければテンプレートがないか、または違う名前になっているかもしれない。もしテンプレートが選択できなければ、この blog の前回までの記事を参考にして Visual Studio をセットアップしてほしい。

プロジェクトの名前を適当なものにする。ここでは multifunction_4LEDs_on というプロジェクト名にした。

プロジェクトを開始すると次のような画面になるので、右のソリューションエクスプローラーから、Program.cs をクリックして開こう。

Netduino_3_004_mid_640

Program.cs を開くと、// write your code here の行がある。ここに次のコードを書こう。

——————————————————————

var myLED1 = new OutputPort(Pins.GPIO_PIN_D10, false);

——————————————————————

コード全体は次のようになる。

——————————————————————

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace multifunction_4LEDs_on
{
    public class Program
    {
        public static void Main()
        {
            var myLED1 = new OutputPort(Pins.GPIO_PIN_D10, false);
        }
    }
}

——————————————————————

Netduino_3_006_mid_640

コードが書けたらビルドしよう。ビルドに続いて Visual Studio がプログラムを Netduino に配置してくれる。

Netduino_3_007_mid_640

Netduino_3_008_mid_640

ビルドと配置が完了したら、multifunction シールドの D4 LED 、I/O ポート D10 につながっている LED が光るはずだ。

P1100620_clip_640_480

では次に、4つの LED を全部点灯させよう。コードは次のとおり。

——————————————————————

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;

namespace multifunction_4LEDs_on
{
    public class Program
    {
        public static void Main()
        {
            var myLED1 = new OutputPort(Pins.GPIO_PIN_D10, false);
            var myLED2 = new OutputPort(Pins.GPIO_PIN_D11, false);
            var myLED3 = new OutputPort(Pins.GPIO_PIN_D12, false);
            var myLED4 = new OutputPort(Pins.GPIO_PIN_D13, false);        }
    }
}

——————————————————————

Netduino_3_012_mid_640

ビルドして配置すると multifunction シールドのオンボード LED が 4つとも点灯する。

P1100626_clip_640_480

これで multifunction シールドのオンボード LED を点灯することができた。次回はこの LED を点滅させる、いわゆる「L チカ」プログラミングをしよう。

<前の記事>
「Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート」

IKEA の収納ボックス TROFAST の収納フレームをコンパネで作り LEGO の収納棚にする

leave a comment »

家族そろって LEGO 好きだ。米ロサンゼルスのレゴランドにも、マレーシアのレゴランドにも行ったほどだ。LEGO を分類して収納するために適当な収納ボックスを探していて、IKEA で良いものをみつけた。いくつかのサイズがあるが、大きさが 42x30x10 cmのものを選んだ。名前は TROFAST、商品番号は 001.416.70。値段は 1個 300円。

IKEA_TROFAST_mid_640

この収納ボックスは大きさは適当なのだが、これを収納するフレームに気に入ったものがない。そこでコンパネで収納フレームを自作することにした。

まずだいたいの設計図、というかデザインを描く。収納ボックスの縦横の大きさに若干のあそびをもたせた内法にする。ヒンジの深さを考慮して溝を作る。溝はコンパネの余りを横面に張り付けて作る。コンパネの厚みが 1.2mm なのでちょうどいい深さになる。1枚のコンパネから取れる板の大きさから、6段タイプにした。

P1100577_mid_640

デザイン図から、もう少し詳細な設計をする。1段の高さ、ヒンジの深さは適切か、遊びはどのくらい必要か、内法と外のりのサイズの違い、横と背面、天板と床板をどう組み合わせるかを考え、コンパネ材の厚み 1.2mm を考慮して組み立てを考える。

P1100576_mid_640_480

そしてコンパネから材料を切り出す図面を書く。コンパネの切断は自宅ではうまくできないので、購入時にホームセンターで切ってもらう。このように切り出すと、ちょうど 900mm × 1800mm のコンパネ 1枚を無駄なく使うことができる。

P1100575_mid_640_480

材料はこんなかんじ。

P1100556_mid_640_480

ヒンジがひっかかる溝を作るために、側面の板に内側から板を張り付ける。まず木工ボンドを塗る。

P1100563_mid_640_480

板を貼ったらずれないようにピンチで抑える。そしてキリでねじ穴をあける。

P1100560_mid_640_480

ねじは板の厚みから長さを考えて、突き抜けない長さを選ぶ。板の厚みが 1.2mm なので、かなり短いねじを使っている。キリであけた穴に差し込み、電動ドライバーでねじ込む。

P1100562_mid_640_480

内側の溝を作ったところ。

P1100564_mid_640_480

次に箱を組み立てる。一人では安定しないので、誰かに手伝ってほしいところだ。

P1100566_mid_640_480

片側の側面を取り付けた。

P1100567_mid_640_480

片側ができたら、収納ボックスを収めてみて横幅の内法を確かめる。内法の幅は広すぎると収納ボックスが引っかからないで落ちてしまうし、狭すぎると出し入れしにくい。やってみるとちょうどいいかんじだ。

P1100568_mid_640_480

あとは天板と床板を取り付ける。角をあわせて、ずれないように。

P1100569_mid_640_480

収納ボックス TROFAST を一段入れてみる。いい具合だ。

P1100571_mid_640_480

床板には下から上に向けてねじを止めているが、しっかりねじ込んだつもりだが、使っているうちに緩んでくる可能性がある。ねじが緩むと置いている床を傷つけることになるので、ここを処理したい。

P1100574_mid_640_480

端材が少しあるので、それを床に貼って足にする。

P1100579_mid_640_480

床面に 5枚の端切れの板を貼った。これで 900mm × 1800mm のコンパネを全く余すことなく使い切った。

P1100597_mid_640_480

TROFAST 収納ボックスを入れてみよう。完成だ。

P1100599_mid_640_480

Written by Yoshio Matsumoto

2016年1月16日 at 3:00 PM

Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート

with 2 comments

前回「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」でNetduino を開発するための Visual Studio の環境を整えた。だが Netduino のファームウエアのバージョンが古い場合には、作ったプログラムが動かないことがある。試しに Visual Studio 2013 の環境を整えたコンピュータに USB で Netduino を接続し、Visual Studio を起動して簡単なプログラムを作ってみよう。

1.Netduino をコンピュータに接続する

P1100472_mid_640_480

USB ケーブルでコンピュータに Netduino を接続する。

2.Visual Studio 2013 の起動とサンプルプログラムの作成

Netduino_2_074_mid_640

コンピュータに USB で Netduino を接続し、Visual Studio 2013 を起動する。

Netduino_2_076_mid_640

新しいプロジェクトを開始し、言語を Visual C# とし、Micro framework から Netduino Application(Universal) を選択する。テンプレートに Micro framework や Netduino Application (Universal) がないときは、前回の記事を見て Visual Studio のカスタマイズをしてほしい。

Netduino_2_077_mid_640

新しい Netduino Application (Universal) のプロジェクトが開始した。右の「ソリューションエクスプローラー」で Program.cs をクリックしてコードを開く。

Netduino_2_078_mid_640

Project.cs には基本的なコードがあらかじめ作られている。ここで // write your code here とあるところに、次のコードを書く。

————————————————————————————

var myLed = new OutputPort(Pins.ONBOARD_LED, true);

————————————————————————————

Netduino_2_079_mid_640

このコードは、オンボードの LED をアウトプットポートに設定し、出力する、つまり光る状態に定義するコードだ。コードが入力できたらビルドしよう。ビルドすると自動的にコンパイルから Netduino へのプログラムの配置まで Visual Studio がやってくれるはずだ。

3.サンプルプログラムのビルドと配置

Netduino_2_080_mid_640

ビルドを開始する。

Netduino_2_081_mid_640

だがビルドはエラーになる。エラーは「配置エラーが発生しました。続行しますか?」とある。そこでビルドを停止しする。

Netduino_2_082_mid_640

Visual Studio の下部「エラー一覧」を見ると、デプロイできなかったこと、その理由が、デバイスのアセンブリのバージョンが 4.2.0.0 なので、4.3.1.0 にして試すように、といったことが示されている。デバイスのファームウエアのバージョンが低いためだ。

4..NET Micro Framework Deployment Tool で Netduino のファームウエアを確認する

Netduino_2_083_mid_640

ファームウエアのバージョンを確認するには、.NET Micro Framework Deployment Tool を使う。まだコンピュータにインストールされていない場合は、前回までの記事を読んでインストールしてほしい。

Netduino_2_084_mid_640

.NET Micro Framework Deployment Tool を起動すると、起動直後には接続先が Serial になっているので、ドロップダウンリストボックスで接続先を USB に変更する。

Netduino_2_089_mid_640

接続できると Netduino_2_Netduino とモデル名が表示される。そこで「Ping」ボタンをクリックして Netduino との通信をテストする。すると Pinging…TinyCLR という結果が下部に表示される。

Netduino_2_091_mid_640

次に「Target」メニューの「Connect」でターゲットの Netduino デバイスに接続する。

Netduino_2_092_mid_640

Connecting to Netduino2_Netduino…Connected と表示されたら Netduino に接続が完了した。

Netduino_2_094_mid_640

接続が完了したら「Target」メニューの「Device Capabillities」でデバイスの情報を得る。

Netduino_2_095_mid_640

様々な情報が得られるが、この場合、確かに ClrInfo.clrVersion が 4.2.0.0 であることがわかった。Netduino のファームウエアのアップデートについては、もういちど Netduino の公式サイトを見よう。

5.Netduino のファームウエアをダウンロードする

Netduino_2_097_mid_640

公式サイトに firmware updates のアナウンスがある。現時点では netduino firmware v4.3.2.3 となっている。アップデートのリリースの日付は 18-sep-2015、2015年9月18日だ。ダウンロードのリンクをクリックしてファイルをダウンロードする。

Netduino_2_098_mid_640

ダウンロードしたファイルは適当なフォルダに保存しておく。

Netduino_2_099_mid_640

ダウンロードしたファイルを展開する。

Netduino_2_100_mid_640

展開先の選択とファイルの展開をする。

Netduino_2_101_mid_640

展開するとこのようなフォルダとファイルができる。ここで「firmware」のフォルダを試しに開いてみる。

Netduino_2_102_mid_640

フォルダからは、Netduino の各モデルのファームウエアが用意されていることがわかる。

Netduino_2_103_mid_640

6.Netduino のファームウエアをアップデートする

ファームウエアのアップデートは、NetduinoUpdate のプログラムを実行する。Netduino Update のプログラムは、現時点で v1.0.2 だ。

P1100473_mid_640_480

Netduino をコンピュータに USB で接続するが、このとき、Netduino のボード上のボタン BTN を押しながら接続する。もし Netduino を既に接続していたときは、一度取り外して接続しなおす。するとボード上の LED が点灯する。これで Netduino のファームウエアを書き換えることができる bootloader モードとして起動できる。

Netduino_2_105_mid_640

Netduino を bootloader モードとして起動できると、Netduino Update v1.0.2 プログラムに Netduino のモデル名が表示される。

Netduino_2_107_mid_640

そこでモデル名にチェックを入れ、アップデートを実行する。

Netduino_2_109_mid_640

アップデートが実行される。

Netduino_2_111_mid_640

アップデートが終了したら、Netduino Update v1.0.2 プログラムから Netduino のモデル名が消える。

7.Netduino の新しいファームウエアに Visual Studio でビルドしデプロイする

Netduino_2_113_mid_640

Netduino のファームウエアがアップデートされたら、プログラムは動くはずだ。もういちど Visual Studio を起動し、プロジェクトを開いてビルドする。

Netduino_2_115_mid_640

エラーなくビルドでき、プログラムは Netduino に配置された。

P1100475_mid_640_480

Netduino のオンボード LED が点灯した。

これで Netduino の開発環境が整った。次回から実際に multifunction シールドを使ったプログラムをする。

<前の記事>
「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」

<次の記事>
「Netduino で Arduino 用の multifunction シールドを使う(4) – オンボードの 4つの LED を点灯させる」

Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える

with 3 comments

前の記事「Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは」では、Multifunction シールドの概要と Arduino や Netduino について簡単に紹介した。今回は Visual Studio で Netduino のプログラミングをする準備を整える説明をする。

1.Netduino の公式サイトで最新の情報を得る

Visual Studio で Netduino のプログラミングをするには、Visual Studio をカスタマイズしなければならない。また場合によっては Netduino のファームウエアを書き換える必要がある。Netduino の開発環境のカスタマイズについては、Netduino の公式サイト www.netduino.com から情報を得る。公式サイトの「downloads」では、現時点で次のようなステップが示されている。開発がすすんでいるので、自分でやってみるには、まず、このサイトで最新の情報を入手してほしい。

1.Microsoft Visual Studio Express 2013 のインストール
2..NET Micro Framework SDK v4.3 のインストール
3..NET MF plug-in for VS2013 のインストール
4.Netduino SDK v4.3.2.1 のインストール

Netduino_2_001_mid_640

2.Visual Studio 2013 のインストール

現時点での最新の Visual Studio は 2015 だが、ここでは Netduino 公式サイトの推奨どおり Visual Studio 2013 をインストールしよう。Netduino の公式サイトは Microsoft のダウンロードセンターにリンクされている。

Netduino_2_002_mid_640

現時点の Microsoft Visual Studio Express 2013 for Windows Desktop は Update 5 だ。

Netduino_2_003_mid_640

ダウンロードセンターには2つのプログラムがある。ダウンロード版は vs2013.5_dskexp_JPN.iso だ。もうひとつのサイズの小さいプログラム wdexpress_full.exe はインターネット経由でインストールするインストーラーだ。コンピュータにデータをダウンロードして実行できるディスク容量があれば、通常ダウンロード版の iso ファイルをダウンロードしてインストールする。

Netduino_2_004_mid_640

ダウンロードしたプログラムはコンピュータの適当なフォルダに保存し、インストールを実行する。

Netduino_2_005_mid_640

Netduino_2_006_mid_640

Netduino_2_008_mid_640

ライセンス条項とプライバシーポリシーに同意し、インストールを開始する。

Netduino_2_010_mid_640

Netduino_2_040_mid_640

インストールが完了したら、いちど Visual Studio を起動してみる。

Netduino_2_041_mid_640

Netduino_2_042_mid_640

Netduino_2_046_mid_640

Visual Studio を起動した画面で、新しいプロジェクトを開始する。

Netduino_2_047_mid_640

新しいプロジェクトを開始すると、使用する言語とテンプレートを選択する。しかしここにはまだ Netduino のテンプレートがない。そこで次のステップ、.NET Micro Framework SDK v4.3 のインストールにすすむ。

3..NET Micro Framework SDK v4.3 のインストール

.NET Micro Framework SDK v4.3 をインストールするには、Netduino の公式サイトでダウンロードのリンクをクリックし、ダウンロードファイルをコンピュータの適当なフォルダに保存する。

Netduino_2_054_mid_640

ダウンロードファイルを実行する。

Netduino_2_056_mid_640

ライセンス使用条項に同意する。

Netduino_2_057_mid_640

インストールのタイプを選ぶ。Complete で完全インストールを選択できる。

Netduino_2_058_mid_640

次の画面で Install ボタンをクリックしてインストールがはじまる。

Netduino_2_059_mid_640

Netduino_2_060_mid_640

4..NET MF plug-in for VS2013 のインストール

次に .NET MF plug-in for VS2013 のインストールをする。これも Netduino の公式サイトのリンクをクリックしてプログラムをダウンロードし、コンピュータの適当なフォルダに保存する。

Netduino_2_062_mid_640

ダウンロードしたファイルを実行する。

Netduino_2_063_mid_640

Netduino_2_064_mid_640

ライセンス条項に同意し、インストールを開始する。

Netduino_2_065_mid_640

.NET MF plug-in for VS2013 のインストールが完了した。

5.Netduino SDK v4.3.2.1 のインストール

最後に Netduino SDK v4.3.2.1 のインストールをする。これも Netduino の公式サイトからダウンロードのリンクを使ってダウンロードする。ダウンロードしたファイルはコンピュータの適当なフォルダに保存する。

Netduino_2_067_mid_640

ダウンロードファイルを実行する。

Netduino_2_068_mid_640

ライセンス条項に同意し、インストールを開始する。

Netduino_2_069_mid_640

Netduino_2_070_mid_640

Netduino SDK v4.3.2.1 のインストールが完了した。

6.Visual Studio 2013 の起動とテンプレートの確認

ここで再度 Microsoft Visual Studio Express 2013 for WIndows Desktop を起動してみる。

Netduino_2_071_mid_640 

Netduino_2_072_mid_640

新しいプロジェクトを開始すると、Visual C# の言語に Netduino Application (Universal) のテンプレートがあることがわかる。これで Netduino の開発環境が整った。

<前の記事>
「Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは」

<次の記事>
「Netduino で Arduino 用の multifunction シールドを使う(3) – Netduino ファームウエアのアップデート」

Netduino で Arduino 用の multifunction シールドを使う(1) – multifunction シールド(Arduino UNO R3 学習向け多機能拡張ボード シールドキット)とは

with 2 comments

急激に進化しつつあるマイコンボードとIoTの分野において、その先鞭となりかつ現時点で最も普及し豊富なラインナップと周辺製品が充実しているのは Arduino と言っていいだろう。Arduino はそのIOピン配置に適応した拡張ボード、マイコンの世界では「ドーターボード」と呼ばれたりするものだが、これを使うことで機能を拡張したり簡単な実験をすることができる。これを Arduino の用語では「シールド」といい、様々な製品が発売されている。Arduino は回路が公開されているので自分でシールドを設計して作ることもでき、自作用の基盤やピンなどの部品も簡単に手に入れることができる。この Arduino のIOとピン配置に適合したシールドは、近年のマイコンボードの世界であたかもデファクトスタンダードの様相を示しており、豊富なシールドの恩恵を得るように、様々なマイコンボードが Arduino 互換のIOとピン配置を持っている。

P1100471_mid_640_480

Netduino は「ネットデュイーノ」と読み、.NET micro Framework が動くマイコンボードで Visual Studio を使って C# プログラミングによる .NET ライブラリの豊かな資産を使うことができるものだが、Netduino もそのIOとピン配置は Arduino 互換となっており、Arduino 用の様々なシールドが利用できる。下の写真は Netduino 2 で、現時点で入手することができる最もベーシックな Netduino だ。

P1100470_mid_640_480

公式サイトは www.netduino.com で、Netduino の製品群や Visual Studio で開発するための SDK などのダウンロード、活用のノウハウと情報交換のコミュニティなどがある。

Netduino_2_052_mid_640

Netduino は発表以来いくつかのモデルが発売されている。Netduino の公式サイトによると、現時点で最も新しい モデルは Netduino 3 だ。

Netduino_2_053_mid_640

multifunction シールドは、Arduino Uno と Leonardo に対応した実験用のシールドだ。基本的な実験で利用しやすい部品が取り付けられている。値段も安い。現時点で Amazon では送料無料で1,000円で買うことができる。ちなみに Amazon で最も価格が安いショップでは、「Arduino UNO R3 学習向け多機能拡張ボード シールドキット」という名称になっているので、検索するときはキーワードに気を付けてほしい。

Netduino_2_051_mid_640

この multifunction shield には4個のドット付き赤色7セグメントディスプレイモジュール、4個の LED、10K オームの小型ボリューム、3つのプッシュボタンが装填されている。もしこのモジュールを自作するとすれば、よほど低価格の部品をかき集めてこないと、部品代だけで 1,000 以上かかってしまうだろう。

P1100469_mid_640_480

この multifunction シールドを Netduino 2 に装填し、基本的な実験をしてみよう。

※この記事を書くには Microsoft MVP のはつねさんが書かれた Build Insider の記事「.NET対応組み込みデバイス『Netduino』入門」 http://www.buildinsider.net/small/netduino がとても参考になりました。ありがとうございます。

<次の記事>
「Netduino で Arduino 用の multifunction シールドを使う(2) – Microsoft Visual Studio Express 2013 for WIndows Desktop の C# プログラミング環境を整える」

フォロー

新しい投稿をメールで受信しましょう。

現在1,454人フォロワーがいます。