[ESP32] มาติดตั้ง library AutoConnect บน ESP32 กัน
สวัสดีครับทุกท่าน วันนี้วันเสาร์สุดท้ายของเดือนมีนาคมแล้ว สถานการณ์ CoVid-19 ในบ้านเราก็ดูยังทรงตัวอยู่ ผมก็ยังคงกักตัวอยู่เช่นเดิมที่บ้าน วันนี้มาเปลี่ยนบรรกาศบ้างครับมาทางเรื่องของบอร์ดจิ๋วตัวนึงที่หากพูดถึงอุปกรณ์ iot เราจำเป็นต้องนึกถึงเป็นอย่างแรกๆ เลยนั่นก็คือเจ้า Esp8266 ที่อยู่ในวงการของ microcontroller สารพัดประโยชน์ที่เปิดตัวกันตั้งแต่ประมาณปี 2013 และเริ่มมี SDK กับ NodeMCU ตอนปี 2014 แต่ๆ วันนี้ผมจะไม่ได้มาใช้ Esp8266 แต่อย่างใด แต่ผมจะใช้น้องใหม่ในวงการ iot ก็คือเจ้า Esp32 นี่เอง นับว่าน่าจะเป็นขวัญใจของเหล่า Maker และวงการ iot เลยก็ว่าได้ที่ตัวเล็กแต่ทรงพลังมาก
เอาหล่ะครับผมบทความนี้เป็นบทความแรกในรอบหลายปีเลยที่ไม่ได้เขียนเกี่ยวกับ Esp32 สำหรับใครอยากรู้จักว่าเจ้า Esp32 มีรายละเอียดอย่างไรบ้างก็ติดตามได้ที่บทความแรกของผมได้เลยครับ

IoT ในวันนี้
เอาเป็นว่าผมเกริ่นๆ นำไปแล้วนิดนึงเกี่ยวกับเรื่องของ iot (Internet of Thing) หรืออินเทอร์เน็ตในทุกสรรพสิ่ง ซึ่งปัจจุบันนี้รอบๆ ตัวเราก็มีแต่ iot ส่วนเทรนโลกก็ยังคงมีเรื่องของ iot กันอยู่ มีกำเนิดศัพท์ไหม่มากมายทั้ง AIoT(Artificial Intelligence) , IIoT(Industrial IoT), Cloud , Wireless Sensor , LoRa เป็นต้นนับว่ามีการนำเอาเรื่องของ IoT ไปใช้กับทุกๆ ด้านทั้งการแพทย์ การศึกษา อุตสาหกรรม การท่องเที่ยว สุขภาพ ความบันเทิง หรือแม้กระทั้งความสะดวกสบายและอื่นๆ เพราะฉะนั้นเรื่องของ IoT จึงได้รับความนิยมอย่างมากทั้งต่างประเทศและเมืองไทย ดังจะเห็นจะชุมชน Maker นักวิจัย นักประดิษฐ์บ้านเราที่มีสมาชิกเพิ่มมากขึ้นอย่างต่อเนื่อง
มาเข้าเรื่องกันดีกว่า
แหม่เกริ่นซ่ะนานเลยมาครับหลายคนอาจเคยเล่น Esp8266/32 กันมาบ้างแล้วก็จะมีสิ่งหนึ่งที่เราชอบทำ คือ การทำให้บอร์ดของเรานั้นต่อกับ WiFi ได้ใช่ไหมครับ ถือเป็นจุดเริ่มต้นของการทำ IoT ก็ว่าได้ ลองนึกๆ ย้อนตามนะครับว่าเราต้องจำ SSID และ รหัสผ่าน ของ WiFi เพื่อที่จะเอาไปกรอกใน Arduino IDE แล้วก็ Compile แล้วถึงจะ Upload ลง Esp8266/32 อีกที และสมมติว่า WiFi เจ้ากรรมที่เราต่ออยู่ดันมีปัญหาขึ้นมา เราก็จะต้องมานั่งเปลี่ยน SSID ใหม่เพื่อเกาะกับ WiFi ตัวใหม่ โดยเราก็ต้องกลับไปไล่ทำตั้งแต่ต้นเลย เริ่มเห็นความลำบากตอนเวลาเรา compile และ upload code ใหม่ไหมครับ

แต่ไม่เป็นไรครับในยุคของ Esp8266 ก็ได้มีคนคิดค้น Lib ตัวนึงชื่อว่า WiFiManager ขึ้นมา หลายคนอาจเริ่มร้องอ๋อแล้วสำหรับคนที่เคยใช้งานใครนึกภาพไม่ออกไม่เป็นไรครับผมมีมาให้ระลึกถึงและผมคิดว่าหลายคนก็ยังคงใช้งานเจ้า Lib ตัวนี้ใน code กันอยู่ด้วย คือ เจ้า WiFiManager เนี่ยเป็น Lib ตัวหนึ่งที่ช่วยให้ปัญหาการเชื่อมต่อ WiFi ใหม่หรือเปลี่ยน SSID ใหม่เวลา WiFi เดิมมีปัญหาได้ตรงกับโจทย์นี้มากเลย แต่เดชะบุญตอนช่วงที่ Esp32 ออกมาใหม่ๆ เนี่ย lib WiFiManager มันยังไม่รองรับ (ปัจจุบันก็ต้องเอามาปรับอีกอยู่ดีถึงจะใช้กับ Esp32 ได้ เขาไม่ได้อัปเดตแล้วด้วย) ผมก็ได้ไปเสาะแสวงหา Lib ตัวนึงที่จะเรียกได้ว่าเป็นรุ่นอัปเกรดของ WiFiManager ก็ว่าได้สิ่งนั้นก็คือเจ้า “ AutoConnect ” นี่แหละ

