コンピュータを楽しもう! RSSフィード Twitter

2015-04-28

[]IchogoJamKeyBoardをバージョンアップしました 04:37

IchigoJamKeyBoardをバージョンアップしました。IchigoJamKeyBoardと書くと長いので、IJKBと省略することにします。

IJKBがVer 1.0.1になりました。ダウンロードgithubhttps://github.com/tarosay/IchigoJamKeyBoardからお願いします。

プログラムダウンロード

IJKBにプログラムダウンロードする機能をつけました。フォームの下のところに「プログラム保存」というボタンを追加しました。

f:id:tarosay:20150429042623p:image

ここをマウスでクリックすると、「ファイルに保存」フォームが開きます。

f:id:tarosay:20150429042826p:image

保存したいSAVE番号を入力した後、「ファイル保存」ボタンを押すと保存ファイル名を入力するダイアログが開きます。保存ファイル名を指定すると自動的にプログラムの保存がスタートします。

f:id:tarosay:20150429043118p:image

プログレスバーが消えるとプログラムの保存が終了しています。

この機能の特徴はプログラムに特殊なバイナリコードが含まれていてもそのまま保存する点です。IchigoJamは特殊なキャラクタコードを特殊なバイナリコードに割り当てているので、PRINTデータに特殊なキャラクタコードが含まれていると、うまく取得できないことがあるのですが、IJKBのプログラム保存機能はバイナリコードのまま保存するので、プログラムが化けることはありません。

2015-04-25

[]IchogoJam用シリアルキーボードアプリ 05:02

IchigoJam用のシリアルキーボードアプリ「IchigoJam KeyBoard」を作ってみたので、紹介も兼ねてブログを書きます。

これはIchigoJamのシリアルポートにつなげて、Windows機をキーボードの代わりに使用するアプリです。

Mac版のシリアルツールはtitoi2さんがgithubIchigoJamSerialConsoleを公開されています。


ダウンロード

githubにあるIchigoJam KeyBoardダウンロードしてください。

インストール

インストールは特にありません。 IchigoJamKeyBoard.exe を実行するだけです。

使い方

シリアルポートをIchigoJamを接続したポートに合わせて接続を押すだけです。IchigoJamは標準でボーレートは115200bpsです。

f:id:tarosay:20150426040947j:image:w400

あとは、キーを打てばIchigoJamの画面に文字が出ます。このプログラムの文字表示はIchigoJamの画面を表示しているわけではありません。単純に入力文字のエコーバックとIchigoJamかせシリアルポートに出力する文字を表示しているだけです。

Windows上でのキーボード操作が全てIchigoJamに送信されのるので、それがいやなときには「切断」キーをクリックしてIchigoJamとの接続を切ってください。

エコーバックを止める

エコーバックを止めたい場合は、右上の「エコーバック」ボタンをクリックしてください。

ファンクションキー

画面の二段目にファンクションキーの内容が表示されています。これはIchigoJamの内部実装のものではなくて、IchigoJam KeyBoardの独自実装です。ファンクションキーの内容を書き換えることで自由に変更できます。改行文字は \n としてください。例えば、100行目までのリストを表示したいときには「list100\n」としてください。書き換えた内容は書換え位置からカーソルを逃がすことで入れ替わります。

f:id:tarosay:20150426042335j:image:w400

BASファイルの送信

IchigoJamKeyBoardの文字表示画面にBASファイルをドラッグすることにより、IchigoJamにプログラムを送信できます。以下はBASファイルを読み込んでいる様子です。ファイルの送信を途中でやめたい場合は「切断」キーをクリックしてIchigoJamとの接続を切ってください。

f:id:tarosay:20150426042715j:image

プログラムの貼り付け

Windowsでコピーした文字をIchogoJamに貼り付けることができます。文字をコピーしたら、画面下にある「貼り付け」ボタンをクリックしてください。プログラムに貼り付けを途中でやめたい場合は「切断」キーをクリックしてIchigoJamとの接続を切ってください。

f:id:tarosay:20150426043041j:image

上書き/挿入の切り替え

文字の「上書き」と「挿入」切り替えは、画面下の挿入ボタンをクリックするか、キーボードの「Insert」キーを押してください。

半角英数とカナの切り替え

「英数文字」と「半角カナ文字」の切り替えは、画面下のラジオボタンを選択するか、キーボードの「カタカナ/ひらがな/ローマ字」キーを押してください。

f:id:tarosay:20150426044152j:image

