###### tags: `FM608A`
# 讓 D1 mini 控制板連上現有的無線網路
在《[AI 生醫感測健康大應用](https://www.flag.com.tw/books/product/FM608A)》, 我們都是讓 D1 mini 建立自己的無線網路, 然後讓手機連上這個自建的無線網路。這樣的做法雖然可以省去架設無線網路的麻煩, 但是因為 D1 mini 自建的無線網路是區域網路, 無法聯外, 導致手機也無法連到外網, 如果這會造成困擾, 也可以改採讓 D1 mini 與手機都連到同一個現有的無線網路, 或是直接讓具有行動上網能力的手機分享網路給 D1 mini 使用。
要做到上述方式, 就要小幅改寫原本的範例, 本文以〈LAB3 無線介面測謊器〉為例, 說明如何修改。
## 修改程式
請開啟原範例檔案, 然後依照以下步驟修改程式:
1. 加入熄滅板子上內建 LED 的積木:

我們會使用內建的 LED 作為是否連上既有無線網路的指示燈, 方便實驗時判斷是否已連上網路。
1. 加入**ESP8266 無線網路/連接名稱...的無線網路**積木, 嘗試連結到指定的無線網路:

請記得修改積木中的欄位, 填入你想連接的無線網路。
:::info
D1 mini 僅能連接 2.4GHz 頻率的 Wi-Fi 無線網路, 請勿使用 5GHz 頻率的 Wi-Fi 無線網路。若使用手機分享網路, 請確認手機設定的分享網路頻段。
:::
1. 由於本程式若沒有連上無線網路並無法運作, 所以接著加入檢查是否連上無線網路的程式。請先加入**流程控制/重複...當**積木:

再加入**邏輯/非**積木以及 **ESP8266 無線網路/已連接到無線網路?** 積木:

再加入**時間/暫停 1000 毫秒**積木:

如此即可在還沒有連上無線網路時暫停 1 秒鐘, 然後再重新檢查是否已連上無線網路?只有在連上無線網路後, 才會離開這個重複執行的迴圈。
1. 加入點亮內建 LED 的積木:

記得改成低電位才能點亮內建的 LED,如此即可在連接上無線網路後亮燈知會使用者。
1. 由於 D1 mini 沒有顯示裝置, 無法顯示它所獲取的 IP, 簡單的做法可以透過序列埠將 IP 顯示在電腦上, 這裡我們採取一個特別的做法, 依舊讓 D1 min 建立一個不會使用到的無線網路, 並讓網路的名稱顯示 IP。請在原**名稱欄位**加入一個**文字/建立字串使用**積木:

將原本名稱欄位內的字串積木移到新積木的第一個欄位, 並修改成不會和現場其他人混淆的名字。
1. 加入 **ESP8266 無線網路/已連接無線網路中的 IP** 積木到第二個欄位中:

## 測試
1. 完成修改後, 請上傳本實驗的網頁檔, 確認程式中已填入要連接的無線網路名稱和密碼後上傳程式。
1. 上傳完成後等到板子上內建的藍燈亮起。
:::info
若等待許久都不見藍燈亮起, 請回頭檢查是否程式中的無線網路名稱與密碼有誤?或是連接的無線網路是 D1 mini 無法使用的 5GHz 頻段?
:::
1. 請確認手機也是連接到同一個無線網路, 然後再搜尋無線網路, 找到程式中填入名稱開頭的無線網路, 像是剛剛我指定的名稱是 "lie", 就可以看到 "lie" 開頭的無線網路:

請**不要連接這個無線網路**, 我們是利用它來顯示 IP, 請記下後面顯示的 IP 位址, 以本例來說就是 192.168.100.15。
1. 開啟瀏覽器, 在網址列填入剛剛記下的位址:

就可以看到測謊器的頁面了。