【RT-Thread作品秀】4G定位器
作者:鐘文華
概述
現(xiàn)在的小孩子,老人家容易不會用智能機,即使會用智能機,監(jiān)護人也不知道其位置,于是我制作這個4G定位器,只要老人和小孩子出門帶在身上,就能實時看到小孩或者老人的位置,就能實現(xiàn)監(jiān)護作用
開發(fā)環(huán)境
硬件:STM32F103RCT6(MCU),EC20(4G),N303-3(GPS)
RT-Thread版本:RT-THREAD 4.0.2
開發(fā)工具及版本:RT-THREAD studio
RT-Thread使用情況概述
本系統(tǒng)內(nèi)核使用了信號量,互次信號量,郵箱,消息隊列。
使用的組件為AT客戶端,SAL,Libc
軟件包使用了lwgps,cjson,webclient,at_device
硬件框架
軟件框架說明
軟件模塊說明
首先通過控制ec20電源引腳使模塊開機,通過發(fā)送at指令等到回復(fù)來確定ec20啟動完成,然后發(fā)送初始化代碼初始化ec20,初始化完成后創(chuàng)建ec20網(wǎng)卡設(shè)備線程服務(wù)函數(shù),打開n303電源,創(chuàng)建lwgps軟件包處理線程,處理gps發(fā)送過來的位置信息,獲取到位置信息之后,通過webclient創(chuàng)建http post 向ontnet上傳位置信息
演示效果
比賽感悟
這次比賽讓我受益匪淺,首先我使用的是, rt-th read nano版本。讓自己更熟悉內(nèi)核。
熟練掌握如何創(chuàng)建線程。軟件定時器的使用。多線程如何用信號量來同步,對比了Freertos和rt thread的差距,國產(chǎn)的系統(tǒng)已經(jīng)成長了一個很高的高度。最讓我印象深刻的是,at組件的使用,非常非常的方便。但是我卻覺得。那些組件就感覺讓我們接觸不到底層,自己不了解底層在干什么。當4g模塊出現(xiàn)問題的時候,無法自己加入處理函數(shù)。非常的被動。組件的使用方法介紹比較少。其是我使用at組件的時候。切換接收結(jié)束符。怎么都不行。。后來我放棄了。用nano版本自己寫。用sscanf接收到的數(shù)據(jù)處理,不過我也感謝rt thread我知道了。有sscanf這個好東西。讓我覺得印象深刻,非常好用的是lwgps包,才能方便直接提取位置信息就行了。,還有http包,那些偏上層應(yīng)用的不用關(guān)心底層,使用起來非常方便。當時用at組件,要關(guān)心模塊的狀態(tài)。就有點非常不方便了。,能針對我快的狀態(tài),及時做出自己的反應(yīng)。