ローマ字入力をしたい場合は、カナ選択時の入力モードを「ローマ字入力」を選らんでください。すると画面下に入力ウィンドウが開きます。このウィンドウでは通常の入力方式が使えるので、ローマ字入力で日本語入力してください。

f:id:tarosay:20150426045835j:image

入力後、改行を押すと、入力文字が半角カナ文字になって、IchogiJamに入力されます。

f:id:tarosay:20150426050132j:image

プログラムWindowsへの保存

もしプログラムWindowsに保存したい場合は、listを表示した後、IchigoJamKeyBoardに表示されたプログラムリストをマウスで選択してコピーし、それをエディタに貼り付けてください。表示は内容はスクロールして戻すことができるようにしています。


以上が、IchigoJamKeyBoardの機能です。

2015-04-05

[]実数の加減算 05:00

IchigoJamを一日触って、IchigoJamを体験するのとBASICのリハビリも兼ねて、プログラムを作ってみました。IchigoJamで実数計算をします。

とりあえず、一日かけて作成したプログラムを置いておきます。

たぷん、何をしているか、コメントも何も書いていないので、まったくわからないと思います。すいません。


IchigoJamプログラム

全てのプログラムを保存し終わった後、load 0してください。

そして、[99]=10としてください。

加減算を行いたい値を配列[0][1][2]と[3][4][5]に入力してください。

配列[0]→指数、[1][2]には4桁の数値をいれます。

2.3456789E1を入力したいときには、let [0],1,2345,6789 とします。

-2.3456789E1を入力したいときには、let [0],1,-2345,6789 です。

-2.3456789E-5は、let [0],-5,-2345,6789 です。

[3][4][5]も同様です。

下記は 100 - 10 = 90 を計算する例です。

[99]=10
OK
let [0],2,1000,0000:let [3],1,-1000,0000
OK
run
(1.0000000E2)+(-1.0000000E1)= 9.0000000E1
OK

プログラム 0です。save 0して保存してください。

1 goto[99]
10 'let [0],2,1087,5420
20 'let [3],1,1234,5678
30 ?"(";:[94]=0:[100]=200:[99]=40:[98]=0:lrun 2
40 ?")+(";
50 [94]=3:[99]=60:lrun 2
60 ?")= ";
70 w=0:v=3:[86]=80:goto 200
80 [94]=0:[100]=200:[99]=90:[98]=0:lrun 2
90 ?:[99]=10:end
200 [100]=500:[99]=210:[98]=0:lrun 2
210 [85]=[w]-[v]:if [85]>8 else goto 250
220 if f<0 then [w+1]=-[w+1]
230 goto [86]
250 if(f=1)+(f=-2)else goto 430
260 if[85]<4 else goto 310
270   q=[85]:gosub 700
280   m=[w+2]+([v+1]%r)*(10000/r)+[v+2]/r
290   l=[v+1]/r
300 goto 340
310   q=[85]-4:gosub 700
320   m=[w+2]+[v+1]/r
330   l=0
340 [w+2]=m%10000
350 if m>9999 then m=1 else m=0
360 [w+1]=m+[w+1]+l
370 if [w+1]>9999 else goto 410
380   [w+2]=[w+2]/10+([w+1]%10)*1000
390   [w+1]=[w+1]/10
400   [w]=[w]+1
410 if f=-2 then [w+1]=-[w+1]
420 goto [86]
430 [100]=200:[99]=440:[98]=0:lrun 1
440 goto [86]
700 r=1:if q=0 then return else for p=1 to q:r=r*10:next:return

プログラム 1です。save 1して保存してください。

100 goto[100]
110 lrun[98]
200 [70]=[w+1]:[71]=[w+2]:[72]=0:[73]=0
210 if[85]<4 else goto 240
220   q=[85]:gosub 700
230   [74]=[v+1]/r:[75]=([v+1]%r)*(10000/r)+[v+2]/r:[76]=([v+2]%r)*(10000/r):[77]=0
240 goto 270
250   q=[85]-4:gosub 700
260   [74]=0:[75]=[v+1]/r:[76]=([v+1]%r)*(10000/r)+[v+2]/r:[77]=([v+2]%r)*(10000/r)
270 m=0:for z=3 to 0 step -1
280   [70+z]=[70+z]-[74+z]-m
290   if [70+z]<0 then [70+z]=10000-[70+z]:m=1 else m=0
300 next
310 n=0:for z=0 to 7
320   if [70]/1000>0 then z=7:goto 380
330   [70]=([70]%1000)*10+[71]/1000
340   [71]=([71]%1000)*10+[72]/1000
350   [72]=([72]%1000)*10+[73]/1000
360   [73]=([73]%1000)*10
370   n=n+1
380 next
390 if n=8 then [w]=0 else [w]=[w]-n
400 [w+1]=[70]:[w+2]=[71]
410 if f=-1 then [w+1]=-[w+1]
420 goto 110
700 r=1:if q=0 then return else for p=1 to q:r=r*10:next:return

