分享

*教學*Arduino WIFI(ESP8266) 初次上手應用

Arduino WIFI(ESP8266) 初次上手應用
教學 Arduino WIFI ESP8266 ThingSpeak
今天要來討論的是最近很親民的"ESP8266"
因為便宜的價位,功能也能應用的非常廣,像是"家電監控"、"遠端遙控"、"點對點溝通"、"雲端資料庫"等等
其實之前自己就已經玩過這塊,不過每當過一段時間要來玩的時候
常常無法與電腦終端機溝通上,不然就是code要重寫,花很多時間,所以這次要來為自己準備"大補帖"!!
廢話說完了,這次我們要準備的材料有:
--------------------WIFI模組應用材料----------------------
軟體:
Arduino IDE
Realterm(WIN7用終端機) 
硬體:
WIFI數據機 or 手機熱點分享 
Arduino 板子 (Uno、Nano、Mega、Mini、Yun...都可) *1塊
FT232  *1塊
ESP8266  (鮑率9600)*1塊
--------------------------------------------------------------
FT232 長這樣:
教學 Arduino WIFI ESP8266 ThingSpeak
其實也有很多種版本,也有人稱"USB轉TTL"...等等
但我用的是長的跟上圖一樣,網拍一個賣25元。
它有兩大功用: 
1.是用來燒錄ESP8266內建韌體用的,就是修改鮑率。
2.可以隨時用簡單的Realterm(終端機)來測試ESP8266是否正常。(這非常重要,因為常常有人遇到問題就認為ESP826燒壞了!)
FT232在本實驗是一大功臣,我當初玩ESP8266時沒有順便買FT232,就玩不起來,因為不知道原廠的鮑率,ESP8266就不會回話,然後也不知道怎下手,弄得自己吃不到魚,卻惹得一身腥。
FT232就先介紹到這。馬上來進入正題。
實驗方法
1.先用Realterm(終端機)測試ESP8266是否正常。(如果正常本次實驗就成功80%了~!)
2.再用Arduino取代Realterm(終端機)與ESP8266溝通,開內建序列監控室窗進行測試。
3.用ThingSpeak當作雲端資料庫,接收Arduino的各項數值。
4.完成
實驗開始
一. 先用Realterm(終端機)測試ESP8266是否正常:
1.下載Realterm (點進去按Download),下載好後安裝,先不要打開
教學 Arduino WIFI ESP8266 ThingSpeak
2. FT232與ESP8266 照此圖接。(VCC請愛用3.3V,5V會冒煙喔~)
教學 Arduino WIFI ESP8266 ThingSpeak
3. 接好後,把FT232插進電腦,確保FT232正常運作,先打開電腦裝置管理員,查看是否運作成功,如果有黃色警告標示則是安裝驅動失敗,需要更新驅動軟件。
教學 Arduino WIFI ESP8266 ThingSpeak
4.現在用管理員身分打開RealTerm,勾選Ascii 旁邊打勾。
教學 Arduino WIFI ESP8266 ThingSpeak
5.書籤點選Port,更改(1)鮑率為"9600",更改(2)Port為FT232的USB Port位置,按(3)設置完成。
教學 Arduino WIFI ESP8266 ThingSpeak
6.這邊就是見證成敗與否的時刻,(1)勾選CR,LF,CR,LF,(2)輸入AT,大小寫皆可,(3)按SendASCII,(4)看到OK即可。
如果是一片空白的話也不要氣餒,再找找看哪個細節出問題。
教學 Arduino WIFI ESP8266 ThingSpeak
7.完成實驗一,代表已經成功80%了,再接再厲!!
 (如果此階段遇到問題請去留言19樓看看)
