Arduinoでの開発をAntigravityで

ESP32 S3 + LVGL9 + LovyanGFX の開発が複雑で面倒で頓挫しているプロジェクトがありました。
ふと、AntigravityというかGeminiに「LVGL9って知っていてプログラム書けるの?」と聞いてみたら「書けます」との回答。
半信半疑ながら、頓挫していたプロジェクトを再び始動し、Antigravityと対話し始めました。ハードウエアに近い部分の、LCDハードウエア、LovyanGFXの設定、LVGLの設定にはちょっと時間がかかりましたがそれでも、無事に動作するようになりました。
自力では面倒で出来なかったことをコーディングエージェントは忍耐強く調べてコーディングしてくれます。
また、思ったよりもArudinoの事情、ESP32のクセ等も知っているようで、以前よりもエラーコレクションもしっかりした丁寧なコードで目的のものが作れる事がわかってきました。

使用方法としては、基本的にArduinoでプロジェクトを作り、そのプロジェクトのフォルダをAntigravityでいじくり回すという感じです。Arduinoはファイルの書き換えには敏感なのでAntigravityが書き込み完了すればすぐにビルド、書き込みが出来ます。
ボードの設定等もあるので、ボタンを押す手間はありますがArduino IDEで書き込むのがオススメです。

教育、趣味性の高いArduinoでの開発に、コーディングエージェントを持ち込むのもどうかと思いつつ、ラクに希望の物が作れる快適さはなかなかのものです。

カテゴリー: Arduino関連, ESP32 | コメントする

GPS LOG ANALYZER 作成

YAMAP等からエキスポート出来る、GPX, TCX, KMLなどのGPSログファイルを見るページを作成しました。
山のルートを楽しむために、3Dビューや著名な山名の表示などの機能を備えています。

起動後のデモモードでは、日本の100名山、そして、世界の8000m以上の山を3Dビューで楽しむことが出来ます

また、ルートを家族、知人、友人に見てもらうための、共有モードもあります。
この共有モードは入力されたルートを圧縮し、urlのみで表示できる様にしてあります。
(サーバに保存している訳ではありません)

いろいろな楽しみ方でルートを楽しんでください!

https://www.motohasi.net/GPS/GPSLogAna.php

カテゴリー: このサイト全般 | コメントする

POPFileを現代化