プログラム 2です。save 2して保存してください。

100 gosub[100]
110 lrun[98]
200 for y=0 to 1
210   [93]=[y+[94]+1]
220   if[93]<0 then ?"-";:[93]=-[93]
230   for z=3 to 0 step -1
240     q=z:gosub 700
250     ?[93]/r;
260     [93]=[93]-([93]/r)*r
270     if(z=3)&(y=0)?".";
280 next:next
290 if[[94]]<>0?"E";[[94]];
300 return
400 [92]=0:if([90]>8)+([90]<=0)then return
410 if [90]<=4 then [92]=[[91]+2]:q=[90]-1 else [92]=[[91]+1]:q=[90]-5
420 gosub 700:[92]=([92]/r)%10
430 return
500 h=0:f=0
510 if[w+1]<0then h=h+1:[w+1]=-[w+1]
520 if[v+1]<0then h=h+10:[v+1]=-[v+1]
530 for g=0 to 2
540   if[w+g]>[v+g]else goto 580
550     if h=1 then f=-1
560     if h=10 then f=0
570     g=2:goto 630
580   if[w+g]<[v+g]else goto 630
590     for s=0 to 2:t=[w+s]:[w+s]=[v+s]:[v+s]=t:next
600     if h=10 then f=-1
610     if h=1 then f=0
620     g=2
630 next
640 if h=11 then f=-2
650 if h=0 then f=1
660 return
700 r=1:if q=0 then return else for p=1 to q:r=r*10:next:return

[]TeraTermからIchigoJamにプログラムを書き込む 04:30

IchigoJamを一日触って、直接プログラミングするよりも慣れたエディタプログラムを書いて出来上がったプログラムをIchigoJamに送信したほうが楽だと思ったので、その方法を備忘録として書いておきたいと思います。方法はIchigoJamのシリアルポートからプログラムを書き込みます。シリアル接続にはTeraTermを用いました。IchigoJamとTeraTermの接続は以前のプログ(2015/4/1)に書いています。


TeraTermの設定

TeraTermからIchogoJamに大量のデータを一気に送信するときに、送信タイミングを遅延させないとIchigoJamがデータを取りこぼす恐れがあります。そこで以下のような設定をしました。送信遅延を30msとりました。

f:id:tarosay:20150406040023p:image:w340

他の設定は下記のようです。受信がAUTO、送信がCR+LF、ローカルエコー有りです。

f:id:tarosay:20150406040024p:image:w340


TeraTermからの書き込み

IchigoJamの電源を入れたときの画像です。下がTeraTermで上がIchigoJamのビデオ信号のキャプチャです。

f:id:tarosay:20150406040025p:image:w400

ここに、プログラムコピーアンドペーストしてTeraTermからIchogoJamに送信します。送信するときに、TeraTermはローカルエコー設定をしているので、一瞬でプログラムを表示しますが、IchigoJamには遅延時間を入れながら送信しているので、ゆっくり送信されます。

この様子を動画で取ってみました。説明したいことがわかると思います。IchigoJamの起動からスタートします。

D

以上で説明終了です。

2015-04-01

[]IchigoJamのファームを書き換える 04:39

IchigoJamを買いました。いじっているうちに暴走させてしまい、動かなくなったので、ファームを焼きなおしました。その方法を備忘録として書いておきます。

IchigoJamの回路図このページに載っています。


USB-シリアル変換基板の用意

IchigoJamにファームを書き込むために、IchigoJamとPCをシリアル接続する必要があります。ちょうど手元にあった秋月電子で600円で売っている超小型USBシリアル変換モジュールを使うことにしました。

図のように、IchigoJamのスライドスイッチをOFFにしておいて、USBシリアル基板とIchigoJamを接続します。

f:id:tarosay:20150402032542p:image

USBシリアル  IchigoJam
   TxD   -----   RxD
   RxD   -----   TxD
   GND   -----   GND
          ISP ----- GND
          RESET --- GND

