2015年9月19日土曜日

Orange Pi PC用のmicroSDが届いてた

Orange Pi PCは発送されたんだけどまだ届いてない(一番安い送料選んだので仕方ない)けど、microSDが届いてた。

使用するmicroSDはSamsung microSD EVOの16GB。
安値なハイパフォーマンス系のSDをいろいろ調べた結果、ランダムリード、ライトが速そうだったので。
Linuxボード系に使うならやはりシーケンシャルよりもランダムが重要かな。
一応測定してみた。
ランダムが結構速い。しかしシーケンシャルリードもっと出てもいいんじゃないの?
というわけでMBPで測定したのが右。
どうやらWindowsで使っていたカードリーダーの限界がわかってしまった。(USB3.0接続なのにorz)
さすがMBP

ちなみにRaspberry PiにはSandiskのUltra使ってるけどランダムはこれの半分以下だった気がする。
耐久性はどうなんだろうな…
常時稼働のRaspberry PiではpqiのSDが突然起動しなくなったりしてたし。


2015年9月13日日曜日

OBD-II Adapter for Arduino用のライブラリを調べてみた。

前回はOBD2のBluetoothアダプタを分解してArduinoとつなげてテストを行ったけど、今回はそのライブラリについて調べてみた。

前回使用したFreematicsのライブラリの使い方というか、詳細な説明が見つからないのでライブラリを微妙に読み解いてみた。
もしかしてFreematicsの製品用のライブラリなので製品自体に説明書とかついてきてるのかな?

中身をさらっと見る限りは特にFreematicsのデバイスでしか使えないような細工とかはされてないような感じで前回の用に適当なELM327デバイスを分解したやつでもこのライブラリで動きそう。(UART接続に限ると思うけど。)

そして前回の車に繋いでも全く反応がないという問題はELM327側の自動プロトコル選択機能だったわけだけど、ライブラリから手動で選択する方法も分かった。

初期化処理のobd.init()時にプロトコルを指定してやればいいみたい。

PROTO_ISO_9141_2
PROTO_KWP2000_5KBPS
PROTO_KWP2000_FAST
PROTO_CAN_11B_500K
PROTO_CAN_29B_500K
PROTO_CAN_29B_250K
PROTO_CAN_11B_250K
が使用できる模様。

例えば、サンプルスケッチ(rpm_led_uart)の21行目を
while (!obd.init(PROTO_CAN_29B_500K));
にすると手動でCANの500kbpsの29bitIDに設定される。
自動プロトコル選択でうまく動かない車種の人は使われてるプロトコルを調べて手動で入れてみると動くようになるかも。

ボーレートの指定方法も判明した。
setBaudRate()で指定できるみたい。
obd.begin();の下辺りに
obd.setBaudRate(9600);
とか入れておけばいいみたい。obdsimを使ってデバッグするときに必要だった。
ちなみにELM327自体のボーレートを変更するときはPCに直接繋いでATコマンドで変更する。

ちなみにobd.read()で読み出せる値はOBD.hの中身を見ればわかるかも。
I2C対応のOBD2アダプタを使う予定がないのでライブラリいじって無効化したらコンパイル後のスケッチサイズが1200バイトぐらい減ったw

2015年9月9日水曜日

Orange Pi PCをポチってみた

Raspberry Piが最初に届いてからもう3年、256MB版と512MB版があるけどそろそろGUIで使うのがきつくなってきた。
特にテレビに繋いでメディアプレーヤーとして使うのはたまに苦しそうな時がある…
普段使いにはまだまだ問題ないんだけどね!

そろそろRapsberry Pi2を買ってみようかとか、Banana PiはSATAついてるモデルあったり面白そうだなーと思っていたところにOrange Piに15ドルのOrange Pi PCが追加されたという情報が!

