AcmeIot-1-基于Nuttx和ESP32的ROS節點
作為一個程序愛好者,而不是作為工作者,首要的精神是什么呢,應該是生命不熄,折騰不止吧。這個系列我們搗鼓一些有意思可能又沒啥用的東西。
前面的分享 Uav開發雜記-2-無人機的RTOS 中提到了很多的RTOS,可以發現我最喜歡的還是Nuttx,這個系列我們基于Nuttx搞一些有意思的東西,同時分享一些關于Nuttx與Iot相關的知識。
玩Iot首先需要一款硬件,自己設計是最好的了,不過比較費時費力,我們就在網上選一款吧,對這款硬件的要求還是要明確的:
小巧精致
帶屏幕
能wifi聯網
stm32的開發板大多比較大,接口豐富,入門學習比較好,不過太板磚啦,而且不直接支持wifi,stm32這一年價格飛漲,還是選一款國產芯片吧。
esp32就成為一個首選啦,樂鑫推出的國產mcu具有非常強大的功能,稍微列一下它的參數
32-bit MCU & 2.4 GHz Wi-Fi & Bluetooth/Bluetooth LE
Xtensa 雙核 32位 LX6 微處理器,支持高達 240 MHz 的時鐘頻率
448 KB ROM、520 KB SRAM、16 KB RTC SRAM、4 MB SPI flash
wifi和藍牙支持
外設包括電容式觸摸傳感器,霍爾傳感器,SD 卡接口,以太網,高速 SPI,UART,I2S 和 I2C
非常強大的配置,如果io資源再豐富一些可以搞飛控了,還要啥stm32呀。
硬件強大也要配上完善的軟件資源才能玩的溜吧,esp32提供了非常完善的軟件框架esp-idf,包含的軟件包可以滿足基本所有的Iot應用,它基于freertos內核。
不過為了發揮生命不熄,折騰不止的精神,我們能不能不使用esp-idf提供的現有的軟件框架去玩這一款芯片呢,基于Nuttx去開發。
之前有提到樂鑫現在也是Nuttx的主要貢獻者之一,為Nuttx提供了esp32的bsp和board支持,基于這個我們就可以在Nuttx上開發esp32啦。
PX4基于Nuttx系統,主要使用了Nuttx的任務管理、文件系統、bsp功能,實際上Nuttx還有強大的網絡軟件棧、設備驅動、圖形UI支持,這里我們去發掘Nuttx的更多應用。
Nuttx支持第三方的圖形庫LVGL,可以提供非常美觀和友好的UI圖形支持,NXP提供了GUI Guider這個UI設計器,可以方便的為LVGL設計UI界面。
這里我們搭建了esp32+nuttx+LVGL的環境,可以寫出一個 hello 的應用了,只寫一個這樣的應用不是一件好玩的事情吧。
結合無人機和ROS的應用,將esp32作為ros的節點,做一個ros的顯示控制mini終端是一件很有意思的事情吧。
以下是簡單的界面效果:
這個演示還比較有限,沒有演示ros數據顯示與控制的效果,會在這個后面的分享中完善,并且逐步分享Nuttx的相關知識,可以認為這是一個持續推進的業余項目吧。歡迎大家持續關注。
如果要說做這個有什么應用價值,我也不知道有什么應用需求,只是覺得能做它,并且還蠻有趣的吧。大家覺得呢?
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















