最初のプロトタイプの作成方法

こんにちはHabr! これは2回目の投稿で、一連の技術資料を公開しています。 CamIRaのアーキテクチャ、使用されているコンポーネントとテクノロジー、さらにこれに至った経緯について詳しく説明することにしました。 特に、最初のプロトタイプの実装中に対処しなければならなかった多くのものがすでに蓄積していたため、コミュニティと何かを共有する時が来ました。 この記事では、1つのIRイメージを使用した単純なプログラムから、個人アカウントを備えた本格的なクラウドシステムに移行した方法を説明します。

興味を持って、猫をお願いします!





プロトタイピング





アイデアの出現から、それが具体的なものになる前に、多くの時間が経過し、数ヶ月、時には数年かかることがあります! これらの年を少なくとも1〜2か月に短縮するために、プロトタイピングがあります。

今日、ラピッドプロトタイピングに利用できるものがたくさんあり、その多くはほとんどすべての人が利用できます。 これらは、Raspberry Pi、Arduino、Intel Galileoなど、あらゆる種類のシングルボードコンピューターと、プログラム可能なマイクロコントローラーを備えたアマチュアボードです。 ケースの高速製造のために、3D印刷が使用されます。

最初からこれらのツールを所有していたため、適切なIRセンサーを見つけてすべてをまとめるだけでした。



センサー購入





私たちに適したセンサーオプションは、デバイスで使用されているIR-Blue RHWorkshop Melexis MLX90620でした 。 これは16x4マトリックスを備えたかなり原始的なセンサーですが、すでにBluetoothでボードに接続されており、そのためのすべてのソースコードはGitHubで入手できます 。 プロトタイピングについては、それだけです。 特にメーカーからセンサーだけを注文するのははるかに困難だったため、既製のデバイスを注文することにしました。

Habrの読者の多くは、私たちの店で珍しいものを見つけるのがどれほど難しいか知っています。「ヒロック」のために注文する必要があり、数週間または数か月も待つ必要があります(こんにちは、ロシアのポスト)。 ネイティブポストからこれに対応する準備は万端でしたが、ロンドン空港の配達サービスで何かが起こるとは考えられませんでした。

その時までに、会社はかなり前に始まり、IR-Blueの残骸はウェブサイト( RHWorkshop )で販売されました。 1つのアセンブリと1つを自己アセンブリ用のコンポーネントセットとして注文しましたが、少し安くなり、そこからセンサーを使用したかったため、はんだ付けする必要さえありませんでした。

売り手によると、彼が使用する輸送は14日でモスクワに届けられます。 売り手はトラッカーを送ってくれました。その上で、荷物がアメリカから送られてからわずか数日後にロンドンに到着したことがわかりました! 素晴らしい、私たちは考えた:どのような速度。 その後、トラッカーの監視を停止し、リラックスしてすべてが正常であると判断しました。 14日が経過しました。荷物はありません。トラッカーを追跡します。荷物がまだロンドンにあることがわかります。 彼は発送を行ったので、彼らは売り手に手紙を書き、彼だけが運送会社を蹴ることができます。 彼との短い連絡の後、ロンドンの税関職員はこの種の小包の申告価格に同意しなかったことが判明しました。 そして最も重要なことは、彼らは何もしません、彼らはそれを送り返すだろう、それがすべてですが、彼らはただそれを渡さないで、家に保管してください! 売り手と状況を話し合ったので、私たちは2つの小包を撤回し、再梱包して送ることにしました。 返品プロセスの進行中に、配送料の増加は支払うオプションではないと考え、一連のコンポーネントの払い戻しを要求し、組み立て時にのみデバイスを送信しました。

2週間後、受け取りました。 デバイスは安定して動作しましたが、ケースとその材料の品質に違いはありませんでした。 ただし、kickstarterを備えたほとんどの製品と同様です。 しかし、彼のソフトウェアはめちゃくちゃバグが多く、さまざまな電話やさまざまなバージョンのBluetoothで気まぐれでした。 タンバリンとの長いダンスの後、私たちはネイティブのソフトウェアを通して写真を撮ることができました。







組立





このデバイスで多くのことをして、最初のCamIRaプロトタイプのコンポーネントのリストを投げました。

-Raspberry PiモデルB

-Arduino Uno

-FS90サーボドライブ2個 fs90

-9gサーボブラケットサーボブラケット

-RaspiCam raspicam

-IR-Blueデバイスの一部としての16x4 Melexis MLX90620センサー



