microPython 1.19.1 でパッケージインストール


「ESP32 で microPython を導入してみた」
https://qiita.com/nanbuwks/items/026224e7d6840f33a370


の環境で、外部ライブラリを導入してみます。



# 環境

- デバイス ESP32 / Lolin WEMOS 32
- ファームウェア v1.19.1 (2022-06-18) .bin をダウンロードしました。
- picocom を使ってシリアル接続


# WiFi 接続

802.11.b/g のルータ環境を用意して接続してみた。

```

>>> ssid_ = "hogehoge"
>>> wp2_pass = "fugafuga"
>>> import network
>>> sta_if = network.WLAN(network.STA_IF)
>>> sta_if.active(True)
True
>>> sta_if.connect(ssid_,wp2_pass)
>>> print(sta_if.isconnected())
True
>>> sta_if.active(True)
True
>>> sta_if.ifconfig()
('192.168.42.5', '255.255.255.0', '192.168.42.1', '192.168.42.1')
>>>
```


# mip を試してみる



https://docs.micropython.org/en/latest/reference/packages.html
では `mip` や `mpremote` を使うらしいのですが、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/b7793f4b-4ab9-5459-2966-114c1aa58978.png)

試してみると使えない。

```
>>> import mip
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: no module named 'mip'
```

latest の状況は ESP32 の 1.19.1 ファームウェアに対応ていないらしいです。

# upip を試してみる

1.19.1 のドキュメントを読んでみます。

https://docs.micropython.org/en/v1.19.1/reference/packages.html#upip-package-manager

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/139524/53fe7a0a-87ba-e1f9-e116-8291e6d5b4c8.png)


```
>>> import upip
```

こちらは使えるみたいです。


notes-pico をインストールしてみます。

```
>>> upip.install("notes-pico")
Installing to: /lib/
Installing notes-pico 0.9.5 from https://files.pythonhosted.org/packages/6d/de/5e877aefba75ed6badc1b7a154efd1f8ea9ce6602a0104d77c11c2e0adea/notes-pico-0.9.5.tar.gz
Installing picoweb 1.8.2 from https://files.pythonhosted.org/packages/c2/22/a1eb0cf52b72e818fe47acadaf8ade200d7c0c7c6fc5acc7b47f53f2a338/picoweb-1.8.2.tar.gz
Installing utemplate 1.4.1 from https://files.pythonhosted.org/packages/ba/93/5eca962e6d576b8f50bb11bc9506becc11ce4587a56b707095c3073bda06/utemplate-1.4.1.tar.gz
Installing pycopy-ulogging 0.3 from https://files.pythonhosted.org/packages/56/85/47a6790260c85f0dad460124d1f9a6dbdaa0b0ac33b0ac89194f6f106276/pycopy-ulogging-0.3.tar.gz
Installing pycopy-pkg_resources 0.2.2 from https://files.pythonhosted.org/packages/15/c7/9f4979d10aa0e4e01d929c1e8ded40d25c78941326fcfab96e044f16d538/pycopy-pkg_resources-0.2.2.tar.gz
Installing pycopy-btreedb 0.4.1 from https://files.pythonhosted.org/packages/a2/a3/086de7d0374e361359b7e387cef19af40af6fa4679426dc9e83a6e9d81c8/pycopy-btreedb-0.4.1.tar.gz
Installing pycopy-uasyncio 3.7 from https://files.pythonhosted.org/packages/e5/58/80b8b403c52ea88d44844570dbe487d7a4b3045ae0ecad0c9f4dbac0d104/pycopy-uasyncio-3.7.tar.gz
Installing pycopy-uasyncio.core 2.3.3 from https://files.pythonhosted.org/packages/31/39/9801979b79b793e6763a75927e7a55c61b84e4a8669e4a40168417e805ab/pycopy-uasyncio.core-2.3.3.tar.gz
```

インターネットからインストールされました。
なお、 notes-pico とはメモ取りアプリみたいです。

https://charlesleifer.com/blog/saturday-morning-hack-a-little-note-taking-app-with-flask/

upip から audio パッケージがインストールできるかな? と試してみましたが、

```

>>> upip.install("micropython-pyaudio")
Installing to: /lib/
Warning: micropython.org SSL certificate is not validated
Error installing 'micropython-pyaudio': Package not found, packages may be partially installed
```

パッケージが無いようです。upip で使えるものはどうやって調べるのかな?

なお、audio については I2S が標準で使えるみたいなので、こちらから調べてみることにしました。


```
>>> from machine import I2S
```