konchangakita

KPSを一番楽しんでいたブログ 会社の看板を背負いません 転載はご自由にどうぞ

【Xi IoTで映えるデモがしたい 第23回】LEGOとカメラの調整

ここまで、順調に新しいスキルを身に着けつつ LEGOスマートファクトリーデモを作ってきたわけで、あとは管理画面にスイッチON/OFFを実装をすれば、完成というところなのですが、、、、、いくつかハマるポイントがあったので、今日はそのご紹介

LEGOをスマートファクトリー化する道のり

  1. 画像取得
  2. MQTT送信(Publish)
  3. Xi IoT Data Pipelineで MQTT受信(Subscribe)
  4. Xi IoT Data Pipelineで画像処理して送信(Publish)
  5. 管理画面を作って確認(Subscribe/Publish)
  6. RasPi+BrickPiで結果受信(Subscribe)してモーター制御
  7. 動かして分かった実機デモを作るときの落とし穴 NEW
  8. スイッチ ON/OFF制御を組み込んで完了

ラズパイカメラの赤いの消す

まずはこの画像を

f:id:konchangakita:20191223185640p:plain
赤いしボケてる

ラズパイカメラは、初期設定のままだと赤いランプがついてて色判定の邪魔なんです
config.txtへ、「disable_camera_led=1」を追記してやりましょう

$ sudo vi /boot/config.txt
〜追記〜
disable_camera_led=1
$ sudo reboot

また、ラズパイカメラは初期では無限遠にピントが合っているそうです
至近距離の画像の色を判定したいので、反時計に回してピントを近距離に合わせます

f:id:konchangakita:20191223195302p:plain:w300
ラズパイカメラのピント調整
結構回しましたが、壊れやすいので注意してねっ!
専用の器具もあったりするらしいですね

マガジンシステム

トレイを動かしてボールを運んで行くのですが、いざ実験をスタートしボールを上部のホッパーから複数ボールを投入してみると


ジャムった\(^o^)/

というわけで、ボール一個づついれる工夫を試行錯誤してみました


余りパーツでボールを一個づつ投入するマガジンシステムを自作してみた

合体!

f:id:konchangakita:20191224203031p:plain
なんだかごっつくなりました

ネットワーク構成

Xi IoTポータルへ Service Domain(Xi Edge OS)を登録する際に、シリアルナンバーとIPアドレスを入力しました
ということは、DHCP環境でIPがコロコロ変わっちゃうと、Xi IoTポータルから認識できなくなってしまいます
いや、変更のやり方はきっとあるのかもしれないのだけど、いろんな場所の展示会に行ってその場所ごとに設定を帰るのは手間なので、Wifiルータを導入して固定ローカルIPを振ってやりました

f:id:konchangakita:20191223202833p:plain
ネットワーク構成

こんな感じで、プログラムを書いてただけでは気づかない実践し始めたら気づいた点をまとめてみました


ちょっとここでLEGOを作る前の知識レベルのおさらい

  • ラズパイってなに?
  • Pythonは30分だけトレーニング受けたことあるだけ
  • Pub/Sub ググったことはある
  • MQTT….?(聞いたこともない)
  • コンテナ知識ゼロ、dockerやらkubernetes(つづりわからない)の名前を聞いたことがあるだけ

1ヶ月そこそこでいつの間にか、コンテナ以外はちょっとはさわれるようになってきました
やれば出来るもんやね
Xi IoTは標準で kubernetesも動いているので、勉強したい欲はある