2026年11月12日木曜日

鹿

 陸前高田市で自転車を乗っていたら、野生の鹿が闊歩していてびっくり。






2026年11月10日火曜日

APRSパケットAFSKデコーダと地図表示アプリ

APRSパケットを無線機で受信、スピーカーから出力し、スマホの内蔵マイクからその音を取り込んでデコード、地図に表示するPWAを作ってみました。

PWA(Progressive Web Apps / プログレッシブ・ウェブ・アプリ)とは、Webサイトをスマートフォンやパソコンの「アプリ」のように使えるようにする技術や仕組みのことです。ブラウザ(ChromeやSafariなど)で開いたWebサイトを、あたかもApp StoreやGoogle Playからダウンロードした「ネイティブアプリ」であるかのように操作できます。

添付動画は、ハンディートランシーバーでAPRSパケットを受信し、Macbookの内蔵マイクでその音を取り込み、Chromeブラウザでデコード、地図表示している様子を示したものです。

ブラウザで動作しますので、Windows、macOS、アンドロイドスマホ、iPhone, iPadで動作します。


2026年10月20日火曜日

Tracker3 (OT3m)の制御で、ハマった話

PCからTracker3 OT3mを制御しようとしたのですが、うまくいかず、解決まで半日かかりました。結論から言うと原因は、コマンドを速く送りすぎたからの模様です。

Agent Systemsが提供しているOTWINCFGという設定ツールを使うと、いろいろな設定が問題なくできます。しかし、自作のPythonプログラムから設定しようとすると、うまく動作するコマンドもあれば、動作しないコマンドもある。。。。。特に、今回、使用するUSBKISSコマンドが動かない。試しに、TeratermからUSBKISS ONとマニュアルタイプすると動作する。。。

ネットで有用な情報がないか、いろいろ見ていたら、ボーレートが速すぎるとマイコンが処理しきれないという書き込みがあり(Tracker3とは全然関係ないマイコンの話)、コマンドを送り込むスピードの問題なのか、、、そこで、一文字送るごとに、若干のWaitを入れてみたところ、動作するようになりました。


"""Writes data to the serial port one byte at a time with a delay."""
def writeSlow(self, data, delay=0.01):
    for byte in data:
        self.ser.write(bytes([byte]))
        self.ser.flush()  # Ensure the byte is sent immediately
        time.sleep(delay)



鹿

 陸前高田市で自転車を乗っていたら、野生の鹿が闊歩していてびっくり。