日常をセンサーで記録してみたブログ

IoTの技術を使って日常をデジタルデータにして気づかなかった面白そうなことを探してみるページ。

360度カメラ

リコーの360度カメラThetaを購入。

新製品は高額なのでSC2を購入した。

Theta(360度カメラ)の前に、180度?カメラは購入していた。

これらカメラで撮影した写真を見ると臨場感が得られる。

旅行先で撮影して後で見ると楽しい。

360度カメラと180度カメラ

撮影した画像はスマホのアプリを通して見れるとのことだが、使用しているスマホAndroidバージョンが古くてアプリをインストールできず。

ひとまず、Mac用のアプリをダウンロードして撮影した写真を見る。

最新機種では本体にディスプレイがついているので撮影後すぐに確認できるが、自分のようにスマホにアプリをインストールできないと厳しい。

 

せめてノートPCで撮影結果を確認したいところだが、MacWindowsアプリしかない。残念ながら自分のノートPCにはDebian(Linux)をインストールしている。

ネットでしらべるとThetaにはUSB APIがあり、SC2は公式にはサポート外だが、使えるという記述があった。

 

gphoto2をインストールして、USBケーブルで接続するとカメラを認識。

--capture-imageオプションでgphoto2を実行するとカウントダウンと撮影音が鳴る。

撮影後にファイル名が出力された。

 

撮影とダウンロードを実行するオプション

--capture-image-and-download を使うほうが良いが、

ノートPCを持ち運んで写真を撮るという使い方はしない?ような気がする。

USBオシロスコープ

USB接続するオシロスコープ(Hantek 6022BE)を購入

オシロスコープ

 

ネットをみるとWindows10用のドライバーはダウンロードとある。

ダウンロードしてオシロスコープをUSBでWindows10に接続。

USBのコネクターは2個ある。赤が電源用で黒が通信用。

 

接続するとデバイスマネージャーに不明なデバイスとして認識。

デバイスドライバーの更新をクリックして、参照先をドライバーの保存先にする。

ドライバーがインストールされると、6022BEとして認識される。

 

接続端子

 

そして、ソフトをインストールするためにCDを読み込むと

Windows10用のドライバーが含まれていた。

CDにあるSetupを実行。インストールが進行して完了。

オシロスコープ用ソフトを起動。

 

波形に歪がある

 

オシロスコープに1kHzの出力があり、それをinputにする。

初期は表示に歪があるので、マイナスドライバーで調整必要のよう。

 

調整して歪が無くなった

 

Raspberry Piにマイクアレイを取り付け

Raspberry Piにカメラやマイクを取り付けてスマートデバイス化する計画。

マイクを選定していたら6個のマイクがついているモジュールを発見。

(ReSpeaker 6-Mic Circular Array kit)

どちらの方向から音が来ているのかわかるというマイク。

いろいろな方向から来る声をひろえるので、このマイクモジュールに決定。

マイクアレイを取り付けたRaspberry Pi

このマイクアレイを認識させるのに時間がかかった。

githubからファイルをダウンロードして、install.shを実行してもエラー発生。

Googleで調べてみると、同じようなエラーが発生している人たちがいる。

どうもOSが新しいバージョンになると問題が発生しているよう。

古いOSを使って再度install.shを実行。

インストール手順にある。arecord -Lやaplay -Lを実行したら同じ出力が得られた。

推測だが、新しい製品はUSB接続でGPIOで接続する製品はサポートしなくなってる?

 

手順にはaudacityをインストールして録音していたので、同様に実行。

6個のマイクがついているので6チャンネルで録音されている。

同じようなスペクトルだが、位置によって強弱がある。(音の方向がわかる)

audacityで録音

スピーカーをつけてスマートスピーカーみたいにしてみたい。

Raspberry PiをUSBカメラにする

オンラインミーティングの時に複数のカメラで撮影した画面が必要になる。

複数のカメラ入力をまとめるのはOBSを使用する。

(複数のカメラ入力をOBSでまとめて仮想カメラとして出力)

 

USBカメラが2台あったので、まずそれらを使用。

もう1台必要になったので、RaspberryPi Zero WHを使うことにした。

 

Raspberry PiをUSBホストにしてUSBカメラとして使用できるOSがある。

(OS: showmewebcam)

このOSを入れてUSBケーブルをPCに接続すると、USBカメラとして認識される。

 

問題はRaspberryPi Zero WHはGPIO端子がついたものでケースに収まらない。

ケースが複数あったので、本体用とカメラ部用に分けた。

2個のケースを使用

2個のケースをスマホ固定治具にとりつけるための部品を3D印刷した。

3D印刷した固定治具

固定治具でRaspberryPiを固定

片方のケースにはカメラセンサーだけだが、

GPIO端子なしのRaspberryPiを改めて購入するほどでもないし、

そもそも最近はRaspberryPiの在庫が見つからない。
(感覚的に1年以上はRaspberryPiを買えていないような)

三脚にとりけた状態

USBカメラも安いのがあるので、RaspberryPiをUSBカメラ化するのは割高。

ただ、USBカメラ化したとはいえ、OSは動いているのでカメラ設定の変更ができる。

買ったほうが安いがRapberryPiで解決するのも面白い。

(Audio関連も面白そう)

太陽発電装置にセンサーを取り付ける

昨年に太陽光発電装置を組み立てた。

外気温などを記録するためのRaspberry Pi Zero WH用の電源にしていた。

ただ、天気の良い日でないと24時間稼働させる電力量を発電できなかった。

より省電力な装置にするためにESP-WROOM-02を使用することにした。

ESP8266を太陽電池に接続

ESP-WROOM-02wifi接続可能で、クライアントでなくサーバーとしても使える。

ただ、動作確認中にwifiに接続できない状況が発生。電源供給に問題があった。

ESP-WROOM-02wifi起動中に電流を多く使用するため電源が不足すると不安定。

シリアル通信するためPCのUSBに接続していたが電流が足りなかった?

電源アダプターのついたUSBハブに接続して動作確認することができた。

動作確認後、太陽電池の出力に取り付けて屋外のESP-WROOM-02と通信できた。

スリープモード設定で省電力化して、発電量の少ない環境でも常時稼働できそう。

ロボットアームにつけたToFセンサーで周囲をスキャン

ロボットアームの先端にToFセンサーを取り付けた。

ToFセンサーはVL53L1Xを購入。

Arduino UNOで測定値を読み込み。

ロボットアームにToFセンサーを取り付け

 

近距離の測定用にVL6180Xも購入。

測定対象に合わせて使い分ける計画。

別角度から撮影

ロボットアームを動かして周辺の距離を測定する装置。

かなり細かく測定しないと周辺環境の輪郭を得るのは難しいと考える。

ひとまず、5分程度の測定時間で周辺スキャン。

周辺スキャンの結果

近いところや遠いところを検出しているが、輪郭がわかるほどではない。

今後、スキャンのステップ幅を小さくしてスキャンする角度も広くしてみる考え。

企画してから長い時間が経過。連休のようにあるていど時間が必要。

NodeREDでサーボ操作

Raspberry Pi にNodeREDをインストールしてシリアルモジュールを追加。

これまでサーボをArduino-IDEでシリアル通信して操作していた。

Webページからサーボを動かしたく、NodeREDを使用することにした。

サーボ制御フロー

サーボ・ArduinoUno・Raspberry Piの接続

3個のサーボでロボットアームを構成している。

ロボットアームの先端にToFセンサーをとりつけて距離測定する。

ロボットアームで周囲をスキャンすることで、立体スキャナーのようにしてみたい。