Edited at

3. Chromium OSでECHONET Lite通信

More than 3 years have passed since last update.


この記事は?

もう使わないかな?って思っているパソコンにChromium OSをインストールして,Web見るには十分使えるよ!ってなるためのメモ書き程度のもので,役に立てばいいなと思ったやつです.2015年くらいに流行りまして,その時やったのをもう一回再燃してやっている感じです.

というのは,ついでのNode.jsをインストールしてしまえば簡単な開発環境を作れるし,軽い処理のサーバーなら十分作れるのでECHONET Liteでスマートハウス化してしまったらどうかという提案記事を書きたいのです.


記事の条件

実施日 : 2016.06.22

Croudready : ver. 46.1.20


Chromium OSをインストールする.

参考文献[1]を参照してやりました.

使用したのはCroudready[2]のver. 46.1.20です.


Terminalを使う

Terminalを出す手段には2種類あります.

(方法1) Webブラウザ上でAlt + Ctrl + t

利点:複数のTerminalを出せる.ブラウザ見ながら作業ができる.

(方法2) Alt + Ctrl + F2

利点:root権限を簡単にとれる.フルスクリーンで作業しやすい.

ちなみに戻ってくるのはAlt + Ctrl + F1


rootになる方法

(方法1) WebブラウザのTerminalならX terminal($TERM = xterm)です.


crosh > shell

chronos@localhost / $ sudo su


passwordは下記のどれかだと思います.私はchromeでした.


  • password

  • chrome

  • chromeos

  • chronos

  • facepunch


localhost / #


(方法2) Alt + Ctrl + F2の画面ならコンソール($TERM = linux)です.


localhost login: root

localhost ~ #


コンソール画面で日本語入力とJISキーボード認識ができない.どうやるんだろう?


Driveの書き込み権限,実行権限

Chromium OSのハードディスクは基本的にRead-only file systemになっているので,書き込み可能にする.

これはマウントしなおすことで何とかする.


localhost ~ # mount -o remount, rw /


下記のほうが実行可能にもなって良いのかな?configure, make等をやりたいときには実行権限がないとPermission deniedくらいます.


chronos@localhost ? $ mount -i -o remount,exec /home/chronos/user



Linuxで利用する基本的なコマンド(ツール群)のインストール

Chromium OSには基本的なツールすら無いので,まずはそこからインストールする.

これはchromebrewという素敵なツールが公開されているのでそれを利用しよう.

Webブラウザで にアクセスし,ダウンロードフォルダにダウンロードする.

user状態で下記コマンドを入力する.


chronos@localhost ? $ cd

chronos@localhost ~ $ wget -q -O - https://raw.github.com/skycocker/chromebrew/master/install.sh | bash


残念ながら,みんなの大好きなaptは入らない.


Chromebrewが入ればかなりのことができるようになる.

Rubyをインストールした.バージョンは2.0.0p247


chronos@localhost ? $ crew install ruby


Node.jsをインストールしたらPython2.7系も一緒にはいりました.Nodeのバージョンは4.3.0,npmのバージョンは2.14.12で,Pythonのバージョンは2.7.10でした.


chronos@localhost ? $ crew install node


Emacsも入りました.入れたらついでにPerlも入っちゃいました.


chronos@localhost ? $ crew install emacs


ただ,nanoエディタが入りません.どうやるんだろう?コンパイルでエラーが出ます.


ECHONET Liteを使ってみる.

ここまで来たら,下記の記事に従ってスクリプトを作って実行します.

https://www.npmjs.com/package/echonet-lite

受信しません・・・と思ったらポート開放設定でした.


chronos@localhost ? $ sudo iptables -I INPUT -p udp --dport 3610 -j ACCEPT


完璧!


chronos@localhost ~/Download/node $ npm i echonet-lite

chronos@localhost ~/Download/node $ node test.js




おまけ (aptを使いたい) ChromiumOSにUbuntuをインストールする方法

世の中では「apt-getを動作させる」というのは「UbuntuをインストールしてX上で動作させる」ということと等価になってるみたいい.

やってみてわかりましたがWindows上にCygwinを入れるような感じです.Ubuntu on ChromiumOSという感じ.

自分としてはChromiumOS上で作りたいので他の方法を模索したいですが,とりあえずまとめておきます.

まずはインストール可能なUbuntuのバージョンを確認する.ここで*がついているものはダメだそうです.


chronos@localhost ? $ sudo sh ~/Downloads/crouton -r list


Ubuntuのバージョンはとりあえずpreciseでやります.下記に記述してますが,Ubuntuのバージョンはおしゃれに名称がついているらしいです.


chronos@localhost ? $ sudo sh ~/Downloads/crouton -r precise -t kde,keyboard,audio,extension,chrome


下記が必要かどうかわかりませんでした.また,X windowがうまく動きませんでした.インストールに2時間程度かかりました.


,keyboard,audio,extension,chrome


Ubuntu用のuserとpasswordを聞いてきますので,例えば下記みたいな感じで書いてみました.


ex.

Please new specify a username for the primary user: chronos

Enter UNIX password: chrome

Retype UNIX password: chrome



Ubuntu on ChromiumOSの起動

さて起動してみます.


chronos@localhost ? $ sudo enter-chroot -n precise


user名とpasswordを入力して,下記のコマンドラインが出てくれば成功ですね.


(precise)chronos@localhost: ~ $


後はたぶん好き放題.


(precise)chronos@localhost: ~ $ sudo apt-get update

(precise)chronos@localhost: ~ $ sudo apt-get upgrade

(precise)chronos@localhost: ~ $ sudo apt-get install tcpdump

(precise)chronos@localhost: ~ $ sudo apt-get install ruby



Ubuntuのバージョン

Wikipediaに,Ubuntuのバージョンと名前の対応表があります.

なんでこんなに分かりにくい方法でやるんだろう?かっこいいとでも思ってるんだろうか?

MacOSも意味不明なネーミングつけて喜んでるから何か意味でもあるんだろうか?

ver
name

12.04 LTS

Precise Pangolin[80]

14.04 LTS

Trusty Tahr[86]

16.04 LTS
Xenial Xerus


Chromium OSの小技もまとめています.

http://qiita.com/Sugimura-Laboratory/items/607780801f2f7838876f



参考文献

すみません,そこらじゅうを参考にさせてもらってますので下記では全然足りません.

参考文献もきちんとまとめたい・・・

[1] Croudreadyのインストール記事,

http://cloud-work.net/chromium-os/cloudready/

[2] Neverware

http://www.neverware.com/

[3] Chromebookに開発環境を実装する方法2 ― Chromebrew編,

http://chromesoku.com/chromebrew/