สวัสดีครับ บทความนี้เราจะมารู้จักกับ Module ESP32 รุ่นต่างๆว่ามีกี่รุ่น และแต่ละรุ่นมีความแตกต่างกันอย่างไร
ESP32 เป็นโมดูลไมโครคอนโทรลเลอร์ขนาดเล็กถูกพัฒนาขึ้นโดยบริษัท Espressif Systems ประเทศจีน ที่มีจุดเด่นคือสามารถสื่อสารผ่านเครือข่ายไร้สายอย่าง Wi-Fi และ Bluetooth ได้ภายในตัวมันเอง แถมยังมีราคาแค่หลักร้อยเท่านั้นเอง
สําหรับ ESP32 จะแบ่งออกเป็น Series ต่างๆดังนี้ ESP32 Series, ESP32-S Series, ESP32-C Series, ESP32-H Series แต่ในบทความนี้ผมจะ Focus เฉพาะ ESP32 Series นะครับ ถ้าอยากรู้เพิ่มเติมเกี่ยวกับ Series อื่นๆ สามารถเข้าไปอ่านเพิ่มเติมได้ที่นี่ครับ esp32 modules

โมดูล ESP32-WROOM Series ภายในจะใช้ชิป ESP32-D0WD พร้อม flash memory ในตัว โดยจะสามารถใช้การสื่อสารไร้สายอย่าง WiFi หรือ BLE จากรูปภาพจะเห็นว่ารุ่นนี้จะมีสองแบบคือ ESP32-WROOM-32E และ ESP32-WROOM-32UE โดยจะมีความแตกต่างกันดังนี้

โมดูล ESP32-WROVER Series เป็นรุ่นที่ถูกต่อยอดมาจาก ESP32-WROOM Series คุณสมบัติพื้นฐานต่างๆ เหมือนกันแทบทุกประการ ภายในใช้ชิป ESP32-D0WD เหมือนกัน แต่มีส่วนที่พัฒนาเพิ่มเติมขึ้นมาก็คือ PSRAM (Psuedostatic DRAM)
รุ่นนี้ก็มีสองแบบเช่นเดียวกันกับ ESP32-WROOM Series ดังนี้

โมดูล ESP32-MINI Series เป็นรุ่นที่ใช้ชิป ESP32-U4WDH ซึ่งมี flash memory ภายในตัวชิปขนาด 4 MB ติดมาให้ ทําให้ไม่จําเป็นต้องใช้ Chip flash memory ภายนอก ทําให้ตัว module มีขนาดเล็กกว่ารุ่นอื่นๆ
เพิ่มเติมวิธีการอ่านรหัส chip ที่อยู่ภายใน module ESP32 รายละเอียดตามภาพด้านล่างครับ

บทความนี้จะเกี่ยวข้องกับการ Config Linux Firewall ให้สามารถใช้งาน Docker swarm ได้ ถ้าไม่ได้ Config เราจะเจอกับ Error นี้ "Timeout was reached before node was joined. The attempt to join the swarm will continue in the background. Use the "docker info" command to see the current swarm status of your node." ในขั้นตอนการ Join Swarm เพราะว่า Docker Swarm ใช้งาน port ดังต่อไปนี้
ในการออกแบบวงจรอิเล็กทรอนิกส์ ค่าความต้านทานที่คํานวณได้อาจจะไม่มีขายตามท้องตลาด ดังนั้นเราจึงต้องใช้ค่าที่ใกล้เคียงหรือ นํามาต่อ ขนาน-อนุกรม กันเพื่อให้ได้ค่าที่ใกล้เคียงที่สุด ข้อมูลในตารางเป็นค่าความต้านทานที่มี
BASE64 คืออะไรBASE64 คือ วิธีการเข้ารหัสข้อมูลรูปแบบหนึ่ง ที่จะเปลี่ยนข้อความ หรือข้อมูลต้นฉบับไปเป็นข้อความ หรือข้อมูลชุดใหม่ ที่ไม่สามารถอ่าน หรือรู้ว่าข้อมูลชุดนี้คืออะไร ซึ่งการเข้ารหัสชนิดนี้จะแทนที่ข้อมูลด้วยตัวอักษร 64 ตัว นั่นคือที่มาของ BASE64 ตามตารางImageวิธีการเข้ารหัส BASE64ยกตัวอย่างที่ต้องการเข้ารหัสข้อความนี้ "abcd" จะมีขั้นตอนคือ1.นําข้อมูลที่ต้องการเข้ารหัสมาแปลงเป็นเลขฐานสอง 8 bita = 01100001b = 01100010c = 01100011d = 011001002.นําเลขฐานสองที่ได้มาเรียงต่อกันตามลําดับดังนี้01100001 01100010 01100011 011001003.แบ่งเลขฐานสองออกเป็นชุด ชุดละ 6 bit กรณีที่ชุดสุดท้ายไม่ครบ ให้เติม 0 ไปจนครบ 6 bit จะได้ดังนี้01100001 01100010 01100011 01100100 00004. นําเลขฐานสองที่แบ่งไว้มาแปลงเป็นตัวอักษรตามตาราง BASE64 (ตามรูปด้านบน) โดยใน BASE64 จะนับ bit ที่ถูกเติมเข้าไปที่เป็น 00 แทนด้วย "="011000 = "Y"010110 = "W"001001 = "J"100011 = "j"011001 = "Z"000000 = "A=="** bit ที่ถูกเติมเข้าไปที่เป็น 00 แทนด้วย "=" 5.นําตัวอักษรมาเรียงต่อกันตามลําดับ YWJjZA==วิธีการถอดรหัส BASE64วิธีการถอดรหัส BASE64 ก็ไม่ยาก ทําย้อนกลับครับให้นําข้อมูลมาแปลงเป็นฐานสอง 6 bit มาเรียงต่อกันก่อน แล้วนํามาจัดกลุ่ม กลุ่มละ 8 bit โดย bit สุดท้ายที่เหลือไม่ครบ 8 bit ให้ตัดทิ้ง หลังจากนั้นก็แปลงเลขฐานสอง 8 bit แต่ละชุดเป็นข้อมูล ASCII เท่านี้ก็จะได้ข้อมูลต้นฉบับแล้วครับ