昨日、システムメンテナンスにともなうサービス停止予告が出ていたが、その作業にチョンボがあったらしい。
と思ったらアップルペイに対応して負荷集中が原因だったとか。
ある目的があって、SPI Flash ROMを読み取りたい。
RaspberryPiのSPIインターフェースを使ってFlash ROMが読み書きできるツールがある。Downloads - flashrom
参考はここ。
Hardware Flashing with Raspberry Pi · bibanon/Coreboot-ThinkPads Wiki · GitHub
これならFlashROMのリーダライターをわざわざ用意しなくても手持ちのデバイスでできる。OSとしてRaspbianを使うのため、ここしばらくCentOS7のzabbixサーバーの放置プレイをしていた我が家のRaspberryPi2を久々にshoutdownした。
別のmicroSD CardにRaspbianを入れるという作業から始めた。
まずDownload NOOBS for Raspberry PiからOSのイメージをダウンロードするのだが、これは時間がかかる。ミラーサイトを利用。これは想定内として、OSを入れるmicroSD Cardを、SD Card formatterでフォーマット後、通常の手順でインストールするのだが、インストール完了後OSを再起動すると、いちいちfsckが走って使いものにならない。カードのフォーマットからやり直しても同じ。
そこで別のSDカード(東芝製)にして再チャレンジ、今度はうまくいった。
結局OSの立ち上げだけで、時間を使ってしまった。
次は手順通り、flashromのインストールを始める。
sudo apt-get install build-essential pciutils usbutils libpci-dev libusb-dev libftdi1 libftdi-dev zlib1g-dev subversion
makeするとエラーで怒られる。
sudo apt-get install libusb-1.0-0-dev
を追加してコンパイルできた。
つづく
これくらいカッコよく作れるといいいのだが
我が家のroomba530は2012年購入。メンテしながらかれこれ4年使っている。思えば2000年だったかアメリカのラスベガスでカジノの儲けで衝動買いした初代機以降、二台目。
あまり知られていないのかもしれないが、roombaにはROI(roomba open intereface)、つまり外部制御のシリアルインターフェースが隠れたところにあり、仕様がオープンになっている。iRobot Roomba 500 Open Interface (OI) Specification http://irobot.lv/uploaded_files/File/iRobot_Roomba_500_Open_Interface_Spec.pdf
それを使って何かしようかと考えてきたが、自宅では掃除したいときにボタンを押せば良い訳で、意味無いなあと思いつつarduinoでコマンド送って反応見て、ひとしきり遊んで飽きてしまうのであるが、改めてroombaはロボットなんだなあと思う。
無線モジュールを載せれば、インターネット経由で外出先から運転するのもやろうと思えば簡単だが、家族がいるなら意味無い。ある時刻になったら無線で数台のroombaが同時にコマンド送って一斉に広大なフロアを掃除する、しかも唄いながら、というくらいの派手な使い方をしないと、やる気が起きないな。
aruduinoはpcからのシリアルでコマンドを受けて、softwareserial でroombaにbyte型式のコマンドを送るスケッチで実験しました。
1時間ほど冷やかし参戦。28MHzと144MHzのCWで10局ほど交信。