IchigoJamのISPGNDにつなぎます。そして、IchigoJamのRESETもGNDにつないでおきます。RESETはスイッチオンした後にGNDから抜きます。


Flash Magicダウンロードします

Flash Magicダウンロードします。サイトはhttp://www.flashmagictool.com/です。画面右のDownloadからFlashMagic.exeダウンロードします。

f:id:tarosay:20150402034243p:image

Flash MagicインストールしたらFlash Magicを起動します。USBシリアルポートが割り当てられているCOM番号を調べてFlash Magicに設定します。COMポートを調べるにはTeraTermを立ち上げるのが一番早いかもしれません。ここではCOM4です。

f:id:tarosay:20150402035147p:image:w480


Flash Magicの設定をします

図のように、LPC1114/102を選択し、COM4、ボーレートを115200にします。Verifyにもチェックを入れておきます。

f:id:tarosay:20150402035148p:image


IchigoJam起動

IchigoJamの電源スライドスイッチをオンにします。その後、GNDに接続したRESETのコードをはずします。この状態でIchigoJamがファームの読み書きができる状態になっています。

f:id:tarosay:20150402035149p:image


ファームの書き換え

現在のIchigoJamのファームを読み出してみます。Flash MagicのDisplay Flash Memoryを選択します。下図の虫眼鏡のアイコンです。

f:id:tarosay:20150402035150p:image

下図のようにメモリの内容がダンプされます。ダンプされれば接続が成功しています。

f:id:tarosay:20150402035151p:image

次に、ファームの書き換えを行います。Browseで最新ファームのhexを選びます。

f:id:tarosay:20150402035153p:image

Startボタンを押します。書き込みが開始され、Finishedが出れば終了です。

f:id:tarosay:20150402041635p:image


IchigoJamを起動してみる

スライドスイッチをオフにしてISPのコードを外します。

TeraTermを起動します。COM4を選択し、USBシリアルと接続します。次に、シリアルポートの設定を開いてボーレートを115200にします。

f:id:tarosay:20150402041636p:image

次に、端末を設定します。32×24にすると、IchigoJam画面サイズになりますがキャラクタが違うのであまり関係ないかな。

f:id:tarosay:20150402041637p:image

受信はAUTOにして送信はCR+LFにします。後、ローカルエコーにしないと入力文字がわかりません。

この状態で、IchigoJamのスライドスイッチをオンすると下のような画面になれば、ファームの書き換えが成功しています。

f:id:tarosay:20150402041638p:image


これで、新規ファームにアップデートしていけるようになりました。ファームをアップデートしても、SAVEしたプログラムは消えていませんでした。

2014-06-21

[]WindowsVagrant ec2を試してみる(7) vagrant up --provider=aws 04:54

いよいよ、vagrant upして、awsEC2インスタンスVagrantを用いて生成してみます。

起動は、--providerオプションをつけます。

GitBashを起動します。GitBashについては、WindowsでVagrant ec2を試してみる(1) 事前環境作りで説明しています。


vagrant up --provider=aws実行

実行するには、先ず、Vagrantを起動するフォルダを作成します。今回は ~/Documents/Vagrant/aws フォルダでVagrantを起動したいと思います。先ず、~/Documents/Vagrant/awsフォルダに先ほどのVagrantfileを置きます。そして、~/Documents/Vagrant/awsフォルダに移動します。

そして、vagrant up --provider=aws を 実行します。

$ cd ~/Documents/Vagrant/aws
$ vagrant up --provider=aws
Bringing machine 'default' up with 'aws' provider...
[fog][WARNING] Unable to load the 'unf' gem. Your AWS strings may not be properly encoded.
==> default: HandleBoxUrl middleware is deprecated. Use HandleBox instead.
==> default: This is a bug with the provider. Please contact the creator
==> default: of the provider you use to fix this.
==> default: Warning! The AWS provider doesn't support any of the Vagrant
==> default: high-level network configurations (`config.vm.network`). They
==> default: will be silently ignored.
==> default: Launching an instance with the following settings...
==> default:  -- Type: t1.micro
==> default:  -- AMI: ami-bddaa2bc
==> default:  -- Region: ap-northeast-1
==> default:  -- Availability Zone: ap-northeast-1c
==> default:  -- Keypair: VagrantEC2
==> default:  -- Security Groups: ["VagrantEC2SecurityGroup"]
==> default:  -- Block Device Mapping: []
==> default:  -- Terminate On Shutdown: false
==> default:  -- Monitoring: false
==> default:  -- EBS optimized: false
==> default: Waiting for instance to become "ready"...
==> default: Waiting for SSH to become available...
==> default: Machine is booted and ready for use!
==> default: Warning! Folder sync disabled because the rsync binary is missing in the host.
==> default: Make sure rsync is installed and the binary can be found in the PATH.

