電気と電子と電波の日記

自分のための備忘メモです

Flash ROM読み出し 準備

ある目的があって、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の立ち上げだけで、時間を使ってしまった。

f:id:t1000zawa:20161020013442j:image

 

次は手順通り、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

 を追加してコンパイルできた。

つづく

 

roomba open inteface

我が家の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が同時にコマンド送って一斉に広大なフロアを掃除する、しかも唄いながら、というくらいの派手な使い方をしないと、やる気が起きないな。
f:id:t1000zawa:20161012002906j:image

 aruduinoはpcからのシリアルでコマンドを受けて、softwareserial でroombaにbyte型式のコマンドを送るスケッチで実験しました。

radiko タイムフリー開始

今週からradiko のタイムフリーサービス、つまり聴き逃しサービスが始まって、アプリがバージョンアップした。私は全国の各局が聴ける有料のエリアフリーサービス(350円/月)を利用しているので、こうなっちゃうとこれで満足と、いうかお腹いっぱい。これ以上の消費は無理。放送はNHKradiko、それだけで良い。
f:id:t1000zawa:20161012085215j:image
f:id:t1000zawa:20161012085314j:image


無線モジュール HC-12 その2

無線モジュールHC-12をアンテナ50Ω終端して、2台のaruduino間で通信する実験をしてみた。
f:id:t1000zawa:20161012002828j:image

aruduino IDEのシリアルモニタを使って左の画面に入力した文字列を無線伝送し右の画面に表示するというだけのもの。
f:id:t1000zawa:20161012002841j:image

単にシリアルクロスケーブルを無線化しただけで、エラー訂正はノーケア。9600bpsだと問題なさそうだが、115200bpsだと高頻度で文字化けが発生する。
115200bpsを気にしているのは、115200bpsがデフォルトになっているroombaの制御インターフェースを試したいから。