WindowsでVagrant ec2を試してみる(5) vagrant-awsプラグインインストール
WindowsでVagrant 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の作成について書きたいと思います。
WindowsでVagrant ec2を試してみる(4) awsでのSecurity Group設定
WindowsでVagrant ec2を起動するために、Security Groupを設定する必要があります。既にEC2でインスタンスを作成したことがあるのであれば、Security Groupが自動生成されていると思うので、それを使っても大丈夫です。
ここでは、新規にセキュリティーグループを作成してみます。
セキュリティーグループを設定する
EC2のメニューからSecurity Groupsを選択します。そして、Create Security Groupボタンを押します。
Create Security Group画面が出てくるので、セキュリティーグループ名と説明と開くポートの設定をします。
今回は、Security group nameは、VagrantEC2SecurityGroupを、Descriptionは、VagrantEC2 Security Groupを設定し、SSHアクセスを通素ようにしました。
Type:SSH、Protocol:TCP、Port Range:22、Source:Anywhereを設定しました。これでCreateボタンを押せば設定終了です。
WindowsでVagrant ec2を試してみる(3) awsでのKey Pairs設定
WindowsでVagrant ec2を行うために、Key Pairを生成する必要があります。その方法について書きます。
Avilability zoneの変更
awsサーバーをどこの地域のサーバーに作成するかを指定する必要があります。デフォルトではオレゴンになっていると思います。それをTokyoに変更したいと思います。これを変更しておかないと、Key Pairsなどはzoneごとに作成されるので、面倒くさくなります。
awsのサービスからEC2を選択します。
画面右上にある地域を選択するメニューからAsia Pacific(Tokyo)を選びます。
Key Pairsの生成
EC2のメニューからKey Pairsを選び、Create Key Pairボタンを押します。
Key pair nameを聞いてくるので、名前を入れてCreateボタンを押すと、暗号キーが生成されてダウンロードできます。
今回は、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コマンドで確認できます。
WindowsでVagrant ec2を試してみる(2) awsでのアクセスキー設定
Vagrant ec2を使うために、先にawsで設定しておかなければならないことがあるので、それを書いておきます。
IAMの設定
ec2をVagrantから使うためには、aws.access_key_id と aws.secret_access_key を用意する必要があります。これが何なのか、わからなくて長く悩んでいたのですが、ec2とは関係なくてIAMで生成するということがわかりました。
AWS IAM のご利用開始にあたって というビデオを見ると、生成方法が良くわかります。
先ず、AWSのサービスからIAMを選びます。
次に、Create New Group of Usersボタンを押します。
グループ名を入力します。とりあえずAdministratorsにしました。Continueを押します。
グループのパーミッションを聞かれるので、自分しかいないので、Administrator Accessを選択しました。
ポリシー名はデフォルトでContinueを押します。
次にユーザーを作る必要があるので、ユーザー名を聞かれます。Vagrantからec2にアクセスするときのユーザ名を入力します。
このとき、Generate an access key each Userのチェックは外します。
ユーザ名を入力すると、「Group Name」「Permissions」「User Names」が表示されるので、OKならばContinueを押します。
これで、Vagrant ec2で用いるaws.access_key_id と aws.secret_access_key を取得する準備が整いました。
パスワードポリシーの変更
今回は生成したユーザーでawsにログインする予定は有りませんが、とりあえずパスワードポリシーをデフォルトから変更しておきます。
最低パスワード長を8文字にして、Requireに全てチェックをいれます。
これでApply Password Policyボタンを押します。
アクセスキーとシークレットアクセスキーの生成
いよいよ、aws.access_key_id と aws.secret_access_keyを生成します。
Usersを選択すると作成したユーザーが表示されるので、ユーザーをチェックしてUser ActionsのManage Access Keysを選びます。
Create Access Keyボタンを押します。
アクセスキーとシークレットアクセスキーが自動生成されるので、これをDownload Credentialsボタンを押して保存します。
以下のようなcredentials.csvファイルが保存されたと思います。
User Name,Access Key Id,Secret Access Key "tarosay",ここにアクセスキー,ここにシークレットアクセスキー
User Nameは生成したユーザ名です。続いてアクセスキーとシークレットアクセスキーが書かれています。
これが、Vagrant ec2で使用するアクセスキーとシークレットアクセスキーです。
次に、override.ssh.private_key_pathに必要なKey pairを生成したいと思います。
Wakayama.rbのmrubyボード用Bluetooth基板
勢いで、Wakayama.rb mrubyボード(WRRB)用のBluetooth基板を作りました。初めてFusion PCBに基板を頼んでみました。発注して手元に届くまで2週間ちょっと掛かりましたが、安いからいいですね。
この基板、GR-KURUMIやPocketDuinoでも使えるつもりで設計したのですが、設計をミスっていまして、一ヶ所パターンをカットしないと使えません。
既に何人かの知り合いに強引に配ってしまったので、どこをカットするのか説明を兼ねてブログに書いておきます。
Wakayama.rbボード用Bluetoothシールドとは
下がWakayama.rbで製作しているmrubyボード(写真右)とBluetoothシールド(写真中央)です。写真左側はGR-KURUMIです。
[:W320]
Wakayama.rbのmrubyボードはGR-KURUMIとほぼピン互換となっています。このボートに直接刺さり、Bluetooth通信ができるものが今回作製したBluetoothシールドです。
GR-KURUMIはArduino MiniProピン互換なので、実はArduino MiniPro互換ボードで使えるはずです。
ただし、3.3V動作とボードなので、5Vを入れると壊れます。
間違いの修正箇所
このBluetoothボードですが、致命的な設計ミスがあります。それは、BluetoothモジュールのRN42のリセットラインとGR-KURUMIのGNDラインが接続されていることです。何故、こんなありえない間違いが起こったかといいますと、Wakayama.rbのmrubyボートは写真の向かって左側の列のピンにはリセットとGNDピンを用意していないのです。Wakayama.rbのmrubyボードに用いているRX63N MPUは使えるポートが多く、少しでもたくさん引き出そうとした結果、リセットとGNDの割り当てを一ヶ所だけに省略て設計しており、それが敗因となりました。
それでは、パターンカットの場所を示します。下の図に示すように、リセットに繋がっているパターンをカットしてください。基板自体はリセットラインをプルアップしているので、カットしても大丈夫です。
[:W480]
使用パーツ
Bluetoothボードに使用しているパーツ一覧を書いておきます。
Bluetooth基板の詳細資料はGithubにアップしています
Bluetooth基板の詳細資料
回路図はPDFにしてアップしています。zipファイルはFusion PCBに送信したファイルそのままです。このまま発注すれば、同じボードが作製できます。
RN42のGPの説明は回路図に書いていますので参照してください。
おまけ回路
このBluetoothボードには、おまけ回路が付いています。それは昇圧回路です。写真に写っているBluetoothシールドの上の部分に昇圧回路のパターンを入れています。実装した写真を下に示します。
[:W320]
HT7733Aを使って、0.7Vくらいから3.3Vに昇圧できます。下は単4電池1本で、GR-KURUMIを動かしている写真です。GR-KURUMIは、もともと昇圧回路を内蔵しているので余り意味無いですが、GR-KURUMIの昇圧回路を使わないで動作しています。
[:W320]
下はWakayama.rbのmrubyボードを動かしている写真です。上にあるLEDが点滅しています。
[:W320]
HT7733Aの出力は200mAなので、これでWakayama.rbのmrubyボードとRN42を動かせるかどうか自信がないので、おまけ回路としました。
mrubyでのバイナリの扱い その2
以前のブログで文字列でバイナリを扱えることを書きましたが、これを書いたことすら忘れてしまって、また、バイナリについて悩んでしまったので、さらに、防備録として書いておきます。
mrubyで.hexは使えない
「Ruby 16進数 変換」で検索すると、16進数は.hexで変換できると出てきます。
print '80'.hex #=> 128 ただし、mrubyでは使えません。
これでいいのかと思って、mrubyで .hexを使ってみましたが使えませんでした。16進数表記は、0x を付ければいいだけ。
FDTを用いてGR-SAKURAにmotファイルを書き込む E1経由編
E1を買った云々と書きながら、先にUSB編を書いてしまいました。ここではE1経由でGR-SAKURAにmotファイルを書き込む方法を書きます。
FDT(Flash Development Toolkit)のダウンロードは、先のUSB編で書きましたのでそちらを見てください。
試しに、書いてみるGR-SAKURAの元ファーム「Gr_sakura_fw_rev1.mot」のダウンロードについても、先のUSB編で書きましたのでそちらを見てください。
E1経由のmotファイルの書き込み方法
E1を買った目的がHEWを使ってGR-SAKURAのプログラムを作ったりデバッグしたりするということでしたので、ルネサスからe1e20rxfullv10300.exeとccrxv102r01_ev.exeをダウンロードしてインストールします。ダウンロードについては西村さんのブログに詳しく書かれています。
GR-SAKURAとE1とUSBケーブルを接続する
GR-SAKURAのJTAGのポートにヘッダピンを付けてE1と接続します。また、E1とUSBケーブルを接続します。FDTとE1E20RXが正常にインストールできていれば、Windows7の場合ですが、USBドライバは自動で認識されると思います。
FDTの設定
FDTを起動して新規設定を選びます。初めての場合は、自動的に新規設定画面になるかもしれません。
デバイスとカーネルの選択は、一番下の「Generic BOOT Device」を選びます。「次へ」を押します。
通信ポートの選択は「E1 Direct」を選びます。「次へ」を押します。
電源の供給は、3.3Vを供給する場合は下のように設定して「OK」を押します。
ピン設定は、GR-SAKURAの場合、MDはLOW、EMLEもLOW、UBもLOWなので、下図のような設定になります。チェックを入れたら「OK」を押します。
io0 (EMLE) - LOW io2 (PC7/UB) - LOW io3 (MD) - LOW
E1と接続している場合は下のメッセージが出ます。「OK」を押します。
E1のシリアルのようなものが表示されるので「OK」を押します。
デバイスを聞いてくるので、RX600シリーズのLittieEndianで「OK」を押します。
そうすると、汎用デバイスの確認がすべて通ります。
OKするとクロックの設定画面が出ます。入力クロックは12MHz、メインクロックの逓倍比を 8、周辺クロックの逓倍比を 4として「次へ」を押します。
入力クロック - 12.00MHz メインクロックの逓倍比(CKM) - 8 周辺クロックの逓倍比(CKP) - 4
接続タイプはこのままで「次へ」を押します。
書き込みオプションはこのままで「次へ」を押します。
リセットピンセッティングは何もせずにこのままで「完了」を押します。
設定が終わって、E1接続が完了します。