2026年9月10日木曜日

mmbasic pcのファイルをraspicoとやりとりしたい!!

 sudo picocom -b 115200 --omap delbs /dev/ttyACM0と,もう一つxterminalを立ち上げる

1. MMBasic 側で受信待機にする

MMBasic のプロンプトで以下のいずれかを実行します(保存先に応じて選んでください)。
  • プログラムメモリ(RAM)に直接読み込む場合:
    basic
    XMODEM RECEIVE
    
    コードは注意してご使用ください。
  • SDカードやフラッシュ内のファイルとして保存する場合:
    basic
    XMODEM RECEIVE "foo.bas"
    
    コードは注意してご使用ください。
2. Linux(PC)側から XMODEM で送信する
使用しているシリアル通信環境に合わせて、sx コマンドを使ってファイルを送信します。 [1, 2]
GNU screen を使用している場合:
シリアルセッション中に Ctrl+A を押した後、:exec !! sx foo.bas と入力するか、一度端末をバックグラウンドにして以下のようにリダイレクトします。 [1]
bash
sx foo.bas < /dev/ttyACM0 > /dev/ttyACM0
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
まずエディタからもどってRAM内容をsave "foo.bas"とする
成功しているかfilesで確認する
1. MMBasic(マイコン)側で送信コマンドを実行する
MMBasicのプロンプトで、送信したいファイル名を指定して XMODEM SEND(または省略形の XMODEM S)を実行します。 [1, 2]
  • SDカードやフラッシュ内のファイルを送信する場合:
    basic
    XMODEM SEND "foo.bas"
    
    コードは注意してご使用ください。
  • 現在メモリ(RAM)にあるプログラムをそのまま送信する場合:
    basic
    XMODEM SEND
    
    コードは注意してご使用ください。
コマンドを実行すると、マイコンはPC側からの受信開始合図(NAK文字など)を待つ状態(待機状態)になります。 [1, 2]
2. PC(Linux)側で XMODEM 受信を実行する
マイコンが待機状態になったら、60秒以内にPC側で受信コマンドを実行してください。Linuxでは rx コマンド(XMODEM受信ツール)を使用します。 [1]
一般的なシリアルポート(例: /dev/ttyACM0)で直接やり取りする場合:
端末(ターミナル)を開き、以下のコマンドを実行してファイルを受け取ります。
bash
rx foo.bas < /dev/ttyACM0 > /dev/ttyACM0
コードは注意してご使用ください。

tinygo on raspico(dht11)

 チャットくんに聞いてdht driverのヴァージョンに沿って以下に成功

package main

import (

"fmt"

"machine"

"time"

"tinygo.org/x/drivers/dht"

)


func main() {

// DHT11 DATA → Pico GP0

pin := machine.GP0

sensor := dht.New(pin, dht.DHT11)

for {

// 温度と湿度を同時に取得

temp, hum, err := sensor.Measurements()

if err != nil {

fmt.Printf("DHT11 Error: %v\n", err)

} else {

fmt.Printf(

"Temperature: %d.%d C, Humidity: %d.%d %%\n",

temp/10,

temp%10,

hum/10,

hum%10,

)

} // DHT11は最低でも約1秒空ける

time.Sleep(2 * time.Second)

}

}


2026年9月7日月曜日

tinygo kumikomi-IT(chap7)

 flashはうまくいかんしboot modeはしばしば壊れ再起動が必要なんで

ubunt24 8Gmemoryでやることにした ubuntu26 26Gmemoryは再起動が遅い!

chap7をルートにしてgo mod init しておく

tinygo build -target wioterminal -o main.uf2 ./access_test/などとやる

できたはuf2をboot modeにしたwioterminalにコピペ chap7で

 tinygo monitor /dev/ttyACM0 とやると結果を見ることができる 


2026年9月4日金曜日

中華ミニPC問題/wioterminal問題/go and tinygo reinstall

 arduiniIDE2ではスムーズにいくブートモードへの移行(IDEが勝手にやってくれる)

tinygoではブートモードにリセットで移行しても失敗おおいのでubuntu再起動が必須となる

中華MINIーPCは再起動も起動も遅いんでtinygo on wioterminalは。。。。

一方raspicoでブートモードボタンおしながら指し直しブートモードにすると 

tinygo flash -target pico main.goがあっさり成功 中華ミニPCで十分いける 

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ambd_flash_toolはウィンドウズでないと成功しなかった

https://github.com/sago35/tinygobook/blob/main/README.md にあるとおり

--branch JPでgit cloneが重要だった ウィンドウズでもウブンツでも

tinygo flashはできなかったが、ウブンツではブートモードの移行に失敗多く

システム再起動が多かったが、ウィンドウズではばっちりだった

いまのウィンドウズでは容量がすくなくarduinoでいろいろlibをいれるとレッドになりそ

よってtingyo専用やな 場合によってはwsl2もやめんといかんかも

------------------------go and tinygo 入れ直し----------------------------

Ubuntu環境でGo環境とTinyGo環境をきれいにアンインストールし、正しい順番で再インストールする手順は以下の通りです。
TinyGoはGoに依存しているため、必ず①Goの入れ直し → ②TinyGoの入れ直しの順番で行います。

1. 既存の環境を完全に削除する
古いバージョンや不整合を防ぐため、まずは現在の環境を削除します。
  • Goの削除
    bash
    sudo rm -rf /usr/local/go
    
    コードは注意してご使用ください。
  • TinyGoの削除(APTで入れた場合とバイナリで入れた場合の両方に対応)
    bash
    sudo apt-get remove --purge tinygo
    sudo rm -rf /usr/local/bin/tinygo /usr/local/lib/tinygo