デバイスの頭脳はRaspberry Piです。 デバイスの一般的な管理、サーバーからのコマンドの受信、RaspiCamからのビデオの受信、Arduinoとの対話は、Malinkaで実行されるJavaアプリケーションです。 Arduinoは、サーボモーターの制御と、IRセンサー(最初のバージョンではセンサーからのデータはBluetooth経由で直接取得された)からのデータの読み取りを担当します。 これらの目的のために、RS-232に基づいた独自のテキストベースの対話プロトコルRaspberry-Arduinoを開発する必要さえありました。

アセンブリでは、すべてが次のようになります。







分解されたIR-Blueデバイスの上部には、RaspiCamに3Dプリンターで印刷された広角レンズ用のアダプターが取り付けられています。 これらはすべてサーボモーター付きのブラケットに取り付けられ、ArduinoとRaspberry Piに接続されます。 ちなみに、カメラの本来の視野角(FOV)は50度であり、IRセンサーよりもさらに小さいため、レンズで自転車を作る必要がありました。 ブルジョアのウェブサイトにアップグレード手順があります: wiki.raspberrytorte.com/index.php?title=Camera_Module_Lens_Modifcation 。 小さな問題は、レンズマウントがe-bayで長時間待たなければならず、さらに、ホルダーの取り付け穴間の距離がRaspiCamボード上の距離に対応していないことです。 そのため、3Dモデルがすばやく描画および印刷されました。







RaspiCamの視野角を拡大したい人は誰でも、モデルアダプター: fileです 。 プリンターで印刷し、M12x0.5スレッドをカットし、ピンセットでカメラからネイティブレンズを慎重に外し、アダプターに取り付けて、そのようなレンズtytsまたはtyts2をそこにねじ込みます 。 私たちの実験は、Dawon BL2120 [DW2162]レンズが最大の角度と最高の品質を提供することを示しています。 FOV = 110度であり、4x5 m2の部屋を広範囲にカバーするには十分であり、さらにRaspiCamはフルHD画像を提供します。



ソフトウェアコンポーネント





鉄で終わった後、彼らは彼のためにソフトウェアを書き始めました。 当初、githubからのiPhoneのIR-bluプログラムのソースは研究のために取得されました。 しかし、よくあることですが、他の人のコードを理解することは自分で書くよりも難しいため、IR-blueコードは使用されませんでした。 センサーのデータシートを用意して、開発を開始しました(ちなみに、IRイメージの処理のために、最初の投稿で述べたHabr Postプロジェクトコードを取得したいと思いましたが、時間を無駄にしないために、ソースは実際には検査されませんでした)。 この「モンスター」の最初のプログラムは次のように見えました(これらは3本の指です)。







その後、IRセンサーとサーボモーターを較正するユーティリティプログラムの基礎を形成しました。 数週間の運用後、プログラムウィンドウは次のようになり始めました。







プログラムのスクリーンショットでは、沸騰したお湯の入ったマグカップの画像:中央のセンサーの左上、中央-センサーのいくつかの動きの合成画像(IR画像)。

PCから機能を徐々にデバッグおよびテストし、機能をサーバーに転送し始めました。 現在、RaspberryはHTTP / S(ストリーミングビデオ用)およびWebSockets / wss(コマンド送信用)を介してサーバーと連携します。 サーバー部分はいくつかのサービスで構成されています-ビデオサーバーとWebSocketサーバー(Javaでの独自開発、Tomcatのスピン)がAzureにデプロイされ(BizSparkのおかげ)、個人アカウントを持つWebサーバーもPlayフレームワークを使用するJavaアプリケーションです! 、Bootstrap + jQueryおよびネイティブJavaScriptのセット。GAEにデプロイされます。

その結果、一般的な相互作用アーキテクチャは次のようになります。







以下のスクリーンショットは、4x4 Omron D6T-44L-06( Omron )センサーを搭載したデバイスの結果を示していません。 アカウントのブラウザでは、熱画像がストリーミングビデオの上に重ねられます(オンライン)。







次の記事では、ソフトウェアの部分、特にRaspiCam、Raspberry Pi、およびストリーミングビデオの変換と処理のためのさまざまなライブラリを使用したスト​​リーミングビデオの実装について詳しく説明します。 次の投稿は、Raspberryから本格的なビデオ監視システムを作成したいすべての人に役立ちます。 誰かが私たちに慣れていない場合は、最初の投稿を読むことをお勧めします



All Articles