你好,我是愛吃魚香ROS的小魚。上一節我們對單片機硬件進行了簡單介紹,但單片機運行不僅僅需要硬件,類似于電腦需要配套的操作系統一樣,單片機還需要與之配套的軟件,本節我們學習下常見的開發平臺。
我們的MicroROS板采用的單片機是ESP32芯片,該芯片支持藍牙和WIFI并且是雙核的***,用途很廣,所以小魚就介紹下該芯片的常用的幾個開發平臺。
一、官方平臺-ESPIDF(ESP IoT Development FrameWork)
所謂官方平臺就是單片機的廠商,針對單片機提供的開發框架,該框架為我們提供了一個C/C++ SDK,我們通過include相應的頭文件就可以實現對硬件的控制。
下面這一段是官方介紹
ESP-IDF 是樂鑫官方的物聯網開發框架,適用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 語言提供了一個自給自足的 SDK,方便用戶在這些平臺上開發通用應用程序。ESP-IDF 目前已服務支持數以億計的物聯網設備,并已開發構建了多種物聯網產品,例如照明、消費電子大小家電、支付終端、工控等各類物聯網設備。
ESP-IDF的核心其實是基于開源的FreeRTOS優化而來的,而FreeRTOS是一個迷你(幾k大小)的實時操作系統內核,所以別看它小,照樣跑了個操作系統。
展示一段ESP_IDF版本的HelloWorld,感受一下
/*
* SPDX-FileCopyrightText:2010-2022EspressifSystems(Shanghai) CO LTD
*
* SPDX-License-Identifier: CC0-1.0
*/
#include< stdio.h >
#include< inttypes.h >
#include"sdkconfig.h"
#include"freertos/FreeRTOS.h"
#include"freertos/task.h"
void app_main(void)
{
printf("Hello world!\\n");
vTaskDelay(1000/ portTICK_PERIOD_MS);
fflush(stdout);
esp_restart();
}
二、Arduino平臺
Arduino是一款便捷靈活、方便上手的開源電子原型平臺,本次MicroROS學習就是基于該平臺進行開發。
展示一段Arduino版本的HelloWorld代碼,感受一下
#include< Arduino.h >
void setup(){
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Hello World!");
}
void loop(){
// put your main code here, to run repeatedly:
}
三、MicroPython平臺
大家都知道,人生苦短,我用Python,針對單片機平臺,有沒有可能使用Python開發呢?——MicroPython來了。
MicroPython是 Python 3 語言的精簡實現 ,包括Python標準庫的一小部分,經過優化可在微控制器和受限環境中運行。
同樣的我們的MicroROS板同時也是支持使用MicroPython進行開發,只需要刷入相應的固件即可。
展示一段MicroPython的HelloWorld代碼,感受下它的簡單
print('Hello, World!')
四、對比與總結
上面介紹了三種常見的平臺,小魚做個表格對比下三種平臺的優缺點。
平臺名稱 | 優點 | 缺點 |
---|---|---|
ESP_IDF | 官方出品、測試完成度高、安全穩定、有官方支持、適合產品化、支持microROS | 三方教程少、工程復雜、新手不友好 |
Arduino | 社區龐大,教程豐富、新手友好,簡單易用、支持microROS | 封裝較多 |
MicroPython | Python語言、簡單易用 | 解釋執行,效率低下,封裝較多,不支持microROS |
看完上面的對比,對于新手來說選擇Ardunio平臺容易入門且教程豐富,并且ESP32單片機是官方出品了Arduino支持(開源地址:https://github.com/espressif/arduino-esp32)。
了解完單片機開發平臺,下一節我們正式搭建開發環境,然后開始編寫我們的第一個HelloWorld工程!
-
單片機
+關注
關注
6032文章
44525瀏覽量
633245 -
微處理器
+關注
關注
11文章
2247瀏覽量
82330 -
RTOS
+關注
關注
22文章
809瀏覽量
119451 -
Arduino
+關注
關注
187文章
6464瀏覽量
186676 -
Micropython
+關注
關注
0文章
68瀏覽量
4721
發布評論請先 登錄
相關推薦
評論