Cloud 9はオープンソースで開発が進められいるWeb上で動作する開発環境です。Raspberry Pi内でCloud 9を起動しておくことで、共通のネットワークに繋がっている他のPCからプログラミングすることが可能になります。
普段使っている開発PCでプログラミングをすることができるため、Python以外のプログラミング言語で開発を行いたい時など、Raspberry Pi単体で開発をしづらい場合に作業を進めやすくなります。
1.Node.jsのバージョンを確認する
まず初めにNode.jsの環境が必要なので、下記のコマンドを実行してNode.jsが入ってるかを確認します。
※もし入っていない場合は、下記の記事のインストール手順を参考にしてください。
Electronでクロスプラットフォームのデスクトップアプリを作る
https://www.pc-koubou.jp/magazine/23739
記事同様に、Node.js v8.8.0で設定をします。
2.Cloud9をインストール
Node.jsのインストールが終わったら、ターミナルを起動して、下記のコマンドを実行してください。
git clone https://github.com/c9/core.git c9sdk
次にc9sdkという名前のフォルダが作成されているので、移動します。
cd c9sdk
フォルダーに移動したら、次に下記コマンドを実行します。
scripts/install-sdk.sh
3.Cloud9のサーバーを立ち上げる
問題なく、終わるとターミナルに下記の表記が出てきます。
次にRaspberry Pi4でcloud9を動作させるために内部でサーバーを立ち上げる必要があるので、下記のコマンドを実行してください。
-pの後の番号はポート番号になるため、他のプロセスと被らない番号であれば大丈夫です。
node server.js --listen 0.0.0.0 -p 8080 -a :
忘れがちにはなりますが、最後の「:」を入れないとエラーになるので注意します。
無事にサーバーが立つと、下図のような画面になります。
4.別のPCからRaspberry Pi4にアクセスしてみる
この状態のまま、Raspberry Pi4と共通のネットワークに繋がっているPCを用意して、ブラウザのURLを入力する部分に「(Raspberry Pi4のIPアドレス):8080」でアクセスしてみます。
ブラウザの画面にCloud9のロゴが出た後、エディタ画面が現れます。
下図の左に表示されている「A」のエリアが、Raspberry Pi4内のフォルダリストを表示し、Cloud9で新しいファイルの作成や、複製、削除など一通りのことができます。
右の下図「B」のエリアがプログラムを書いたりすることができるエディタになります。
またいつも下図の下のエリア「C」を使うコマンドラインも表示ができるので、Cloud9上でコマンドを実行して結果を確認することもできます。
5.起動時にCloud9が動作するように設定する
これで、Cloud9の設定は終了ですが、今の状態だとRaspberry Pi4の電源を切る度にCloud9のサーバーを起動しないといけないので、起動時にサーバーが立ち上がるようにsystemdで設定をしたいと思います。
※systemdについては、下記の記事を参考にしてください。
Raspberry Pi4起動時に指定したプログラムを実行させる
https://www.pc-koubou.jp/magazine/?p=52061
ターミナル上で、下記のコマンドを入力してください。
cd /etc/systemd/system/
以下のコマンドで、適当なファイル名で新しいファイルを作成します。
sudo vim c9.service
下記の設定を記述します。
[Unit] Description=Cloud9 Core [Service] Type=simple PIDFile=/var/run/cloud9.pid ExecStart=/usr/local/bin/node server.js --listen 0.0.0.0 -p 8080 -a : User=pi Group=pi WorkingDirectory=/home/pi/c9sdk Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
記述したら、ファイルを保存して、下記のコマンドで起動時にCloud9のサーバーを立ち上げるようにします。
sudo systemctl enable c9
ここまで出来たら、Raspberry Pi4を再起動して、下記のコマンドで実際に正常に動作出来ているかを確認してみます。
sudo systemctl status c9.service
正常に動作している場合は、activeの表記に(running)と表示されます。
6.Cloud9を使って開発速度を上げよう
一連の設定をすれば、Cloud9を動作させるために必要だったコマンド実行もする必要がなくなり、Raspberry Pi4と同一ネットワーク上にいるPCのブラウザー経由でRaspberry Pi4上でプログラミングできるようになるので、開発環境の幅が広がります。
公設研究機関勤務を経て、情報科学芸術大学院大学[IAMAS]に入学。
主に研究開発をコンセプトから開発までサポートする企業「合同会社4D Pocket」代表 。
エンジニアを養成するフリースクール「一般社団法人HOPTER TECH SCHOOL」共同代表(教頭)。
2022年度より「名古屋文理大学」及び「名古屋造形大学」非常勤講師。