これでインスタンスが生成されているはずです。vagrant sshしてみます。

$ vagrant ssh
[fog][WARNING] Unable to load the 'unf' gem. Your AWS strings may not be properly encoded.
Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-24-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Sat Jun 21 19:26:23 UTC 2014

  System load:  0.81             Processes:           73
  Usage of /:   9.6% of 7.75GB   Users logged in:     0
  Memory usage: 11%              IP address for eth0: 172.31.23.210
  Swap usage:   0%

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.


ubuntu@ip-172-31-23-210:~$

無事、ログインできました。

awsEC2を見てみると、インスタンスが生成されていることが確認できます。

f:id:tarosay:20140622043426p:image


TeraTermからログインしてみる

ここまで来ると、使い慣れたTeraTermからログインしたくなります。ということで、ログインしてみます。TeraTermインストール方法は、TeraTermの最新版(4.82)をWindows7にインストールしてみました!サイトなどを参考にしてください。

TeraTermを起動します。EC2IPアドレスは、awsEC2インスタンスのConnectポタンを押して確認します。WindowsでVagrant ec2を試してみる(6) Vagrantfilesの作成のoverride.ssh.usernameのところで少し解説しています。

f:id:tarosay:20140622044522p:image:w320

OKを押すと、セキュリティ警告がでるので、「続行」を押します。

f:id:tarosay:20140622044523p:image:w320

User名に ubuntuを入れて、パスフレーズは無しでいいです。RSA/DSA鍵を使うを選択し VagrantEC2.pemファイルを選びます。

f:id:tarosay:20140622044524p:image:w320

OKを押すと、TeraTermEC2ログインできました。

f:id:tarosay:20140622044525p:image:w320


以上でWindowsからVagrantaws EC2インスタンスを生成する解説を終わります。

[]WindowsVagrant ec2を試してみる(6) Vagrantfilesの作成 04:13

vagrant-awsプラグインインストールしたので、最期にVagrantfilesを作成したいと思います。

とりあえず、下記のような感じです。それぞれ説明していきたいと思います。

# vagrant up --provider=aws
#
Vagrant.configure("2") do |config|
  config.vm.box = "aws-dummy"

  config.vm.provider :aws do |aws, override|
    aws.access_key_id = "アクセスキー"
    aws.secret_access_key = "シークレットアクセスキー"
    aws.keypair_name = "VagrantEC2"

    aws.instance_type = "t1.micro"
    aws.region = "ap-northeast-1"
    aws.availability_zone = "ap-northeast-1c"
    aws.security_groups = "VagrantEC2SecurityGroup"
    aws.ami = "ami-bddaa2bc"

    override.ssh.username = "ubuntu"
    override.ssh.private_key_path = "~/.ssh/VagrantEC2.pem"

    aws.tags = { 'Name' => 'VagrantTest' }

  end
end

config.vm.box

config.vm.boxは、vagrantのダミーボックスです。WindowsでVagrant ec2を試してみる(5) vagrant-awsプラグインインストールで作成したものです。

config.vm.box = "aws-dummy"

aws.access_key_id と aws.secret_access_key

aws.access_key_id と aws.secret_access_keyは、WindowsでVagrant ec2を試してみる(2) awsでのアクセスキー設定で取得したAccess Key Id と Secret Access Keyのことです。****は各自のコードになります。

aws.access_key_id = "********************"
aws.secret_access_key = "****************************************"

aws.keypair_name

aws.keypair_nameは、WindowsでVagrant ec2を試してみる(3) awsでのKey Pairs設定で設定したKey pair nameになります。今回は「VagrantEC2」と設定しました。

aws.keypair_name = "VagrantEC2"

aws.instance_type

aws.instance_typeは、作成するインスタンスのタイプを設定します。「t1.micro」は最も小規模なインスタンスです。

aws.instance_type = "t1.micro"

f:id:tarosay:20140622031606p:image:w320


aws.region と aws.availability_zone

aws.region と aws.availability_zoneは、インスタンスを生成する地域を指定します。WindowsでVagrant ec2を試してみる(3) awsでのKey Pairs設定で、「Tokyo」を選択しており、「Tokyo」のリージョンは「ap-northeast-1」となり、アベイラビリティゾーンは「ap-northeast-1c」となります。

