カテゴリー: プログラミング

ESP32のMicroPythonスクリプトをWiFi経由で更新

今回、システムのプログラム更新をいちいちモノを回収して行うのが面倒なので、PHPサーバにスクリプト(MicroPython)をアップロードし、ESP32(ATOM Lite)からPHPサーバにアクセスして、スクリプトの更新を行うといったことをしました。

オンラインでプログラムを更新することをOver The Airで、OTAと呼ぶらしい。

(さらに…)

RaspberryPi ZeroとPicoのシリアル通信(UART)

RaspberryPi Zero WとRaspberryPi Picoを、GPIOでシリアル通信(UART)させました。

簡単だろうと思っていたら、ジャストな情報源がなくて、意外と時間がかかりました。終わってみれば、簡単なんですが。どっちもPythonを使いました(PicoはMicroPython)。

 

<目次>
RaspberryPi Zeroの設定
RaspberryPi Zeroの設定の確認
GPIO配線
PicoからZeroにテキスト送信
ZeroからPicoにテキスト送信

(さらに…)

PyTorchの畳み込みニューラルネットワークのライブラリ化の試み2

前回の続きで、手書き数字(MNIST)を学習したPyTorchの畳み込みニューラルネットワーク(CNN)のパラメータを利用した自前畳み込み演算プログラムを、Cythonで作成して、手書き数字認識ライブラリ化しました。

前回と違い、モデルの定義を含め、殆どをCython内で記述しており、CNNとしての柔軟性はなく、目的である手書き数字認識ライブラリとしてしか使用できません。生Pythonでは、1文字1.609秒かかった処理が、0.001秒になり、およそ160倍高速化しました。前回のライブラリからは、およそ6倍の高速化です。

(さらに…)