二.再用Arduino取代Realterm(終端機)與ESP8266溝通,開內建序列監控室窗進行測試。
1.點擊進入複製 Code
2.Arduino與ESP8266照接此電路圖
教學 Arduino WIFI ESP8266 ThingSpeak
3. Code第二行是設定ESP8266的TX,RX腳位,預設是RX->4 ; TX->5 ,使用者自行更改。
SoftwareSerial mySerial(4, 5); // RX, TX 直接接ESP8266
4.開始燒錄(建議把TX,RX拔掉再燒錄,否則會燒錄失敗),燒好看TX,RX是否插好並打開內建序列監控室窗。
5.輸入AT(小寫at也可),看到"OK"如下圖,則實驗方法二完成。
(底下記得選擇NL&CR,AT才會有回應喔! 謝謝網友陳建男的補充及建議 2017/06/02 新增)
教學 Arduino WIFI ESP8266 ThingSpeak
注意:(2015/11/30補充)
ESP8266電源最好外接穩壓晶片,不要用Arduino內建3.3V,電流是不足的,會造成資料傳輸上的Error。
LD1117AL 3.3v穩壓晶片介紹
https://www.sparkfun.com/datasheets/Components/LD1117V33.pdf 
P.3有電路圖參考
三.用ThingSpeak當作雲端資料庫,接收Arduino的各項數值。
1.點擊進入複製 Code Code2(改進版)
2.更改SSID(WIFI使用者名稱)、PASS(WIFI密碼)
3.還有最後1個數據要改(GET) 先不要燒錄,這個數據取得之前要先去申請 ThingSpeak帳戶 (點擊進入教學)
4.教學結束後,到API KEY標籤處 複製 Write API Key :
教學 Arduino WIFI ESP8266 ThingSpeak
5. Code第12行 
String GET = "GET /update?key=MIN085MR4XATH8VD";
請把"MIN085MR4XATH8VD"改成自己的 Write API。
6.改好拔掉ESP8266的TX,RX再進行燒錄。燒好"馬上"插上TX,RX並打開序列監控室窗進行測試,看到以下畫面就成功了。(如果第一行不是SEND: AT 請用力的按下Arduino上的 RST )
講解一下:
第一行:傳AT給ESP8266看它是不是活的。
第二行:接收到ESP8266傳OK,代表它是正常的可以工作。
第三行:無意義,單純代表可以開始傳資料給ESP8266。
第四行:傳送 WIFI使用者名稱(手機使用者名稱)、WIFI密碼給ESP8266。
第五行:接收到ESP8266傳OK,代表成功連接WIFI基地台(或手機)。
第六行:傳送 連接ThingSpeak網頁IP 的指令給ESP8266
第七行:傳送 API+數據1+數據2 給ESP8266
"數據1與數據2從何而來?" Code 第30行,可以知道我們傳的數據1是5 ; 數據2是9 
SentOnCloud( String(5), String(9) ); 
 如果要傳更多種類的數據只要去 Code 第44行 ,依樣畫葫蘆 + "&field=3" + X + "&field=4" + Y + "&field=5" + Z +.... 即可
第八行:接收到ESP8266傳OK,代表傳送成功!
接著會開始無線迴圈傳送API+數據1+數據2 給ESP8266。
教學 Arduino WIFI ESP8266 ThingSpeak
 7.打開ThingSpeak ,看到有數據再跑,右邊的Channel Stats的 Updated有再改變的話就代表成功囉!
教學 Arduino WIFI ESP8266 ThingSpeak
8. 實驗方法三完成,實驗大成功!
(以下是我上傳的數據僅供參考)
系統持續運作天數
魚缸自動餵食時間
魚缸水溫
魚缸水位 
  

   一起來分享自己的數據成果吧~

2015/12/4 新增--
 ESP8266 Datasheet等相關資料 載點
相關應用教學: 
*教學*Arduino WIFI(ESP8266) 入門應用<網頁控制LED>
*教學*Arduino WIFI(ESP8266) Time同步設計
*情人節DIY*製作情侶專屬音樂盒
Uber Eats 優食-美食配送平台
兩隻小豬折扣碼:af20e6j4o3
使用期限:2019/11/26- 2020/3/31
新用戶可以獲得前兩次各100元折價券,共200元 
教學 Arduino WIFI ESP8266 ThingSpeak
#教學  #Arduino  #WIFI  #ESP8266  #ThingSpeak 
分類:學習

哈囉~大家好,我們是兩隻小豬🐷🐷 兩個愛吃喝玩樂的夫妻~ 最常在板橋走跳,發掘在地美食! 偶爾也會跑其他外縣市,喜愛分享各地美食&旅遊~ 截至2021.1.4文章共累積585篇, 總流量1451萬人次。

評論
上一篇
  • *教學*Arduino WIFI(ESP8266) Time同步設計
  • 下一篇
  • 更多文章
    載入中... 沒有更多了