CPUは中華パッドとかでよく使われてるAllwinnerのCPUらしい。それでOTTなSTB用のCPUでH3というらしい。1.6GhzのクアッドコアでCortex-A7でこの価格は結構お安いんじゃないかな?
RasPiと違ってEthernetもCPU直結な感じがするし。Orange PiのWiFi付きモデルはどうやらSDIOでつながってるみたいだし、ネットワーク系の速さは期待できそう?

というわけでとりあえず15ドルのOrange Pi PCをポチってみた。
結局、ケースとUSB電源ケーブルのセットで送料込みで3000円行かないぐらいってところ。
ちなみにAliexpressの公式アカウントっぽいところからポチりました。
さていつ届くんだろ…
あとmicroSDもポチっておかないと



2015年9月4日金曜日

Crucial MX200を買ってみた。

ゲームマシン復活してからもたまにブルスクでマシンごと落ちてたりしてたんだけど、原因がわからず…
試しに別のSSDにインストールしてみると落ちなくなったのでSSDを交換してみることに。
ちなみにSSD自体は速度低下もあまりしてないしエラーも見受けられず。どうなってんだろ…

やはりMarvellのコントローラを搭載したSSDが良かったのでコスパが高いというCrucialのMX200にしてみた。Marvellコントローラ搭載のSSDとしては最安レベルの価格。
今回はSSD2台を1台にまとめるために500GBを買ってみた。
値段的には今積んでる250GBより安いぞ…
付属品はノートPCに積むときに厚みを合わせるためのアダプタとSSD移行ツールのみ。
今回はクリーンインストールなので付属品は使わなかった。

一回Windows 10にアップグレードしていたのでクリーンインストール時にプロダクトキーの入力をスキップしてもネットに繋がると自動でライセンス認証が終わっていた。

とりあえず半分ぐらいデータを入れた後なんだけど速度を測定してみた。

そういえばCrucialはCrucial Storage Executiveというツールが用意されてて、ファームウェアの更新とかMomentumというメインメモリをキャッシュに使って高速化できる機能がつかえるっぽい。
それを考えるとやっぱりコスパ高いなぁ


2015年8月30日日曜日

ELM327を使ってArduinoをOBD2に繋いでみた。

だいぶ前に買ったOBD2 ScanっていうOBD2のBluetoothアダプタを改造してArduinoを繋いでみた。
裏側からBluetoothモジュールが透けて見える。HC-05かな?
このアダプタはELM327とBluetoothシリアル変換モジュールを組み合わせたもののよう。
ATコマンドでELM327のバージョンを調べるとv1.4bの模様。
最近はもっと小型のアダプタが出てて、バージョンも2.1らしいんだけど、対応車種減ってるとかで…

分解するには表面のシールを剥がす必要がある。カッターで軽く持ち上げてネジ4つを緩める。
結構ケーブルが雑…
裏面にはBluetoothモジュール、表面はELM327なんだけど実はPIC18F2480。さすが中華製。
BluetoothモジュールはHC-05もしくはHC-06かな?

Bluetoothモジュールはシリアル通信用なのでこいつをはがせばELM327と直接通信できる。
 BluetoothモジュールはVCCとGNDとTXとRXしかハンダ付けされてなかったのでさくっと外れた。ELM327は5V駆動でHC-05は3.3V駆動なのにレベルコンバーターがついてない…
5Vトレラントなのかな…
それはさておき、Arduinoと接続するために5VとGNDとRXとTXを取り出してみた。

ATコマンドなので比較的簡単にArduinoとやりとりできそうなんだけどELM327用のライブラリがあったので使わせてもらった。
というかFreematicsってところが出してるOBD-II Adapter for Arduino用のライブラリがそのまま使えた!
まぁModel Aは今回作ったものとほぼ同じものだろうし。ケースも同じっぽいし…

