その3-3.USBを経由してネット接続する

USB経由でのネット接続(windows10編)

前回はUSB経由でのSSH接続を行い、いよいよ開発に着手できる環境が整いました。今回はさらにUSB経由でのネット接続を行います。
毎度の事ながらぐぐってそれっぽい記事を見つけて実践。

 

[メモ] Raspberry Pi ZeroをUSBケーブル一本でインターネット接続!(キーボード・マウス・モニター必要なし) - Qiita

なお少しややこしいですが、6にある「インターネットにつながってるネットワークアダプタのプロパティ~」はコンピューターの管理画面でなく、ネットワークアダプタの設定画面です。また共有設定をするのは「Windows 10がネット接続してるアダプタ」ですので注意してください。(多分わかる人は間違えないと思うのですが、ネットワーク系知識ほぼゼロな私は見事にハマりました)
設定を終えたらwgetコマンドでネットからファイルダウンロードできることを確認。

f:id:nekhbet:20200119001832p:plain

無事ダウンロードできました。

USB経由でネット接続(iPad編)

こちらはもっと簡単なので今回は実施しません。考え方は至極簡単で、ようはiPadテザリング機能を使います。

Raspberry Pi 2/3/Zero でiPhoneのUSBテザリングを使う - Qiita

さて、これで環境構築が完了しましたので、明日からは実際に機能を作り込んでいこうと思います。

追記

テザリングすればいいんでしょ? 楽勝楽勝☆って思って飛ばしましたが、なかなかややこしい設定が必要なようでした…ゴメンナサイ。
iPadからのテザリング方法については後日改めてトライしてみることにします。
とりあえず参考になりそうなサイトを。

PIとiPhoneでネットワーク構築 · GitBook

前の記事

その3-2.USB接続でのSSH設定

 

SSHで繋げたい

前回はSDカードにOSを入れた段階で、ディスプレイとか繋げないと続きやれなくない? となって止まってましたが、考えてみればLinuxは大抵何らかのファイルへ設定が出力されているはず。となればSDカードに書き込まれたインストーラーの中身を編集すればいいのでは?
と考えて調べてみたら案の定出てきました。以下のサイトさんを参考にインストーラーの設定を書き換えます。

Raspberry Pi 4とMacをUSB type Cケーブルで接続してMacのインターネット接続を共有する手順 #RaspberryPi | Developers.IO

なお今回はUSB経由でのSSH接続をメインに行います。Raspberry Pi 4、及びRaspberry Pi ZeroはOTG対応とのことなのでいけそう。(Raspberry Pi 3まではUSB周りの仕様の問題でOTG未対応とかなんとか)

Tera Termを準備

SSH接続でコマンドラインを使うなら、Tera Termは必須ツールですね。(組み込み初心者の思い込み?)
さくさくっとインストールしていきます。

f:id:nekhbet:20200118113344p:plain

Tera Termで接続

さあ早速SSH接続! と試したものの、上手く繋がらない?
どうやらWindowsで接続するには一工夫必要な様子。こちらのサイトさんを参考に。

Raspberry Pi ZeroをUSBケーブル1本で遊べるようにする - Qiita

ちなみにドライバをダウンロードするサイトURLが古い様子でしたのでググりました。

Pi Zero OTG Ethernet - DOMOTRONIC

こちらにドライバダウンロード用のURLがあるので、そこから取得してドライバ更新を実行。 

f:id:nekhbet:20200118120609p:plain

さらに抜き差しして正常に認識されることを確認して… 

f:id:nekhbet:20200118120612p:plain

Tera Termを立ち上げてraspberrypi.localへSSH接続を実施すると…

f:id:nekhbet:20200118121259p:plain

繋がりました!

f:id:nekhbet:20200118121321p:plain

これでSSHからコマンド飛ばしたり、WinSCPを用いてファイルやり取りができますね。ヒャッホウ!

やはりネット環境が欲しい

さて、SSHは繋がりましたがLinux系OSはネット上でライブラリ管理しているので、今後の開発にはどうしてもネット環境が必要です。(スタンドアロン環境でもできなくないっぽいですが、依存ライブラリ等の関係ですこぶる面倒な様子…)
というわけで次はUSB経由でのネット接続に挑戦します。

前の記事

その3-1.OSのインストール

到着

本日ようやく届きました。
想像以上の小ささ…一昔前では考えられませんね。
早速遊んでみようと思います。

OSインストール

まずはこちらの記事を元に、SDカードへOSの書き込みを行います。
通常であればDesktopでしょうけど、今回はWi-fi or USB経由でのSSH接続ですべて行うつもりなのでRaspbian Liteをインストール。

SSHの設定…

…をする予定でしたが、まずは単体で画面を開く方法がないとどうしようもありませんね…(microHDMIの準備を忘れてました)

 

明日はSSH設定を行い、WindowsPCやiPadから接続できるように設定していきます。

次の記事
前の記事


その2.用意するもの

何が必要か?

まずは必要な機材一式を要件定義から洗い出してみます。

土台

Raspberry Pi 4 Model B 2G

 これがないと始まりませんね。今回は動画を扱うので2Gタイプを選択。

Raspberry Pi カメラモジュール V2

 これも重要。ないと撮影自体できない。

