工場のラインに配置されるIoTと通信し、製造実績データの収集と検索・表示、IoTの死活監視と動作ログ収集、またIoTのファームウェアの更新機能まで実装した、IoT管理アプリケーションをWebアプリとして作成しました。
このシステムは端末側ファームウェアと、管理アプリケーションの両方を弊社で開発しました。
まず、大手自動車メーカーの工場で利用する製造実績データ収集システムの端末機の開発を行いました。
カメラを持ったIoTを利用し、部品ごとにつけられる管理用QRコードを読み取りWiFiでサーバに送信します。
端末の機能は駆動制御、カメラ画像の取得とQRコードのデコード、サーバとの通信および自身のプログラムの
ネットワークからの更新機能を持っています。
端末のOSはLinuxでプログラムの大部分はPythonで実装されているため、Cでの開発に比べてコスト・期間
ともに削減できました。また、速度についても通信自体は数十msほど、駆動部分を入れても十分な速度要件を満たしています。
端末自体は自動車メーカーのサーバと通信するのですが、小規模工場向けにサーバの機能もほしいということで、
IoTと通信する通信部と受信データの管理やIoT自体の管理機能を持つWebアプリを組み合わせたサーバアプリケーションを開発しました。
通信部は応答に 数十ms 以内という要件を満たすため、DBへの書き込みを遅延させるなど工夫が組み込まれています。
Webアプリ部はPHPで、JavaScriptと組み合わせて端末機の読み取りデータがリアルタイムに更新される仕組みになっています。
サーバ側はDockerコンポーネントとして開発したのでLinuxだけでなくdockerを導入したWindowsで動作させることも可能です。