---
# System prepended metadata

title: ESP-01S (ESP8266)刷入MicroPython
tags: [IoT]

---

# ESP-01S (ESP8266)刷入MicroPython

###### tags: `IoT`

最近打算搞一點入門IoT的東西，頹廢如我已經不會Python以外的語言了，打算刷MicroPython來試試看。

## 硬體準備
* ESP-01S (ESP8266)
  由樂鑫生產的ESP8266晶片，Ai-Thinker製造的ESP-01S模組，在IoT界可謂無人不知、無人不曉的Wi-Fi模組。
  ![](https://i.imgur.com/I1V33DS.jpg)
  > 圖中左邊賣的是副廠品，右邊的是Ai-Thinker生產的原廠貨，我用起來沒有差別。
* USB-to-Serial TTL線
  燒錄韌體用，常見的晶片有PL2303、CH340晶片的接線
  我這條是PL2303有Driver問題，後面敘述。
  ![](https://i.imgur.com/NoXwESY.jpg)

* 麵包板(+3.3V電源)
  ![](https://i.imgur.com/JI7jyLo.jpg)

* 杜邦線數條

## 解決PL2303HX在Windows 10無法使用的問題
:::info
參考自:
* https://www.ez2o.com/Blog/Post/PL2303HX-Win8-Win8.1-Win10
* http://yhhuang1966.blogspot.com/2015/04/pl2303hx-usb-ttl.html
* http://yhhuang1966.blogspot.com/2015/07/pl2303hx-win8.html
:::
### 無法使用的原因
PL2303HX插入Windows 10後，自動安裝的驅動程式會造成晶片無法使用，在裝置管理員中會看到錯誤訊息。
![](https://i.imgur.com/xJtk2NI.jpg)
原因是買到的PL2303HX可能不是原廠的晶片，原廠原廠旺玖科技(Prolific)在新版本的驅動程式中直接封鎖了這些晶片，而Windows 10自動安裝的是被封鎖的驅動。

### 解法
找2009年以前的老驅動，以手動安裝的方式，引導Windows 10安裝。
安裝完成後就可以正常使用了。
![](https://i.imgur.com/XXMvY5R.png)

## 燒錄ESP-01S
ESP-01S的工作電源是3.3V，直接接上PL2303的5V會燒掉，故需要外接麵包板電源。
部分PL2303會提供3.3V輸出，但燒錄ESP-01S時的電流較大，可以導致燒錄失敗，外接電源還是比較好。

### 接線
ESP-01S
* `3V3`: 接電源`3.3V`
* `RST`: 空腳`Empty`
* `EN`: 接電源`3.3V`
* `TX`: 接PL2303`RX`
* `RX`: 接PL2303`TX`
* `IO0`: 接地`GND`
* `IO2`: 空腳`Empty`
* `GND`: 接地`GND`

PL2303
* `VCC`: 空腳`Empty`
* `TX`: 接ESP-01S`RX`
* `RX`: 接ESP-01S`TX`
* `GND`: 接地`GND`

接線圖
![](https://i.imgur.com/EpgM9X1.png)

實際圖
![](https://i.imgur.com/RWQPnEh.jpg)

### 燒錄
:::info
參考自:
* https://docs.micropython.org/en/latest/esp8266/tutorial/index.html
* http://yhhuang1966.blogspot.com/2017/04/esp-01-esp8266-micropython.html
:::
從MicroPython for ESP8266的官方文件中找到最新的MicroPython韌體，透過NodeMCU Team的Flasher刷入。

ESP-01有512K Flash跟1024K Flash的版本，所需的韌體不同，需要根據Flash Size下載。

> NodeMCU Flasher下載: https://github.com/nodemcu/nodemcu-flasher

開起Flasher，選擇接上ESP-01S的COM Port
![](https://i.imgur.com/5wzr1gl.png)

調整通訊速率為`115200`，調整Flash Size為`1024KByte(1MByte)`(符合ESP-01S)
![](https://i.imgur.com/iFOgpum.png)

按下Flash後就開始燒錄韌體了，可以在Log頁面看到燒錄的過程。
![](https://i.imgur.com/TYQsraR.png)

有Mac address出現就是有成功抓到ESP8266晶片，等待左下角跳綠燈就完成了。
![](https://i.imgur.com/cfscaSS.png)

## 測試
將麵包板電源關閉，ESP-01S的`IO0`與`EN`拔除，離開燒錄模式。

開啟Putty，Connection Type選擇Serial，調整Com Port與連線速率。
![](https://i.imgur.com/DOc7nWI.png)

之後按下Open開啟
![](https://i.imgur.com/AzTkOw5.png)

此時再將電源打開，Putty的畫面就會出現MicroPython了
![](https://i.imgur.com/qKK0J9g.png)

輸入`help()`可以看到一些基本操作
![](https://i.imgur.com/NrZ2Z2u.png)

搞定。