feature image

2017年4月20日 | ブログ記事

†10,000円†からはじめるraspberry pi†入門†+α【新歓ブログリレー2017 17日目】

こんにちは。CulMenです。

皆様は、「raspberry pi」というものをご存知でしょうか?非常に平たく説明すると、超小型低価格コンピュータです。

(こちらは関知していなかったのですが)先日の新歓イベントの商品としても出されたraspberry pi、「もらったもののどうすりゃいいんだ」という方も、「興味はあるけど何をすればいいのか分からない」という方も、是非†参考にしていただければ†幸いです。

もくじ

1.こうにゅう
2.おーえす
3.くみたて
4.せつぞく
5.しゅうきょう
6.ねっとわーく
7.さーば
8.としょかん

1.raspberry piを買う

raspberry piでなんかするぞ!と思っていてもまず肝心の本体がなければどうしようもありません。という事で買いに行きましょう。

今回は某葉原電気街周辺の某月電子千某電商を主に利用させていただきました。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以上、購入物+αです。一つずつ見ていきましょう。

・raspberry pi 3 Model B(element14):¥4,800

言わずとしれた本体です。

おそらくお店には「RS」というものと「element14」というものが両方存在し、価格も違うためどちらを買えばいいのかと混乱するかと思います。

結論から言ってしまうと、どちらを買っても問題ありません。

というのもRS製とelement14製の違いは主に価格と基盤の構成(配線ではなく部品・はんだの使い方のレベル)であり、違いが気になりだすのはよっぽど電子工作に精通した人であるからです。好きなほうを買いましょう。

・raspberry pi3用クリアケース:¥1,080

必要最低限だけ買えばいいや!という方にとっては厳密には不要なのですが一応購入を推奨しておきます。

基盤への埃侵入のブロック、排熱性の向上、耐衝撃性のアップ等の役割を果たします。

・microSDカード:¥900

raspberry pi用OSを格納します。OSファイルは非常に大容量+構築後に色々ファイルを追加する可能性があるため最低でも8GB、なおかつ書き込み速度の速いものを選ぶといいでしょう。

・ACアダプタ:¥700

充電器です。公式では2.5A以上の出力ができるものが推奨されています。

恐らく「raspberry pi専用!」などと謳った商品を買っても良いのですが、普通にACアダプタとDC→microUSB変換コードを買ったほうが小回りが効くと思います。(そして多分安い)

・DC→microUSB変換コード:¥220

上記の通り。ACアダプタの電流・電圧に耐えられると表記されているものを選びましょう。

・HDMIケーブル:¥350

ディスプレイとraspberry piを繋ぐケーブルです。

・マウス、キーボード:¥0

家の古物の再利用です。初回利用はワイヤレス又は有線USB接続のものを推奨しますが、最初からBluetoothを使うことも不可能ではないようです。

・ディスプレイ:¥0

初回起動に必須です。それ以降はなくてもなんとかなるのでこの為だけにディスプレイを購入するのはあまり得策とはいえないと思います。

ノートパソコンしかない!という人はテレビとの接続等でなんとかしてください。

以上、合計8,050円です。
ちなみに「raspberry piスターターキット」を謳った商品はマウス・キーボード・ディスプレイを除いた9,500円でした、ご精査ください

2.OS導入

購入が済み、おうちに帰ってきたらSDカードにOSを導入しましょう。ダウンロードURLは以下からどうぞ。

https://www.raspberrypi.org/downloads/raspbian/

Lite版とFull版の二種類が存在していますが、よほど容量が心配でない限りFull版のダウンロードをお勧めします。

なお、学内WifiでのP2P利用は原則禁止なので大学で大容量ファイルを落としたい!という方はzip形式でダウンロードしてください。

また、このraspbian、結構頻繁にアップデートが行われているのですが、インターネットに繋がっていれば更新はいつでも可能なので、アップデートのたびにOSの新調を…といったことは必要ありません。

イメージファイルのダウンロードが終了したら、SDカードに書き込んでいきます。

Mac、Linuxの方はDDコマンドを使用してください。

