2021年12月16日木曜日

Android studio updateしたらエラーに苦しんだ

 なんと、、、

絶望的になりながら、、、這いつくばって解決のメモ

このバージョンのお話


エラー1

implementation 'com.google.firebase:firebase-ml-vision

結局、build.gradleの

// ML Kit dependencies
implementation 'com.google.firebase:firebase-ml-vision:'
// Image Labeling model.
implementation 'com.google.firebase:firebase-ml-vision-image-label-model:20.0.2'
// Face model
implementation 'com.google.firebase:firebase-ml-vision-face-model:20.0.2'
// Custom model
implementation 'com.google.firebase:firebase-ml-model-interpreter:'
// Object model
implementation 'com.google.firebase:firebase-ml-vision-object-detection-model:19.0.6'
// AutoML model
implementation 'com.google.firebase:firebase-ml-vision-automl:18.0.6'
implementation 'com.google.firebase:firebase-ml-common:22.1.2'
implementation 'com.google.android.gms:play-services-vision-common:19.1.3'
implementation 'com.google.firebase:firebase-core:20.0.1'

を、変更して

// ML Kit dependencies
//implementation 'com.google.firebase:firebase-ml-vision:'
// Image Labeling model.
implementation 'com.google.firebase:firebase-ml-vision-image-label-model:20.0.2'
// Face model
implementation 'com.google.firebase:firebase-ml-vision-face-model:20.0.2'
// Custom model
//implementation 'com.google.firebase:firebase-ml-model-interpreter:'
// Object model
implementation 'com.google.firebase:firebase-ml-vision-object-detection-model:19.0.6'
// AutoML model
implementation 'com.google.firebase:firebase-ml-vision-automl:18.0.6'
implementation 'com.google.firebase:firebase-ml-common:22.1.2'
implementation 'com.google.android.gms:play-services-vision-common:19.1.3'
implementation 'com.google.firebase:firebase-core:20.0.1'

OKになりました。つまり、、、

https://firebase.google.com/docs/android/setup?hl=ja


自動的にアップデートして非推奨ライブラリーが残っており、かつ完全な構文でなかったので、エラー

で、も、、、、上部のエラーがなくなっただけ

実はこのファイルの、エラーが発生しても、値を設定して、依存関係を定義する

    // ML Kit dependencies
    implementation 'com.google.firebase:firebase-ml-vision:24.1.0'

    // Custom model
    implementation 'com.google.firebase:firebase-ml-model-interpreter:22.0.4'

// ML Kit dependencies
implementation 'com.google.firebase:firebase-ml-vision:24.1.0'
// Image Labeling model.
implementation 'com.google.firebase:firebase-ml-vision-image-label-model:20.0.2'
// Face model
implementation 'com.google.firebase:firebase-ml-vision-face-model:20.0.2'
// Custom model
implementation 'com.google.firebase:firebase-ml-model-interpreter:22.0.4'
// Object model
implementation 'com.google.firebase:firebase-ml-vision-object-detection-model:19.0.6'
// AutoML model
implementation 'com.google.firebase:firebase-ml-vision-automl:18.0.6'
implementation 'com.google.firebase:firebase-ml-common:22.1.2'
implementation 'com.google.android.gms:play-services-vision-common:19.1.3'
implementation 'com.google.firebase:firebase-core:20.0.1'

これで、sync はOK!

でも、、、

エラー2

Unsupported class file major version 61

これは、gradleがjavaのバージョンをサポートしていないというエラー
従って、Preferences > 

javaのバージョンを下げた。
Macの 

% java --version

openjdk 17.0.1 2021-10-19

OpenJDK Runtime Environment (build 17.0.1+12-39)

OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)


17ではダメみたいで、16に下げたら

Starting Gradle Daemon...
Gradle Daemon started in 796 ms

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/7.0.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 1m 7s

という事で、OK

Peace!!

2021年12月5日日曜日

mariadb C言語 アクセスサンプル

とりあえず、確認のためにに、下記のコードでテスト

build は、こんな感じ

 gcc -Wall -o tst tst.c -lmysqlclient -L/usr/lib64/mysql/

