Embeded LinuxSmart Phone

ESP8266 ก้าวสู่ยุค Internet of Thing

By September 15, 2014 February 14th, 2017 2 Comments

Internet of Things เป็น Concept ที่ว่าของทุกสิ่งจะสื่อสารกันได้ผ่านเครือข่าย Internet ไม่ว่าจะเป็นเครื่องใช้ไฟฟ้าในบ้าน ทีวี ตู้เย็น หลอดไฟ ปลั้กไฟ จะถูกเชื่อมโยงเข้าด้วยกัน และ เราจะสามารถจะควบคุม จากที่ไหน ก็ได้ ผ่านอุปกรณ์ อย่างเช่น smart phone

ตอนนี้ อุปกรณ์หลายอย่างๆ ก็ไม่ได้เป็นแค่ concept อีกต่อไป มันเริ่มเข้ามาการใช้จริงแล้ว อย่างเช่น เริ่มมีอุปกรณ์ที่เรียกว่า Smart Thermostat ที่จะควบคุมเครื่องปรับอากาศที่บ้าน และจะเรียนรู้อุณหภูมิที่สบายสำหรับเรา  และยังควบคุมจากที่ไหน ก็ได้ อย่างเช่นโปรเจค <a href="https://nest viagra generique 50mg.com/thermostat/life-with-nest-thermostat/”>NEST และ tado

tado-cooling-box-app-room-600x450tado 

อันนี้ยังไม่รวม อุปกรณ์ควบคุมไฟฟ้าในบ้าน อีกหลายชนิด ที่กำลังจะตามมา ทั้ง Honey Well และ Phillips Hub ซึ่งทางผมยังไม่กล่าวในตอนนี้ แต่เราคงจะได้ อุปกรณ์เหล่านี้ ค่อยเข้ามาทดแทนอุปกรณ์แบบเดิมๆ

แต่บทความนี้ ผมจะพูดถึงเรื่องการที่เราจะสร้างอุปกรณ์ที่จะควบคุมผ่านไวไฟซึ่งมันเป็นปัญหาใหญ่ เราอาจจะคุ้นเคยอุปกรณ์ไวไฟ ผ่านคอมพิวเตอร์ ผ่าน smart phone แต่พอมาเป็นอะไรที่ง่ายๆ อย่างหลอดไฟ ตู้เย็น ปลั้กไฟ การจะมีไวไฟ เป็นเรื่องใหญ่เลยทันที่ เนื่องจากอุปกรณ์เชื่อมต่อไวไฟ ส่วนมากจะ CPU ประมวลผลสูงๆ และมีระบบปฏิบัติการไว้ด้วย จึงทำให้ต้นทุนมันสูงเกินที่จะใส่ลงไปในอุปกรณ์เหล่านั้น

โดยในยุคเริ่มต้น วิธีที่นิยมกันจะใช้คอมพิวเตอร์ และ เขียนโปรแกรมขึ้นมาเป็น Server สำหรับรับคำสั่ง แต่วิธีนี้ เห็นได้ชัดๆ ว่าค่าใช้จ่ายสูง และ ขนาดใหญ่ ในยุคถัดมา เราก็ใช้บอร์ด เหมือน Embedded Linex อย่างเช่น Raspberry Pi จึงทำให้เราสามารถเชื่อมต่ออุปกรณ์ กับ Internet ได้ง่ายขึ้น แต่วิธีที่กล่าวไป มันใช้ต้นทุนที่สูงอยู่ดี ที่มันเป็นแบบนี้ เพราะว่า การสื่อสารผ่าน WIFI เป็นสิ่งที่ซับซ้อน มีมาตราฐานการเชื่อมต่อหลาย Layer มาก และ เขาไม่ได้ออกแบบให้มันซับซ้อนน้อยกว่านี้ ซึ่งก็เลยรู้สึกว่า งานง่ายอย่างเช่นแค่เปิด ปิดไฟ หรือ อ่านค่าความร้อน ความชื้นในบ้าน ใช้ขนาดนี้ คงไม่คุ้มสักเท่าไร


Nest

Nest

ซึ่งการสร้างบอร์ด Embedded Linux ต้นทุนไม่ได้ถูกเลย แรกเลยแผ่นวงจร ต้องมี PCB 2-4 Layer  อุปกรณ CPU เป็น SMT ซับซ้อนเกินประกอบเองได้อีกและ ท้ายที่สุดเรื่อง firmware ทดสอบให้แน่ใจ ดังนั้น ถ้าไม่มองเห็น ตลาดจริงๆ หรือทำโปรดักส์อะไรอยู่แล้ว คงไม่มีใครลงทุนทำแน่ๆ