windowsの方はbashを…と思ったのですがこちらの環境で何故かSDカードのマウントが認識されなかったためDD for Windowsを使用します。

「ディスク選択」→「ファイル選択」→「書込」の順に選んでください。

対象ディスクに何も出ないよ!という方はソフトをXP互換モードで起動すると解決する可能性があります。

3.組み立てる

raspbianのDDが終わったら早速組み立てましょう。といっても、基盤を弄くる必要はないのでSDカード差し込み→ケースへのはめ込み→ケーブル接続のほぼ3ステップのみになります。さっさとやってしまいましょう。

ところで一つ。

お前ホントに純正ケースか!?

どうもSDカードと引っかかってしまうみたいなんですが、問題が起きていないのでこのまま放置しています。

4.ディスプレイ接続とローカルssh接続

組み立てが終わったらディスプレイと接続しましょう。この際、ディスプレイとraspberry piをHDMI接続した後に電源と接続してください。電源スイッチなんて大層なものはありませんので。

上記のようなホーム画面が出れば成功です。\ヤッター!/

raspberry piは3以降からWifi接続が可能となったのでこの時点でWifiと繋いでおきましょう。

接続が完了したらCUIを使ってゴリゴリやっていきます。

一応GUIはあまり使わないつもりでいますが、英語表記が気になる人は左上のラズベリーアイコンからSetting→Raspberry Pi Configurationを選び、言語を変更しておいてもいいかもしれません。

では、ssh接続のために以下の3点を行ってください。

・passwdコマンド

パスワードの変更です。

初回時のcurrent UNIX passwordには「raspberry」と入力してください。

・ip routeコマンドでsrc以下に書かれたIPアドレスの確認

・sshの有効化

CUIで行う場合にはsudo touch /tmp/cf/sshの実行後に再起動、GUIで行う場合は上記Raspberry Pi ConfigurationのInterfacesタブから変更してください。

ここまで完了したら(問題なければ)ディスプレイは不要です。普段使いのPCに戻ってください。

いよいよssh接続を行います。Mac/Linuxユーザーの場合は文字通りのsshコマンドが存在するので関係ないのですが、Windowsには対応するコマンドがないのでBash on Windowsを導入するまたはOpenSSHを入れる等してください。

以上が完了したらコマンドプロンプトorターミナルにて以下のコマンドを実行してください。


ssh -l pi@[上記で確認したIPアドレス]

パスワードを入力してユーザー名がpi@raspberrypiになれば成功です!これでPCからraspberry piのCUIを操作できるようになりました。


なお、この方法でのssh接続は接続元のPCとraspberry piのネットワークが同一でないとエラーが発生するため、繋がらない!という人は一度接続Wifiを確認してみてください。

5.エディタについて

※エディタってなんぞ?という方はこの章はスルーしていただいて構いません。その場合、以降のファイル編集で手間取った場合は「nano 使い方」等で検索されるといいと思います。

さて、これから色々とファイルの編集を行っていく必要があるのですがその際に切っても切れない関係にあるのがエディタです。

割と殆どの「入門」を謳うサイトではファイル編集に当たり前のようにsudo vimを使っているのですが、私もこれに従ってしまうと各方面から背中を狙われる日々を送ることになってしまいます。

そこでこの記事ではファイル編集の命令をsudoeditに統一します。

このsudoeditという命令、sudo [エディタ]命令を使うよりセキュリティ上安全とかなんとか言われるんですが、一番のアドバンテージは宗教戦争を起こさせないこと、これに尽きます。

ではsudoeditを使った際のデフォルトエディタはどうなるのでしょうか?エディタでの編集経験のある方なら、「EDITOR変数を設定すればいいんでしょ?」とお思いになるかと思いますが、どうやらraspbianにはEDITOR変数がないようです。ではどうするかというと、以下のコマンドを実行してください。


sudo update-alternatives --config editor

これでデフォルトエディタを選択することができます。一覧にないよ!という場合はsudo apt-get installしてください。

※一身上の都合により画像に一部加工を施しております。

6.グローバルIP接続

現状だとraspberry piとのssh接続は同一ネットワーク上でのみしか行えません。その解消のために、グローバルIPでのssh接続を試みてみます。