もう、かなり前からPOPFileにお世話になってきました。
スパムメールとの戦いはPOPFileがあったからこそ乗り切れたと言えるくらいお世話になってきました。
PCを入れ替える事があっても、まず最初にPOPFileの移行からが恒例の行事でした。
ところが、オリジナルのPOPFileは15年前から更新が止まり、ソースは公開されていてアーカイブとはなっていませんが沈黙状態となっています。
https://github.com/andresth/POPFile
公式のダウンロードページ(https://getpopfile.org/docs/jp:download)からもダウンロードが出来なくなっており、使い続けたい身としては危機感を感じていました。
(窓の杜からはSSLアップデートファイルを含めダウンロード可能です。https://forest.watch.impress.co.jp/library/software/popfile/)

新たなPCへの移行タイミングで、POPFileの代替ソフトウェアを探してみましたが、個人使用、日本語環境で、となると移行先にふさわしいものが見つけられませんでした。

ふと、考えついたのは、生成AIにモダナイゼーションをさせてみてはどうだろうか?でした。
ソースコードが大変ありがたいことに公開されています。
まず、Geminiにその可能性を打診すると、Windows環境ならばGo言語でモダナイゼーションするのがオススメと言ってきました。可能と言うならば、生成AIの能力を試すべく行ってみる事にしました。

モダナイゼーションの実行は、リリースしたばかりのGoogle Antigravity2で行う事にしました。多少不安を感じながらも基盤モデルは Gemini 3.5 Flash(medium) を使用しました。

試作の完成までは3時間ほど。欲を出して自分の使い方仕様にに機能追加等の細部の修正を行っても10時間ほどで、オリジナルPOPFileから移行可能なPOPFile-Goが完成しました。
Go言語のソースを一文字も見ることなくプログラムが動くようになる…という、今まででは考えられなかった事が現実になりました。
とはいえ、人間的にはまだまだと感じる事はいろいろと発生しました。3時間から10時間までの間は、ダメだしが多かったです。実装の難易度がある部分で見た目的にわからない部分は知らっと端折る傾向にありました。「これ、うまく動いていないみたいだけれど?」と質問すると「鋭い指摘ですね!」と返してくる。すでに、人間離れした能力を発揮していますが、真に頼れるようになるまでにはもう少し何かが必要そうです。

以下、作られる方の参考になればと今回作成したPOPFile=Goの概要を記載しておきます。

POP3プロキシ (従来機能)
ベイズ判定エンジン (従来機能)
形態素解析 Kagome (エンジン変更)
SQLite (従来機能)
WebUI (従来機能だが刷新)
IMAP監視エージェント (Gmail同期機能 (Gmailify代替) 付き)
タスクトレイアイコン (Windows常駐設計)

実行時構成も、多言語化していないこともあり、同一フォルダに「popfile.exe」「popfile.db」だけで動くようになりました。

カテゴリー: PC関連 | コメントする

ロリポップ!レンタルサーバーのPythonが動かない場合に確認してみてください

ロリポップ!レンタルサーバーのPythonが動かない… Internal Server Error 500

改行コードが「LF」でないと、エラーになります
事例に書かれていなかったので同じトラブルで時間を溶かさないために共有します
unix系なので当たり前ですが書いておいて欲しいところですね

カテゴリー: web関連 | コメントする

3D 太陽と月の軌跡シミュレーターページ登場

3D 太陽と月の軌跡をシミュレーション出来るページを作成しました。

このページは、指定した場所と日時における太陽と月の1日の動きを、3D空間で直感的にシミュレーションできます。平面的な図だけでは捉えにくい天体の高度や方位の変化を、自由な視点から視覚的に確認できます。

主な機能と特徴

  • 天体の軌跡を3D可視化: 太陽(オレンジ)と月(白)が空をどのように通るのか、その軌跡を3Dモデルで表示します。
  • タイムスライダーによる時間操作: スライダーを動かすことで、1日の時間の経過をシミュレーションし、任意の時刻の天体位置を確認できます。
  • 自由な視点変更: マウスのドラッグで視点を回転させたり、スクロールでズームしたりすることで、地上から見上げた様子や空からの俯瞰など、好きな角度から観察可能です。
  • 詳細な天体データの表示: 指定した条件における「日の出・日の入り時刻」「月の出・月の入り時刻」に加え、「月齢」もリアルタイムに計算して表示します。
  • 特殊な現象の判定: 高緯度地域などで発生する「白夜」や「極夜」の状態も自動で判定して通知します。

ご利用にあたって

  • 本ツールは天体の動きを視覚的に理解することを目的としています。シミュレーション上の計算にはわずかな誤差が含まれる場合があるため、厳密な観測データではなく、学習や計画の補助としてご活用ください。

このページには直接行くことは出来ません。
日本と世界の日の出日の入り時間 ページで場所を特定し 「太陽と月の軌跡シミュレーター」 ボタンからご使用ください。

カテゴリー: このサイト全般, 更新記録 | コメントする

motohasi.netのページデザインの変更が一段落しました

一通りデザインの変更を行いました。
利用頻度が低い、コンテンツ内容が古くなったものについては削除はしませんがそのまま放置する方針としました。
引き続きのご利用お待ちしております。

カテゴリー: このサイト全般 | コメントする

カルボーネン法目標心拍数計算 のページ更新

カルボーネン法目標心拍数計算のページを更新しました。

デザイン変更、PC、スマートフォン兼用のレスポンシブデザイン化をしています。

https://www.motohasi.net/Misc/Karvonen.php

カテゴリー: 更新記録 | コメントする

IPV4 サブネットマスクの計算 のページを更新

IPV4 サブネットマスクの計算 のページを更新しました。

デザイン変更、PC、スマートフォン兼用のレスポンシブデザイン化、内部ロジック変更と出来ることは変わっていませんが、刷新しました。

https://www.motohasi.net/Misc/IPV4SubnetCalc.php

カテゴリー: 更新記録 | コメントする

motohasi.netのページデザインを更新していきます

前回のデザイン更新がいつだったかわからないくらい前ですが、そろそろ見た目が古くなってきたので全体的に変更を行っていきます。

コンテンツ的に賞味期限が切れているものについては、削除は行いませんが、そのままとさせていただきます。

カテゴリー: このサイト全般, 更新記録 | コメントする

KEIYO AN-S092 を購入

クルマ用にKEIYO AN-S092 を購入しました。

購入早々、形状から機器の内部構成が気になりました。
市場に出回っているごく一般的なWiFiルータよりも幅がある形です。
開封し中身を覗いてみると、主要構成部品としてSIMCOM 製の SIM7600JC-H + W58L が入っていました。
加えて、大きな体積を占めて、3.3Fのスーパーキャパシタが2つ入っています。
電源を切った時にLEDがなかなか消えない挙動が不思議だったのですがこれで理由がわかりました。
「クルマ専用」設計なので、電源がアクセサリーに接続され、アイドリングストップ時などのエンジン始動時等の電圧電圧降下に対応する設計思想と想像します。
筐体には「Made in China」の記載です。

SIMCOMのSIM7600JC-HはLTE Cat 4に対応し、ダウンリンク最大150Mbps、アップリンク最大50Mbpsの性能があります。
LTE-FDDの対応バンドは、B1/B3/B8/B18/B19/B26でDocomo/Softbankの主要バンドに対応します。
https://www.simcom.com/product/SIM7600X-H.html
SIMCOMのW58Lの詳細は見つかりませんでした。
以降はW58の仕様についてです。
QualcommのQCA-9377-3を使用したWi-Fi & BT4.0のモジュールです。
WiFiとしては2.4GHz/5GHz、a/b/g/n/acに対応となっています。
AN-S092としては2.4GHz b/g/nとなっており5GHzは使用できません。
W58は製品紹介ページにもSIM7600X-Hシリーズと組み合わせて使用することがサポートされると書かれています。
https://www.simcom.com/product/W58.html

ソフトウエア面ですが、
機器の状態表示、設定をするためにはログインをする必要があります。
SSID/パスワードを入れて接続しているので、このような構成は?でちょっと面倒です。
表示に使用できる言語は、日本語、英語、中国語です。
現在は無効化されていますが、加えてロシア語、アラビア語が設定にありました。

デフォルトの設定画面を表示するIPアドレスは 192.168.225.1 。
接続可能機器数の設定が出来、1~6台までとなっています。
設定を1台に設定してから複数台を接続してみましたが特に弾かれることなく普通に接続できました。この設定が何目的なのかは不明です。

表示されたhtmlを読んでみると、jquery、vueが使用されていました。
コードは難読化されておらず非常に読みやすい形で見ることが出来ます。
コードのコメントは見る限りすべて中国語(簡体字)。
そちらの方面で作成されたのでしょう。

ページ内で使用されている機器の状態表示のための情報、設定については、http postを通じて行われています。
ログイン処理で返される「LoginId」を取得できれば、「TRACKID」と「LoginId」をcookieに設定することにより、外部のプログラムから操作することが出来ます。
AN-S092からの応答はすべてjsonで返ってきます。

ビルトインのコントロールページ以外でも情報の取得は可能です。

カテゴリー: データ通信機器 | コメントする