Raspberry Pi B+ に Golang 1.6 をインストールしてみた
はじめに
Go 1.6 がリリースされたのでさっそくラズパイにインストールしてみました。 マシン:Raspberry Pi B+ OS:raspbian-jessie-lite
インストール方法
1.6ではarmv6l用に既にビルド済みのものが用意されているのでとても簡単にできます。
Downloads - The Go Programming Language
まずはwget
でファイルをダウンロードしてきます。
wget https://storage.googleapis.com/golang/go1.6.linux-armv6l.tar.gz
次に公式の手順にある通り/usr/local
配下に展開します。
#展開するときのコマンド sudo tar -C /usr/local -xzf go1.6.linux-armv6l.tar.gz
最後に/usr/local/go/bin
へパスを通せばインストール完了です。
export PATH="/usr/local/go/bin:$PATH"
動作確認
パスまで通した後に早速バージョンを確認しました。
> go version go version go1.6 linux/arm
またgobot
のraspi_blink.go
というサンプルのブログラムも問題なく動作しました。
おわりに
1.5まではソースからインストールすることしかできなかったので時間がかかっていましたが、1.6ではとても簡単にインストールすることができました。
時間があれば今度はソースからインストールする方法を試してみようかと思います。
raspbian で capslock を無効化設定した
はじめに
掲題ままの備忘メモです。 raspbian-jessieで設定しましたがおそらくそれ以外でも同様にできるはず。
今回の参考サイトはこちらです。
caps lock -> control と caps lock <-> control
この設定は/etc/default/keyboard
にあるXKBOPTIONS
の項目を編集しました。
sudo vi /etc/default/keyboard
- caps lock を無効化してcontrolにする場合
XKBOPTIONS="ctrl:nocaps"
- caps lcok とcontrolを入れ替える場合
XKBOPTIONS="ctrl:swapcaps"
- caps lock を無効化してcontrolにする場合
また既にXKBOPTIONS
に何かしらの設定が入っている場合は以下のように,
で区切って書き足します。
例:XKBOPTIONS="hogehoge, ctrl:nocaps"
設定を入れた後は以下のコマンドで反映しました。
sudo dpkg-reconfigure -phigh console-setup
これで問題なくcaps lock を無効化してcontrolにすることができました。
raspberry Pi B+ 用に raspbian-jessie-lite をインストールした
はじめに
これまではOSインストール済みのSDカードを本体とセットで購入していたのでそれを利用していました。 ただ容量が少ないこともあり32GのSDを買って自分で1からインストールしてみたのでその時の作業メモ。 さらにパーティションの拡張も行ったのでその時の作業メモ。
また今回は以下のサイトを参考にインストールを実施しました。
Installing Operating System Images on Mac OS - Raspberry Pi Documentation
Raspberry Piでパーティションを拡張する – UbuntuによるEco Linuxサーバ構築記
事前準備
新しくOSをインストールするためにイメージファイルを以下からダウンロードしました。
また今回インストールに利用したSDカードはこちらです。
インストール作業
今回はmacでコマンドラインとディスクユーティリティを利用してインストール作業を行いました。
インストール作業は下記手順で行いました。
SDカードの初期化
SDカードの初期化は標準であるディスクユーティリティを使用して行いました。
フォーマットがFATになっていることを確認して実施。これは数秒で完了しました。
コマンドラインからSDカードのアンマウントを実施
次にコマンドラインに移り df
コマンドを実行します。
実行すると以下のようにマウントされていることを確認できました。
> df Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on 中略 /dev/disk1s1 61908160 5056 61903104 1% 0 0 100% /Volumes/UNTITLED
/dev/disk1s1
がマウントされているSDカード(のパーティション)のことを指しているので sudo diskutil unmount /dev/disk1s1
でアンマウントします。
当たり前ですが環境によってはdisk2やdisk3などになっていることもあるので確認してからアンマウントしましょう。
sudo diskutil unmount /dev/disk1s1
実行後再度 df
コマンドを実行すると /dev/disk1s1
の項目がなくなっていればアンマウントは完了です。
コマンドラインから dd
コマンドを利用してSDカードへの書き込み
次に dd
コマンドで .img
ファイルからSDカードへの書き込みを行います。
今回はdisk1がSDカードなので実行するコマンドは以下のようになります。
sudo dd bs=1m if=2016-02-09-raspbian-jessie-lite.img of=/dev/rdisk1
ここで/dev/rdisk1
は/dev/disk1
と対象は同じですが書き込み速度に差がでます。
/dev/disk1
とした場合は2312秒ほどかかり、/dev/rdisk1
とした場合は80秒ほどで書き込みが完了しました。
書き込み完了後はディスクユーティリティからSDカードの取り出しを実行するか以下のコマンドでeject
します。
sudo diskutil eject /dev/rdisk1
取り出し実行後はSDカードを取り外し、ラズパイに接続して起動確認します。 問題なくインストール出来ていれば起動するので以上でインストールは完了です。
パーティションの拡張
さてインストール後容量を確認すると30Gほどあるはずが1Gほどしか使用できる状態にありませんでした。
そこでfdisk
とresize2fs
コマンドを使ってパーティションの拡張を実施しました。
fdiskでのパーティション再構築とresize2fsでの適応
上記方法でインストールを実施後まずsudo fdisk -l
で現状を確認すると/dev/mmcblk0p1
と/dev/mmcblk0p2
の二つのパーティションが確認できます。
今回は/dev/mmcblk0s2
のパーティションを一度削除して拡張を行いました。
詳細は参考に上げたサイトを一読してもらえればと思います。
パーティション再構築完了後w
で変更内容を保存してfdisk
を終了するときに警告が出るかもしれません。
しかしreboot
すれば問題なく拡張されていることが確認できると思います。
その後はresize2fs
を実行することで/dev/mmcblk0s2
を利用している/
領域が30Gほどになります。
おわりに
調べたりしながらのインストール作業だったので3時間ほどかかってしまいました。
特に/dev/rdisk
を知る前に/dev/disk
で実施していた時は待ち時間が長った。
これで今後raspbianのインストールが必要になっても問題なくできる。
振り返りと目標 【2015-2016】
2015年振り返り
上京して2年目でした。 東京を拠点に北海道と東京の両方で勉強会などの活動をしてきました。
あまりブログにはまとめていませんが改めてここで思いつく限りまとめようと思います。
帯広の勉強会
Tokachi Developer's Night #1 - connpass
まずは2015年に帯広で始めた勉強会です。1回目と2回目で名前が違いますが、内容はゆるい感じで行いました。
1回目の方が参加された方は多かったのですがなんだかんだと2回とも3人以上は集まったのでよかったです。 今年もできれば3回目、4回目と開催していきたいです。
また2015年12月には初めてLOCAL DEVELOPER DAY '15 IN TOKACHIが開催されてそれに参加することもできました。
LOCAL DEVELOPER DAY '15 IN TOKACHI - connpass
Goの勉強会
鎌倉で開催されたkamakura.goはブログにまとめていたのですが、他にもhikarie.goやGo Conferenceなどに参加していました。
Goは自分の手に馴染むとても使いやすい言語だと思い昨年1年はよく使っていました。
また今年はGoのアドベントカレンダーにも記事を投稿することができました。
イベントスタッフ活動
5月にはLOCAL Community Summitがありイベント運営側として久しぶりにスタッフしました。
また初めてイベントレポートも作成しました。
LOCAL Community Summit 2015 - LOCAL Community Summit | Doorkeeper
他にも12月にRubyKaigiのhelperとして参加させていただきました。
RubyKaigiのhelperとして参加して密かな目標であった師匠と一緒に仕事をするというものが叶いました。
もちろん今までもスタッフとして何かをするということはあったのですが本業のインフラ屋さんとして一緒に仕事するというのが初めてでした。師匠と一緒に仕事をすることができて本当に嬉しかったです。
#rubykaigi のネットワークを支えた業界一の高水準を誇るチームです。ご確認ください。 pic.twitter.com/kwisFfrPf9
— こいわ(12/19 LDD) (@koiwa) December 13, 2015
2015年まとめ
最初に立てた目標と比べても達成できていることは少ないなというか皆無です。
勉強会に多く参加しても個人のブログにまとめておらず、技術的内容含めて会社のQiita:Teamに記事を書くということが多かったです。
他にも会社のブログに記事を書くこともありましたが、やはり個人のブログに書くことが減っていたという状態でした。
2016年目標
さて2016年の目標ですがそろそろ東京生活も3年目に入るので一度、北海道へ帰る方法はないかと妄想膨らませてみようかと思います。
行動に移せれば一番ですが急ぎすぎても今まであまりいい結果を得たことがないので慎重にです。
ブログへのアウトプット目標ですが、2015年は4本だったので今年は最低でも6本書くように意識します。
またラズパイも去年は以下のようなことをしていましたが今年はもう少し本格的に何かします。
仕事に関しては本職のネットワーク、インフラ以外にコードを書く機会や時間を意識して増やして勉強します。
では2016年もよろしくお願いします。
RubyKaigi2015にhelperとして参加しました
はじめに
タイトルままです。
開催されてから少し間があいてしまいましたが、RubyKaigi2015にhelperとして参加させていただきました。
helperとして行ったこと
下記リンクは私のお師匠様のブログなのですが、ここにほぼほぼお手伝いしたことが書いてあります。
まっ » 今年も rubykaigi のネットワークを支えてきた
改めて書くと基本的にはJA->ENの同時通訳用レシーバの配布をして、必要があれば会場ネットワークの作業をお手伝いするという感じでした。
他にも今後helperとして参加するかもしれない人たちの参考になればと少し細かく書いておきます。
案内用の張り紙準備や会場パネルの設置、撤去など会場設営関係の雑務、会期中のノベルティの補充なども行いました。
また英語については不安があったのですが一緒に同通レシーバ配布をしていた方の作成したカンペをもとにしてコミュニケーションがとれたので私の拙い英語力でもなんとかなりました。
(余談ですが会期中に流石に英語の勉強しないとまずいなと危機感を覚えたので英単語学習アプリを使って勉強を始めていまも細々と続けています)
おわりに
ブログを書くまでがRubyKaigiということで短文ですがまとめました。
次回は京都開催ということですが、何かしらの形でお手伝いできればしたいです。 もしくはお手伝いできなくても一般参加できればと考えています。
Raspberry Pi B+ と L-05A で SORACOM Air(nano SIM)を試してみた
はじめに
SORACOM SIMを入手したので試してみたのでその備忘録的なメモ。
現在は以下のような状態です。
(L-05Aはこの時たまたま横向きになっていて普段は上向きになっています)
以下今回準備したもの
- Raspberry Pi B+
- SORACOM Air データ通信 nanoSIM
- L-05A
設定方法
設定方法は下記サイトを参考に行いました。
- OBDNマガジン: [.tested] docomo L-05A [debian Wheezy][AX3][A6]
- try catch and ...release: [Ubuntu]USBモデム「L-03D」をセットアップ
必要なものをインストール
まずは設定に必要なものをインストールします。今回自分がインストールしたのは以下の3つです。
- eject
- minicom
- pppconfig
これを以下のようにインストールしました。
sudo apt-get install eject minicom
sudo aptitude install pppconfig
インストール完了後、早速L-05Aを接続して通信の設定を進めます。
L-05Aの設定
まずdmesg
コマンドで接続を確認します。
デバイスを認識していると以下のような出力があるので確認しましょう。
> dmesg usb 1-1.2: Product: FOMA L05A 中略 cdrom: Uniform CD-ROM driver Revision: 3.20 sr 0:0:0:0: Attached scsi CD-ROM sr0
確認後は早速CD-ROMをeject
コマンドで/dev/sr0
から取り外します。
> eject /dev/sr0 eject: イジェクトできません, 直近のエラー: 無効な引数です
ここで上記のように無効な引数ですと出力されていても取り外しは実施されています。
dmesg
コマンドを実行すると以下のようにttyACM0
、ttyACM1
、ttyACM2
が新たに認識されていることが確認できます。
> dmesg usb 1-1.2: Product: FOMA L05A usb 1-1.2: Manufacturer: LG Electronics Inc. cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device cdc_acm 1-1.2:1.2: ttyACM1: USB ACM device cdc_acm 1-1.2:1.4: ttyACM2: USB ACM device usbcore: registered new interface driver cdc_acm cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
ttyACMが認識されていることを確認できたら次はminicom
コマンドで接続し、APN設定をL-05Aで行います。
この時設定はttyACM0
で行います。
L-05Aへの接続コマンドは以下の通りです。
minicom -D /dev/ttyACM0
接続後はまずAT+CGDCONT?
でAPN情報を表示してCIDを確認します。実行結果は以下のようになります。
AT+CGDCONT? +CGDCONT:CID,"PPP","hogehoge.ne.jp",,0,0 +CGDCONT:CID,"IP","hogehoge.net",,0,0 OK
この上記でCIDと表記している部分には何かしらの数字が入っており、それがCIDです。
既に利用されているCID以外で今回のSORACOMAir用のAPN情報を登録します。
私の場合は1と3が利用されていたのでCIDは2を利用しました。
登録にはAT+CGDCONT=n,"IP","soracom.io"
(nは利用するCID)というコマンドを入力します。実行結果は以下のようになります。
AT+CGDCONT=n,"IP","soracom.io" OK
また登録の内容にミスがありその設定を削除したい場合はAT+CGDCONT=n
(nは削除したいCID)というコマンドを入力します。実行結果は以下のようになります。
AT+CGDCONT=n OK
コマンド実行後はAT+CGDCONT?
で登録できたことを確認しましょう。またAPN情報登録に使用したCIDはpppconfigでの設定時に利用します。
確認後はCTRL-A X
でminicomを終了します。
Raspberry Pi の設定
ここからはpppconfig
を使った設定について説明します。
まずsudo pppconfig
で設定画面を起動します。次に「Create 接続の作成」を選択します。
以降は画面に表示される内容に沿って、内容を入力していきます。私は以下のように入力しました。
プロバイダ名:soracom DNSの設定:Dynamic 動的 DNS を使う 認証方法:CHAP ユーザ名:SIMのパッケージに記載されているもの パスワード:SIMのパッケージに記載されているもの 速度:460800 パルスまたはトーン:Tone 電話番号:*99***n#(nはCID) モデムの設定方法を選択:いいえ 手動でモデムポートを選択する:/dev/ttyACM0
入力完了後は「Finished ファイルを書き出してメインメニューに戻ります。」を選択して設定を終了します。
その後、確認画面が表示されるので進んでいくと最初の画面に戻るので「Quit このユーティリティの終了」でpppconfigを終了します。
pppconfigの終了後、次に/etc/ppp/peers/プロバイダ名
のファイルを開き、以下の一行をファイルの一番下に追記します。
replacedefaultroute
追記後はファイルの変更を保存してpon
コマンドで起動を確認します。
具体的なコマンドは以下の通りです。
sudo pon プロバイダ名
起動ができるとL05-Aの通信ランプが緑色から青色になります。
またifconfig
コマンドを実行するとppp0
の項目があり、ipアドレスなども確認することができます。
接続を終了する場合にはpoff
コマンドを使用します。
具体的なコマンドは以下の通りです。
sudo poff プロバイダ名
接続が終了するとL05-Aの通信ランプが青色から緑色になります。
またifconfigコマンドからppp0の項目もなくなります。
設定については以上です。
おわりに
設定中に気になった点としてL-05Aが横向き(冒頭の写真)状態だとejectを何回やってもすぐCD-ROM認識状態に戻って、接続できなくなるということがありました。
ただし上向きにすると問題なくejectでき、使用することもできました。
Visual Studio Code をWindows8.1の32bit版に入れてみた
はじめに
タイトルそのままです。
新しいマシンの設定をしていて、エディタをどうしようかと考えていたところに、YAPC::Asia Tokyoハッカソンで Visual Studio Codeのお話を聴いたのでさっそくインストールしてみた。
ちなみに動作環境は以下の通り
Visual Studio Codeとは
詳しい説明はこちらのVisualStudio日本チームブログを見ればどんなものなのかわかるかと。
以下は上記リンクのブログより引用です。
最新の Web およびクラウド アプリケーション開発に利用できる、Mac OS X、Linux、Windows 対応の新しい無料のクロス プラットフォーム コード エディターです。
ということで以下ではどのようにしてインストールしたかを書きます。
インストール時にハマったところ
通常はインストーラーをダウンロードして実行することで、問題なく入れるので大体のブログ記事などではインストールは一行で済まされています。 また依存関係にある.NETなどもインストーラー起動時にマシンに必要なバージョンのものが存在しなければインストールもしくはアップデートされるようですが、自分の場合はインストーラーが起動し、とくに.NETについての文言がでることなく数秒後にインストール失敗のウィンドウが出てきました。
失敗の原因は依存関係にあるのではと.NETをインストールしてみようとしても既にインストールされており、問題はありませんでした。 改めてエラーウィンドウを見ると、ログを確認するようにとのことでしたがログがどこにあるのかがわからず、ひたすらPC内部検索をかけけて探したり同じ状況になった人がいないかとwebで検索してみたりとしましたが、なかなか発見できずにいました。
解決方法
いろいろ探していたところこの記事にたどり着きました。 どうもインストールパスに問題があると正常に動作しないらしい。 ただ自分の場合はそもそもインストールすらできていない状態。。。
とりあえずFAQになにか情報がないかと見たところ Trouble with the Windows installer の文字が。
どうやらインストールに失敗した場合はzipファイルをダウンロードして、入れてのとのこと。
Visual Studio CodeのFAQページはこちら。
実際にその通りにやると問題なく動作させることができました。
おわりに
ようやくインストールすることができたVisual Studio Codeを動作させてみると思っていたより動作が軽く感じました。 これからさらに使ってみて感想など書いていこうと思います。