書きたいことを書きたいだけ。

とある会社員の生活記録。

Raspberry Pi 3 Model b+ 買って、Node.jsが動くまで。

突然ですが、 Raspberry Pi 3 Model b+ を買ってみた。

買って初期起動まで

これです、セットになっているやつを買いました。
ラズパイ単体だと、電源に不安があったのとmicroSDも余ってるのが無かったので潔くセットです。

開封してみました。

f:id:itisyuu:20190419131831j:plain

セットの中身は

でした。自分はmacbookだからいいけどTypeCのカードリーダって使い勝手悪そうって思ったり。
とりあえず組み立てて電源つけてみました。

f:id:itisyuu:20190419131753j:plain

色々とすっ飛ばして起動画面です。
アップデート中の画面です。
1万円以下でここまでのスペックとは時代は進化したのもんです。

SSH接続を試みる

このまま画面に繋いだままだと、色々と設定しにくいので手持ちのmacからSSH接続を試みます。

セットに付いてきたmicroSDからネット経由でダウンロードしてきたDebian系のRaspbianだと初期ユーザ名が「pi」なので macのターミナルから

ssh pi@192.168.x.x

で接続を試みます。
弾かれました。どうやら初期状態だとsshサーバが動いていないっぽいので動かします。

ラズパイのターミナルを開いて

sudo raspi-config

で設定画面を開きます。
f:id:itisyuu:20190419133443p:plain Interfacing Optionsを選択して、 f:id:itisyuu:20190419133530p:plain SSHの設定をONにします。

やっと手持ちのmacからsshで接続出来るようになったので、色々と遊んでいきます。

Node.jsで遊ぶ前に

vimの設定がよく分からん事になっていたので、一回消して入れ直します。

sudo apt-get --purge remove vim-common vim-tiny
sudo apt-get install vim

npmのインストール

sudo apt-get install npm

です。便利なフレームワークなexpressとかその他諸々をnpmを使って入れるためにインストールしておきます。

Node.jsのインストール

特に外部に公開するわけではないので今はセキュリティとかぶっ飛ばしてNode.jsをインストールします。

ただ、

sudo apt-get install npm nodejs

で入れても最新版は入らないっぽいのでcurlを使ってダウンロードして入れます。

curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs

上のコマンドもルート権限いるので、ルートユーザじゃない場合は

sudo curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -
sudo apt-get install -y nodejs

ってしておいて下さい。

最新版のインストール方法は https://github.com/nodesource/distributions/blob/master/README.md にかかれているんで適宜読んで下さい。

expressもインストール

この段階で既にWebサーバ建てることは出来るんですが、せっかくなのでexpressも入れておきます。
expressとはNode.jsにおけるフレームワークみたいなもんです。(適当)

sudo npm install -g express
sudo npm install -g express-generator

express-generatorがあると、プロジェクトを簡単に作ることが出来るので便利です。

Webサーバ建ててみる

適当なフォルダに移動して、(適当というかNode.jsの作業用フォルダでも作って)

sudo express test

でtestというプロジェクトを作成します。 その後、

cd test
sudo npm install

で依存関係をインストールします。
最後に、

sudo npm start

を行うとwebサーバが立ち上がります。
LAN内から、ラズパイのIPアドレスである http://192.168.x.x:3000にアクセスするとf:id:itisyuu:20190419135914p:plain

こんな感じの無機質な画面が現れます。 あとはBootstrapなりその他Node.js周りの便利な物をいれて開発していきます。

最後に

とりあえず勢いでラズパイ買っちゃいましたが、一応やりたい事あっての事です。
このままWebサーバ建てて終わりだとその辺のPCと出来ること変わらないので、サーボモータ取り付けて制御してぷちIoT機器みたいな使い方していきたいと考えています。
要は、小型っていう特性を最大限に活かしたいわけですわ。
おしまい。