วันจันทร์ที่ 31 สิงหาคม พ.ศ. 2558

Sming Framework ตอนที่3 (Basic GPIO Input/Output)

ในตอนนีี้เราจะมาทำการสร้างโปรเจ็ค HelloWorld สำหรับชาว Hardware กันนั่นก็คือ ไฟกระพริบ หลังจากที่เราทำการสร้างโปรเจ็คใน Eclipse และ กำหนดค่าต่างๆ เรียบร้อยแล้วนั้นเราจะไดเโปเจ็คโล่ง ๆมาแบบนี้

Create source file


จากนั้นให้เราเปิดไปที่ Sample ของ Sming Framework ในที่นี้จะยกตัวอย่าง Basic_Blink


ให้เรา copy 2 File กับอีก 1 Folder คืด Makefile, Makefile-user.mk, include ไปไว้ใน Project ของ Eclipse วิธีการง่าย ๆ คือ คลิกเลือกที่ 2 File กับ 1 Folder นั้นแล้วกด Ctrl+C แล้วไปคลิกเลือกที่ Root project ใน Eclipse จากนั้นกด Ctrl+V ก็จะได้ดังรูปด้านล่าง


จากนั้นให้ทำการเพิ่ม Folder ใน Project โดยให้คลิกขวาที่ Root project แล้วเลือกที่เมนู New -> Folder


กำหนดในช่อง Folder name เป็น app จากนั้นกดปุ่ม Finish


ต่อไปเราจะมาเพิ่ม source file ให้คลิกที่ Root project -> app แล้วเลือกที่เมนู New ->Source File


แล้วกำหนดชื่อในช่อง Source file เป็น application.cpp จากนั้นกดปุ่ม Finish


สิ่งที่เราได้จากขั้นตอนต่าง ๆ




หลังจากที่เราได้ main source file มาแล้วเราต้องทำการเพิ่ม include header เขามาก่อนที่จะใช้งานดังนี้


และต้องทำการเพิ่ม function ที่ชื่อว่า init เข้าไปด้วย


Source code



Create Make Target

ขั้นตอนการสร้าง Make Target ให้คลิกที่ Tab Make Target ที่อยู่ทางด้วนขวามือ ให้มองหาชื่อที่เป็นชื่อเดียวกันกับชื่อโปรเจ็คทร่เราทำงานอยู่ แล้วทำการเพิ่ม Target ตามรูป



Make Target
  1. all คือสั่ง build source code
  2. clean คือสั่งล้าง output ที่ได้จากการ build
  3. flash คือสั่ง flash firmware
  4. rebuild สั่ง rebuild source code ใหม่
การใช้งาน Make Target ก็แค่ double click ที่คำสั่งแต่ล่ะคำสั่ง

ขอให้สนุกกับ Sming น่ะครับ






Donate

วันเสาร์ที่ 22 สิงหาคม พ.ศ. 2558

Sming Framework ตอนที่2(การกำหนดค่าต่าง ๆ ใน Eclipse)

การกำหนดค่าต่าง ๆ ใน Eclipse

ก่อนที่จะเริ่มเขียนโปรแกรมเราด้วย eclipse เรามาทำความรู้จักส่วนต่างและการกำหนดค่า
ของ IDE กันก่อน


จะแบ่งออกเป็น 3 ส่วนใหญ่ ๆ คือ
  1. ซ้ายมือสุดจะเรียกว่า Project Explorer เป็นส่วนที่แสดงรายการ Project ของเราที่ได้สร้างเอาไว้แล้ว
  2. ตรงกลาง ในส่วนนี้จะแบ่งออกเป็นอีกสองส่วน คือส่วนบน กับส่วนล่าง ส่วนบนจะเป็นพื้นที่ใช้สำหรับการเขียน Code ส่วนล่าง เป็นส่วนรายงานผลต่างไม่ว่าจะเป็น Error จากการ compile หรือรายงานผลที่ได้จากการ compile
  3. ขวามือสุด ที่จะใช้งานคือ Tab Make Target จะเป็นชุดคำสั่งที่ใช้ในการอ้างอิงกับ Make File ด้วยคำสั่ง make

การสร้างโปรเจ็คใหม่

ที่เมนู File เลือก New -> C++ Project


