【開催レポート】「製造現場のためのIoT導入実践塾」(2020/9/16, 9/24, 10/23開催)
「製造現場のためのIoT導入実践塾」を2020年9月16日(水)、9月24日(木)、10月23日(金)の3日間に渡り神戸商工会議所会館3階 第1会議室で開催し、13名の方にご参加いただきました。NIROでは兵庫県の補助により兵庫県内企業のIT人材の育成を行う「社内IT人材養成講座IoT編」を2019年度から開催しておりますが、その一環でのセミナーの開催です。
今回は講習開催の希望が多かったラズベリーパイ(Raspberry Pi、以下ラズパイと略す)を使いIoTシステムを自作する講習を開催しました。アプリケーションはNode-REDというプログラミングレスの開発ツールを使用して作ります。
ラズベリーパイ(ラズパイ)とNode-RED
ラズパイは英国のラズベリーパイ財団が教育用に開発したボードコンピュータで、現在では世界中に利用が広がっています。安価でセンサー類が簡単に接続できるので、IoT分野でも幅広く使われています。
ラズパイでのアプリケーション開発には、Pythonなど様々なプログラミング言語を使うことができますが、今回はNode-REDというツールを使用してIoTシステムを構築します。Node-REDではノードと呼ばれる機能を表すアイコンを線で結んでシステムを構築します。プログラミングの知識やスキル無しにアプリを開発できるのが特徴です。
講習の概要
今回は3日間の講習でこのラズパイとNode-REDによるIoTシステム構築と実装を実施します。初日はラズパイを組み立て、初期設定を行い、ノートPCをから操作できるようにします。また、Node-REDでのアプリ作成の基礎を学びます。2日目には、設備の稼働を示すランプから光センサーで情報を集め、マグネットセンサーで生産数量をカウントし、その状態を画面にグラフィカルに表示するとともにCSVデータとして保存するIoTシステムを構築します。また、ラズパイに保管したCSVデータをノートPCに呼び出し、ガントチャートに表示する方法を学びます。
2日目の後は、受講者それぞれが自社の課題にあわせてセンサーを準備し、IoTデータ採取チャレンジいただき、その結果を3日目に発表するのが全カリキュラムとなります。
今回の講習の開催にあたっては、NIROのアドバイザーである永山貴久氏に教育プログラムを開発していただいての開催となりました。
開催初日(9/16)
ラズパイの簡単な概要説明のあと、早速ラズパイの組み立てから講習はスタートします。ラズパイには様々なシリーズがあります。現在広く流通している代表機種を下図に示します。
①ラズパイ組み立て・初期設定
まず、ラズパイを箱から取り出し、ヒートシンク(放熱器)を兼ねたケースと結合して組み立てます。組み立てが終了したら、予めシステムをインストールしたマイクロSDカードを挿入し、ディスプレイ、キーボード、マウス、電源を接続し電源をONします。すると15秒ほどでRaspberriy Pi OSと呼ばれるラズパイ用のOSが立ち上がります。Raspberry Pi OSはLinuxをベースにしたOSで、WindowsのようなGUIを提供しているので、Windows PCとほぼ同じ感覚で使うことができます。
ラズパイが立ち上がったら、今後使っていくための初期設定を行います。(詳細は割愛)。設定の一つとして、VCNビュワーというソフトの設定・インストールを行いますが、このVCNビュワーを使用すると、Windowsのノートパソコンからラズパイの操作ができるので、ディスプレイやキーボード・マウスが不要で非常に便利です。
②ラズパイ操作実習
受講者に持参いただいたノートPCからラズパイが操作できるようになったら、まず操作に慣れる目的で、プリインストールされた以下のようなソフトを立ち上げて、使用してみます。
表示は若干違いますが、Windowsに慣れた方ならば、およそカンで操作しても大体使えます。
③Node-REDの使い方習得
この講習ではIoTのデータ収集のアプリケーション開発にNode―REDと呼ぶグラフィカルなツールを使用します。ノードと呼ぶ機能ブロックをドラッグアンドドロップで画面上に配置して、線で結合することでアプリ(これをフローと呼びます)を作ることができます。右の写真はNode-REDの開発ツールの画面です。左端に並んだノードを画面中央部に配置してフローを作ります。
以下はNode-REDのフローの例です。
長方形のアイコンがノードでそれぞれ機能があります。ノードの間を線で結ぶと、ノードの間を情報(メッセージと呼ぶ)が流れて、全体としてプログラムのような動作を行います。この例は、一定時間毎に時刻と計測データをCSV形式のファイルとして保存できるアプリになります。複雑な機能を目指すと奥は深いですが、IoTのデータ採取・グラフ表示程度の機能であれば、数時間の学習で作れるようになる「カンタン」ツールです。
実際に講師の永山さんの指導を受けた受講生の皆さんが、2時間程で、模擬的に発生させたデータを取得して、データ表示用のダッシュボードに表示するプログラムを作ることができました。
④センサーの接続
ここまでで動作するフローを作成しましたが、信号は模擬的に作ったものなのでまだIoTとは言えません。
そこで実際のセンサーをラズパイに接続します。センサーを接続するためにラズパイにはGPIO(General Purpose Input/Output)と呼ばれる40本のピンがあります。このようなセンサー用のピンは通常のWindows PCには無いもので、ここにセンサーからの配線を接続することで、実際のデータを採取することができます。ここがパソコンとラズパイの大きな違いになります。
センサーとしては、照度センサー(明るさを検出)、押し釦スイッチ2個、リードスイッチ(磁場を検出)を使用し、試験的な回路をブレッドボード上に作ります。ブレッドボードは、電線を差すだけで、回路が作れるので試験的にIoTデバイスを作成する段階に適しています。
右の図は照度センサーとその周辺回路をブレッドボード上に配置した状態です。次にこの回路からデータを読み込むノードを作成します。これを模擬的なデータを作っていたノードの代わりに配置し、データ採取ができることを確認したら、初日の講習は終了です。 受講者の皆様には、今回の講習を活かして、行いたいデータ採取の内容を考えてきてもらうという宿題がでました。
2日目(9/24)
2日目の講習ではまず、受講者の皆様からデータ採取にトライしたいと考える対象を発表してもらいました。以下のようなテーマが発表されました。
①センサーの接続(動き)
初日の続きで、残る2種類のセンサーもブレッドボード上に取り付けたあと、配線を行い、全体の機能を確認しました。
②はんだ付けでIoT機器を完成
これまでの操作でデータ採取ができるIoT機器は完成しましたが、ブレッドボード上で作った回路は、作りやすい反面、配線が外れやすく、このまま工場のデータ採取に使うのは無理です。このため、作った回路をハンダ付けでユニバーサル基板上に堅固な形で完成させます。
完成すると以下のようになります。
ハードが完成すると、Node-REDのフローとNode-REDの中で使用しているPythonのプログラム調整を行い、アプリも完成となります。
さらに、エクセルファイル上でガントチャートを作成するためのマクロが永山講師から提供され、使用方法の説明がありました。
③IoTツールのテスト運用(宿題)
参加者の皆様には、制作したIoTツールは持帰り、自社工場の製造ライン等に取付けてデータ採取を行っていただきます。3日目の講習では、データ採取の結果やデータ採取の際に発生した問題点などを報告いただくことになります。
運用期間中、問題が発生した受講者には、面談やWeb会議などの方法で問題点を聴取し、問題解決のサポートを行いました。特にWeb会議は有効で、画面共有の機能を使って問題が発生したフローやファイルを見せてもらうことで、問題箇所の特定にいたったケースが何度かありました。
3日目(10/23)
発表の様子です
3日目は自社工場でのラズパイによるデータ収集のテスト運用結果およびその過程で経験した事象をそれぞれ10分程度のプレゼンテーションにまとめて発表いただき、参加者間で共有していただきました。同時に、永山講師からデータ収集方法について、アドバイスを行いました。
発表いただいた内容は、初日と2日目で制作したIoTセンサーを使ったものもあれば、各社の課題に応じて、新たに温度センサーや距離センサーを準備してラズパイに接続した取り組みなど様々でしたが、意欲的に取り組んでいただいたことがよく分る発表でした。発表の中の複数の方から、記録したCSVファイルでのデータの並びで乱れを経験されていました。ノイズなど周辺環境が影響した模様ですが、そのような場合でも並びが乱れないフローが望ましく、対策については後日講師の方で検討して参加者の皆様に共有いただきました。
発表の後は、知っておいてもらった方が良い、Node-Redのノードなどを紹介して3日間に渡る講習は終了となりました。