chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

2023-01-01から1年間の記事一覧

Switch Scienceのサイトを見ていたら、技適を通過したPico-Wが販売されていたので買ってしまった

Switch Scienceのサイトを見ていたら、RPi Pico-Wの在庫があるようで、抽選でもなく普通に買えるようだった。ちょっと信じられず確認する意味もあって、発注してしまった。ついでに、液晶パネルが内蔵されているM5StackのATOM S3も買った。数日後、配達され…

M5 ATOM MatrixにMicroPythonを入れてNeoPixcelを光らせる

小さくてかわいいMatrixを買った。 MicroPythonが動くようなので入れてみる。 FirmはMicroPythonのDLサイトから入手できる MicroPython - Python for microcontrollersMicroPythonのサイトでは転送レートが460800bpsになっているのだが、これだと自分の場合…

Rustを学べるサイト

あまりのビルドできなさに組み込みでRustを使うのをあきらめたけど、一発で通せるセットアップの記事等を参照して、ビルドができるようになったので、また勉強する気になった。組み込みGoもシンプルでいいのだけど、エラーハンドリングが慣れないとか、Goの…

Sensirion SCD41で室内空気質を計測する

目的:室内環境をセンサで計測してIoT PFにアップして見える化する 課題:センサからCO2等の空気質を取り込むプログラムを実装する 取り組み:Rusb用のSCD4xドライバが提供されているのでこれを使ってI2C経由でデータを取り込む。マイコンボードはSeeedStudi…

ESP Rust Board上の温湿度センサの値を読む

やりたいこと:ESP Rust Board上に温湿度センサ(SHTC3)が搭載されておりこの値を読みたい 取り組み:I2Cでレジスタアクセスする。サンプルコードを参照して試作 結論:温度だけだが読めた 詳細:囲んだ部分が温湿度センサ(SHTC3) I2Cのサンプルコードを参照…

RustでMQTT Publish

背景:ESP32C3にCO2センサを接続して、IoT PFにMQTTでPublishするシステムを試作する 課題:RustでMQTT Publishできるコードを作成する 取り組み:全部入りサンプルとか、事例集があるので、それらを参考にする 結果:全部入りサンプルを引用しただけだが、P…

espupを使うことですんなりビルドが通った。感謝→Lチカをやってみる

やりたいこと:Rustを使ってESP32C3(RISC-V)でMQTTで通信するCO2センサを開発する 課題:普通のソースでビルドが通らない 取り組み: 理解不足というのと、いろんな方法があるようでもあり、環境構築にまずさに起因してRISC-V(ESP32C3)用のRustでのコンパイ…

Rust std エラー

Rust でstdを使ったサンプルをビルドしようとしてエラーになる。 Pythonの仮想環境でなにかを実行しようとしているようなのだが、_get_default_schemeが無いと怒られているのか? File "/home/xxxxx/.local/lib/python3.10/site-packages/virtualenv.py", li…

WioTerminalのIRエミッタからリモコン相当の信号を送出してみる

Wio TerminalはIRリモコンとして使えるように、IR送信デバイスがあるので、それを使ってリモコン相当の信号を送ってみる。 ArduinoのIRコントローラ用ライブラリがあるのだが、Panasonic用ライブラリはOLDと書かれていて、どうもAV機器用に作られているよう…

WioTerminalの赤外線リモコン機能を使いたいので、照明用リモコンの送信データを解析

やりたいこと:WioTerminalには赤外線リモコン機能が付いており、WioTerminalから信号を送出して照明を操作したい 課題:Arduino版には赤外線リモコン用モジュールがあるようなのだが、そもそもリモコンがどんな信号を送ってるのか分からないので実装できな…

再度WioTerminalでWiFi接続

前回Wio TerminalでMQTT Postまでできたはずなのだが、改めてWiFi接続させようとすると、あれこれモジュールが足りないと怒られる。再度、SeeedStudioのWikiを読み返して、どのようにインストールするのが正しいのかを確認 Seeed_Arduino_rpcWiFi - search f…

Azure functionsで Azure Table Storageにデータを書き込む

目的:IoTの実装例として、MQTTでPublishされたらAzure IoT Hubでメッセージを受け取って、JSONをパーズしてTable Storageに書き込みたい 結論:IoT HubからトリガーでFunctionを呼び出す際にエラーが発生した。ログによるとトークンがおかしいようなのだが…

ESP32C3用にMicroPythonをビルドしようとしてエラーになる

RISC-Vを搭載しているESP32C3用にMicroPythonをビルドしようとしてエラーになる ~/lang/upy/firm/esp32/micropython/ports/esp32$ make BOARD=GENERIC_C3 CMake Error at /home/sumi/lang/upy/firm/esp32/esp-idf/tools/cmake/targets.cmake:57 (message): U…

MicroPythonでAzure IoT Centralに接続してみる→Pythonですら難航中→なんとか動いた(正しくはpythonとAzure IoT Hub との間でPub/Sub)

Azure IoT Centralがどういうプロトコルで、どういう認証をやっているのか全く分からない。ちょっと調べると、IoT Hubを使ってデバイスと接続しているようだ。認証は、X.509とSASトークンがあるらしい。推奨はSASトークンのようだ。X.509が推奨されないのは…

Seeed xiao ESP32C3にCircuitPythonを焼く

MicroPythonではESP32C3をサポートしているが、公式サポートはespressifのDevKitであり、SeeedStudio xiao esp32c3はサポート外である。MicroPythonのGENERIC版が動くのだが、まぁ公式サポートのファームを使う方がいいかと思い、CircuitPythonを使ってみる…

