マイコン(Arduino)とBLIP2をSPI接続してみる

マイコン(Arduino)とBLIP2をSPI接続するために、こんなことやってみました。

マイコン(Arduino)とBLIP2をSPI接続して、BLIP2からのOccupancy情報(駐車場空き情報)を取得してマイコンのUARTに出力します。SPI接続するための準備と、ファームウェアの更新方法、マイコンのSPIマスタ側アプリ作成方法を解説します。

BLIP2だけでも状態は分かると言えばわかりますが、よりIoTらしくしていくために、今回はマイコンを使ってBLIP2と通信してみました。BLIP2には、SPIのI/Fが設けられているので、マイコンとはSPI接続するのが簡単です。そこで、今回は特別にこんなケーブルを作ってもらいました。

図

このケーブルをBLIP2のWSNというコネクタに接続して、Arduino UNOのSPIに接続します。

図WSNコネクタ拡大図

図Arduino SPI接続

コマンドシーケンスは、../VideoOccupancySensor-BF-Rel3.3.0/docs内にあるSPI_Communication_Protocol.pdfに記載されていますので、参考にしてみてください。Arduino UNOとの接続は、以下図の通りです。

図SPIモジュールを含んだビルド

デフォルトのファームウェアはSPI通信が含まれていませんので、SPIで通信するためにはビルドを行う必要があります。動画でも解説していますが、BLIP2のサイトから以下のソフトウェアをダウンロードする必要があります。尚、ダウンロードするには、ログインが必要です。

これらをダウンロードして使用します。パスが通っていなかったり、エラーが出た場合は、都度、パスを正しく修正してください。リンクエラーも出るかもしれないので、プロジェクトの設定から直接指定してみてください。めんどくさいと思う方のために、SPIを入れたバイナリを、動画の上にある「SoftwareDownload」内に用意しておきました。GUIアプリの「firmware」から更新して使ってみてください。

BLIP2のデバッグで重要なのは、デバッガ設定の「Custom Board File」でADZS_BF707_BLIP2_Board-Rel1.0.0/Blackfin/ExamplesフォルダにあるADZS-BF707-BLIP2-proc.xmlファイルを指定することです。忘れずに設定してください。忘れると、ADIVisionSensorContoroller1.2のGUIアプリケーションとの通信ができません。

Arduinoとのコマンド通信は、動画の上にある「SoftwareDownload」内にファイルを含めています。それを元にしてもらえれば、Arduino以外の環境(例えば、mbedなど)でも動かせると思いますので、チャレンジしてみてください。

ざっくりまとめると...

  1. SPI通信できるようにビルドした。
  2. BLIP2をデバッグする方法を解説した。
  3. Arduino UNOのアプリを解説した。
  4. マイコンで駐車場「空(No Occupancy)・満(Occupancy)」の情報を取得した。
  5. 最後の締めのコメントで噛んだ。