前段時間買了套Arduino UNO的套件來玩玩,對於像我這種做軟件的來說,這種封裝好的硬件正合適。用來做些有趣的小玩意那還是不錯的。
1.起因
Arduino UNO 本身不支持網絡功能,跟電腦通信只能通過串口,這樣的話用Arduino做出來的東西都是死的。網上找Arduino聯網的模塊發現了 ESP8266 於是買了一個 8塊多,一元硬幣大小。
2.模塊接線
usb轉tll我的是下面這種
ESP8266與轉接器接線
- ESP8266模塊供電是 3.3 v所以黃色排針鏈接VCC和3V3
- 轉接器5V連接模塊3V3
- 轉接器GND連接模塊GND
- 轉接器TXD連接模塊RXD
- 轉接器RXD連接模塊TXD
- 模塊EN(CH_PD)接VCC ( 接高電平時:工作,接低電平時:休眠 )
- (燒錄時才鏈接此線) GPIO0接GND
3.模塊使用
AT指令
模塊出場時已經時AT指令的固件了
ESP8266使用AT指令開發示例
AT指令集下載
ArduinoIDE開發
1.在IDE的文件->首選項下添加開發板管理網址(我是1.8.4版本)
http://arduino.esp8266.com/versions/2.4.1/package_esp8266com_index.json
2. 重啟IDE在 工具->開發板->開發板管理器 下找到esp8266並安裝
3. 重啟IDE在 工具->開發板 下就會出現如下開發版 esp8266-01s選擇esp8266module下的第一項就行
- 接下來就可以用ArduinoIDE開發ESP8266模塊了
4.點亮led(GPIO2)
esp8266-01s本身就是一個mcu可以利用GPIO2來做一些簡單的控制。
注意GPIO2在模塊啟動的時候是不能下拉的,所以led的正極要接VCC負極接GPIO2
GPIO2可以用來控制低電平有效的繼電器。
int ledPin = 2;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
//開燈
digitalWrite(ledPin, LOW);
delay(1000);
//關燈
digitalWrite(ledPin, HIGH);
delay(2000);
}
上傳之后就可以看到模塊上 vcc和GPIO之間的led 在閃爍了