-
Notifications
You must be signed in to change notification settings - Fork 15
in_Japanese
(日本語版です。一次情報はその他の英文を参照してください。)
![](https://raw.githubusercontent.com/fenrir-naru/ninja-scan-light/master/icon.png)
ちょっとすごいロガー (NinjaScan-Light) はとても小さい (1.0 x 1.4 インチ、おおよそ 26 x 36 mm) の動き計測を主としたロガーです。3軸加速度、3軸角速度、3軸地磁気、位置、速度、気圧、気温を記録することができます。
ちょっとすごいロガー は、以下の部品によって構成されています。
- USB接続機能を備えた Silicon Laboratories C8051F381マイコン
- u-blox社製 NEO-6シリーズGPS受信機
- 6自由度(3軸加速度、3軸角速度)の慣性センサのInvensense社製 MPU-6000 (ver.1)、またはInvensense社製 MPU-9250 (ver.2)
- 3軸の地磁気センサのFreescale社製MAG3110、またはInvensense社製 MPU-9250 (ver.2)
- 大気圧および温度センサのMeasurement specialties社製MS5611
- Li-Ion電池の充電機能を備えたLinear Technology社製パワー管理ICの LTC3550、
- MicroSDHC、およびFAT32をサポートするMicroSDソケット
ちょっとすごいロガー は上に挙げたデータをMicroSD上のlog.dat
というファイルに保管します。そのファイルの内容はLogFileのページを参照してください。
- 2015/10/30 ちょっとすごいロガーが非公式ですが スイッチサイエンスから買えるようになりました(本体のみもあります)。
- 2015/3/27 Google Codeが閉鎖される予定とのことで、githubへの引っ越しをしました。
- 2015/1/10 ちょっとすごいロガー2 (別名 NinjaScan-Light2 、 NinjaScan-Light ver.2)をリリースしました。ちょっとすごいロガー2 は、これまでの ちょっとすごいロガー のMPU-6000とMAG3110の組み合わせを、MPU-9250単体に置き換えたものです。ちょっとすごいロガー2 の使い方は完全に ちょっとすごいロガー と同じです。
- 2014/8/26
弟分のもうちょっとすごいロガーが非公式ですが @ina111から買えるようになりました。(2015/7/3)販売休止 - 2014/4/29 Raspberry Pi用ツールを追加しました。
- 2014/4/19 ちょっとすごいロガーの弟分である、もうちょっとすごいロガーを公開しました。
- 2014/4/3 ちょっとすごいロガーを無線と組み合わせて使えるようにしました。下の大まかな使い方の8番目を見てみてください。
- 2014/3/26
ちょっとすごいロガーが非公式ですが @ina111から買えるようになりました。(2015/7/3)販売休止 - 2014/3/7 githubでも公開をはじめました。githubのmasterブランチのHEADは
r135に対応します自動更新で最新版に対応します。 - 2014/3/3 upverterというサービスで回路図やレイアウトを見れるようにしてみました。
- 2013/11/1 完成しました!
- 2013/10/25 Silicon Laboratoriesによって、USBのProduct ID (PID)が ちょっとすごいロガー 用に割り当てられました。r106の変更で反映しています。
- FAT16/32でフォーマットしたMicroSD(HC)を _ちょっとすごいロガー_のMicroSDソケットに挿入してください。
- _ちょっとすごいロガー_の電源を入れましょう。2通りの電源をサポートしています。1つはJST-ZH (CON1)に接続した1セルのLi-Ion電池です。もう一方はUSB micro-B (CON2)によるUSB電源ケーブルを使った給電です。USBケーブルを使ってPCと接続する場合、電源のみを供給し、データ通信を行わないケーブルを使用してください。そのようなケーブルがなくとも、USBケーブルで接続するタイプのバッテリを使うのが簡単です。
- ログを自動的に取り出します。LED3で動作状態をチェックできます。正常に動作していれば、LED3が3度チカチカ点滅する動作を約10秒おきに繰り返します。
- _ちょっとすごいロガー_の電源を切ってください。MicroSD(HC)には
log.dat
というファイルができているはずです。 - MicroSD(HC)リーダーがない場合も大丈夫です。MicroSD(HC)を ちょっとすごいロガー に挿入したまま ちょっとすごいロガー をUSBケーブル(データ通信も行うもの)でPCと繋いでみてください。 ちょっとすごいロガー がディスクとして認識され、MicroSD(HC)の中の
log.dat
が読み込めます。 - Li-Ionバッテリの充電器をわざわざ用意する必要はありません。Li-Ionバッテリを _ちょっとすごいロガー_につないだまま、USBケーブルからも ちょっとすごいロガー に給電することでLi-Ionバッテリが充電されます。バッテリが完全に充電されるとLED2が消えます。
- ちょっとすごいロガー をPCのセンサユニットとして使うこともできます。MicroSD(HC)を挿入しないで _ちょっとすごいロガー_をPCとUSBケーブル(データ通信もできるもの)で接続してみてください ちょっとすごいロガー がドライバファイル(inf)を使うことでシリアルポートとして認識されます。そこにはUSBSerialDumpFormatで定義されたセンサデータがリアルタイムでPCに送られます。
- ちょっとすごいロガー をXBeeなどの無線でモニタすることもできます。テレメトリ用のデータがCON3の9番ピンに引き出されたMCUのUART1 TXから送信されています。送信されるデータはUSBSerialDumpFormatのフォーマットに準じ、その内容は間引きされたA, P, Mページ、およびNAV-SOLのみで構成されたGページです。UART1のスペックは 9600 bps(変更可, ファームウェア 1.0 参考)), 8-bit, no parity, 1 stop bitであり、信号のH/Lレベルは 3.3V / 0Vです。CON3の2番ピン、および4番ピンは、9番ピンに引き出されたUART1 TXと組み合わせて使うことができるGNDです。 CON3の3番ピンは無線のVCC(+3.3V)として使うことができます。
動作モードも参考にしてみてください。
![](https://raw.githubusercontent.com/fenrir-naru/ninja-scan-light/master/board/NinjaScanLight-layout.png)
基板をデザインしたソフトであるEagleCADのデータファイルとして、ver.1 回路図 ならびに レイアウト、およびver.2 回路図 ならびに レイアウトを公開しています。必要となる部品はBOMにまとめてあります。基板のデータはCreative Commons 3.0 BY-SAのライセンスで公開します。
ハード上で動くソフトをビルドするにはsdcc (テストはsdcc ver 3.3.0 #8604にパッチをあてたものを使っています、ビルドスクリプト参照)をインストールして、ダウンロードしたコードの"firmware/ver1"、または"firmware/ver2"(ver.2のとき)、ディレクトリで"make"してください。NinjaScanLight.hex
またはNinjaScanLight2.hex
というファイルが生成されます。これらのコードはChanさんのFatfs FATファイルシステムのコードを除いて、New BSD Licenseで公開します。公式のビルド済みバイナリはgithubのreleaseにあります。
ちょっとすごいロガー のハードをPCとUSB debug adapter (UDA)、またはその互換品を使って接続してください。最低限、以下の表にあげた接続をしてください。その後、Flash Programming Utilitiesを使って書き込んでください。UDAはUSBハブを介さず、直接PCと接続することをお勧めします。
信号名 | UDA側 | ちょっとすごいロガー 側 |
---|---|---|
C2D | 4番ピン | CON3 5番ピン |
C2CK | 7番ピン | CON3 6番ピン |
GND | 3番ピン | CON3 4番ピン |
ちょっとすごいロガー によって記録されたlog.dat
を解析するためのおまけツールを2つほどつけておきます。1つは log_CSV で、可読性のあるCSVテキストフォーマットにログデータを変換するものです。もう一つは log2ubx でGPS受信機からのデータに関連する部分のみを読み出し、UBXバイナリフォーマットに変換します。
ツールのソースコードはNew BSD Licenseで公開します。
(17/Jun/2015 更新: 別のツールとして INS_GPSがありますが、現在実験的に公開しています。上級者向けですが使い方はINS_GPS.cppの中に書いてあります。 INS_GPS のコードの一部は GPL ver.3 で公開しています。)
Windows用バイナリはリンク先のwindows.master.zipに置いておきます。使い方は以下の例参照。
# Aページ情報をlog.datから標準出力にCSV形式で出力します
> log_CSV.exe log.dat --page=A
# USBで接続されCOMxとして認識されたNinjaScan-Lightから、Aページ情報を標準出力にCSV形式で出力します
> log_CSV.exe COMx --in_sylphide=on --page=A
> log2ubx.exe log.dat # log.ubxファイルをlod.datから生成します。
# USBで接続されCOMxとして認識されたNinjaScan-Lightから、ubx情報をCOMyに出力します
> log2ubx.exe COMx --in_sylphide=on --out=COMy
最後の例では、ソフトウェアnull-modem(たとえばcom0com)と組み合わせて使用すると便利です。
RaspberryPi用のバイナリはリンク先のraspi.master.tar.gzです。使い方はWindows版とほぼ同じですが、以下の点が異なります。1) 拡張子は.exeではなく.out、2) COMxではなく/dev/ttyACM0、3) /dev/ttyACM0を引数に伴うときはsudoでの実行が必要です。