「せばな」は言わない

綱の上を歩いたり、壁を登ったりする田舎のプログラマーのおはなし

【Raspberry Pi】Rasbian Stretch Liteのセットアップ

f:id:tk_thunder:20180203223050j:plain

はじめに

仕事で使うRaspberry Piと趣味用のRaspberry Pi Zero WにRasbian Stretch Liteをインストールしてセットアップしたのでその時の作業メモを残す。
もし同じようにセットアップする人がいれば参考にしてもらえればと思う。

前提とする環境

  • 本体:Raspberry Pi3 Model B / Raspberry Pi Zero W
  • OS:Rasbian Stretch Lite(GUIなし)
  • SSHに使用するPC:Windows 10 64bit

※使用するOSは2018/05/19現在最新のもの

  • HDMIケーブルもしくはHDMI-DVI(D-SUB)変換ケーブルを通して画面に出力できること

※外部モニタが必要

やること

今回やることは以下の通りの基本的な設定ですよ。

  • OSインストール
  • 起動確認とログイン
  • ローカライゼーション設定(タイムゾーン、キーボードレイアウト、Wi-Fi)
  • インターフェース設定(SSH、I2C)
  • Wi-Fi(IPアドレス固定)
  • パッケージ管理システム設定

それでは細かい所をやっていこう。

起動確認

Raspberry Piに下記を接続し、最後に電源を入れる
電源スイッチは存在せず、ケーブルを接続した瞬間に電源が入る。

  1. MicroSD
  2. HDMI(ディスプレイへ)
  3. キーボード
  4. 電源ケーブル

ログイン

初期設定では下記のアカウントになる

  • ログインユーザ:pi
  • 初期パスワード:raspberry

設定

コンフィグ画面から下記を設定していく

$raspi-config

1.言語

1.1[4 Localisation Options]
地域、言語関係の設定を行う

1.1.1 [I2 Change Timezone]
タイムゾーンを日本の設定にする

Geographic area:Asia
Time zone:Tokyo

1.1.2 [I3 Change Keyboard Layout]
キーボードレイアウトを日本向けにする

Generic 105-key (Intl) PC
Japanese - Japanese (OADG 109A)
The default for the keyboard layout
No compose key

1.1.3 [I4 Change Wi-fi Country]
Wifiの設定を日本向けにする

JP Japan

2.インターフェース

2.1 [5 Interfacing Options]
接続機器の制御に関する設定を行う

2.1.1 [P2 SSH]
セキュアシェルの接続を許可する

Would you like the SSH server to be enabled?
Yesを選択。

2.1.2 [P5 I2C]

Would you like the ARM I2C interface to be enabled?
Yesを選択。

一度リブートする。

$ sudo reboot

WifiとSSH設定

1. Wifi設定

1.1 SSIDとパスワードをファイルに書き込む
下記のコマンドでSSIDとパスワードをファイルに書き込む。
[SSID]:接続先SSID
[PASSPHRASE]:接続先SSIDのパスワード

$sudo sh -c 'wpa_passphrase [SSID] [PASSPHRASE] >> /etc/wpa_supplicant/wpa_supplicant.conf'

書き込み先のファイルを参照する

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

生のパスワードがコメントアウトで書き込まれているため、これを削除する。
※アクセスポイントがステルスの場合は、SSIDサーチする下記コマンドを追記する。

scan_ssid=1

書き込みが終了したらCtrl + xを押下。Yを押下し、保存する。

1.2 IPアドレスを固定する
常に同じIPでSSH接続するためにIPアドレスを固定する。
設定に使用するファイルを開く。

$ sudo nano /etc/dhcpcd.conf

ファイルを開いたら下記の情報を書き込む。

interface wlan0
static ip_address=192.168.xx.xx(例)
static routers=xxx.xxx.xx.xx
static domain_name_servers=xxx.xxx.xx.xx

書き込みが終了したらCtrl + xを押下。Yを押下し、保存する。
保存後、再起動を実行する。

$ sudo reboot

1.3 接続確認
再起動後、下記コマンドでネットワーク環境の確認を行う

$ ifconfig

先程設定したIPがwlanの項目に表示されていれば、設定完了。

また、外のネットワークに接続可能か下記のコマンドで確認する。
※ ping先は任意でかまわない

