วันอาทิตย์ที่ 26 มิถุนายน พ.ศ. 2559

Espresso lite v2.0 คู่มือการใช้เบื้องต้น

คู่มือการใช้ 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 และเซนเซอร์
         ·  เป็นมิตรกับโปรโตบอร์ด
      

 


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
d.         CS (Chip Select)                      Master -> Slave           Not Shared

4)         ADC – เป็นตัวแปลงสัญญาณจาก Analog เป็น Digital
5)         GND – เป็น pin สำหรับต่อขั้วลบ
6)         POWER – เป็น pin สำหรับต่อขั้วบวก
Hardwares
                     1)         Breadboard (Protoboard)

                     2)         ESPresso Lite v2.0

                     3)         FTDI Platinum Program Downloader USB TTL FT232 Chip พร้อมสาย USB

                     4)         0.96” OLED Display (แนะนำรุ่น SSD1306) *[Optional Accessory]

                     5)         DHT22 *[Optional Accessory]

       Software
              Arduino IDE (https://www.arduino.cc/en/Main/Software)
การเริ่มใช้
                    1)         บัดกรีตัว espresso lite v2.0 ดังภาพ

                    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
a.       เข้าเว็บไซส์ (https://www.arduino.cc/en/Main/Software) แล้วโหลด Arduino IDE เวอร์ชั่นล่าสุด

b.      เปิด Arduino IDE แล้วเข้า Preferences



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



e.      หลังจากที่ติดตั้ง board esp8266 เสร็จให้ไปที่ Tool -> Board แล้วเลือก ESPresso Lite 2.0



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
                     2)      เลือก code จากในตัวอย่างต่างๆของ 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

1 ความคิดเห็น:

  1. เพิ่มเติม การ ตรวจหาค่า 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);
    }

    ตอบลบ