こちらの記事について、内容・翻訳・視点・長さなど、皆様のご意見をお送りください。今後の記事製作の参考にしたいと思います。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
こちらの記事の感想をお聞かせください。
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基備えている。
ハードウェア
BB-400のケースを取り外すと、Raspberry Pi Compute Moduleを冷却するカスタムヒートシンクが目に入る。Raspberry PiはCPUが臨海温度に届かないように維持するために、コア周波数を自動的に下げる。そのためフル処理能力を維持するのに欠かせない。
UPSは2つの大型「スーパーコンデンサ」として搭載されており、適切なシャットダウンを実行するのに十分な時間、BB-400に電力を供給する。
クイックスタートガイドには、起動するのに必要な情報がすべて掲載されている。
私は、BB-400をDINレールに取付け、ベンチ電源に接続した。データシートには、このデスクトップ電源は5~30Vの給電に対応と記載されており、標準的な12V又は24Vの一般的な工場環境での動作が可能とのこと。オプションとして提供されている電源の仕様を確認したところ、私のベンチ電源の環境に適した12Vだった。
Webインターフェイス
BB-400に接続する最も簡単な方法は、「BB-400XXXX(XXXXはMACアドレスの最後の4文字)」で始まるSSIDの WiFiホットスポットに接続することだ。私はWiFiホットスポットを接続し、次に使用しているWebブラウザで「http://bb400-xxxx:9090」にアクセスし(この「x」には前述の4文字が入ります)、ユーザー名「bb」とパスワード(ここでもMACアドレスの4文字)でログインした。
この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の使用から始めた。まず、PostmanをダウンロードしてWindowsパソコンにインストールする。Brainboxes Webサイトのオンラインガイドは分かりやすく、簡単にGETリクエストを送信して、WebインターフェイスのIOページでI/Oステータスを確認できた。
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に表示される。
第一印象
BB-400は汎用性の高い産業用コントローラなので、今後のプロジェクトのいくつかで使用したいと考えている。8つのデジタルI/O接続を備えているため、アドオンユニットを一切追加せずに、箱から出してすぐに使うことができるが、さらに入出力を追加する場合は、さまざまなオプションを利用できる。