ラズベリーパイ2
FreeBSD
自宅サーバをラズベリーパイ4で作るため、
余ったラズベリーパイ2で
IOT(鯖4猫)を作ります。
その2

2021年
12月1日
アパート作業です。ラズベリーパイ2のカメラのストリーミングをアンドロイド版VLCで表示させてみます。まずは、VLCをインストールします。

アパートのLAN内にラズベリーパイ2を接続し、raspividコマンドでh264のストリームを流します。フレームレートは30、ビットレートを100Kbpsに設定します。

スマートフォン側で以下のようにラズベリーパイ2のアドレス、demuxとポートを指定します。

スマートフォン側はマルチ画面にして、上にVLC、下にchromeで動作良好です。

VLCのコーデック情報を表示させてみます。h264、640x480になっています。ビットレートも設定した100Kbpsです。まだ、LANの内側なのでポートフォワードを行って外からアクセスできるようにする必要があります。LAN/WiFi環境でレイテンシは5秒くらいと思われます。

12月4日
上側ベース板のオームギア駆動部のサーボモータの配線を固定センタ内に配線できるように加工しました。

2022年
9月20日
鯖4猫プロジェクトを再開します(笑)。外部のモバイル通信でローカルエリアのラズベリーパイ2のカメラ動画が見えるようにします。ポートフォワードするためにはpppとipfwの2つの設定の変更が必要です。教科書のBSDマガジンの2003年の17号を参考に変更します。


左
がppp.confの修正です。サーバにポート5000番が来たら、カメラの接続されているラズベリーパイ2の192.168.0.33:5000に行先を変換してもらいます。右はipfwルールで、tcpプロトコルで192.168.0.33:5000が来たら通過させるようにルールを追加します。


スマホのVLCで確認します。wifiをオフにして、モバイル通信を使って、tcpプロトコルでサーバ名:5000でストリーミングサーバを指定します。動画が見えることを確認しました。レイテンシは10秒位ありそうです。

9月22日
外部からストリーミング動画が見られるようになったので、2軸ジンバルにカメラを付けて、カメラを動かせるようにします。下は去年購入済みのMG996を2個使ったジンバルです。

ラズベリーパイ2の上にジンバルのサーボモータを固定できるようにアクリル板を加工します。PCA9685(PWMコントローラ)とPCA23017(GPIO)の基板も固定できるようにします。緑色がサーボモータを固定する部分です。

右がPCA9685、左がPCA23017です。双方とも大分前にアマゾンで購入済みです。


デスクトップにCNCプログラムをインストールしました。HeeksCNCの古いバージョンです。バージョンによって微妙に違うので、レーザ加工用に使っているノートからそのままコピーしてきました。早速、dxfファイルをインポートして、レーザ加工用のプロファイル操作でGコードを生成します。


同じく、ノートPCに入っているGコードにレーザのON/OFF制御を入れる変換プログラムもデスクトップに持ってきます。これはソースコードをコピーしてコンパイルするだけです。このプログラムはCygwinで動きます。HeeksCNCの出したGコードを読み込んで、レーザON/OFF制御を入れたGコードを出力します。


GコードビューアのNCVCは最新の64ビット版があるのでデスクトップに新規インストールしました。簡易的に加工順をシミュレーションできます。これで図面入力から、簡易シミュレーションまでデスクトップで出来るようになりました。作成したGコードとノートPCをガレージに持っていけばレーザ加工できます。

9月23日
レーザ加工機で3mmのアクリル板からサーボモータの固定プレートを作製しました。

ラズベリーパイ2の上にプレートを載せて、ジンバルとPWMコントローラ基板を取り付けました。

即席でテストプログラムを作成して動作確認を行います。カメラの移動はviとおなじHJKLキーで移動します。また、ストリーミング動画の開始やベルを鳴らすコマンドも追加しました。クリックすると約6Mバイトのmp4をダウンロードします。

9月29日
ウォームギアで駆動される回転センタに仕切り用の溝加工を行います。幅2mmで深さ1mmです。30度で12本加工します。テールストックの芯が細くて使えないので、BT30のテーパを使って代替えにしました。

