以前、RaspberryPiを買ったもののだいぶと放置していたので一念発起してMonoを入れて C# で HelloWorld してみました。
今回使った道具
- 8GBのSDカード
- LANケーブル
- USBケーブル
まず、SDカードにOSをインストールします。Raspberry Pi 公式ページで配布しています。今回はRasbianを選択しました。zipを解凍すると 2014-01-07-wheezy-raspbian.img (先頭の日付はバージョンに依存) というディスクイメージファイルが出てきます。これをSDカードに起動できる状態で書き込みするのですが、
というツールを使います。ダウンロードして解凍してでてきたexeを起動します。
SDカードを挿した状態だと右上のDeviceが選択できるので、該当ドライブ名を選択します。Image Fileは先ほどのディスクイメージファイルを選択します。そしてWriteを押してしばらくすると書き込みが完了します。
これでSDカードをRaspberryPiに挿入して、LANケーブルをつなぎ、USBケーブルを挿して電源を入れます。
今回はSSH接続で操作することにします。LANケーブルで家のルーターにつないでいるので、家のWindowsマシンからPuttyを使って接続します。RaspberryPiに払い出されたアドレスを探して接続します。
ダウンロードページにあるように pi/raspberry でログインします。次に sudo raspi-config でもろもろの設定をします。初期状態だと2GBしか認識していないので、Expand FileSystemで拡張し、パスワードを変更しておきます。
再起動後、パッケージをアップデートしておきます。
$ sudo apt-get update $ sudo apt-get upgrade $ uname -a Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU/Linux
ここまで来たらいよいよMonoをインストールします。
$ sudo apt-get install mono-complete
と入力してインストールしますが、おそらく30分くらいかかるはずなので気長に待ちます。
$ mono -V Mono JIT compiler version 3.2.3 (Debian 3.2.3+dfsg-5+rpi1) Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: normal Notifications: epoll Architecture: armel,vfp+hard Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen
ここまで来たらあとは HelloWorld.csを書きます。
$ mkdir HelloWorld $ cd HelloWorld $ vi HelloWorld.cs using System; public class HelloWorld { public static void Main() { Console.WriteLine("Hello World!"); } } $ gmcs HelloWorld.cs $ mono HelloWorld.exe Hello World!
というわけでできました。
次はRaspberryをサーバーとして使えないかなあと考えているところです。