2017年3月20日 星期一
一個大哉問,ESP8266能做什麼? 不知位讀者是否有思考一問題,我們花費這麼時間,金錢,人力,物力去學習ESP8266的相關技術,那ESP826晶片在我的專案或應用程式中扮演什麼角色,角色確定了在設計整個專案時我們才可能檢視它是否有按照我們的設計理念去完成工作。其實這才是讀者要去思考的問題,如你不能了解ESP8266可以做的事情,你必須花費更多的時間去尋找更多學習的更多的技術,花費更多的金錢去建構你的專案。如此你的專案在功能在技術上是可行的,但在商業模式考量下是毫無競爭力可言的。
註:單一節點的元件內容可能是不同的,可能一個簡單地的ESP模組,或ESP模組+傳感器或是Arduino+ESP8266+傳感器,要依你的專案特性決定。
ESP8266 三種應用模式
下面文章可以幫助你思考你可以如何應用ES8266,ESP8266是目前市場上較便宜的晶片,如可以使用ESP8266在你的專案設計,將可以降低你整個專案的開發成本。根據Wfi 無線網路的使用方式可分為AP模式及STA模式,且根據ESP8266的規格書說明,ESP支援STA/AP/STA+AP 三種模式,那這三種模式是什麼意思?目前ESP8266大致可以扮演3種應用角色:
- AP (Access Point-又叫SoftAP,HostAP)模式: ESP8266當作被動方或Server端,當作網站連線時的接受者。 AP 模式是最常見也是應用最廣泛的運作模式。它可將無線訊號轉換為數據封包,讓智慧型手機、平板電腦…等行動裝置,透過實體線路上網。而這種運作方式在自動控制或物聯網領域中扮演Arduino的功能擴充的角色,正如眾所皆知,Arduino本身並沒有Wi-Fi功能,但ESP8266有Wi-Fi功能,所以我們在Arduino的專案中需要進行Wi-Fi無線收發時,要透過ESP8266來實現。使Arduino可以連上網路進而傳輸資料至後端或雲端。簡單說,這是把ESP8266當成Arduino的一個Wi-Fi擴充卡(Shield)來用,如此Arduino+ESP8266就可透過Wifi和外界無線傳輸資料至後端設備。所以當ESP8266設定在AP模式時,我們必須知道並且設定你的SSID和 password如此我們即可建立連線和無線傳輸資料。例如我們可將溫溼度傳感器與ESP8266連接建立一個偵測的節點,而在設計節點時預先在ESP8266的執行程式中寫入SSID=xxx,Password=yyy,讓ESP8266以Server的角色,定時把遠端的溫溼度資料回傳ESP8266上,再透過路由器傳遞到區域網路上的某個網站(Web Server)或雲端,以便定時統整記錄溫溼度資料。這方面的技術,例如安裝方式、指令、程式可在很多Arduino的相關書籍中找到。
例如參考下面的網址
#使用ESP8266 wifi模組+DHT 溫溼度感測器上傳thingspeak
簡單說AP mode 是為了讓ESP8266當做Server,讓其他設備連線至ESP8266。你可以使用這模式將ESP8266去建立自己的私人網路。
- STA(Station) 模式: STA模式在Wifi無線路中扮演獨立運作的Client角色,當作網站連線時的發動者,將ESP8266連線到現有網路。例如在實例應用中我們可以把ESP8266獨立運作當做client端連線至後端的Server。簡單說Station mode (工作站模式)是為了讓ESP8266 連線至附近的路由器,這是預設的模式。
例如參考下面的網址
# ESP8266 Web Server Tutorial
# How To Use the ESP8266 and Arduino as a Webserver
- STA+AP模式:AP_STA模式可扮演獨立運作的Client+Server的混合角色,當ESP8266當作Server,即可開放線讓 Client來連線取得服務,這種應用方式最少,原因是ESP8266硬體規格、效能擔任此角色會比較吃力,在ESP8266的規格書中有提到,最多僅能有5個TCP連線,但不表示這類的應用不存在,實際上在網路上也有人實作類似的專案。例如用ESP8266連接一個電源插座,然後透過Web瀏覽器遙控插座的開或關,這是當做Server的角色,但有時我們也會希望這個裝置傳送Client的訊息給Server傳。這種也可想成是P2P的運作模式。
# ESP-8266 Smart Dishwasher (smart Plug / Smart Socket)
知道了這些模式的差異,相信讀者可以明白ESP8266可做的事情,也可思考出什麼專案應用要設定成什麼運作模式,因為ESP8266運算能力可能會有所限制,但有些專案可能不需要很強的運算能力但需要傳輸能力,或者有些專案需要有個存取點,偵測點等等,了解這些有幫助讀者思考ESP8266的應用方向。
留言列表