見えにくいですが、溝加工、12本完了しました。

回転センタにウォームギアを固定します。回転センタにタップを立てて、2mmのビスはウォームギアに埋め込みます。

9月30日
回転センタに付ける仕切り板を作製します。qcadで図面を作成します。

HeeksCNCでGコードを作成し、2mm厚のアクリル板からレーザ加工機で切り出します。12枚作製しました。


10月1日
仕切り板に接続する10mm角のアクリル棒を加工してロッドを作製します。qcadで図面を作成しました。緑色が加工する対象物のロッドです。

2mmの溝加工を行い、傾斜バイスで15度の傾斜加工を行いました。12本完成です。


1.6mmのドリルで4か所穴開けを行いました。

10月3日
ラズベリーパイの本体側はMCP23017のGPIOボードに配線追加しました。サーボモータ用のPCA9685とMCP23017のプログラムをマージしてテストプログラムを作成しました。

仕切り板に付けるフォトインタラプタ用の遮蔽板の図面を作成しました。1mm厚の黒ポリスチレン板から切り出します。

遮蔽版をレーザ加工機で切り出しました。ポリスチレン板はアクリルよりバリが出ます。仕切り板には予めロッドを接続しておきます。

回転センタに仕切り板を接着しました。接着剤はジクロロメタンを使い、細い筆でジクロロメタンを染み込ませます。一度には出来ないので2枚づつ接着します。下に図面を敷いて、30度の角度が出るようにします。

接着後に遮蔽版を取り付けました。遮蔽版の取り付け位置は2ヶ所あり、30度をセンスするインデックスと基準のオリジンです。赤枠のオリジンはインデックスより内側にあります。

10月4日
仕切り板どうしを接続する外周板を固定するステンレスの2mmの木ネジをアマゾンで購入しておきました。

外周板の図面を作成して、レーザ加工機で12枚切り出しました。1枚は黒アクリルで作製しました。


早速、購入した木ネジを使って外周板を取り付けます。木ネジ用の1.6mmの下穴は深さ3/4まで、2mmで開け直して木ネジが入るようにしておきます。黒のスペースは餌が入れられないことを表しています。1周を30度で12分割していますが、11ヶ所しか使えません。1つのスペースは約100ccです。これで回転部がほぼ完成しました。

10月9日
本体の足をqcadで作成します。形状は猫足です。

5mm厚のアクリルからレザー加工機で切り出し、固定用のネジを切りました。

下側プレートに扇型の餌の排出口をフライス盤で手動で開けました。

本体カバーにも排出口を開けます。こちらは矩形です。


足と餌の排出口の加工したプレートを仮り組み立てします。赤枠が餌が下に落ちる排出口です。

餌の投入口はまだ無いですが、とりあえず餌が下に落ちるか確認しました。量は約75ccで、2つ手前に入れて実験します。動作良好です。クリックすると約7Mバイトのmp4をダウンロードします。

10月12日
本体ケースの上にラズベリーパイ2を固定するステーとリングの図面をqcadで作成します。マゼンタがステーで、黄色がリングです。左の緑丸はまだ未着手のおやつ用です。餌とおやつ用を2つ接続して、中央にラズベリーパイ2を固定します。

5mmのアクリルからレーザ加工機で切り出しました。

上から餌が投入できるように上側の丸プレートに丸穴を開けます。こちらはCNCフライスで穴開けしました。

10月13日
餌を排出する透明ホースを探していたところ、洗濯機用の排水ホースが使えそうなので注文しておきました。餌が途中で詰まる可能性があるので、透明の方が良いです。ホームセンタの透明ビニールホースは結構割高です。

10月16日
餌の排出口に缶コーヒ(口の大きいタイプ)の上部を切って、排水ホースを接続します。ぴったりです。


ケースに赤枠の餌投入口を開けました。先日作製したステーとリングを使ってケースにラズベリーパイ2をケースに固定しました。


