何度かこのブログでも話題にしてきた、STM32用MicroPythonのEthernetサポートですが、ついに正式に導入されました。
コードはD. P. Georgeさんがフルスクラッチで書き直して、以前私がとりあえずで入れていたSTM製のドライバコードは完全に置き換えたようです。
今のところ、NUCLEO F767ZIとSTM32F7 DiscoveryとSTM32F769 DiscoveryとNUCLEO F429ZIの4つのボードで動作しています。
これらのボードでは、デフォルトでMicroPythonにEthernetドライバが組み込まれます。
使い方は、networkモジュールにLANクラスが追加されていて、以下のようになります。
import network lan = network.LAN() lan.active(1)
デフォルトではIPアドレスをDHCPで取得するようになっていますが、
lan.ifconfig(('192.168.0.123','255.255.255.0','192.168.0.1','192.168.0.1'))
のようにすると静的アドレスを指定できます。パラメータはアドレス、ネットマスク、デフォルトゲートウェイ、デフォルトDNSサーバです。
通信スピードもかなり高速なので、NUCLEOボードの性能を十分発揮することができそうです!(AV機能が充実しているDiscoveryボードが欲しくなってきました・・・7~8千円するので、ちょっとお高いのですが。)
コメント