รูปลักษณ์หน้าตาของ AutoConnect ก็กินขาดแล้ว ความสามารถก็ล้นเหลือ อ่อผมลืมบอกท่านผู้อ่านไปว่าบทความนี้เป็นการแนะนำ Lib ทั้ง 2 ตัวให้ได้รู้จักแนะเอาไปใช้ตามความเหมาะสมกับระบบและบอร์ดของท่านครับ ไม่ได้มีเจตนาเปรียบเทียบ หรือเกทับกันแต่อย่างไร ฮาฮ่า
AutoConnect ทำอะไรได้บ้าง ?
ใช้ไปซื้อกับข้าวครับ… แฮร่ เอาแบบคร่าวๆ ล่ะกันครับ

- ทำให้การสั่งการให้ Esp8266 / Esp32 ของคุณเนี่ยเชื่อมต่อเครือข่าย WiFi ได้เพียงปลายนิ้วสัมผัสผ่านอุปกรณ์ใดก็ได้ เพราะตัวมันจะปล่อย SSID เป็น id ของ board นั้นๆออกมาแล้วให้เราเอาอุปกรณ์ของเราไปเชื่อมต่อผ่าน Web ครับจากนั้นจะทำอะไรก็ได้เลยทั้ง การต่อ WiFi , Reset การตั้งค่าและเราสามารถกำหนด parameter อื่นๆเองได้เลย เช่น Mqtt , byink , firebase เป็นต้น
- Lib นี้ง่ายต่อการใช้งานและแก้ไข
- คุณสามารถ custom หน้า Web page ได้เองเลยจะอยากให้มีกี่หน้า กี่เมนูแล้วแต่เลยครับทำได้หมด จะแสดงกราฟ แสดงตาราง แสดงปุ่มทำได้หมด
- สามารถทำ OTA (Over The Air) กับอุปกรณ์ได้ (นี้สิท่าไม้ตาย) บอกเลยว่าการทำ OTA เนี่ยมันคือการที่เรา Upload ไฟล์ code ที่เรา compile เรียบร้อยแล้วเนี่ยไปบนบอร์ด Esp8266 / Esp32 โดยเราไม่ต้องมานั่งเสียบสายถอดสาย USB ให้ปวดหัวกันอีก และบอร์ดนั้นจะเขียนไฟล์เราลงในหน่วยความจำและรีบูทตัวเอง เสร็จปุ๊บ Code สดๆ ร้อนที่เราเพิ่งแก้ไขไปก็จะทำงานทันทีเลยผมบอกเลยว่า Feature นี้ดีมากๆ
มาติดตั้งกัน
อันดับแรกเลยเปิดโปรแกรม Arduino IDE ขึ้นมาแล้วไปที่แท็บ [Sketch] แล้วเลื่อนลงไปเลือก [Include Library] แล้วเลือก [Manage Libraries]

ต่อมาในช่องค้นหาให้ค้นว่า “ pagebuilder ” (จำเป็น : สำหรับการสื่อสารและสร้าง page) แล้วทำการกด [Install] จากนั้นค้นหาอีกครั้งหนึ่ง “ ArduinoJson ” (เพิ่มเติม : เอาไว้สร้าง custom parameter กับ custom page )แล้วทำการกด [Install] อีกครั้งหนึ่ง


จากนั้นก็ให้ทำการดาวโหลด lib AutoConnect จาก AutoConnect GitHub repository. ได้เลย


พอท่านโหลดเสร็จจะได้เป็นไฟล์ Zip มาก็ให้ทำการเพิ่ม Library ใน Arduino IDE เลยโดยไปที่ [Sketch] แล้วเลื่อนลงไปเลือก [Include Library] แล้วเลือก [Add .Zip Libraries] เลือกไฟล์ที่โหลดมาแล้วกด [Open]

แล้วเราก็ติดตั้ง Library ได้สำเร็จแล้ว !

เอาหล่ะครับผมวันนี้สำหรับการติดตั้ง Lib AutoConnect สำหรับการใช้งานผมขออนุญาตยกไปไว้บทความหน้าน่ะครับ หรืออาจแยกเป็น feature ดูเพราะว่าความสามารถของ AutoConnect กับ Esp32 เนี่ยมีเยอะเลยครับจะให้เขียนวันเดียวน่าจะค่อนข้างยากเลย สุดท้ายนี้ขอบคุณทุกคนที่ติดตามกันมาน่ะครับ หวังว่าบทความนี้น่าจะเป็นประโยชน์และตอบโจทย์ต่อใครหลายๆ คนครับ
ปล.วันนี้เนื้อหาค่อนข้างเยอะเลยเพราะน่าจะเป็นเรื่องของ ฮาร์ดแวร์ด้วย 555+ แต่ไม่เป็นไรยิ่งเขียนก็เพลินดีครับ อย่าลืมดูแลตัวเองกันด้วยน่ะครับ แล้วก็สู่ ๆ น่ะครับสำหรับใครที่กักตัวอยู่ที่บ้าน สำหรับบทความหน้าจะเป็นอะไรนั้นรอติดตามชมกันได้ สำหรับวันนี้สวัสดีครับ : )