chakokuのブログ(rev4)

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

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

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を使ってブロックプログラミン…

全く返金する素振りも見せないFonePawのサポート・・・

背景:10月頃、iPhoneがリンゴループに陥った。最初ソフトの設定の問題かと思って修復ツールで治せないか、FonePawの無料版の修復ツールを試した。無料版では機能制限があり、iPhoneの接続とスキャン?までは進んだので、代金を支払って修復機能を有効化し…

Raspberry Jam MOD を入れる→このアプローチはやめる

やりたいこと:PythonでMinecraftを制御したい。そのためRaspberry Jam MODを入れる 問題点:Minecraft 1.12.2まで落とす必要があるようだ。ランチャーから1.12.2を起動したがクラッシュする。原因不明(ログが見当たらない) 結論:Raspberry Jam MODを入れる…

Mac上でMinecraftのMODが動くように設定する

目的:MODを動かすためにまずForgeを入れる 結果:新たにJavaを入れず、すでに入っているMinecraft用のJavaRuntimeを使ってForge Installerを走らせてForgeをインストールした 詳細: forge-1.19.2-43.1.1-installer.jarをダウンロードしてインストールして…

MinecraftをPythonで制御したい

望み:教育用途にMinecraftが活用されつつあると知り、MODを入れるとPythonでMinecraftを制御できるらしい*1。どのようなプログラミングができるのかを理解したい 結果:取り組み中 詳細:Python側のライブラリは、mcpiを使うらしい。pcpiは直接Minecraftと…

Mac 上で Ubuntu / java を走らせたい

課題:Mac上でDockerを走らせ、Docker上でUbuntu / javaを走らせたい*1 結果:これがベストかどうかわからないが以下で入った。入ったイメージはaarch64(Arm64bit)である。 % docker pull ubuntu % docker run -it ubuntujdk-19_linux-aarch64_bin.tar.gz を…

マイクラが熱いらしい(今さら?)

とある勉強会に見学に行った。小学生向けのプログラミング教室で、「マイクラが好き」と叫んでいた。マイクラが人気らしい。マイクラは昔からあってなぜ今熱いのか??分からない。自分はあの8ビットの(ような)ドット絵がちょっと苦手で(学生の頃のApple…

故障したiPhone7を分解:液晶パネルを開ける

目的:故障したiPhone7を修理する 結果:プライヤーを使うことで液晶パネルを開けられた 詳細: 前回キッチンにあった吸盤で液晶パネルを剥がしてみようと思ったが、どこまで力を加えていいのか分からず、液晶パネルを割ってしまうのではないか?と恐れて作…

故障したiPhone7を分解してみるー>中断

取り組み:長年使ってきたiPhone7が故障したので修理に向けて分解してみる 状況:液晶パネルが無傷で開けられるとは思えず中断 ご注意:スマフォのケースを開けてしまうと技適マークは無効になるそうなのでご注意ください(自分の場合、機種変更したので、故…

メモ:Boto3でエラー -> upgradeで解消(多分)

課題: UbuntuにBoto3を入れたがエラーが出て動かない 結論:関連ライブラリを更新することで解消(多分)以下が発生したエラー >>> import boto3 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.8/dist-packages/bot</module></stdin>…

メモ: AWS CLIによるEC2管理

AWSの自動運用はBoto3を使っているけど、AWS CLIを使う必要があり調査 ec2 — AWS CLI 1.25.90 Command Referencedescribe-instance-attribute — AWS CLI 1.25.90 Command Reference aws ec2 describe-instance-attribute --instance-id i-1234567890abcdef0 …

AIで描くアートが気になる

創造性を感じられる高品質な絵画が、AIで描くことができるようになってきたと思える。かつてDeepDreamが公開されて、気持ちわるーと思ってそれ以上は気にしていなかった。AIで描くアートにはGANが使われていて、言葉を指定してすると、連携したイメージが学…

未使用品のiPhoneSE 第2世代を発注

課題:ずっと使ってきたiPhone7がリンゴループになった。修理は基板交換になりそうだった 結論:【第2世代】docomo iPhoneSE 64GB ブラック MX9R2J/A A2296を購入(未使用品:37,800円) 6年間使ったiPhone7が朝起きたらリンゴループになっていた。復旧させ…

iPhoneがリンゴループに陥ったので復旧に取り組む→iTunes/fonePawでは復旧できず(4013エラー)→ソフトウエアレベルで治すのはあきらめた

課題:朝起きたら自分のiPhone(iPhone7 256MB)がAppleマークー>消灯ー>Appleマークー>消灯を繰り返す状況になった(リンゴループと呼ぶらしい)。まともに起動できないので復旧に取り組む 結論:基板交換が必要と思われた。自力で基板交換するのもリスクが…

GASでWebAPIを試作、doPostに渡される引数の仕様がよくわからない->そのまま応答文にして確認

課題:doPostに渡される引数eの内容がよくわからない。デバッグ用のログ出力もよくわからず 結果:そのまま応答文で返すように実装、POST本文は、 e.postData.contentsで取得できると理解確認用のGASのソース function doPost(e) { //var params = JSON.stri…

Sensirion のCO2センサ(SCD30)を接続

やりたいこと:SensirionのCO2センサ(SCD30)を購入した(マルツオンラインで)。SCD30をESP32に接続してCO2を計測したい。 結果:いつものようにハマりポイントにはまったが、最終的にはCO2が計測できた SCD30は結構高いセンサですが、高精度らしいです。ここ…

サーマルプリンタ(EM5820)が届いたので接続してみる

やりたいこと:サーマルプリンタ(EM5820)をマイコンから制御して文字を印刷したい 結果:ハマりポイントがあったものの、、ESP32から制御してHello World!!と印刷できた Amazonでサーマルプリンタを購入して先日届いたのでマイコンから制御してテストプリン…

米ハーバード大学学生向けコンピュータ・サイエンス入門講義「CS50」

米ハーバード大学の学生向けに展開されているコンピュータ・サイエンス入門講義「CS50」 https://cs50.jp/定年近くまで、ソフトウエア畑で食べてきたけど、こういう講座で自分の分かっている事、分からない事を改めてさらったほうがいいのかも。ありがたいこ…