とりあえずArduinoにLCDモジュールを乗っけてテスト用に…
どうもFIT RS(GE8)で認識しない…
やはりライブラリはFreematicの製品専用なのかなーと思って眺めてみると中身はELM327と通信できるように作られてるだけでバージョン判定とかも全くしていない模様。
ELM327の方を疑ってみるとどうやらプロトコル自動判別が微妙らしい?
という情報を入手したのでプロトコルを手動選択にしてみた。
GE8はCAN 500Kbps/29bitのようなので、ATコマンドでATSP7で行けそう。
ATCVコマンドで電圧補正もかけといた。
とりあえずエンジン回転数を表示するテスト。
AndroidからBluetoothで接続してTorque使うより断然レスポンスが良い。
OBD2自体はだいぶ通信速度速いのねぇ(車種による
まぁOBD2につなぐ本格的なメーターも出てるぐらいだしね(すげー高いけど
ちなみに今回のOBD2のアダプタとArduinoとLCDで3k円ぐらい。
ELM327 v2.1(のパチモン)だとだいぶ安いけどどうなんだろう…

と、言うわけでひとまずArduinoでOBD2の情報読み出せるようになった
ELM327の自動認識微妙だなぁ
Arduino側で自動認識実装するしかないのかなぁ。
そういやELM327より高性能なSTN1110っていうICも出てきてるみたいなんだけど
高そう。

2015年8月1日土曜日

Xbox 360 ワイヤレス コントローラーをWindows 10で使ってみた。

Windows 10をインストールしたらドライバはほとんど入ってしまって、Intel INFとNvidiaのドライバを追加でインストールしたぐらいという。
自分が持ってるXbox 360のレシーバーは非純正品というかeBayで買ったパチモンなのでドライバを手動でインストールしてみた。
Windows 7の時は純正のドライバを最初にインストールしてたけど、Windows 8以上にはXbox360周辺機器のドライバが予め組み込まれてるようなのでソフトウェアのインストールは不要。

まずXbox 360 Wireless Receiver for WindowsをPCに接続して、デバイスマネージャーを開く。
純正品だと勝手にドライバが入るんだけど今回はコピー品なので不明なデバイスになる…
不明なデバイスを右クリックして「ドライバーソフトウェアを更新」
「コンピューターを参照してドライバー ソフトウェアを検索します」を選択。
ここまではWindows 7の時と同じ手順。
「コンピューター上のデバイスドライバーの一覧から選択します」を選択。
デバイス一覧が出るはずなのでスクロールして「Xbox 360 周辺機器」を選択。
「Xbox 360 Wireless Receiver for Windows」を選択。
パチモンなのでこんなエラーが出ますが気にせず「はい」を押す。
これで正常にインストール完了!
後はコントローラーのペアリングボタンを押してからレシーバーのペアリングボタンを押すとペアリングが完了して、コントローラー本体のドライバが勝手にインストールされるはず!

なんかXbox oneのコントローラーはWindows 10で不具合出てるようだけどXbox 360コンは問題なく動いてる模様。

2015年7月4日土曜日

Raspberry PiでSDカードが出っ張るのが微妙なのでmicroSDにしてみた。

Raspberry Piで標準サイズのSDカードを使うと結構出っ張って邪魔なのでmicroSDにしてみた。

Raspberry Pi2もほしいけどとりあえず用途的にRaspberry Piで問題なのでアダプタを使ってmicroSD化してみた。

せっかくなのでmicroSDも高速なものに。
SanDisk UltraのClass 10をポチった。
SanDiskと行っても並行輸入品はそんなに高くないし。
サポート受けられないと入ってもSDカードってそんなに壊れないし…

Raspberry Pi用にmicroSDカードをスマートに搭載できるアダプタが売ってる。これで1ドルぐらいだった。
Raspberry Piに装着した状態でもmicroSDカードが脱着できるようになってる。
こんな感じでSDカードがはみ出さないので落っことしたりしても安心!
意外とSDカード外すことないしね。(2枚持ってるのでたまに交換するときは不便だけど…
ちなみにMBP内蔵のカードリーダーで測定してみたところこんな感じ。
いままで使ってたSDカードよりだいぶ高速っぽい。書込みももうちょっと速いと良かったんだけどねぇ