Sipped M1 dock suitを試す
おもしろそうなボードを見つけたので入手。 https://www.seeedstudio.com/Sipeed-M1-dock-suit-M1-dock-2-4-inch-LCD-OV2640-K210-Dev-Board-1st-RV64-AI-board-for-Edge-Computing-p-3211.html RISC-Vコアで、カメラとLCD込み込みのマイコンボードです。単体ではそこそこの能力ありそうです。
早速確認。中身はこんな感じ。基板とカメラ、LCD込みです。
MicroPythonが動くという話なので、やってみました。 基本的にこちらのインストラクションに従ってすすめます。 https://github.com/sipeed/MaixPy こまかくはリンク先にありますが、Maixpyのビルド・コンパイルは問題なく通りました。環境はUbuntu16です。 問題はここから。 フラッシュに書き込もうといろいろさがしますが、Ubuntuからのフラッシュ書き込み方法がわかりません。 めっちゃ探した結果、 http://dan.lichee.pro に書き込み方法が書いてあるという情報をみつかましたが、開いてみると全部中国語。。。 結局ここからはWindowsに戻って、元ページに情報のあるK-FLASHというソフトで焼きました。
ここでいったんリブートして、シリアルコンソールで115200bpsでつなぐとMicroPythonのプロンプトが出てきました!
しかしなぜかカメラが初期化できず、これ以上すすめずです。また思いついたらなんかやってみます。
AdafruitのHDMI5インチパネル
https://learn.adafruit.com/adafruit-5-800x480-tft-hdmi-monitor-touchscreen-backpack/overview
Adafruitの5インチパネルを入手。 ラズパイに接続して、上記リンクに記載の設定をして解像度を固定すると、正しく映りました。 しかし、Windows機につないでも何も起こりません。 認識もされていない様子。
よくよく調べてみると、EDIDのROMが実装されているのに、EDIDデータが全く書かれていないことが判明。 これでは、Windowsから画像データが出力されません。。
https://learn.adafruit.com/adafruit-tfp401-hdmi-slash-dvi-decoder-to-40-pin-ttl-display/editing-the-edid Adafruitが書き込み手順と方法を公開していました。こちらにしたがってAruduinoからEDIDデータを書き込むことで、普通に自動認識できました。 一般的なHDMIディスプレイと同様になります。 ラズパイの設定変更せずとも表示できるようになりました。
RockPro64 LinuxをeMMCから起動する
RockPro64はeMMCが装着可能なソケットがついています。このeMMCを、本体と同時に購入していましたので、早速使ってみます。 Android等を入れるには、すでにeMMC対応のバイナリが公開されているのでそれを書き込めばよいのですが、Ubuntu Linuxは対応していません。 色々調べた結果、SDカードでまず起動できるようにしておいてから、SDカードのイメージをeMMCにコピーする方法でうまくいきました。
$sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M
mmcblk0 がSDカード、mmcblk1がemmcにアサインされているようです。(fdiskで確認できます) これでコピーできるはず。
最後にルートパーティションをリサイズ。
rock64@rockpro64:/usr/local/sbin$ sudo ./resize_rootfs.sh
eMMCにシステム入れると、起動がかなり早くでよい感じです。
RockPro64を試す(1)
RockPro64はラズベリーパイのようなボードコンピュータで、珍しいことにPCIeがついています。日本語の記事があまりなさそうだったので、久々に投稿することにしました。アウトプット大事。
といっても、Linuxの起動までは公式サイトの手順に従うことですんなりいけました。
ROCKPRO64 resources https://www.pine64.org/?page_id=61456 WIKI http://opensource.rock-chips.com/wiki_Main_Page
まずSDカードの焼きこみです。8GB Class10のカードに以下のLinuxhttp://wiki.pine64.org/index.php/ROCKPro64_Software_Release#Linux_Image_Releasesを書き込みます。書き込みツールは推奨されているEtcherというのを使いましたが、多分なんでもいいです。 ということで、ここまではすんなり動いてくれました。
加速度センサモジュールMMA8451 をESP32につなぐ
MMA8451モジュールは、githubにライブラリがあるので簡単に使えます。GitHub - adafruit/Adafruit_MMA8451_Library: Arduino library for the MMA8451 Accelerometer sensors in the Adafruit shop
D1miniでは問題なく動作しました。
しかし、SoftwareSerialと併用すると問題が発生。 正常にコンパイル完了しますが、書き込んで動作させるとうまく動きません。I2Cとして未接続となります。
ハッキリとしたメッセージが出ないので推測ですが、SoftwareSerialで使っている何かのリソースが競合しているように思います。
そこで、マイコンを一回り大きいESP32で試してみることにします。ところが、これもすんなりとはいきませんでした。
ESP32では、I2Cのピンを自由に選択することができます。
int SDA = 25; int SCL = 26; Wire.begin(SDA, SCL);
というようにbegin の引数にSDA,SCLのピン番号を入れます。
ESP32を考慮されていないMMA8451ライブラリにこの設定を加えてあげる必要があります。
ということで、
bool Adafruit_MMA8451::begin(uint8_t i2caddr) { //Wire.begin(); Wire.begin( 17, 16); _i2caddr = i2caddr;
とすることで、正しくコンパイルできて実行もできるようになります。
Intel Jouleの立ち上げ
ひょんなことから Intel Jouleを入手しました! でもあまり情報がないので、まとめておきます。。
起動には、12V2A以上のACアダプタが必要、とあります。さらにマイクロHDMI接続のモニタと、キーボードマウスが必要。USB-Cのハブ経由でつなぎました。 Linuxの起動画面が来て、その後いきなりコマンドラインになります。
startxfce4
でGUIっぽい画面が立ち上がります。 ここからWifiを設定します。
Ostro-Linuxというものがはいってるらしいです。
https://ostroproject.org/documentation/howtos/ip-address-config.html
このあたりにしたがって、
$ connmanctl
$ connmanctl> enable wifi
$ connmanctl> scan wifi
$ connmanctl> services
ここで、周辺のWifiのSSIDがリストアップされます。この中で、つなぐ対象を選んでコピペします。
とすると、PassPhraseを聞いてきますので、正しく入れてあげると、OKです。
Quitコマンドでconnmanctlのコンソールを抜けられます。 なんだかいろいろと、独特ですねえ。。