จากนั้นจะเจอหน้าต่าง C++ Project ให้เลือกไปที่ Makefile project -> Empty Project ส่วนทางขวาในช่อง Toolchains ให้เลือกเป็น Cross GCC จากนั้นใส่ชื่อโปรเจ็คในช่อง Project name ด้านบน จากนั้นกดปุ่ม Finish


ที่ root project ให้คลิกขวา เลือก Properties จะเจอหน้าต่าง Propertied for xxx ให้เลือกที่ C/C++ General -> Paths and Symbols คลิกเลือกที่ Tab Include


คลิกที่ปุ่ม Add ขวามือสุดเพื่อทำการเพื่ม Include directories 


จะเจอหน้าต่าง Add directory path ให้คลิกเลือกที่ Add to all languages แล้วคลิกที่ปุ่ม Variables จะเจอกับหน้าต่าง Select build variable เราจะมาเพิ่มในส่วนของ ESP_HOME


พิมพ์ที่ช่องด้านบน ESP จากนั้นจะได้ข้อมูลดังรูปแล้วคลิกเลือกที่ ESP_HOME 


จากนั้นทำการเพิ่มอีกดังรูป


ต่อไปเราจะมาเพิ่มในส่วนของ SMING_HOME





จากนั้นกดปุ่ม Ok จากนั้นทำการเพิ่มอีกดังต่อไปนี้



เมื่อทำการเพิ่ม Include directories จนครบแล้วจะได้ดังรูป


มาถึงตอนนี้เราก็พร้อมที่จะเขียนโปรแกรมกันแล้ว





Donate

วันอาทิตย์ที่ 16 สิงหาคม พ.ศ. 2558

Sming Framework ตอนที่1(บทนำ)


Sming Framework คืออะไร?

Sming Framework คือ Framework ที่ใช้ในการพัฒนา WIFI Module ESP8266 ในรูปแบบของ Native โดยใช้ C++ เป็นภาษาหลักในการพัฒนา ซึ่งท่าผูพัฒนาได้เตรียบ object ต่างให้เราได้ใชงานอย่างสะดวก ตัวอย่างเช่น
  1. FtpServer
  2. HttpServer
  3. HttpRequest
  4. HttpResponse
  5. TemplateFileStream
  6. HttpClient
  7. MqttClient
  8. Timer
  9. WifiAccessPoint
  10. WifiStation
  11. JsonObject
  12. SpifFS
เครื่องมื่อที่ใช้ในการพัฒนา

ในการพัฒนา ESP8266 ด้วย Sming Framework นั้นจะใช้ Eclipse CDT (C++) ในการพัฒนา 


บทความในเรื่องนี้จะมีทั้งหมด 20 ตอน
  1. การกำหนดค่าต่าง ๆ ใน Eclipse
  2. Hello World (Blink)
  3. Basic Serial
  4. Serial Message Receive Callback
  5. Basic GPIO Input/Output
  6. WFI Station Mode
  7. WIFI AP Mode
  8. DHT22 Sensor reader
  9. i2c LiquidCrytal LCD
  10. OLED LCD
  11. HTTP Client ThingSpeak
  12. Ftp Server
  13. Basic bootstrap
  14. Basic JQuery
  15. Sample Web Page
  16. HTTP API for data reading/writeing
  17. Json Pparser
  18. Web control interface
  19. Introduction for MQTT
  20. MQTT Publish / Subscribe


กาติดตั่งเครื่องมือและ Framework

ในการติดตั่งเครื่องมือสามารถเข้าไปดูที่เว็ปของผู้พัฒนาได้ที่นี่ โดยจะสามารถใช้งานได้ 3 Plateform

  1. Windows
  2. Mac OS
  3. Linux

ในการติดตั้งแนะนำว่าให้ทำตามขั้นตอนอย่างเคร่งคัด รับรองว่าสามารถใช้งานได้แน่นอน

ตัวอย่างโปรเจ็คที่พัฒนาจาก Sming Framework











ครั้งนี้ก็ลองไปติดตั่งเครื่องมือกันให้เรียบร้อยคราวหน้าเราจะมาเริ่มต้นพัฒนา ESP8266 ด้วย Sming Framework สำหรับใครที่ติดตั่งแล้วมีปัญหาในการใช้งานก็ฝากคำถามไว้ได้เลยน่ะครับ




Donate