サンプルは以下、、、

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql/mysql.h>
int main(void){
    MYSQL *conn     = NULL;
    MYSQL_RES *resp = NULL;
    MYSQL_ROW row;
    char sql_str[255];
    char *sql_serv  = "localhost";
    char *user      = "xxxxx";
    char *passwd    = "yyyyyy";
    char *db_name   = "dddd";

    memset( &sql_str[0] , 0x00 , sizeof(sql_str) );

    // mysql接続
    conn = mysql_init(NULL);
    if( !mysql_real_connect(conn,sql_serv,user,passwd,db_name,0,NULL,0) ){
        // error
        printf(" connect error\n");
        exit(-1);
    }

    // クエリ実行

    snprintf( &sql_str[0] , sizeof(sql_str)-1 , "select * from test" );
    if( mysql_query( conn , &sql_str[0] ) ){
        // error
        mysql_close(conn);
        exit(-1);
    }

    // レスポンス
    resp = mysql_use_result(conn);
    while((row = mysql_fetch_row(resp)) != NULL ){
        printf( "%d : %s\n" , atoi(row[0]) , row[1] );
    }

    // 後片づけ
    mysql_free_result(resp);
    mysql_close(conn);
    return 0;
}

Peace!!


そりゃないだろ、、、"MariaDB-devel" だって、、、

開発環境をつくりたいので、、、

 sudo dnf install mariadb-devel

Last metadata expiration check: 2:57:12 ago on Sun Dec  5 19:09:59 2021.

Error: 

 Problem: package mariadb-devel-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64 requires mariadb-connector-c-devel >= 3.1.11, but none of the providers can be installed

  - package mariadb-connector-c-devel-3.1.11-2.el8_3.i686 requires libmariadb.so.3, but none of the providers can be installed

  - package mariadb-connector-c-devel-3.1.11-2.el8_3.x86_64 requires mariadb-connector-c = 3.1.11-2.el8_3, but none of the providers can be installed

  - package MariaDB-shared-10.6.3-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.i686

  - package MariaDB-shared-10.6.3-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.x86_64

  - problem with installed package MariaDB-shared-10.6.5-1.el8.x86_64

  - package MariaDB-shared-10.6.4-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.i686

  - package MariaDB-shared-10.6.4-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.x86_64

  - package mariadb-devel-3:10.3.28-1.module+el8.4.0+427+adf35707.x86_64 conflicts with mysql-devel provided by MariaDB-devel-10.6.5-1.el8.x86_64

  - conflicting requests

  - package MariaDB-shared-10.6.5-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.i686

  - package MariaDB-shared-10.6.5-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.x86_64

  - installed package MariaDB-shared-10.6.5-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.i686

  - installed package MariaDB-shared-10.6.5-1.el8.x86_64 obsoletes mariadb-connector-c provided by mariadb-connector-c-3.1.11-2.el8_3.x86_64

(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

 エラー、、、、

いろいろ探して、、、

$ sudo dnf -y install MariaDB-devel ;

Last metadata expiration check: 2:57:42 ago on Sun Dec  5 19:09:59 2021.

Dependencies resolved.

================================================================================

 Package              Architecture  Version                Repository      Size

================================================================================

Installing:

 MariaDB-devel        x86_64        10.6.5-1.el8           mariadb        7.9 M


Transaction Summary

================================================================================

Install  1 Package


Total download size: 7.9 M

Installed size: 49 M

Downloading Packages:

MariaDB-devel-10.6.5-1.el8.x86_64.rpm           2.8 MB/s | 7.9 MB     00:02    

--------------------------------------------------------------------------------

Total                                           2.8 MB/s | 7.9 MB     00:02     

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

  Preparing        :                                                        1/1 

  Running scriptlet: MariaDB-devel-10.6.5-1.el8.x86_64                      1/1 

  Installing       : MariaDB-devel-10.6.5-1.el8.x86_64                      1/1 

  Running scriptlet: MariaDB-devel-10.6.5-1.el8.x86_64                      1/1 

  Verifying        : MariaDB-devel-10.6.5-1.el8.x86_64                      1/1 


Installed:

  MariaDB-devel-10.6.5-1.el8.x86_64                                             


Complete!


で、OKってなんなんだぁ

Peace!!

CentOS 8 からRocky Linux への移行とMariaDBのインストール

 僕は、日本中で動いているロボットを統合的にシステム管理している。これをRDCS Serverと呼んでいる。実体は某社のVPS上に構築している。

ところが、、、

CentOS 8 のサポートが、12月31日に終了という事で、移行の必要性があった。いろいろ調査した結果、Rocky Linuxに移行することにした。というか、、、Google、Microsoft、Amazonが支持をしているからが大きい。安易だなぁ、、、

また、これまで、自作DBで管理していたけど、思ったより管理データが多くなってきたので使い慣れているMariaDBに移行する事も決めた。

1. Cent OS 8からRocky Linux への移行

これは簡単で、Rocky Linuxが提供しているツールで10分程度で終了。

How to Migrate to Rocky Linux from CentOS Stream, CentOS, Alma Linux, RHEL, or Oracle Linux

2. MariaDB インストール

MariDBは、下記のページの通りにする。

How to Install MariaDB on Rocky Linux 8

ここに書いてあるように、defaultのままでインストールすると10.3がインストールされる。現在の最新版は10.6なので記述してあるようにインストールする。
この説明は、丁寧な説明なのでこの通りにすれば良い。

すんなりすんで、よかったです。


3. 文字コード設定

インストール直後は、設定が行われていない。

文字コードを、utf8mb4 に設定する。 詳しくはこちら

手順の抜粋

「mysql -u root -p」でMariaDBにログインします。

show variables like 'char%';
show variables like 'coll%';
show charset like "%utf8mb4%";
show collation like "%utf8mb4%";

確認後
sudo vi /etc/my.cnf.d/mysql-clients.cnf

[mysql]
default-character-set=utf8mb4  # <--- 追加

sudo vi /etc/my.cnf.d/server.cnf

[mysqld]
character-set-server = utf8mb4  # <--- 追加

sudo systemctl restart mariadb

確認をすると、、、、

MariaDB [(none)]> show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.002 sec)