$ ping www.yahoo.co.jp

下記のように通信が成功すればWifi設定は終了。
64 bytes from 182.22.25.124 (182.22.25.124): icmp_seq=1 ttl=54 time=20.2 ms
64 bytes from 182.22.25.124 (182.22.25.124): icmp_seq=2 ttl=54 time=22.1 ms
64 bytes from 182.22.25.124 (182.22.25.124): icmp_seq=3 ttl=54 time=22.1 ms
64 bytes from 182.22.25.124 (182.22.25.124): icmp_seq=4 ttl=54 time=24.9 ms

1.4 ロケール設定
ネットワークに接続できるようになったため、日本語のフォントをインストールする。

$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname

コンフィグ画面からロケールを日本に設定する

$raspi-config

[4 Localisation Options]→[I1 Change Locale]
下記を選択する。スペースキーを押下すると[*]マークをつけて複数選択できる。

en_GB.ISO-8859-15 ISO 8859-15
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8

デフォルトロケールを [ja_JP.UTF-8] にする。

参考
qiita.com

1.5 SSH接続
最後に個人のPCからWifi経由で制御できるようSSHの設定を実施する。
Raspberry Piに接続するPCに下記のソフトをインストールする。
[Tera Term Pro]
https://forest.watch.impress.co.jp/library/software/utf8teraterm/
ファイルをダウンロード後に開く。

参考
nw-electric.way-nifty.com

パッケージ管理システム設定

Raspberry Piには機能を拡張させるためのパッケージ管理システム「apt-get」がプリインストールされている。
Raspberry Piで保持しているパッケージ情報のリストを最新にする。下記のコマンドを入力する。
最新のリストがダウンロードされる。

$ sudo apt-get update

上で得たリストを元に、Raspberry Piにインストール済みのアプリケーションを最新に更新する。

$ sudo apt-get upgrade

OSのディストリビューションを最新に更新する。

$ sudo apt-get dist-upgrade

ファームウェアを最新に更新する。

$ sudo rpi-update

こんな感じですね。
アカウントの設定はデフォルトのまま進めていますが、セキュリティを向上させるために変更することをおすすめします。

【朗報】ワイのPC、復活を遂げる


はじめに

先日物理的に火を吹いた僕のPCだが、タイトルの通り復活を遂げたことをここに報告する。
tk-thunder.hateblo.jp

電源が火花を散らしたのでマザーボードを始め、すべてのパーツがお逝きになったのかと内心ヒヤヒヤだったが電源の交換のみで事なきを得た。

電源

ちなみに電源はこれ。

玄人志向 NEXTシリーズ 80 PLUS Bronze 600W ATX電源 KRPW-N600W/85+

玄人志向 NEXTシリーズ 80 PLUS Bronze 600W ATX電源 KRPW-N600W/85+

圧倒的なコストパフォーマンスだったので即決。

CPUファン

せっかくなので、CPUファンを取り付けたときの紹介もしておく。

サイズ オリジナルCPUクーラー 虎徹 Mark II

サイズ オリジナルCPUクーラー 虎徹 Mark II

このフィルムに気が付かずにそのままマザーボードに付けちゃう事例があるみたいなのでみなさまもお気をつけください。

結構でかい。

僕のマザーボードはソケットがLGA 1366なので、裏面にベースプレートを取り付ける必要がある。取り付けるとこんな感じ。

表面には裏面のベースプレートを固定するためのスペーサー蒹固定具をつける。

そんで上に乗っける。おぉ~。サイドフローのファンって初めて。

ケースファン

ケースファンもお世辞には回っていると言えない惨状だったので購入。

別にこだわりとかないのでコスト重視。
写真撮り忘れちゃたけど、ギュンギュン回って最高です。

Bluetooth

Bluetoothもついてねーのかよ!って言われそうだけど、昔のPCなもんでね!
ちなみに無線LANも搭載してないよ!!!

これも特にこだわりはないのでテキトウに。

電源投入

ホントにめっちゃ恐る恐る電源を入れたら静かに稼働しだした。異常があるのか?って疑いたくなるほど今のファンって静かなんですね。
でもマザーボードは未だに古いものを使用しているまま。いつ逝ってもおかしくはないので、徐々に新しいものを揃えていこうと思う。

