United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

ラズパイ搭載の産業コントローラ「BB-400 NeuronEdge」入門

brainbox2_13ed80acd1d41507f0bfa69fa7d8a14653d282ac.jpg

Brainboxes製の BB-400のセットアップとPostmanを使用したI/Oの制御について。

Brainboxes製のBB-400 (181-7467) は、Raspberry Pi Compute Module 3+ を搭載した産業用コントローラだ。他社製のPLCやシーケンサと同様、DINレール取に付けて使用することができる。機能は以下の通りだ。

  • デジタルI/Oライン x 8
  • イーサネットポート x 2 – 1つはローカルLAN用(オートメーションなど)、1つはアップリンク用
  • Wi-Fi及びBluetooth
  • 内蔵UPS

デジタルI/Oラインは、Arduino対応マイクロコントローラ経由で提供される。つまりI/O制御のプログラムをArduino IDE上から行える。ラダープログラムを覚える必要がない。

TCP/IPを介してBB-400に接続するため、Webブラウザを実行できるあらゆるデバイスから監視・制御することができる。これは、Brainboxes I/Oペリフェラルを標準のイーサネットケーブルで簡単に接続できることも意味する。RS-232/422/485として設定することが可能で、ASCIIコマンドでも使用できるシリアルポートも1基備えている。

ハードウェア

heat-sink_0fa3ead6a88ebf6f7747c474f1306e51d8bfcd7b.jpg
BB-400のケースを取り外すと、Raspberry Pi Compute Moduleを冷却するカスタムヒートシンクが目に入る。Raspberry PiはCPUが臨海温度に届かないように維持するために、コア周波数を自動的に下げる。そのためフル処理能力を維持するのに欠かせない。

UPS_2034771132499ca4138e873e9a03d621c862060d.jpg

UPSは2つの大型「スーパーコンデンサ」として搭載されており、適切なシャットダウンを実行するのに十分な時間、BB-400に電力を供給する。

クイックスタートガイドには、起動するのに必要な情報がすべて掲載されている。

私は、BB-400をDINレールに取付け、ベンチ電源に接続した。データシートには、このデスクトップ電源は5~30Vの給電に対応と記載されており、標準的な12V又は24Vの一般的な工場環境での動作が可能とのこと。オプションとして提供されている電源の仕様を確認したところ、私のベンチ電源の環境に適した12Vだった。

Webインターフェイス

BB-log-in_2aa7a8702e76583c1e716d62b25f7c976587be75.png

BB-400に接続する最も簡単な方法は、「BB-400XXXX(XXXXはMACアドレスの最後の4文字)」で始まるSSIDの WiFiホットスポットに接続することだ。私はWiFiホットスポットを接続し、次に使用しているWebブラウザで「http://bb400-xxxx:9090」にアクセスし(この「x」には前述の4文字が入ります)、ユーザー名「bb」とパスワード(ここでもMACアドレスの4文字)でログインした。

web-interface-status_df66dceb7ad0b94d2543baabf21b58cafd33fa48.jpg

このWebインターフェイスは非常にわかりやすい。

  • グラフィカルに表現されたBB-400とステータスLEDが表示されたステータスページ
  • IOステータスの監視やIOプロトコルの設定
  • ワイヤレス接続の編集・監視
  • シリアルポートの設定を行う各ページへのリンクが表示されたサイドバー、
  • BB-400のコンピュートモジュール上のNode-Redインストールへのリンクを備えたアプリセクション

などで構成されている。

BB-400との通信

BB-400は、I/Oステータスを取得し、設定するのに使用できるRESTサーバーの導入を行う。Brainboxes Webサイトにある説明を引用すると、REST (Representational State Transfer)とは「Webアプリケーションプログラミングインターフェイス(API)を構築する手法を定義するソフトウェアアーキテクチャのスタイルのひとつ」だ。

RESTは、クライアントとサーバー間でデータを送受信するシンプルな方法だ。ペイロードは、HTMLやXMLなどさまざまな形式に対応している。BB-400では、シンプルで人気が高まっているJSON形式をたまたま使用している。

BB-400のRESTサーバーが実行するコマンドはGET及びPOSTです。GETリクエストはI/Oラインの入出力ステータスを取得するのに使用でき、POSTリクエストは出力値を修正するのに使用できる。

このことは、実際のところ、さまざまな方法でREST APIと通信できることを意味します。以下はその例です。

  • PostmanなどのWebアプリケーション
  • Windows Powershell
  • cURLコマンド
  • Python

Brainboxes WebサイトのFAQセクションで、それぞれの使い方に関する分かりやすいガイドを参照できる。

Postman開発環境

postman_6a4eb552546f6518378c124e2df0f687aed70cc4.jpg
私はPostmanの使用から始めた。まず、PostmanをダウンロードしてWindowsパソコンにインストールする。Brainboxes Webサイトのオンラインガイドは分かりやすく、簡単にGETリクエストを送信して、WebインターフェイスのIOページでI/Oステータスを確認できた。

postman_SEND2_34ece9525250a7570189d3665d980623eb71431f.png

POSTリクエストを使って、BB-400 IOラインの出力値を変更することもできた。

次に、Postmanアプリケーションを設定してPOSTコマンドを送信するために、GETからPOSTへとリクエストを変更してから、[Body (ボディー)]の下で[raw (行)]オプションを選択し、入力タイプをJSON (application/json)に変更した。Postウィンドウで、BB-400のIPアドレスを入力し、続けて「9000/io/outputs/0」を入力すると、I/O 0にポストする。

POSTリクエストは[Body (ボディー)]セクションで入力する。[Send (送信)]ボタンをクリックするとリクエストが送信される。

リクエストの送信が完了すると、BB-400の前面にあるLEDステートにI/O出力値の変更が反映されたことが確認できる。また、BB-400のWebインターフェイスのステータスページやIOページからもI/O出力値の変更を確認できる。さらに、POSTリクエストが成功すると、「200 OK」のステータスがPostmanに表示される。

第一印象

Brainboxes_6e7da6653a3dcf6eb29842183424367533964da8.jpg

BB-400は汎用性の高い産業用コントローラなので、今後のプロジェクトのいくつかで使用したいと考えている。8つのデジタルI/O接続を備えているため、アドオンユニットを一切追加せずに、箱から出してすぐに使うことができるが、さらに入出力を追加する場合は、さまざまなオプションを利用できる。

I have a background in the arts, environmental conservation and IT support. In my spare time I do a bit of DJing and I like making things.
DesignSpark Electrical Logolinkedin