คู่มือการใช้
ESP8266 รุ่น ESPresso
Lite v2.0 by ESPert
ESPresso
Lite v2.0 คือ บอร์ดไมโครคอนโทรเลอร์ที่สามารถต่อ Wi-Fi โดยใช้ ESP8266
chip และพัฒนาในรูปแบบของ Arduino เหมาะแก่การพัฒนาด้าน IoT
(Internet of Things) โดยตัวบอร์ดนั้นประกอบไปด้วย
· ESP-WROOM-02 (ESP8266, Flash 4 Mb)
· ปุ่มที่สามารถโปรแกรมได้
2 ปุ่ม (ต่อกับขา 0 และขา 13) และปุ่มรีเซ็ต 1 ปุ่ม
· ไฟ LED สีเขียว แบบ SMD สำหรับบอกสถานะ
· ส่วนแปลงไฟ 3.3V (กระแสต่อเนื่องสูงสุด 800mA , peak 1A )
· รับไฟ Vin: 5-12VDC ทำงานที่ 3.3V
· สนับสนุน Arduino
IDE พร้อมมี board
manager และ libraries สนับสนุน
· ดาวโหลดโค๊ดลงบอร์ดอัตโนมัติ (ไม่ต้องกด reset)
· มี PIN เฉพาะสำหรับเชื่อมต่อกับจอ OLED แบบ I2C และเซนเซอร์
· เป็นมิตรกับโปรโตบอร์ด
· ดาวโหลดโค๊ดลงบอร์ดอัตโนมัติ (ไม่ต้องกด reset)
· มี PIN เฉพาะสำหรับเชื่อมต่อกับจอ OLED แบบ I2C และเซนเซอร์
· เป็นมิตรกับโปรโตบอร์ด
PIN
1)
I2C – เป็นการติดต่อสื่อสารระหว่างอุปกรณ์ 2 อย่าง แต่ละอุปกรณ์จะเป็น
I2C Master และ I2C Slave เป็นการสื่อสารติดต่อในรูปแบบบัส (bus)
ซึ่งข้อดีของ I2C คือ ใช้สายสัญญาณเพียง
2 เส้น คือ SCL (สายสัญญาณ Serial
Clock) และ SDA (สายสัญญาณข้อมูล Serial Data) และเป็นสัญญาณแบบ 2 ทิศทาง (Bidirectional)
2)
UART – เป็นการติดต่อสื่อสารและส่งข้อมูลระหว่างอุปกรณ์แบบ
Asynchronous ที่หมายถึงไม่ต้องใช้สัญญาณ
Clock ซึ่งต่างจาก I2C ที่เป็น Synchronous
หรือต้องใช้สัญญาณ
Clock กำหนดจังหวะ UART สามารถส่งข้อมูลแบบ
full-duplex ได้หรือ รับ-ส่ง
ได้ในเวลาเดียวกัน UART ใช้ขา RX ในการรับข้อมูลและขา
TX ในการส่งข้อมูล
3)
SPI
– เป็นการติดต่อสื่อสารแบบ Synchronous
และเป็น full-duplex
SPI มีอยู่ 2 ส่วนคือ Master ที่เป็นตัวควมคุมการรับส่งซึ่งในที่นี้หมายถึง
microcontroller และ Slave ที่เป็นอุปกรณ์ที่รอรับคำสั่งจาก Master โดยใช้สายสัญญาณทั้งหมด 4
เส้นประกอบด้วย
a.
MOSI
(Master Out Slave In) Master ->
Slave Shared
b.
MISO
(Master In Slave Out) Slave ->
Master Shared
c.
SCLK
(Clock) Master
-> Slave Shared
4)
ADC – เป็นตัวแปลงสัญญาณจาก Analog เป็น Digital
5)
GND – เป็น pin สำหรับต่อขั้วลบ
6)
POWER – เป็น pin สำหรับต่อขั้วบวก
Hardwares
Software
Arduino IDE (https://www.arduino.cc/en/Main/Software)
การเริ่มใช้
2) ต่อคอมพิวเตอร์กับ FTDI
ด้วยสาย USB แล้วต่อ FTDI
เข้าด้านขา 6 pins
ของ Espresso lite v2.0 (ต่อขาให้ถูกตำแหน่ง) และสับสวิตว์ที่ตัว FTDI ให้เป็นไป 3.3 V เพราะ Espresso
lite v2.0 สามารถรับไฟได้ดีสุดที่ 3.3V หากใช้ 5V อาจจะทำตัวบอร์ดเสียได้
3) เชื่อมต่อ Internet
a. โดยการกดปุ่ม GPIO13
ค้างไว้ประมาณ 5 วินาที (มีไฟกระพริบ 1
ทีเล็กน้อย) เพื่อเปลี่ยนเป็น AP
Mode โดยให้สังเกตที่ไฟว่ากระพริบเป็นแบบระยะสั้นไวๆ
หรือมี SSID ของ Espresso
Lite v2.0 ขึ้น
b. กด connect กับ ssid ของ espresso lite v2.0
c. พิมพ์
192.168.4.1 ใน Google
Chrome หรือ Internet Explorer
เพื่อเชื่อมต่อกับ Network
ที่เรามีอยู่
d. เลือก SSID และใส่ password หากมีรหัส
e. เมื่อกด connect แล้วไฟบนตัว ESPresso
Lite v2.0 หยุดกระพริบแสดงว่าเชื่อมต่ออินเตอร์เน็ตได้สำเร็จ
4)
ติดตั้ง software Arduino IDE
c. ใส่ http://arduino.esp8266.com/stable/package_esp8266com_index.json ลงไปใน Additional
Board Manager URLs แล้วกด OK
d. เข้า Board Manager โดยเลือก Tool -> Board -> Board Manager
และติดตั้ง board esp8266 by ESP8266 Community
f. ติดตั้ง library ที่เกี่ยวข้องทั้งหมด(ใส่ชื่อ library ลงไปใน filter)
Sketch
-> Included Library -> Manage Libraries
·
ESPert
by Jimmy (current version 1.2.2)
·
Adafruit
NeoPixel by Adafruit (current version 1.0.4)
·
ArduinoJson
by Benoit Blanchon (current version 5.2.0)
·
DHT
sensor library by Adafruit (current version 1.2.3)
·
ESP8266 Oled Driver for SSD1306 display by Daniel Eichborn (current
version 2.0.2)
·
HttpClient
by Adrian McEwen (current version 2.2.0)
·
PubSubClient
by Nick O'Leary (current version 2.6.0)
ทดลองการ
upload code
1)
File
-> Example -> Espert
3)
กด verify
4)
กด upload
*** การ restore Espresso Lite v2.0 ให้เป็น default factory
1)
File
-> Example -> Espert -> _2000_Espert_workshop
2)
คลิก verify เพื่อตรวจความถูกต้อง
3)
กด upload
***ตรวจค่า MAC Address
ให้ทำการใส่โค้ดนี้เข้าไปในส่วนของ void setup()
uint8_t mac[6];
WiFi.macAddress(mac);
String macAddr;
for (int i = 0; i < 6; ++i){
macAddr +=
String(mac[i], 16);
}
จากนั้นให้ปริ้นค่า macAddr ด้วย Serial Monitor หรือ OLED
เพิ่มเติม การ ตรวจหาค่า MAC Address
ตอบลบCode ข้างบน น่าจะเป็นค่ากลับด้าน และกรณีที่ค่าด้านหน้าเป็น 0 อาจจะทำให้ไม่สามารถทราบได้ว่าเป็นหลักที่เท่าไหร่
//
#include
ESPert espert;
void setup() {
uint8_t mac[6];
WiFi.macAddress(mac);
espert.init();
delay(2000);
// print serial monitor 115200 baud
espert.print("MAC: ");
espert.print(mac[5],HEX);
espert.print(":");
espert.print(mac[4],HEX);
espert.print(":");
espert.print(mac[3],HEX);
espert.print(":");
espert.print(mac[2],HEX);
espert.print(":");
espert.print(mac[1],HEX);
espert.print(":");
espert.println(mac[0],HEX);
}