MicroPythonを使ってWioTerminalのWiFiを制御できるかChatGPTに質問してみたー>答えが間違っている

WioTerminalでサンプルコードを書いていて、Arduinoだとだいたい動きそうなので、CircutPythonを使ってみることにした。どうもCircuitPythonではWio TerminalのWiFiをサポートしていないように思えた。これはMicroPythonも同様であった。困った時はChatGPTと…

WioTerminalからI2CでBME280と接続する

課題:IoTのサンプルシステムとして、温湿度を計測する(その後、IoT PFにアップしてグラフ化する) 取り組み:Wio TerminalとI2CでBME280で接続、温湿度を計測する 結論:2chあるI2Cの指定方法がちょっと腑に落ちなかったが、サンプルコードのお陰で温湿度…

WioTerminalのポートにLEDを接続してLチカさせたい

目的:WioTerminalの背面ポートをArduinoでプログラミングできるように理解する 取り組み:組み込みの基本である、Lチカをやってみる 結果:背面のポートからケーブルを引き出してLチカができた。全面についている5WAYのスイッチとも組み合わさって動作…

WioTerimnalからMQTTでPublishする

課題:WioTerimnalからMQTTでPublishする(最終的にはAWS IoTにPublishしたい) 取り組み:Platform-IOの環境を使って、Arduinoライブラリを頼って実装する。先人のサンプルも大量にあるようなので苦労しないと思われる。 結果:先行事例を参考にさせてもらっ…

Platform IO環境を使ってWio Terminal用のHello Worldを作ってみる

目的:Platform IOを理解する。最終的にWioTerminalで動くIoTサンプルコードを開発する 取り組み:PlatformIOを使ってWioTerminal用のサンプルコードを書いて動かしてみる 結果:ビルド段階でエラーになったりいろいろあったけど、最終的にはWiFi接続して特…

Parallels Toolsがインストールできない問題

課題:MacとUbuntuの間でファイル共有したい 問題点:Parallels Toolsがなぜかインストールできない 対応策:手動でISOイメージをUbuntuにmountさせて/mntか/media等からCDを読み込む 対象のファイルは以下にあるらしい % pwd /Applications/Parallels Deskt…

Parallels上に構築したUbuntuのdiskが足りなくなって割り当てサイズを増量したがファイルシステムが増量できない問題

背景:MAC上でUbuntuを動かしたくてParallelsを入れてUbuntuをインストールした。USBにもアクセスできて問題なかったが、Rustのサンプルコードをビルドすると、どんどんDISKを消費して/homeが置かれている/配下の利用率が90%に到達 課題:ParallelsではDISK…

Rustの前にまずCか・・

Rust/ESP32でmqttをサンプル実装したいのだが、、RustのESP32用ライブラリの扱い方でかなり手こずっている(ライブラリがないとか、メソッドが無いと怒られる)。Rustに手を出す前にまずは基本のESP-IDFをCで呼び出してサンプルを実装するのが先ではないかと…

ESP32/Rustの勉強、 http-clientサンプルでエラーになる

EspressifのTutorial; Embedded Rust on Espressif / HTTP client Http Client - Embedded Rust on Espressifエラーは、EspHttpRequestWriteにはsubmitというメソッドがないというもの $ cargo build --target=riscv32imc-esp-espidf Compiling http-client …

Rust開発環境を作るため、MacにParallelsを入れてUbuntuを入れる

課題:MacにDocker+Ubuntuを入れたがUSBがパススルーでないためESP32評価ボードに書き込みができない 取り組み:Macの素の環境にいろいろなアプリを入れたくない。だから、Parallelsで仮想環境を作る 結論:Parallels上のUbuntu はAMD64ではなく、ARM64が入…

評価Boardが届いたので、Embedded Rust Tutorialをやってみる

取り組み:ESP32-C3のRust用評価ボードを入手できたので、TutorialをやってRustを理解する 課題:WSL上のUbuntuからRust用評価ボードへのUSB経由接続がうまくいかない 対応:Ubuntuからの書き込み不可問題を回避するため、ターゲットボードをM5 Stamp C3に変…

組み込みRustをもう一度勉強するため評価ボード(ESP32-C3-DevKit-RUST)を手配

要約:組み込みRustを勉強するため、Espressifのチュートリアルで必須となっている評価ボード(ESP32-C3-DevKit-RUST)をMouserに発注 詳細: 1年ぐらい前だったかRustで組み込みプログラミングをやろうと思ったけど、サポートされているマイコンアーキやボー…

ESP32C3を購入、MicroPythonを入れてみる

要約:ESC32-C3を買った。MicroPythonのファーム(esp32c3-usb-20220618-v1.19.1.bin)を焼くと動いた 詳細: RISC-Vを動かしてみたいと思い、手頃な価格のESP32-C3を購入した。(seeed studioのXIAO-ESP32-C3) USB-Cに接続するとシリアルで繋がったが特にコ…

量子コンピューティング関連資料

複素内積空間の説明(木田 雅成氏) https://www.rs.tus.ac.jp/kida/hermite.pdf 量子フーリエ変換につながる正規行列のスペクトル分解についても書かれているhttps://www.math.nagoya-u.ac.jp/~yamagami/teaching/linear/linear2016.pdf 線型代数(改訂版)…

避けては通れない(?)量子コンピューティング(??)

背景:来るのか来ないのか分からないが、量子コンピュータが気になる 目標:ブラ-ケット記法による重ね合わせ、もつれ、演算を理解して、プログラミングできるか、他人のコードをなんとなく分かるようになる。AWSでも量子コンピュータを提供しているようなの…