MariaDB [(none)]> show variables like "%coll%";
+----------------------+--------------------+
| Variable_name        | Value              |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database   | utf8mb4_general_ci |
| collation_server     | utf8mb4_general_ci |
+----------------------+--------------------+
3 rows in set (0.001 sec)

因みに、設定前は、、、
MariaDB [(none)]> show variables like "%char%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8mb3                    |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.003 sec)

MariaDB [(none)]> show variables like "%coll%";
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.003 sec)


Peace!!

2021年12月1日水曜日

初めての、Raspberry PiからのTwitter

 定期的にロボットの状態を把握したいので、遅ればせながらTwitterで確認できるようにした。その時の忘備録

既にある、または新しいアカウントで行う。今回は公開したく無いので新しいアカウントを作成した。

ネットの情報の通りに、https://apps.twitter.com/ にアクセスして開発者登録する。

その後、Developer Portalで、追加情報を入力した。実は、この部分がネットの情報と違った。

でも作業は同じなので、後から同じことをできるようにメモしておく。

1. twitter の設定

「Project1」を押下する



「Apply for Elevated」を押下

この後の画面で、いろいろ入力する
以下は、項目の説明

In your words

In English, please describe how you plan to use Twitter data and/or APIs. The more detailed the response, the easier it is to review and approve.


ここには英語で何をするのかを記述する。最低でも200文字が必要


僕は、複数種類のロボットの開発をしている。それらのロボットの状態を統合的に管理する必要がある。ロボットを統合管理するサーバーが、自動的に15分毎にロボット達の状態を集約して、ツイートする。そのツイートにより効率的に全体が把握できる

I am developing multiple types of robots. It is necessary to manage the state of those robots in an integrated manner. The server that manages the robots in an integrated manner automatically aggregates the states of the robots every 15 minutes and tweets them. You can grasp the whole efficiently by the tweet.


Are you planning to analyze Twitter data?

No



Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?

Yes

Please describe your planned use of these features.

The application uses the tweet function. The robot management system aggregates and tweets every 15 minutes.

Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?

これはNo

Will your product, service, or analysis make Twitter content or derived information available to a government entity?

これも、No

NEXTボタンを押下する。すると下の画面


Nextボタンを押下する



チェックして、 Submitボタン


次に、Keyデータを取得する。

API Key and Secret Regenerateボタンを押下



Access Token and Secret Regenerateボタンを押下



これで準備OK

2. Raspberry Pi の設定

sudo pip3 install twython

確認は、、、

python3 -c "import twython"

vi auth.py

consumer_key        = 'API Key'

consumer_secret     = 'API Key Secret'

access_token        = 'Access Token'

access_token_secret = 'Access Token Secret'


vi tst.py

from twython import Twython

from auth import (

    consumer_key,

    consumer_secret,

    access_token,

    access_token_secret

)

twitter = Twython (

    consumer_key,

    consumer_secret,

    access_token,

    access_token_secret

)

message = "100-100-101"

twitter.update_status(status=message)

print("Tweeted: " + message)

これで実行したらOKです。

ちなみに同じメッセージを繰り返すとエラーになる。

twython.exceptions.TwythonError: Twitter API returned a 403 (Forbidden), Status is a duplicate.


Peace!! 




2021年11月29日月曜日

資本を輸出して利息で稼ぐ国日本、故に二極化し貧しい人が増える

 これは良いコラムで、これを読むと表題の事がわかる