・ブレッドボード、ジャンパーピン、はんだこて等

 今回はGPIOピンに接続して色々試してみるつもりなので電子工作の定番らしいこれらを準備。はんだは以前別の目的で購入したものがあるので流用。

SSH term pro

 これは必須ではありませんが、今回は自室での作業では完結しないと思うので手持ちのiPadから操作できるように準備します。

要件1 カメラ画素数&録音

カメラ画素数は標準カメラで十分すぎる性能があるのでよし。
ただしドラレコ用カメラとしては画角が心配なので以下のカメラユニットを使用しようと思います。

Raspberry Pi カメラモジュール V2対応 カメラモジュール

録音用マイクはUSBでも良いですが、後述の理由でGPIOに接続することにします。

ADMP441 DIPモジュール

要件2 物理シャットダウンボタン

タクトスイッチとスイッチカバーを準備。ボタンは押しやすいほうが良いと思い大きめのものを選択。

タクトスイッチ 12mm

タクトスイッチキャップ(キートップ)

要件3 CPU温度に応じた冷却ファン制御

軽く調べたレベルの素人理解ですが、PWMとトランジスタを用いることで実現ができる様子。冷却ファンはヒートシンクとセットのものを選びました。
トランジスタの選び方が正直わからない…これでいいかちょっと心配)

Raspberry Pi冷却ファン30x30x7mm

トランジスタ 2SC1815GR 60V150mA

要件4 動作状態をLEDで示す

単色か悩みましたが、単色でできるのは消灯、点灯、点滅(速・遅)の4種ぐらいだと思うので、今回はフルカラーにしました。抵抗などの数を減らす&PWM制御ラクしたいのでマイコン入りを選択。

マイコン内蔵RGB 5mmLED PL9823-F5

要件5 運転中は自動で録画
要件6 衝撃を検知してイベント録画

運転中、停止中などの状態を認識する為に加速度センサーを使います。

GY-521 MPU-6050 3軸ジャイロ+3軸加速度センサ

要件7 スイッチでもイベント録画を開始

要件2のボタンで制御します。

要件8 前後2カメラ

Webカメラや車用リアカメラ等も考えましたが、要件を満たすものが見つからなかったので、こちらはRaspberry Pi Zeroを用いたUSBカメラガジェットを作成することにします。

Pi Zero カメラ Kit

要件9 停車後数分経過したら録画中止、衝撃検知のみ

要件5,6の加速度センサーを用いてプログラムを組むだけ。

要件10 モニタレスbluetoothwifi経由でのカメラストリーミング配信
要件11 同様の録画映像配信

設定画面も必要なので配信用サイトをapatch+phpで構築します。ナマのphpは扱うのが少し面倒なので軽量なphpフレームワークを使う予定。
動画配信方法は各種技術情報をかき集めてがんばる。

要件12 省電力化

使わないUSBポートやLANポート等を無効化、wifiチップも電源オフにしてbluetoothですべて解決すればそこそこ省電力化ができると思います。
OSはRaspbian Liteにして最低限に、コードも可能な限りLuaで実装して高速軽量化を図る予定です。
一応テスターも用意したので、最後に消費電力計測からの省電力化の調整も行います。

USB電流電圧テスター

 

ここまではまだたぬきの皮算用ですね。これを書いている段階ではまだ各部品(Raspberry Pi 4本体含め)が届いていませんが、次は各処理の流れなど。

次の記事
前の記事

その1.ドラレコを作りたい(要件定義)

前置き

このブログは10年ぐらいオープン・WEB系をメインにしてきたSEが、興味本位からラズパイ(Raspberry Pi)に触れてみるブログです。
電子回路などの知識はほぼ皆無、できるのは簡単な設計とプログラミングだけ、という初心者が挑む内容ですので、生暖かい目で見守ってください。

ドラレコが欲しい

万が一の事故の為にドラレコが欲しい! でも隣国産の安いドラレコはすぐ壊れそう…かといって国産ドラレコは高い!
ならば自分で作ってしまえ! 前々からRaspberry Piを使って何か作ってみたいと思っていた事もあり、挑戦してみることにしました。

※なお私の求める要件を満たすものを作ろうとしたらコストが大分嵩むことに… ある程度の性能でいいのであれば、隣国産の諭吉さん一人分ぐらいのドラレコを買うほうが安定して安上がりかと思います。

要件定義

作成するもののイメージは日産純正ドラレコのようなもの。

  1. カメラ画素数200万以上、音声録音つき
  2. 安全に取り外せるよう、物理シャットダウンボタン追加
  3. CPU温度に応じた冷却ファン制御
  4. 動作状態をLEDで示す
  5. 運転中は自動で録画(10分スパン)
  6. 衝撃を検知してイベント録画を開始(30秒)
  7. スイッチでもイベント録画を開始(同上)
  8. 前後2カメラ
  9. 停車後数分経過したら常時録画を中止して衝撃検知時のみ録画
  10. モニタレスbluetoothwifi経由でのカメラストリーミング配信
  11. 同様の録画映像配信
  12. 車のバッテリーに配慮して可能な限り消費電力を抑える

欲張りすぎですね。でもせっかくなので頑張ってみようと思います。

次の記事