ちなみにデュアルディスプレイだったのも今は1枚壊れてシングル状態になっている。
ついでに、新しいディスプレイを注文した。


これでやっと快適な開発環境がもどってくる!!

【悲報】ワイのPCが火を噴く(物理)

f:id:tk_thunder:20180226225235p:plain

比喩表現でよくある、「俺の○○が火を噴くぜ」という言葉が現実になりました。
比較的分かりやすくお伝えすると、デスクトップPCが火を吹きました。

以上です。


さて、いったいなぜこんなことになったのか…

デスクトップPCは8〜9年位前に大学生の僕がせっせとアルバイトをしてBTOで買ったものだ。

そして1年前に起動しなくなった。僕のスマホアプリ開発やその他もろもろのプログラミングを支えてくれた相棒だった。

それ以来、MacBook Airでおおよそすべてのことを凌いでいたが、やはりマシンパワーが足りない。

そして思い立った。ケース、OSはそのままでマザボとか諸々換装すればよくね?と。

まずは現状把握ということで、軽くPC内を掃除をして試しに起動させてみた。

普通に起動した。

あ、あれ…。起動してるやんけ…

もしかして、グリス塗り直してCPUクーラーをつけ直したからかな。

でも、起動時にFan errorが出てる。所定の回転数まで届いてないのかな?

というわけで、CPUファンを変えることにしました。少しずつ部品を変えていく作戦です。

そして新たに購入したのが 虎徹 弐(コテツ マークツー)

サイズ オリジナルCPUクーラー 虎徹 Mark II

サイズ オリジナルCPUクーラー 虎徹 Mark II

超ウキウキで取り付けをすませ、電源をONにする。

勢い良くコテツが回り始める。

うぉぉ!回ってる!!!(あたりまえ)

しかし今度はCMOS Errorが発生。

BIOSで時間とかをセットして、再起動するとなかなかWindowsの画面が表示されない。

う〜んと思いつつ、一旦再起動する。

CMOSエラーは出なくなったけど、またもやWindowsの画面が表示されない。

一旦電源切ろう…と電源ボタンを押した瞬間…

バチバチバチっという音とともに電源ユニットのあたりから激しく火花が散る。

f:id:tk_thunder:20180226225235p:plain

「うぉぉ!?」という叫びが止む頃にはPCは沈黙していた。

部屋の中にプラスチックが焦げる匂いが立ち込める。

すぐさま電源プラグを引っこ抜き、PCをバラす。

電源が死んでいるのでどこまでぶっ壊れたか確認できないが、とりあえずHDDは無事だった。

電源から火花が出ていたので、電源を外してバラしてみると…

こんなにホコリが詰まっている。もはやスパークしてくれと言っているようなものである。

そういえば電源の掃除だけは一回もしていなかった。一生の不覚である。

家が火事にならなくて本当に良かったと思いながら、電源ユニットを注文した。

こりゃマザボもメモリもCPUも取り替えかなぁ…

みなさんも電源周りのホコリには十分お気をつけください。

【不定期連載】BOSSと僕 #狂気のプログラム【8行目】

これは、真と偽の狭間にある日常の一コマ
※体験談ですがものすごく脚色してますのであしからず

登場人物
僕(TK)・・・筆者
BOSS・・・僕のボス

BOSS「TK君、やべーことになったわ」

僕「え、何かやらかしたんですか?」

BOSS「やらかしたわ…大変なものを作り出してしまったわ」

重苦しい形相のBOSS。一体何を作り出してしまったというのか…

BOSS「ラズパイ起動後、0.1秒でリブートに入るループを繰り返す狂気のプログラムになっちゃった…」