https://jp.reuters.com/article/column-daisaku-ueno-idJPKBN2HV31K

Peace!!

Mac(Monterey) で、頻発。client_loop: send disconnect: Broken pipe

MacからRaspberry Piにsshで入ると、接続状態が悪くなり、じきにこのメッセージが表示され接続途絶える。

がネット探すと、この問題の解決策がいろいろでている。

多くは、~/.ssh/config に

Host *

ServerAliveInterval 60

TCPKeepAlive yes

このおまじないを加える。

でも、足りないみたいで、結局行き着いた先は、

Host *

ServerAliveInterval 60

TCPKeepAlive yes

IPQoS=lowdelay

こんな感じ。

これで、Macのターミナルからのssh, AtomのFtp-Remote-Editもストレスフリーになった。

でも、このおまじないをしなくても、FileZillaで接続した時は問題なかった。

という事は、MacとAtom(package)の実装の問題。

Peace!!

2021年10月31日日曜日

Raspberry Pi のSDカードを複製する

 忘備録


(1) 一枚複製

Raspberry Pi desktop のSDカードコピーツールを使って行なう


(2) 複数枚作成

今まで使っていたWin32diskImager が何故か? 起動しなくなったのでMacで、、、

・元になるSDカードのimageをMacのdisk のコピーする

diskutil list

diskutil umountDisk /dev/disk2

sudo dd if=/dev/rdisk2 of=dev11080_YYYYMMDD.img bs=1m

・複製

mac にRaspberry Piの 'Raspberry Pi imager'をRaspberry Piの本家よりダウンロード

このツールで複数枚のSDカードを作成する

Peace!!

2021年10月30日土曜日

僕が村上春樹を読まなくなった理由

 あくまでも、僕の場合

風の歌を聞け

1973年のピンボール

羊をめぐる冒険

初期の3部作。特に上の2作を読んだ時は、自分の中の「本当はこうしたいんだ」と思っている、もう1人の自分と出会った様で吸い込まれる様に、その本の空間に入り混んだ

羊をめぐる冒険は、ピンクの羊が大学時代に付き合っていた、新宿の文化服装学院でデザイナーを目指していた、とんがったちょっと変わった彼女と重なり、もう1人の自分ではなく、その彼女と本の空間の中でデートしているようだった。

その後の作品も、ノルウェーの森までは、作品の空間を共有できた。村上春樹の作品の空間で、現実社会で生きざるおえない自分の中から、本当らしい’僕’が羽を伸ばせる解放感を楽しんでいた。

村上春樹に興味を持ち、彼が好きだという作家の本も読んだ

トルーマン・カポーティ

スコット・フィッツジェラルド

カポーティ、フィッツジェラルドの作品もそれぞれの空間が好きになり、特に彼の空間にある狂気が、自分の隠れていた’僕’の狂気のようで、のめり込んでしまった。

そして、サリンジャー

もちろん、「ライ麦畑でつかまえて」は、読んでいたし、俗世と離れて生活している事も知っていた。

そして

Franny and Zooey

知ってしまった。

バナナボートで、俗世から離れたしまったサリンジャーを、

Frannyのように追う彼の姿を。。。


あとは、少しづつ、続けます。。。

Macを使ったRaspberry Pi開発には、Atomが最高

 Raspberry Pi上で、自律走行システムの研究開発するのが僕の仕事

通常は、MacからRaspberry Piにssh接続し、FileZIllaの機能でRaspberry Pi内をツリー表示してコードの修正やファイルの転送を行っていた。まぁ、それなりに便利で、特に問題もなく開発をしていた。



FileZillaに登録するeditorはatomを使っていた。ただ、その使い方は単なるeditorでpackageも入れすに、ただeditorとして使っていた。

ネットで「atomのpackage」使うと便利になるというので試しにftp系のpackageをいくつか試してみた。atomにpackageをインストールする時に、"ftp"で検索すると複数のpackageがあり、最もインストールが多かったのは、remote-ftp。正直にいって使いにくい。

次に確かめたのが、ftp-remote-edit

これが僕には、ドンピシャ!!

・登録したserverを階層構造で見れる
・ディレクトリー内のイメージデータも表示できる
・Macから、drag&dropでファイル転送ができる
・Raspberry Piのコマンド画面操作ができる

つまり、以下の2つのアプリケーションでやっていた事が、Atomの画面の中で完結する
・Macターミナル -> ssh
・FileZilla

これは、通常Mac Proで開発してうる僕にはとっても重要で、画面の中に複数のアプリケーションを表示する必要がなく、画面がスッキリし頻繁な画面操作も回避できる。

