chakokuのブログ(rev4)

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

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でも量子コンピュータを提供しているようなの…

Keychron K2茶軸を買った

MacBookのキーボードは極限までストロークを減らしつつ、機構の工夫でクリック感が実現されている。これはこれでありかもしれないが、どうも慣れない。Macを使う時間も増えてきたのでKeychronのキーボードを買った。 選んだのは Keychron K2 のUS配列、茶軸…

Go言語を勉強する

組み込みでTinyGoを使うとして、Go言語自体を理解できていないとパッケージ(ライブラリ)の使い方とか、エラー処理とか、細かい所がよくわからない。Go言語は言語仕様がコンパクトで学びやすいとは言われているけど、実はクセ強な言語と思っています。という…

Ubuntuにtinygo開発環境を導入してgdbでデバッグ可能にする

課題:Ubuntu 上にtinygo開発環境を構築して、gdb+OpenOCDを動くようにしたい 取り組み:Ubuntu 上にtinygoの開発環境をインストール、gdbの最新版をパッケージでインストールする 結論:gdb+OpenOCDによるシンボリックデバッグが可能となった 作業内容: 普…

TinyGoでGDBを起動できない原因を探る

課題:tinygo gdbでgdbを起動できない(Cygwin環境下) 目標:tinygo gdbでgdbを起動できるようにする 取り組み:tinygoのgdb起動コードを探して、なぜエラーと判断されるのかを特定して、回避手段を検討する 結論: PATH変数に、arm-none-eabi-gdbの実行形式…

Pico+TinyGo用のデバッグ環境をOpenOCDで構築

目標:コンパイラ型言語で何かモノを作る時はデバッガがないとやってられないと思い、OpenOCDによるデバッグ環境を構築する。 取り組み:ST-Linkで試す、だめなら、RPi4上でOpenOCDを動かしてSWDで接続する 結果:ST-Linkはターゲット(Pico)と接続できなかっ…

TinyGoをRPi Pico上で動作させたい->LチカまではOK

背景:これまで組み込み用プログラミングではMicroPythonで緩くやってきた(とにかく楽なので) 課題:本屋でTinyGoの本を見つけて、言語仕様がコンパクトでコンパイル型言語(LLVM)ということで使ってみたくなった。MQTT等のライブラリもあるそうだ。RPiPico…

メモ:MinecraftのMentor

Minecraft: Education Edition: Teacher Academy - Training | Microsoft Learn https://educommunity.minecraft.net/hc/en-usリリース: 世界を作り直す課題 - Training | Microsoft Learn

Pythonを使ったMEEのプログラミング (絶対座標でブロックを配置)

仕様書がどこにあるのか分からず手探りなのだが、、絶対座標(World座標というのだろうか)でGRASSブロックを配置してみる for ud in range(68,100,3): for ew in range(11,14): blocks.place(GRASS, world(ew, ud, 100)) blocks.place(GRASS, world(ew, ud, 1…

Minecraft Education EditionのPython Coding Courseをやってみる→ Lesson4 の餌やりで正解がわからない

課題:Minecraft Education Edition(MEE)が使えるようになったので、Python Coding Course(Python 101)をやってみた。Lesson4のActivity 2: Dietary requirementsでは犬に適切な餌をやるのだが、RedStoneの使い方がわからないせいか、どうやったら正解になる…

統計を理解しつつ、MATLABで描画する

目的:子供(といっても大学生なのだが)の授業(MATLABの課題)を支援する*1ため統計とMATLABを学ぶ。 結果: 2項分布の説明で、コイン投げの成功の確率(確率密度関数の形)がなぜ山形になるのか分からない。投げる回数が多いほうが出やすくなるのでは?…

memo: Massive tutorial

Native Instruments Massive 使い方 - YouTube Native Instruments MASSIVEの使い方|シンセ 初心者でもカンタン!|マッシヴ - YouTube

一個人がMinecraft Education Editionを使う方法は?

課題:法人でなく一個人でMinecraft Education Edition(MEE)を使いたい 結論:法人のためのMicrosoft 365 Businessを契約する必要がある(法人審査はなさそうだが個人が契約するのは規約違反?)教育に特化したMinecraft Education Edition(MEE)がありどのよ…

makecode とMinecraftの組み合わせでPythonプログラミング

pythonとmakecodeを使ってMinecraftを制御できるのだが、仕様書が無いので、どんなことができるのか体系立てて理解できない。 代替え手段としてブロックをDrag&Dropで持ってくるとPython コードに置き換わるので場当たり的にやってみる。 以下が自分の最初…

Minecraft と code connect for Minecraftを接続するがエラー、workaroundで解消

Java版MinecraftをPythonで制御する場合、いろんな構成アプリをバージョンダウンしないと動かない。 アプローチに無理があるのでは?と思えてPythonによる自動化の作業は中断した。一方、プログラミング教室では統合版Minecraftを使ってブロックプログラミン…