ดังนั้นยุค Internet of the Thing ที่อุปกรณ์ทุกสิ่งจะมีไอพีได้จะเกิดได้ ทางผมเห็นคิดว่า ปัจจัยหลัก น่าจะอยู่ที่ราคาเลย ต้องมีชิปขนาดเล็ก ที่มี WIFI ในตัวมาในตัว ถ้าบริษัทไหน ผลิตไอซีที่ทำงานดังกล่าวได้ งานนี้เกิดแน่ๆ

รู้จัก CC3000

เป็นโมดุลชิปตัวแรก ช่วยการเชื่อมต่อไวไฟ ของบริษัท Ti โดยทางบริษัทเขาจะเรียก Wireless Network Processor หรือ แปลเป็นไทย คือ หน่วยประมวลผลของเครือข่ายไร้สาย เขาออกแบบเพื่อไว้ช่วย ไมโครคอนโทรลเลอร์ อย่างให้สามารถ Arduino, AVR หรือ ARM Cortex ให้เชื่อมต่อ WIFI ได้

IMG_9053

 Ti ที่ออกแบบมาให้ใช้งานง่าย มี one click config และ ผ่าน มาตราฐาน FCC ด้วย ถ้าจะผลิตจริง ตัวนี้ล่ะเหมาะมาก โดย CC3000 ถูกนำมาใช้ใน WIFI Shiled ของ Arduino ด้วย แต่ปัญหาคือราคายังสูงอยู่ ราคาอยู่ที่ 12.00 US ที่จำนวน 1k ตัวขึ้น สั่งน้อยๆ จะได้ราคาที่ 20 US ซึ่งเราก็เลยเห็นบอร์ด WIFI Shield ราคาก็เพราะแบบนี้ล่ะครับ ต้นทุนสูงเกิน แต่คาดว่า ราคา ถูกลงเรื่อยๆ แน่ๆครับ ตามสไตล์ เจ้าตลาดครับ เปิดราคาสูงก่อน แล้วค่อยๆลดลงมาเท่ากับ ราคาตลาดอีกที่

Tech Spec ของ CC3000

  • Wireless Network Processor
    • IEEE 802.11 b/g
    • Embedded IPv4 TCP/IP stack
  • Best-in-class radio performance
    • TX power: +18.0 dBm at 11 Mbps, CCK
    • RX sensitivity: –88 dBm, 8% PER, 11 Mbps
  • Works with low MIPS and low-cost MCUs with compact memory footprint
  • FCC, IC, and CE certified with a chip antenna
  • HW design files and design guide available from TI
  • Integrated crystal and power management
  • Small form factor: 16.3 mm × 13.5 mm × 2 mm

แนะนำ ESP8266 

ต่อมา บริษัท Expressif  ผลิต ESP8266 ด้วยเทคโนโลยี 40 นาโนเมตร มีหน่วยประมวลผลพลังสูง มี WIFI และมี TCP/IP Stack ในตัว จุดเด่นที่สำคัญคือราคา อยู่ที่ 5-7 ดอลลาร์เท่านั้น  และ ถ้าหากใครต้องการพัฒนาซอฟต์แวร์บนตัวชิป ก็สามารถทำได้ ทางผู้ผลิตได้ให้ SDK ไว้ด้วย

newchip

โดยข่าวแรกที่เห็น ข่าวจาก Hackaday เอามาเขียนลงถึง chip จากจีน เมื่อต้นเดือนกันยายนที่ผ่านมา ซึ่งในปัจจุบัน ข้อมูลการใช้งานยังน้อยมาก จะมีแค่ Forum ESP8266 เท่านั้น แต่เนื่องด้วยความถูก ทางเราจึงตัดสินใจ จัดมาลองก่อนใคร มาดู spec ของไอซีคร่าวๆ

Tech Specs

  • 802.11 b / g / n
  • Wi-Fi Direct (P2P), soft-AP
  • Built-in TCP/IP protocol stack
  • 802.11b mode + 19.5dBm output power
  • Support antenna diversity
  • Built-in low-power 32-bit CPU: can double as an application processor
  • SDIO 2.0, SPI, UART
  • 2ms, connect and transfer data packets
  • standby power consumption of less than 1.0mW (DTIM3)

จาก spec จะเห็นว่า ไอซีตัวเดียวจบ นำมาต่อไมโครคอนโทรล ทำ application ได้เลย ไม่ต้องมีอะไรเพิ่มอีกแล้ว ถ้าอยู่ในขั้นตอนการผลิตจริง เราแค่ออกแบบ PCB ให้เป็นเสาอากาศ น่าจะใช้งานได้เลย