知ろうとしない事、これはとっても恐ろしい事だ
この歳になって、改めて気づいた。

追加

編集した内容をプリンターに出力する時に使うpackage

print-code

いろいろ出力系のpackage試したけど、他と違ってプリンターのドライバーをきちんと制御しているので現状ではNo1

Peace!!

2021年10月27日水曜日

wifi中継機は便利

 会社での搬送ロボットのテストは、wifi の電波距離の関係でテストの準備が大変でした。

あっ、単純に中継機で伸ばせばいいじゃん

会社のルータを、中継機にしてもよいけど、搬送ロボットの距離を伸ばしたのでモバイル電源で稼働する中継機を探しました。



購入したのが、ELECOM WTC-1167USです。

もう、なんで早く買わなかったのかと、、、後悔しきり
メインのルータと、WPSで接続して、あっという間に稼働状態

それに、使わない時は、家の奥まった所にある僕の部屋で使う。今まで、wifiアンテナが1本しか立たなかったけど、これを間に入れてもうビンビン

Peace!!

2021年10月20日水曜日

CB400SF ユーザ車検

 車検をオートバイ屋さんに頼むと高いので、ユーザ車検をしました。

初めてなので、いろいろ情報を集めましたが、やはりドキドキでした。

振り返ると、、、

・検査は、意外とアッサリ終わるなぁ
・書類作成は、事務所の例示が理解しやすく、職員の方々も親切

プロしかできないと思っていた、車検のイメージが大きく変わりました。

1. 書類系

元の車検書、自賠責(新・旧)、納税証明、点検記録、申請書(印紙貼済み)3枚の合計8枚
あると便利なのは、書類を挟むバインダー。
理由は、検査場で検査員さんに全部渡すので、その時にバラバラより、スタンプ押してもらったり、走行距離を書いてもらう時に親切だと思うから

・申請書類
印紙を購入する所で、書類もあり、かつ印紙も貼って頂けた。
検査場の申請場所では、手続き書類の書き方などの例が分かりやすく、その通りに書けば良い。3枚記述するけど、車検書の内容で、ナンバー、車体番号、氏名、住所を繰り返す

・点検整備記録
インターネットでダウンロードして、自己整備をして記述した。
タイヤの溝、ブレークパッドの厚さなどは計測して記述した。排ガスの濃度などは計測できないので、空欄のままにした。
ポイントは、光軸調整。自分なりにやってみたけど、不安があったので検査場の近くのテスト屋さんで再確認。なるほど、、、と思い、自分のやり方でOKだと思った。


「後点検」と申請しても良いそうだけど、自分のバイクなのでこの機会に自分で点検整備するのが良いと思います。そもそも、基本的な点検整備できない人がバイク乗るは危ないと思う。

・自賠責保険
印紙購入する所で場所を聞いて、同じ構内にあるその場所に行って購入した。

2. 検査

申請書を渡した後に、指定された場所にバイクに行く。


検査場の入り口に「はじめての人は、伝えて下さい」と書いてあった。
自分の番に来た時に、検査員さんに、それを伝えると「横につきますね。」
「ラインに入ると、バランス崩す人が多いので、十分注意してくだい。」
「掲示板の指示通りに、進めて下さい。」
「スピードメータは、後輪ですか?前輪ですか?」
「あ、、、わかりません」
「多分、後輪ですね」
ちょっと緊張していたので、掲示板の文言に迷うと、
横から「xxxして下さい」とアドバイス
ブレーキと、スピードメータチェックは、OK

問題の光軸検査
ちょっと不安だったけど掲示板に「◯」
排ガス検査も「◯」
これで終わり、、、10分もかからなかったかも、、、



合格のハンコを頂いてOK
書類を、指定された窓口に持っていき、箱にいれて、、、

5分程度待って、新しい車検書、ステッカー、点検整備記録を返してもらい



終了!

受付開始から、40-50分でした。

Peace!!

2021年10月17日日曜日

自律走行コントローラ

 たくさんの企業さんに、導入頂きブラッシュアップを続けてきました。

貧乏企業なので、型を作ることもできず、レーザーカッターで木製のケース作って何とかまとめています。写真は、僕が開発で使っているモノです。

前面には、ステレオカメラ、背面にはタッチパネルが付いて、とりあえずまとまった感じです。



内部には、フェイルセーフと性能を考えてRaspberry Pi4が2つ入って、さらにAIのエッジデバイス、センサー、LED等々、、、

これにモータドライバーをつけて、モータを接続すれば自律走行するわけだけど、、、

まぁ、のちのち詳しく

Peace!!