aws.region = "ap-northeast-1"
aws.availability_zone = "ap-northeast-1c"

aws.security_groups

aws.security_groupsは、WindowsでVagrant ec2を試してみる(4) awsでのSecurity Group設定で作成しています。今回は、「VagrantEC2SecurityGroup」というグループを作成しました。

aws.security_groups = "VagrantEC2SecurityGroup"

aws.ami

aws.amiは、生成するインスタンス上で動かすOSを指定します。今回はUbuntu Server 14.04 LTS 64bitのインスタンスを作成したいので、「ami-bddaa2bc」としました。

aws.ami = "ami-bddaa2bc"

f:id:tarosay:20140622033130p:image:w320


override.ssh.username

override.ssh.usernameは、sshログインするときのユーザー名です。選択したaws.amiによって決まっています。今回はUbuntu Server 14.04 LTS 64bitを選んだので、ユーザー名は「ubuntu」です。ユーザー名をインスタンスを作る前に調べる方法がわかりませんでした。一度、EC2インスタンスを作れば、Running中にConnectボタンが押せるようになるので、Connectボタンを押せばユーザー名を確認することができます。

override.ssh.username = "ubuntu"

f:id:tarosay:20140622040628p:image:w320


override.ssh.private_key_path

override.ssh.private_key_pathは、WindowsでVagrant ec2を試してみる(3) awsでのKey Pairs設定で保存したKey Pairsファイルのパスを指定するものです。今回は .sshフォルダにVagrantEC2.pemを保存しています。

override.ssh.private_key_path = "~/.ssh/VagrantEC2.pem"

aws.tags

aws.tagsはタグを指定するものですが、生成したインスタンスのNameをセットしてみました。インスタンスの名前にVagrantTestと表示されます。

aws.tags = { 'Name' => 'VagrantTest' }

ここで作成したVagrantfileをVagrantを起動するフォルダに置きます。

[]WindowsVagrant ec2を試してみる(5) vagrant-awsプラグインインストール 02:57

WindowsVagrant ec2を起動するためのaws上の設定は(4)までで全て終わりました。ここからは、Windows上での設定になります。


vagrant-awsインストール

vagrantプラグインであるvagrant-awsインストールします。GitBashを起動します。GitBashのインストールWindowsでVagrant ec2を試してみる(1) 事前環境作りに説明しています。

vagrant-awsを下記のようにしてインストールします。

$ vagrant plugin install vagrant-aws
Installing the 'vagrant-aws' plugin. This can take a few minutes...
Installed the plugin 'vagrant-aws (0.4.1)'!

$ vagrant plugin list
vagrant-aws (0.4.1)
vagrant-login (1.0.1, system)
vagrant-share (1.1.0, system)

vagrant plugin listを取るとインストールされているのがわかると思います。


ダミーのBoxの生成

vagrant-awsを使用するときに、ダミーのBoxが必要となります。そこでダミーのBoxを生成します。ダミーのボックスはvagrant-aws作者さんのサイトから取得できます。