・プライベートIPの固定

一々接続毎にIPが変わってしまいその都度ip routeをするのも面倒なので固定してしまいましょう。


sudoedit /etc/network/interfaces

allow-hotplug wlan0
iface wlan0 inet static //staticに変更
address 192.168.X.X //固定化したIPを追記
netmask 255.255.255.0 //サブネットも追記
gateway 192.168.X.X //IPを追記
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

・ルーターのポート開放

これに関してはルーター毎に設定方法が異なるためこちらからは何も言えません。

「[ルーター会社名 静的IPマスカレード設定」等で検索すればいいでしょう。

・公開鍵認証

セキュリティ向上のため公開鍵認証を導入します。

/.sshフォルダにディレクトリを移動し、ssh-keygenコマンドで鍵を作成。

そののち以下のコマンドで鍵の複製と権限の譲渡を行ってください。


cat id_rsa.pub >> .ssh/authorized_keys
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

これが完了したら、SSHの設定を変更します。以下、差分のみ書きます。


sudoedit /etc/ssh/sshd_config

PermitRootLogin no //rootログイン禁止
AuthorizedKeysFile  %h/.ssh/authorized_keys //コメントアウトを外す
#PasswordAuthentication yes //コメントアウト

以上を変更したら、sudo /etc/init.d/ssh restartにてsshを再起動し、こちらから確認できるグローバルIPを用いて、

ssh -i ~/.ssh/raspi -p 22 user@[グローバルIP]命令をと…

>port 22: Resource temporarily unavailable

port 22: Resource temporarily unavailable
port 22: Resource temporarily unavailable

…はい。ここで進捗が止まってしまいました。これが†入門†と言われる所以です。誠に申し訳ございません。

traPサーバーについて

と、いう事なのですが

単純に「サーバーを自由に使いたい!でも下手なレンタルサーバーだと色々制約があって嫌だ!」というだけであったらサーバーを自作する必要性はありません

traPではshowcaseと呼ばれる""誰でも簡単に""自作物をネット上に公開できるシステムが揃っております。

どれだけ簡単かを示すために、いつかの製作物をshowcase経由で公開してみましょう。

1.製作物を部内Gitにアップロード。

Gitに関しては、新歓イベント期間終了後に講習会を行う予定なので安心ですね。

2.「showcase.yaml」ファイルを追加。

以上のたった2ステップで終わる場合もあります。上記ファイルは内容が空でも静的ページを作るだけなら問題ありません。

今回は若干の記述を行ったのですが、それでもたった37バイトです。当然リファレンスも揃っているので安心。

今回は「Twitterサービスの移動」だったため、コールバックURLの変更等若干ソースを変えなければならなかったのですが、それでも一時間とかからずに移動を完了させることができました。

このように出来たものを間髪入れずに公開できるということがtraPの強みであります。そういう点でも興味をもった方は是非是非入部してください。

明日はtsukatomoくんとdermasくんの記事です。

参考リンク

Raspberry Pi 3でウェブサーバーを建てる
Raspberry Piの設定【FTPサーバ(vsftpd)の設定】
Raspbianの環境構築
Raspberry pi 外部ネットワークからアクセスする
Raspberry Piに外部ネットワークからアクセスできる様にして携帯でペットを遠隔監視する方法

CulMen icon
この記事を書いた人
CulMen

リソースを食べてbotを放出します

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2017年4月20日
学部1年の数学、特にε-δ論法に殺されないために【新歓ブログリレー2017 17日目】
hihumi icon hihumi
2017年4月12日
あたらしいWebAssemblyのはなし【新歓ブログリレー2017 9日目】
Double_oxygeN icon Double_oxygeN
2017年4月11日
できるかなってDistortion
clk icon clk
2017年4月9日
Pythonで数学の課題を解こう【新歓ブログリレー2017 6日目】
hukuda222 icon hukuda222
2017年4月8日
気軽にお絵かき! traP1draw【新歓ブログリレー2017 6日目】
Humming icon Humming
2017年4月7日
ゲームを作ろう! traP3jam【新歓ブログリレー2017 4日目】
Ark icon Ark
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記