昨日は、挿すだけでIPを表示するデバイスを検討してみたけど、汎用の実装は難しいという結果になった。

挿すだけでIPを表示するデバイス|kinneko|pixivFANBOX
挿すだけでIPを表示するデバイス 2025年12月18日 08:00 RaspiOSに挿すだけでIPを表示するデバイスという記事があったのだけど、制約条件も多い。 C4KEW4LK/rpi_usb_ip_display: small usb micro controller with built-in LCD, designed to query a host rpi system and retrieve the ip address(es) and hostname of the system https://github.com/C4KEW4LK/rpi_u... 全体公開 kinneko
わたしの場合は、DHCPで取得したIPを知りたいのはRaspiOSのことが多いので、mDNSしているデバイスであれば、ブロードキャストを拾って、MACとIPは取れるのではないかと推測してみる。RaspiOSでは、デフォルトでmDNSでアナウンスを出している。
デバイスとしては、表示部のあるM5StickC Plusを使う。選んだ理由は、たまたま見えるところにあっただけ。
AIに書かせたスケッチはこれ。FANBOXに貼るとエラーで保存できないのでgistに貼った。
https://gist.github.com/kinneko/e7623aa999b5de644be1765e970acb5b
焼いてみる。SSIDとPASSは入れる。
なんかリブートしているな...


assert failed: ethernet_output /IDF/components/lwip/lwip/src/netif/ethernet.c:307 (Required to lock TCPIP core functionality!)
Backtrace: 0x400825b0:0x3ffb1f30 0x4008d5f9:0x3ffb1f50 0x40093905:0x3ffb1f70 0x4010a88f:0x3ffb20b0 0x401041d8:0x3ffb20d0 0x4010463d:0x3ffb2100 0x400d373d:0x3ffb2130 0x400e4ed8:0x3ffb2270 0x4008e222:0x3ffb2290
ELF file SHA256: 7ff4c757f
Rebooting...
lwIPのコアロックが必要な箇所を、ロック無しで呼んでいる。
場所は、etharp_find_addr() / etharp_request()あたりか。
とりあえず、ARPでMACを引くのをやめる。
動いたけど、画面がスクロールしていないな。
あと、リフレッシュで一旦ブラックアウトしている風なのも気になる。
AIに修正してもらう。
https://gist.github.com/kinneko/e7623aa999b5de644be1765e970acb5b
拾えている。

RaspiOSがターゲットの場合は、割り当てられたIPアドレスを知るのに、目的としては、これでいいんとちがうかな。
もっとも、mDNSでアナウンスされていれば、コンソールから名前で引けるので、こんなことまでする必要はないのだけどね。やってみたかっただけw

100円投げ銭 https://kinneko.booth.pm/items/1963720
オリジナル投稿:
M5StackC PLUSでmDNSを拾う|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/11084643