$ vagrant box add aws-dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
==> box: Adding box 'aws-dummy' (v0) for provider:
    box: Downloading: https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box
    box: Progress: 100% (Rate: 139/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'aws-dummy' (v0) for 'aws'!

$ vagrant box list
aws-dummy                       (aws, 0)

次に、Vagrantfileの作成について書きたいと思います。

[]WindowsVagrant ec2を試してみる(4) awsでのSecurity Group設定 02:37

WindowsVagrant ec2を起動するために、Security Groupを設定する必要があります。既にEC2インスタンスを作成したことがあるのであれば、Security Groupが自動生成されていると思うので、それを使っても大丈夫です。

ここでは、新規にセキュリティーグループを作成してみます。


セキュリティーグループを設定する

EC2のメニューからSecurity Groupsを選択します。そして、Create Security Groupボタンを押します。

f:id:tarosay:20140622022702p:image:w320

Create Security Group画面が出てくるので、セキュリティーグループ名と説明と開くポートの設定をします。

f:id:tarosay:20140622022703p:image:w320

今回は、Security group nameは、VagrantEC2SecurityGroupを、Descriptionは、VagrantEC2 Security Groupを設定し、SSHアクセスを通素ようにしました。

Type:SSH、Protocol:TCP、Port Range:22、Source:Anywhereを設定しました。これでCreateボタンを押せば設定終了です。

[]WindowsVagrant ec2を試してみる(3) awsでのKey Pairs設定 01:35

WindowsVagrant ec2を行うために、Key Pairを生成する必要があります。その方法について書きます。


Avilability zoneの変更

awsサーバーをどこの地域のサーバーに作成するかを指定する必要があります。デフォルトではオレゴンになっていると思います。それをTokyoに変更したいと思います。これを変更しておかないと、Key Pairsなどはzoneごとに作成されるので、面倒くさくなります。

awsのサービスからEC2を選択します。

f:id:tarosay:20140622010124p:image:w320

画面右上にある地域を選択するメニューからAsia Pacific(Tokyo)を選びます。

f:id:tarosay:20140622013213p:image:w320


Key Pairsの生成

EC2のメニューからKey Pairsを選び、Create Key Pairボタンを押します。

f:id:tarosay:20140622010125p:image:w320

Key pair nameを聞いてくるので、名前を入れてCreateボタンを押すと、暗号キーが生成されてダウンロードできます。

f:id:tarosay:20140622010126p:image:w320

今回は、VagrantEC2と入れたので、VagrantEC2.pem というファイルが生成されました。


Key Pairsのフォルダ保存

生成したpemファイルをどこに保存してもいいのですが、とりあえず、GitBashのホームの .ssh2フォルダに保存しておこうと思います。

GitBashを起動します。GitBashのインストールWindowsでVagrant ec2を試してみる(1) 事前環境作りに書いています。

GitBashを起動後、下記のコマンドを実行して No such file or directory と表示されたなら、.sshフォルダが無いので、作成してください。

$ ls -l .ssh
ls: .ssh: No such file or directory

.ssh フォルダの作成。

$ mkdir .ssh

.ssh フォルダを生成したら、pemファイルをそこにコピーします。Windowsのフォルダを開いてコピーするのであれば、下記のように .ssh に入って、pwdコマンドを用いると、/c/Users/...とcドライブからのパスが表示されるので、.sshがどこにあるのかわかると思います。

$ cd ~/.ssh
$ pwd
/c/Users/minao/.ssh
$ ls -l
total 1
-rw-r--r--    1 minao    Administ     1692 Jun 22 00:58 VagrantEC2.pem

pemファイルがコピーされていれば、lsコマンドで確認できます。

[]WindowsVagrant ec2を試してみる(2) awsでのアクセスキー設定 00:49

Vagrant ec2を使うために、先にawsで設定しておかなければならないことがあるので、それを書いておきます。


IAMの設定

ec2Vagrantから使うためには、aws.access_key_id と aws.secret_access_key を用意する必要があります。これが何なのか、わからなくて長く悩んでいたのですが、ec2とは関係なくてIAMで生成するということがわかりました。

AWS IAM のご利用開始にあたって というビデオを見ると、生成方法が良くわかります。

先ず、AWSのサービスからIAMを選びます。

f:id:tarosay:20140621200725p:image:w320

次に、Create New Group of Usersボタンを押します。

f:id:tarosay:20140621200726p:image:w320

グループ名を入力します。とりあえずAdministratorsにしました。Continueを押します。

f:id:tarosay:20140621200727p:image:w320

グループのパーミッションを聞かれるので、自分しかいないので、Administrator Accessを選択しました。

f:id:tarosay:20140621200728p:image:w320

ポリシー名はデフォルトContinueを押します。

次にユーザーを作る必要があるので、ユーザー名を聞かれます。Vagrantからec2にアクセスするときのユーザ名を入力します。

このとき、Generate an access key each Userのチェックは外します。

f:id:tarosay:20140621200729p:image:w320

ユーザ名を入力すると、「Group Name」「Permissions」「User Names」が表示されるので、OKならばContinueを押します。

これで、Vagrant ec2で用いるaws.access_key_id と aws.secret_access_key を取得する準備が整いました。


パスワードポリシーの変更

今回は生成したユーザーでawsログインする予定は有りませんが、とりあえずパスワードポリシーをデフォルトから変更しておきます。

最低パスワード長を8文字にして、Requireに全てチェックをいれます。

f:id:tarosay:20140622002506p:image:w320

これでApply Password Policyボタンを押します。


アクセスキーとシークレットアクセスキーの生成

いよいよ、aws.access_key_id と aws.secret_access_keyを生成します。

Usersを選択すると作成したユーザーが表示されるので、ユーザーをチェックしてUser ActionsのManage Access Keysを選びます。

f:id:tarosay:20140622002505p:image:w320

Create Access Keyボタンを押します。

f:id:tarosay:20140622003924p:image:w320

アクセスキーとシークレットアクセスキーが自動生成されるので、これをDownload Credentialsボタンを押して保存します。

f:id:tarosay:20140622003925p:image:w320

以下のようなcredentials.csvファイルが保存されたと思います。

User Name,Access Key Id,Secret Access Key
"tarosay",ここにアクセスキー,ここにシークレットアクセスキー

User Nameは生成したユーザ名です。続いてアクセスキーとシークレットアクセスキーが書かれています。

これが、Vagrant ec2で使用するアクセスキーとシークレットアクセスキーです。

次に、override.ssh.private_key_pathに必要なKey pairを生成したいと思います。

[]WindowsVagrant ec2を試してみる(1) 事前環境作り 17:58

 最近、awsec2を使い始めました。Vagrant ec2というVagrantec2インスタンスをコントロールできるプラグインがあるので、Vagrantからec2インスタンスを作成してみるまでをまとめてみました。というか、このブログを書きながら試しています。

VagrantVirtualBoxインストール

すいません。VagrantVirtualBoxインストールされていて、WindowsVagrantが動く環境ができているというところからスタートしたいと思います。

WindowsVagrantを動かす方法などは、Windows7にVirtualBoxとVagrantをインストールしたメモサイトさん等を参考にしてください。

先ずは、事前準備です。WindowsコマンドプロンプトからVagrantを使うよりも、linuxシェルから使ったほうが個人的には好きなので、bashが使える環境を作ります。

とりあえずGitインストールする

何故、Vagrantとは全然関係ないgitインストールするかというと、gitは便利だし覚えた方がいいと思うからです。すいません、それだけです。でもgitのMSYSからVagrantを使うことになります。

Windows用のgitとしてGit for Windowsインストールします。ダウンロードGit for Windowsから、下記のDownloadボタンを押します。

f:id:tarosay:20140621164759p:image:w320

GitBashのインストール

ダウンロードしたインストーラーを起動します。Nextを押します。

f:id:tarosay:20140621171501p:image:w320

Nextを押します。

f:id:tarosay:20140621171508p:image:w320

Nextを押します。

f:id:tarosay:20140621171507p:image:w320

Git Bash Hereを選択して、Nextを押します。

f:id:tarosay:20140621171506p:image:w320

Nextを押します。

f:id:tarosay:20140621171505p:image:w320

Use Git from the Windows Command Promptを選択します。

f:id:tarosay:20140621171504p:image:w320

Checkout as-is, Commit as-isを選択して、Nextを押します。

f:id:tarosay:20140621171503p:image:w320

Finishを押します。チェックをつけているとリリースノートが開きます。

f:id:tarosay:20140621171502p:image:w320

これでGitBashのインストール終了です。


GitBashのショートカット作成

GitBashのショートカットを作っておきましょう。たぶん、スタートメニュにあると思います。

f:id:tarosay:20140621172912p:image:w320

リンク先は、"C:\Program Files (x86)\Git\bin\sh.exe" --login -i

作業フォルダは、%HOMEDRIVE%%HOMEPATH%

です。

マウスの右クリックでペーストしたいので、簡易編集モードにチェックを入れます。

f:id:tarosay:20140621172913p:image:w320

最近、目が悪くなって、大きな文字でないと辛いので、フォントも大きくします。

f:id:tarosay:20140621172914p:image:w320

ウィンドウの高さも大きめにします。

f:id:tarosay:20140621172915p:image:w320


プロパティの設定は、こんなもんでしょうか。

日本語ファイル名を表示できるように

GitBashはそのままだと日本語ファイル名が化けます。気持ちが悪いので見えるようにします。

$ cd ~;ls -al

上のようにコマンドを打って、.bashrcファイルが無ければ作成します。

.bashrcファイルの作成

$ touch .bashrc

.bashrcファイルに下記の一行を追記します。

alias ls='ls --show-control-chars'

追記した後、GitBashを再起動するか、

$ source ~/.bashrc

すれば、日本語ファイル名が見えるようになります。

その他のGitBashに関する設定方法などは、WindowsのGitbashで、Githubをssh経由で操作できるようにセットアップしたなどのサイトを参照してください。

Windowsへの必要なもののインストールは終了しました。次に、awsで事前に設定しておかなければならないことが有るので、それらについて書いていきます。