chakokuのブログ(rev4)

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

CircuitPythonでTV会議Muteボタンを作る

課題:E-WorkでTV会議している時、急に振られてMuteボタン押すつもりが退室ボタンを押してしまったり、2画面でマウスがどっかに行ってたりして困る 解決策:Mute On/Offボタンを作る (通信販売で、そういった商品は売られているけど高いし、PythonのUSBラ…

メモ:AWS K8Sを学ぶ

個人的には使わないであろうKubernetesだが仕事でやるはめに。AWS K8S全く分かっていない。詳細は書けないけど、どうやって勉強するかだけメモ。理解すべき概念は山盛りなのだが時間もないので、必須となる部分だけ理 解して仕事する。分かりやすそうな記事 …

DTM: まずはパーカッションから学ぶ

課題:DTM(EDM)をやりたいのだが、いつも飽きて途中で投げ出してしまっている。 アプローチ:確実に学べる方法を取るべし 解決策:推薦図書の「DTM打ち込みフレーズ制作技法」でまずは打ち込みから学ぶ 詳細: EDMを作りたいと思いつつ、どうやったらそうい…

勉強会で使っている家電EmulatorをPygameで作り直す

背景:某所でIoTプログラミング研修会をやっていて、もう歳とった*1ので終わりにしたい。が続けてくれと言われている。 アプローチ:授業が楽になるように、講義内容や教材を簡略化する 具体策:HomeGWを不要にして家電Emulatorに一本化にする(詳細は省略*2…

M5Stamp C3+SCD41で温湿度を計測、ThingSpeakにMQTT Publish

目的:自宅のCO2濃度を計測してスマフォで確認するシステムを作る 取り組み:M5 Stamp C3+SCD41で温湿度を計測、ThingSpeakにMQTT PublishするアプリをRustで作成 詳細: 無料で使えるIoT プラットフォームはいろいろあるけど、データ分析用にはThingSpeak…

組み込みRust:かつて通っていたプロジェクトのビルドが通らなくなる→build.rsを加えて解消

課題:以前ビルドできていたプロジェクトのビルドできない状況になった。 結果:build.rsを加えたらエラー解消 詳細: ビルドエラーメッセージは以下(長いので抜粋) Compiling tsp_xiao_try v0.1.0 (/home/<usr_id>/lang/rust/tsp_xiao_try) error: linking with `</usr_id>…

Rustビルド環境構築

背景:RustをビルドしていたUbuntuのPCにおいて、SDDを装換したため、素のUbuntuに戻ってしまい、ビルド環境がなくなった 課題:再度Rustビルド環境を構築する 結論:先人の手順を調べず場当たり的にエラー発生の都度対応、最終的にはビルドまでできた 詳細…

組み込みRust再々入門(I2C on ESP32C3)

Rust ESP Development boardにはI2Cで接続できる温湿度センサ(SHTC3)が搭載されているのでこれにアクセスしてみる I2Cサンプルは以下 esp-idf-hal/i2c_ssd1306.rs at master · esp-rs/esp-idf-hal · GitHub 作ったソースは以下 use log::*; use esp_idf_hal:…

組み込みRust再々入門(Lチカ on ESP32C3)

教科書ではこの次はHTTP接続に行くのだが、いきなりHTTPは敷居が高いので、地道にLチカをやってみたい。Lチカはむしろ、no_stdが似つかわしいサンプルなのだが、no_stdだとHTTP/MQTT等はできない(?)と思われ、stdでのLチカを試作してみる。Rustで0からLチ…

組み込みRust再々入門("Hello World" on ESP32C3)

締め切りがあって急ぎでRustで試作したが*1、細かい所が分からないままであった。再々入門する。 サンプルコードのベースにするサイト: Introduction - The Rust on ESP Book Introduction - Embedded Rust on Espressif std版テンプレートを使ってcargoでP…

MacBookProのSSDを装換した(120GB?->500GB)

作業メモ 新しいSSDを購入、装換 ubuntuのISOイメージ(ubuntu 22.04.2)をダウンロードして、USBメモリにイメージ書き込み (rufusを使用) MacBook起動、起動時に[option]ボタン押下 USBからブート Ubuntuの画面で[install]押下 MacBookProの裏蓋を開けたとこ…

memo:スマフォでパケットキャプチャする方法

調査必須というわけではないが、Arduino IoT Cloudのスマフォアプリ(Arduino IoT Cloud Remote)がサーバとの間でどのような通信を行っているのか確認したいと思い、キャプチャできるツールを調査iPhone / iPad でパケットキャプチャを行う方法 - Cisco Commu…

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のスイッチとも組み合わさって動作…