Hi~各位小夥伴們大家好,我是Mrp_Young,第二期學習訓練營學員。經過三四周的認真訓練,終於要畢業啦,內心那是非常的激動,沒想到畢業了還能報班,好開森,多虧了RTT的微信公眾號,才能和這麼多小夥伴一起參加培訓。
項目的完成過程還是蠻順利的,下面例舉下我因為經驗不足而踩過的坑,希望可以幫到大家:
1、GIT 使用不熟悉,Master和Tag版本壓根不知道,只知道clone下來就直接能用,這裡給向和我一起入門的小白提一下,GitHub上直接clone下的項目是master版本的哦,如果項目中實際使用的話建議使用Tag對應的發布版本,相當於這個軟體的正式版。
2、軟體包也是可以更新的,不要傻傻用舊版本
在menuconfig中勾選aht10軟體包的時候,偶然發現的latest版本,才漲了知識。
3、Scons工具是個好東西,之前在做其他項目的時候,想起一些龐大的代碼以及庫依賴,頭都炸了,但是呢使用scons 構建工程能減少重複造輪子。
參加本次RTT的學習營剛好把任督二脈打通了,因為之前對內核理論部分還是挺熟悉的但是使用起來就不會了,在這之後可以將學到東西加以實踐,遇到問題時各位老師也能積極的去回復,總體感覺是非常好的,美中不足的是學習營時間有些短,學習的應用有限,看來RTT進階還得靠自己啦,要是RTT在舉辦中級或者高級學習營就更好了。
第二期學習營的目標是完成一個空氣品質檢測儀的項目,包括溫溼度檢測以及PM2.5/甲醛濃度檢測。這次學習營的信息是我偶然間從RTT官方公眾號看到的,當時覺得機會難得,又有志同道合的人一起學習交流,感覺很好,希望以後能有更多的機會去參與RTT的活動。
活動過程中每一周都有詳細的目標和指導文檔,在學習過程中遇到的問題能夠在群裡得到及時耐心的解答,這一點對新人來說是很幸運的,感謝RTT的指導老師Miss楊。 第一周主要是跟著RTT指導老師熟悉工程的建立,並且基於自己的硬體完成BSP的製作。由於之前工作上的需要,基於STM32F1和F4系列的控制板我都有,但是由於F4系列的HAL庫編譯比較慢,基於快速建立工程和學習的需要,我就選擇了比較熟悉的F1和標準庫建立工程,使用ENV的scons --dist複製工程真的很便捷。這也是RTT和其它實時內核最大的不同,RTT不僅是一個實時內核,它還提供了豐富的組件,我相信這一點對於建立RTT開發的生態系統來說至關重要。
第二周就涉及到傳感器驅動的開發了。在學習營正式開始前一周,我開始準備硬體,主要就是傳感器。我選擇的是攀藤三合一的傳感器,採用TTL串口驅動。在這一周,我主要根據自己的傳感器建立線程模型,並且將共享內存和串口線程這一塊實際跑了一下,收穫不小,還是那句話,紙上得來終覺淺,絕知此事要躬行。
第三周主要是實現異步日誌,並將整個系統跑起來。在這一周我主要熟悉了線程間通信(消息郵箱和事件集)的相關知識,並且把熊大的那本書又細細的看了一遍。最後用茶葉盒作為外殼,加了個OLED顯示屏,做成了個USB供電的小檢測儀,在家裡還挺好用的。
大家好,我很榮幸參加了此次RT-Thread學習營舉辦的第二期活動,內容是製作一個「空氣品質分析儀」。
我個人背景經歷是之前閱讀了熊大的《嵌入式實時作業系統:RT-Thread設計與實現》和火哥的《RT-Thread內核實現與應用開發實戰指南 基於STM32》兩本著作,在嘗試使用esp8266模塊時一直失敗,偶然的一個機會看到公眾號裡有此學習的活動,於是便鼓足勇氣報名參加了。在金錢的驅動下,我順利的完成了項目。(嘻嘻~)下面給大家小小總結下學習經驗:
第一個階段:在自己開發板上實現基於RT-Thread的最小系統,並實現相應的按鍵、LED和溫溼度驅動程序。在此階段,不僅僅是準備硬體的過程,更應該是消化官方文檔,當時我在這方面做得不是很好。雖然我順利的完成了此階段任務,但是在做第三階段任務時,回首發現原來我依舊採用的是裸機設計思想編寫的驅動程序。而與之相關的內容其實在官方文檔中都有,就看細心不細心了(個人體會關鍵在於做到忘掉自己學過、看過的,從零開始!),推薦理解消化這篇文檔 https://www.rt-thread.org/document/site/tutorial/beep-player/。
第二階段:以線程的方式實現對溫溼度、PM2.5(或甲醛)的數據訪問。在此階段,我完成的比較順利,不僅僅是之前學習、實驗了火哥的例程,更因為Miss 楊給了一個溫溼度例子,於是我便模仿起例程基本完成了本階段的實驗。但是說實話,這麼短的時間想寫好這類傳感器驅動有些天真了,再接下來的時間裡我還得好好仔細閱讀、消化RTThread傳感器框架。
第三個階段:以IPC方式將之前的各個模塊互連起來。雖然我之前對於IPC很熟了(使用其他類OS的信號量、消息郵箱、事件集做過課題項目),但是正如前文所述的,在第一階段對於官方文檔沒有消化好,我對按鍵的處理仍舊以裸機思維處理,導致實驗效果一直不好,在我實在沒有辦法之際,問了萬能的度娘後看到了上面提到的那篇文檔,一下讓我思維開闊起來,不僅讓我完美的完成了任務,而且更讓我重新的端正了態度,仔細研讀了官方文檔(當然讀一遍是不夠的,還需讀多遍才有可能讀懂、理解RTThread設計理念)。
看到這裡,你是不是也想參加學習營體驗一下呢~機會來啦
第3期:RT-Thread實戰入門學習營報名
面向群體:面向裸機轉RTOS用戶(你應該有很好的嵌入式基礎)、剛開始學習RTOS的小白、學了RT-Thread內核但不知道怎麼用的
學習方式: 線上學習
實現功能:空氣品質檢測儀:採集空氣品質數據,列印到串口終端,根據需要設置LED報警燈,按鍵切換數據類型。
涉及到知識點: 線程、ipc、任務劃分、外設使用
自備硬體:STM32控制板(型號不限,必備)+溫溼度傳感器(必備)+PM2.5傳感器(必備)+甲醛傳感器(選配)+報警LED燈(板載)+按鍵(板載 )+ 其他合適傳感器(選配)
參與學員:
1.填寫以上表報名,我們保留審核權力,這意味你可能報名了,但未通過我們本次審核,原因:a.你對RT-Thread的掌握還不夠;b.判斷你可能不適合本次學習活動的目標
2.需繳納學習契約押金169元(審核通過後繳納),按學習安排全部堅持完成者(需每個任務在論壇發帖記錄學習筆記),可以領回所有的契約押金(依次按30、60、79元發放契約押金)。若未完成每周的學習記錄,該周契約押金將會被貢獻給最佳學習者獎勵。
RT-Thread線上活動
1、【RT-Thread能力認證考試12月——RCEA】經過第一次考試的驗證,RT-Thread能力認證得到了更多社區開發者和產業界的大力支持!(點此查看)如果您有晉升、求職、尋找更好機會的需要,有深入學習和掌握RT-Thread的需求,歡迎垂詢/報考!
能力認證官網連結:https://www.rt-thread.org/page/rac.html(在外部瀏覽器打開)
立即報名
#題外話# 喜歡RT-Thread不要忘了在GitHub上留下你的STAR哦,你的star對我們來說非常重要!連結地址:https://github.com/RT-Thread/rt-thread
RT-Thread線下活動
1、STM32全國研討會,RT-Thread近期參展城市預告:上海、廣州、順德
你可以添加微信18917005679為好友,註明:公司+姓名,拉進 RT-Thread 官方微信交流群
RT-Thread
讓物聯網終端的開發變得簡單、快速,晶片的價值得到最大化發揮。Apache2.0協議,可免費在商業產品中使用,不需要公布源碼,無潛在商業風險。
點擊閱讀原文進入GitHub