ผมจึงทำตารางเปรียบเทียบให้เห็นข้อดี ข้อเสียแต่ล่ะตัวเลย มี Electric Imp  และ  Spark IO ผมยังไม่มีโอกาสจับนะครับ

  Raspberry Pi Arduino + CC3000 Arduino ESP8266 Electric Imp และ Spark IO
การใช้งาน Embeded Linux ที่มาพร้อม
กับ TCP/IP Stack
กินไฟน้อย ,CC3300 จะต่อ
wifi ได้ มี tcp/ip stack ในตัว
กินไฟน้อย ,ESP8266 จะต่อ
wifi ได้ มี tcp/ip stack ในตัว
เป็น Cortex M3 ที่มี Wifi และ
มีระบบ Cloud Software ในตัว
ข้อดี 1. มี Community สนับสนุน
2. มีตัวอย่างการใช้งานผ่าน Internet
เยอะมาก
3. เชื่อมต่อ Hardware ได้ ผ่าน GPIO
และ USB
1. ไมโครคอนโทรลเลอร์ ใช้งาน Wifi ได้
2. ใช้อุปกรณ์น้อย ทนทานมากกว่า
3. ขนาดเล็ก กินไฟน้อย
4. ทำบอร์ด ผลิตเองได้
1. ไมโครคอนโทรลเลอร์ ใช้งาน Wifi ได้
2. ใช้อุปกรณ์น้อย ทนทานมากกว่า
3. ขนาดเล็กกินไฟน้อยกว่า
4. ทำบอร์ด ผลิตเองได้
1. ใช้อุปกรณ์น้อย ทนทานมากกว่า
2. ขนาดเล็กกินไฟน้อยกว่า
3. ประหยัดเวลา เนื่องจากตัวระบบเอง
จะมี API ที่ต่อทั้ง smart phone
และ Cloud Server มาให้
ข้อเสีย 1. ไม่สามารถผลิตขึ้นมาเองได้ chip
ถูกควบคุมโดยผู้ผลิต
2. ใช้เวลาการ boot นาน
1. ยังมีตัวอย่างการใช้งานน้อย
2. โมดุล CC3000 ราคาแพง
3. หน่วยประมวลผล ช้ากว่า Arm
ตัวอุปกรณ์ข้อมูลยังเป็นภาษาจีน Hardware เปลี่ยนแปลงไม่ได้
ราคา Raspberry Pi 1200-1600 บาท
SD-Card 250 บาท
Case 250 บาท
Wifi USB 500 บาท
Arduino 500-1000 บาท
Cc2500 1600-2000 บาท
Arduino 500-1000 บาท
Esp8266 200-250 บาท
Electric Imp 29 US
Spark IO 39 US
  ประมาณ 2200-2600 บาท รวม 2100-3000 บาท รวม 700-1250 บาท รวม 900-1279 บาท

 

เพิ่มเติมที่มา
วิธีการทดสอบ ESP8266 

ESP8266

 

2 Comments

  • Thanawai Srisompong says:

    ราคามาแรง แซงทางโค้ง ผมว่าตลาดชิพสำหรับ IoT ได้ร้อนระอุขึ้นมาอีกรอบครับ

  • คนทาง' นั้น says:

    #include // This library is already built in to the Arduino IDE
    #include //This library you can add via Include Library > Manage Library >
    LiquidCrystal_I2C lcd(0x3F, 20, 4);
    #include
    #include
    #define DHTTYPE DHT22
    #define DHTPIN D3
    DHT dht(DHTPIN, DHTTYPE);
    void setup()
    {
    Serial.begin(9600);
    dht.begin();
    lcd.init(); // initializing the LCD
    lcd.backlight(); // Enable or Turn On the backlight
    lcd.begin(16,2);
    }

    void loop()
    {
    float humid = dht.readHumidity();
    float temp = dht.readTemperature();
    // Nothing A lcd.setCursor(0, 1);
    lcd.setCursor(0, 0);
    lcd.print(“Temp =”); // Start Print text to Line 1
    lcd.print(temp,2); // Start Print Test to bsolutely Nothing!
    lcd.print(“C”);
    lcd.setCursor(0, 1);
    lcd.print(“Humidity =”);
    lcd.print(humid,2);
    lcd.print(“%”);
    Serial.print(“Temp:”);
    Serial.print(temp);
    Serial.print(” , Humidity:”);
    Serial.print(humid);

    }

Leave a Reply