ภาษา Toit เร็วกว่า MicroPython ถึง 30 เท่าบน ESP32

Toit เป็นแพลตฟอร์ม IoT ที่สมบูรณ์ ซึ่งพัฒนาโดยทีมงานของอดีตพนักงาน Google, พร้อมฟังก์ชันการจัดการระยะไกลและการอัปเดตเฟิร์มแวร์ สำหรับอุปกรณ์จำนวนมากที่มีคุณสมบัติคล้ายกับที่เสนอโดยโซลูชัน เช่น balena, Microsoft Azure หรือแพลตฟอร์ม Particle edge-to-cloud

ปัจจุบัน Toit ใช้ lightweight containers ทำงานบนไมโครคอนโทรลเลอร์ ESP32 และหลังจากที่ได้เห็นภาษาระดับสูงที่มีอยู่อย่าง MicroPython และ Javascript ไม่เร็วพอบนแพลตฟอร์มไมโครคอนโทรลเลอร์ระดับล่าง ทีมงานของ Toit ก็เริ่มพัฒนาภาษา Toit ในปี 2561 และเพิ่งสร้างโอเพ่นซอร์สเสร็จ พร้อมการเปิดตัวคอมไพเลอร์ เครื่องเสมือน และไลบรารีมาตรฐาน บน Github ภายใต้ลิขสิทธิ์ LGPL-2.1

Toit-ภาษา

เหตุผลหลักประการหนึ่งในการเปลี่ยนจาก MicroPython เป็นภาษา Toit คือหากแอปพลิเคชันของคุณถูกจำกัดด้วยประสิทธิภาพหรือคุณใช้งาน ESP32 จากแบตเตอรี่ เนื่องจาก Toit อ้างว่า Toit มีประสิทธิภาพเร็วขึ้นถึง 30 เท่า บน ESP32:

เราเข้าสู่โหมดวิกฤต (crunch) และหลายเดือนต่อมา เราก็ได้ผลลัพธ์แรก เรากำลังรันโค้ดที่เร็วกว่า MicroPython มากกว่า 30 เท่าบน ESP32 ด้วยภาษาระดับสูงที่แยกการจัดสรรหน่วยความจำออกไป และสามารถเรียนรู้ได้โดยนักพัฒนา Python: ภาษา Toit

เราลองมาดูให้ลึกขึ้นโดยลองใช้ใน Ubuntu 20.04 เครื่องเสมือนอิงตามทางแยกของ ESP-IDF พร้อมการปรับใช้ malloc แบบกำหนดเอง การแก้ไขการจัดสรรสำหรับ UART และการแก้ไข LWIP นั่นคือสิ่งที่เราต้องติดตั้งก่อน:


ตอนนี้ติดตั้งเครื่องมือ ESP32:


และสร้าง toit และตัวอย่างเพื่อรันบนเครื่องโฮสต์:


ตอนนี้เราสามารถเรียกใช้ตัวอย่าง “Hello world”:


ดังนี้


สิ่งนี้จะสร้างไฟล์เฟิร์มแวร์ Toit (toit.bin) ที่โหลดไว้ล่วงหน้าด้วยตัวอย่าง “Hello world” และสามารถแฟลชด้วย esptool:


ดีมาก แต่เราสามารถตรวจสอบตัวอย่างด้วย Wi-Fi ได้ และแน่นอนว่ามีตัวอย่าง http.toit :


ตัวอย่างที่กระชับและเรียบง่ายนั้น เพียงแค่ดาวน์โหลดหน้า Google และรายงานจำนวนไบต์ที่ดาวน์โหลด แต่เดี๋ยวก่อน… เราจะกำหนดค่าข้อมูลรับรอง Wi-Fi ที่ไหน สามารถทำได้ในเวลาบิลด์:


หรือคุณสามารถเปลี่ยนโปรแกรมเริ่มต้นและกำหนดค่า WiFi SSID และรหัสผ่านใน Makefile:


ฉันไม่มี ESP32 เพื่อทดสอบ แต่ฉันคิดว่าคุณจะสามารถแก้ไข hello.toit บนอุปกรณ์ได้เองหลังจากแฟลชเฟิร์มแวร์ Toit ในครั้งแรก ควรเปิดใช้งานการอัปเดตเฟิร์มแวร์ OTA ด้วยตามผลลัพธ์จากคำสั่ง make esp32 แพลตฟอร์ม Toit ที่สมบูรณ์นั้นใช้งานได้ฟรีถึง 10 อุปกรณ์ และนอกจากหน้า Github แล้ว คุณยังสามารถค้นหาข้อมูลเพิ่มเติมได้จากเว็บไซต์เอกสารไม่เพียงแต่เกี่ยวกับเฟิร์มแวร์และภาษา Toit ที่เราเคยใช้ที่นี่ แต่ยังรวมถึง Cloud API และ แพลตฟอร์ม Toit ทั้งหมด

แปลจากบทความภาษาอังกฤษ : Toit open-source language claims to be 30x faster than MicroPython on ESP32

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา