㈠ metaRTC5.0新版本支持mbedtls(PolarSSL)
mbed TLS(PolarSSL)是TLS和SSL協議的實現,特別適合小型嵌入式設備,性能優越於openssl。metaRTC5.0版本新增支持openssl與mbed TLS。此版本對mbedtls2.0與3.0版本具有兼容性。
下載mbedtls源碼並進行編譯,需對mbedtls/mbedtls_config.h(mbedtls3.0)與mbedtls/config.h(mbedtls2.0)中的參數進行修改,去掉#define MBEDTLS_SSL_DTLS_SRTP的注釋以激活其功能。
使用CMake文件(CMakeLists.txt)進行編譯配置,將ON設置在cmake文件中以支持mbedtls,或者通過編譯參數實現支持。
創建build目錄並切換至該目錄,執行cmake ..命令進行預編譯,然後使用make命令進行編譯。
對於metaRTC的編譯,需調整yang_config.h中的配置,將Yang_Using_Openssl設為1以使用openssl,或設為0使用mbedtls。在qt demo工程中,需注釋openssl相關部分,取消mbedtls部分的注釋。在cmake工程中,需設置mbedtls靜態庫的鏈接。
㈡ 物聯網編程語言Toit宣布開源,可實現代碼秒級部署
編程語言Toit開源了!
Toit 是一種面向對象的物聯網編程語言,在 IoT設備上能夠實現秒級代碼部物畝模署(註:如果使用C語言,一個簡單的代碼更改需要幾分鍾才能重新部署);同時,Toit也是一種現代的、內存安全的編程語言,集成了先進的編輯器功能,如語法高亮、goto-definitions 、代碼自動補全等等。
Toit 編程語言具備以下特徵:
Toit的出現是因為有一群軟體工程師對IoT開發的現狀感到不滿,憑借著在Google為Flutter構建V8 JavaScript 引擎和Dart語言的豐富經驗,他們開始自己構建適用於IoT的最佳平台。也正是在平台構建過程中,他們意耐滑識到必須有一種高效的編程語言來滿足物聯網的需求。最開始,他們嘗試使用了Python和JavaScript,但在微控制器上,這兩種語言的速度都不夠快。
為了解決性能和健壯性問題,Toit團隊開始研究Toit語言,經過測試發現,Toit在 ESP32 上的執行代碼速度比 MicroPython 快 30 倍以上,同時學習門檻也很低,Python開發人員在幾小時內就可以學會它。
為什麼會選擇開源Toit?Toit團隊表示:「從一開始,我們就明確知道Toit肯定是會在某個時刻開源的,因為所有主流的編程語言都是開源的。開源可以獲得充滿活力的生態系統,編程語言才能被大規模採用。經過多次迭代和實際環境的應用,Toit語言已經成為微控制器編寫強大軟體的利器,我們希望更多開發者能夠從中受益,因此選擇將它開源出來。」
鏈接:https://juejin.cn/news/7034398085325422628
Toit 編譯器、虛擬機和所有支持基礎設施均在LGPL-2.1許可下獲得許可。lib/目錄中包含的標准庫在MIT許可下獲得許可。examples/ 目錄中包含的示例在0BSD許可下獲得許可。
某些子目錄在它們自己的開源許可證下,在這些目錄中有詳細說明。這些子目錄是:
虛擬機對 ESP-IDF 有要求,適用於 Linux 和 ESP32 構建(對於 Linux,它適用於 MBedTLS 實現)。
我們建議您使用 Toitware 的ESP-IDF fork,它有一些變化:
請記住將其添加到您的 ENV 中IDF_PATH:
如果要為 ESP32 構建映像,請安裝 ESP32 工具。
在 Linux 上:
對於其他平台,請參閱樂鑫的文檔。
請記住更新您的環境變數:
構建系統將自動使用 Toit 編譯器的 32 位構建來為 ESP32 生成正確的可執行映像。如果您使用的是 64 位 Linux 機器並且您不支持編譯安裝的 32 位可執行文件,則您的構建可能會失敗。您可以通過安裝gcc-multilib和g++-multilib包在大多數 Linux 發行版上罩緩安裝此支持。如果使用apt-get,則可以使用以下命令:
確保IDF_PATH已設置,如上所述。
然後在結帳的根目錄下運行以下命令。
這將構建 Toit VM、編譯器、語言伺服器和包管理器。
然後你應該能夠執行一個 toit 文件:
包管理器位於build/toitpkg:
語言伺服器可以通過以下方式啟動:
有關如何集成語言伺服器,請參閱 IDE 的說明。
對於 VSCode,您還可以使用已發布的擴展。
對 Mac 構建的支持仍在進行中。目前,無法在 Mac 上為 ESP32 構建固件映像,因為它需要編譯和運行 32 位可執行文件。我們正在努力 解決這個問題。
確保已設置 ESP32 工具的環境變數,如依賴項部分所述。
為您的 ESP32 設備構建一個可以使用esptool.py.
默認情況下,映像會啟動並運行examples/hello.toit. 您可以使用自己的入口點並通過ESP32_ENTRYmake 變數指定它:
您可以通過設置ESP32_WIFI_SSID和 ESP32_WIFI_PASSWORDmake 變數輕松配置 ESP32 的內置 WiFi :
這允許 WiFi 在網路介面打開時自動啟動。
Toit開源地址: https://github.com/toitlang/toit