僕「(白目」

どうやら、ラズパイを起動後に自動でNoderedが起動し、pingを打つ。
pingの結果がNGならリブートする流れだったみたいだ。
当然起動後0.1秒ではネットワークにも繋がらず、pingの結果もNGとなりリブートに入る流れになっているらしい。

Noderedについては過去記事参照のこと
tk-thunder.hateblo.jp


その後、5番、6番ピンを短絡させ、セーフブートで起動するも少しのディレイがありリブートを強制的にかけられる。
しかし、BOSSはその僅かなディレイの間にNoderedを停止させるコマンドを放つ。

BOSS「よっしゃぁ!とまったぁ〜…」

AIと対決する映画か何かかな?と思いつつもラズパイの暴走(設定ミス)が落着する。

BOSSもこんなミスするんだなと、少し驚いた冬の昼下がりのお話。

【不定期連載】BOSSと僕 #加湿器【7行目】

これは、真と偽の狭間にある日常の一コマ
※体験談ですがものすごく脚色してますのであしからず

登場人物
僕(TK)・・・筆者
BOSS・・・僕のボス

最近、ラズパイで環境データを収集することがマイブームになっている。
tk-thunder.hateblo.jp

そのおかげで判明したのが仕事場の圧倒的「湿度不足」。
なんと20%くらいしか無い。恐ろしく乾燥した大地と成り果てている。
その事実が判明するととたんに乾燥具合が気になって仕方ない。

BOSS「TK君。どうだろうか、卓上の加湿器を導入しないかい?」

僕「賛成です。このウィルス培養空間を是正しましょう」

BOSS「分かった。早速Amazonで見つけたんだけど、2個買えば200円引きなんだよ!」

僕「はい」

BOSS「2個買えば!」

僕「はい」

BOSS「買おう(真顔」

僕「え、あ、ハイ...OKです」

BOSS「よっしゃポチるわ!はいポチったー!!」

僕「早っ!」

BOSS「明日届くからね」

そんなこんなで次の日にはBOSSと僕の机の上にそろって加湿器が置かれることとなった。

実際、朝から定時まで加湿器を稼働させ続けているが、湿度は最高で35%ほど。

どうにも効果が上がらないと思っていたら、僕の頭上についているエアコンが超強力なものと判明。

たかだか二人が稼働させる卓上加湿器程度では到底敵わないのだ。

BOSS「事務所の人間全員で加湿器使ったらイケそうだね!」

そして、BOSSと僕の加湿器普及運動が幕を開けたのであった...。

ちなみにコレ買いました。

【Azure+Nodered】Azure上にNoderedの環境を用意するメモ

f:id:tk_thunder:20180218091051p:plainf:id:tk_thunder:20180218091041p:plain

はじめに

前々回の記事について、Azure上のDBに向けてラズパイ上で動かすNoderedからデータを飛ばす旨で書いたんですが…何をトチ狂ったかAzure上にNoderedを展開することについても書いていました。混乱させてしまい申し訳ないです。あの時の僕はどうかしてたんだ。

tk-thunder.hateblo.jp


というわけで、分量も多くないのでこちらにメモ程度に記しておきます。

Azure上にNoderedの環境を用意する

※記事の中にgitのリポジトリを設定する部分がありますが、僕は2つめの記事に従って設定しました。
qiita.com

qiita.com

【不定期連載】BOSSと僕 #照度センサー【6行目】

これは、真と偽の狭間にある日常の一コマ
※体験談ですがものすごく脚色してますのであしからず

登場人物
僕(TK)・・・筆者
BOSS・・・僕のボス

BOSS「TKくん、はいこれあげる」

BOSSが僕に差し出したのはGY302という照度センサー

僕「マジっすか、もらっていいんですか?」
最近ラズパイで遊ぶのが楽しすぎて、色々センサーを物色している中に件のセンサーもあった。

BOSS「1個だと思ってたら3個入ってたんだ、何を(ry」

僕「あ、ありがとうございます!買おうかと思っていたところでした」

BOSS「その代わり、端子のはんだ付けしておいてちょうだい」

僕「分かりましたー」

BOSS「でもこのセンサーの端子って真っ直ぐなんだよね。L字だったらよかったのに…あ!曲げちまうか!!」

僕「(なんかすげぇ事言いだしたぞ…)」

BOSS「ちょっとまってて!曲げてくるわ!!」
(10分後)

BOSS「よっしゃ、曲げてきた!適当にやったからちょっとアレだけどね」

僕「(アカンわこれ…端子の曲がり方が全部バラバラになってもーてるやんか…)」

BOSSの器用さがあれば、完璧なまでの仕上がりが実現できたはず。
ということは、本当にテキトウだったんだろうなぁ…

僕「やばいっすね…(震え声」

BOSS「頼んだ!!!」

僕「(ちくしょおおおおおおお)」

この後メチャクチャ綺麗にはんだ付けした。