0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RT-Thread開源作品運動手表展示

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:電路城 ? 作者:何雄 ? 2021-04-07 17:15 ? 次閱讀

該作品是基于ART-PI硬件平臺,外接OLED,蜂鳴器,按鍵,X-NUCLEO-IKS01A3傳感器套件完成實現(xiàn)的運動手表。

運動手表應該能夠兼顧溫濕度,氣壓信息,指南針以及步數(shù)等,能夠實時監(jiān)控環(huán)境的狀態(tài)。

該運動手表實現(xiàn)功能如下:

時間日期星期顯示;

網(wǎng)絡時間獲取;

天氣獲取并顯示;

溫度(HTS221),濕度(HTS221),氣壓(LPS2HH)信息的獲取并顯示;

指南針功能(LIS2MDL);

步數(shù)(LSM6DSO)監(jiān)控;

鬧鐘功能,蜂鳴器鬧鐘;

設置功能,開啟網(wǎng)絡時間以及設置鬧鐘;

OLED顯示功能

板載按鍵

秒表

開發(fā)環(huán)境

硬件:STM32H750-RT-ART-PI, X-NUCLEO-IKS01A3傳感器,OLED,蜂鳴器,板載按鍵 RT-Thread版本:4.0.3 開發(fā)工具及版本:RT-thread studio 2.0.0

RT-Thread使用情況概述

內核部分:線程管理(靜態(tài)線程創(chuàng)建/刪除),臨界操作,時鐘管理。 組件部分:FinSH控制臺,虛擬文件系統(tǒng),LwIP,SAL 軟件包部分:cjson,netutils,easyflash,u8g2 其他:串口,pin,RTC,IIC

硬件框架

2d2a4b8c-93fa-11eb-8b86-12bb97331649.png

項目中使用到了STM32H750中的RTC實時時鐘不在原理圖中。

同時用到了ART-PI板載的wifi模塊對天氣獲取以及網(wǎng)絡時間的獲取。

硬件部分比較簡單主要是通過IIC控制OLED以及傳感器數(shù)據(jù)的讀?。ㄗx取4個傳感器數(shù)據(jù)分別用作溫濕度,氣壓以及磁場和運動檢測),通過GPIO控制蜂鳴器。

按鍵用來切換查看界面以及設置信息,本項目只采用了一個按鍵,通過軟件邏輯實現(xiàn)對4中按下狀態(tài)的識別。

硬件線路連接:

蜂鳴器 - PA9

OLED SCL - PH13

OLED SDA - PH15

X-NUCLEO-IKS01A3傳感器 SCL - PB0

X-NUCLEO-IKS01A3傳感器 SDA - PB2

軟件框架說明

整體軟件實現(xiàn)了功能框架如下:

2d33f4fc-93fa-11eb-8b86-12bb97331649.png

軟件中主要包括了下面的功能:

按鍵狀態(tài)的信號采集以及濾波功能,由于只有一個按鍵,所以將這一個,按鍵的按下狀態(tài)做了不同的識別,分為了4種按下的狀態(tài)可以用來處理所有的任務。

OLED的顯示功能

啟動界面,會顯示RT-Thread的logo以及項目logo。

時間顯示界面:會顯示時間,日期,星期,wifi連接狀態(tài),天氣信息,在wifi沒有連接的狀態(tài)下,wifi圖標會閃爍。

菜單列表:用來切換顯示的界面,包含設置,秒表、步數(shù)、溫度、濕度、氣壓、方位。通過短按按鈕切換。

設置界面??梢栽O置是否開啟網(wǎng)絡時間更新以及設置鬧鐘。鬧鐘設置界面中可以設置鬧鐘是否啟用以及設置鬧鐘時間。

秒表功能,在該界面下,秒表線程被創(chuàng)建,按下按鈕切換到開啟按鈕下按下按鈕可以開啟計時,再次按下暫停計時,退出該界面自動刪除線程。

步數(shù)查看。步數(shù)線程會一直運行,用于記錄運動狀態(tài),使用LSM6DSO獲取加速度數(shù),由此進行步數(shù)算法檢測步數(shù)。

溫度、濕度、氣壓查看。獲取傳感器的數(shù)據(jù)進行處理之后顯示在界面上。

指南針(方位)界面,可以查看當前面向的方向,使用了LIS2MDL磁力傳感器以及LSM6DSO加速度傳感器通過算法結合計算出指向方位,并通過圖形顯示以及問題提示的方式指向當前的方位(東、南、西、北、東南、東北、西南、西北)。

返回。返回時間顯示界面。

鬧鐘功能

RTC獲取的時間到了鬧鐘設置中設置的指定的時間之后將觸發(fā)鬧鐘功能。在主界面下通過短按按鈕關閉。

軟件模塊說明

一、按鍵功能介紹:因為板載只有一個按鍵,我也沒有外接按鍵資源,所以將這一個按鍵通過按鍵時間的長短分為了4種按下狀態(tài),通過松手判斷按鈕按下的時間長短。 按鍵線程中使用了軟件按鍵濾波功能,濾波時間是50ms。 四種按鍵狀態(tài)分別如下: 1 【短按】:按下時間小于等于500ms 2 【中長按】:按下時間大于500ms小于等于1.5s 3 【偏長按】:按下時間大于1.5s小于等于2.5s 4 【長按】:按下時間大于2.5s 按鍵線程在初始化的時候創(chuàng)建。 1、OLED顯示功能

OLED的顯示功能是主要的功能,這里對OLED的功能做詳述說明。

開機動畫。上電的時候會顯示開機界面,首先顯示RT-Thread的圖標,之后顯示運動手表的logo,顯示完成之后自動進入主界面。

主界面就是時間顯示界面,如下圖:

最上邊顯示【星期 - 月份 日期】;

中間部分顯示時間,如果網(wǎng)絡連接之后會自動更新時間,可以在設置界面關閉自動更新,網(wǎng)絡時間會更新到RTC中,時間直接讀取自RTC。;

最下面一列顯示wifi連接狀態(tài)以及天氣信息,在wifi沒有連接的狀況下會500ms閃爍一次,wifi連接之后,wifi圖標不再閃爍,天氣圖標會自動循環(huán)顯示。

天氣包括晴天,雨天,多云,夜晚,晴轉陰。

天氣信息通過網(wǎng)絡獲取,獲取網(wǎng)絡天氣的json信息,處理出信息,所以需要線連接網(wǎng)絡才可以使用。

如果按下開關,最下一列中間會顯示開關按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】,如下右圖,沒有開關按下的時候不顯示。

長按按鈕進入菜單選擇界面

中長按按鈕進入設置界面

2d5eb02a-93fa-11eb-8b86-12bb97331649.png

2、菜單界面

菜單界面顯示【返回】【設置】【秒表】【步數(shù)】【溫度】【濕度】【氣壓】【方位】,如下左圖。

最上邊顯示左邊菜單圖標,右邊顯示退出圖標。

短按按鈕切換菜單在上述1)中的菜單列表中循環(huán)切換

中長按按鈕進入選中的菜單功能中。

長按按鈕退回主界面

按下按鈕的時候屏幕最上面中間會顯示按鈕按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】,如下右圖

2dcf9272-93fa-11eb-8b86-12bb97331649.png

3、設置

設置界面顯示【是否啟動網(wǎng)絡時間】以及【鬧鐘設置】

網(wǎng)絡時間后面的方框表示是否啟用,實心方框表示啟用,默認是啟用的

短按按鈕切換菜單

中長按按鈕設置

2de1d11c-93fa-11eb-8b86-12bb97331649.png

選中【鬧鐘設置】,短按進入鬧鐘設置界面。

中長按切換選中菜單,分別有【啟用鬧鐘】【小時設置】【分鐘設置】

選中啟用菜單,短按啟用或者禁止,啟用了鬧鐘之后會創(chuàng)建鬧鐘線程,運行鬧鐘功能,禁止鬧鐘之后會刪除鬧鐘線程。

選中小時設置或者分鐘該設置,短按時間會增加。

鬧鐘設置好了之后,到達指定時間會啟動蜂鳴器報警,在主界面下短按按鈕會關閉鬧鐘,到下一次到指定時間會重新報警。

4、秒表當切換到秒表界面的時候會自動創(chuàng)新秒表線程,在退出秒表顯示界面時會自動刪除秒表任務,秒表任務100ms運行一次。 1、秒表顯示界面,最上邊左邊顯示秒表圖標,右邊顯示退出圖標 2、中間顯示記錄秒表時間 3、下面顯示操作菜單 1) 第一個是開始按鈕,短按啟動計時,菜單編程停止,短按停止計時,如下左圖。 2) 中間是清空按鈕,短按按下清空計時數(shù)據(jù) 3) 右邊是返回,短按返回菜單列表 4、中長按切換下列的菜單 5、長按退回主界面 6、按下按鈕的時候屏幕最上面中間會顯示按鈕按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】,如下右圖

2e08d6ae-93fa-11eb-8b86-12bb97331649.png

5、步數(shù)

1、在菜單欄中,選中【步數(shù)】,中長按進入界面,顯示當前步數(shù)。 2、步數(shù)是通過LSM6DSO加速度計和角速度計獲取的數(shù)據(jù)計算出來的。通過采樣加速度值,連續(xù)多次采集數(shù)據(jù),通過算法計算各個軸的加速度值是否滿足步數(shù)運動的條件,以此計算是否運動,步數(shù)檢測的靈敏度也可以在代碼中進行調節(jié)。 3、該界面中間顯示當前步數(shù)信息。 4、該界面下最下邊顯示【清空】和【返回】菜單,通過短按進行切換 5、選中【清空】,中長按之后清空步數(shù),選中【返回】,中長按退回菜單列表。 6、步數(shù)線程在啟動時創(chuàng)建,會一直監(jiān)控步數(shù)。 7、長按按鈕退出 8、按下按鈕會在上方中間顯示開關按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】

2e1fa64a-93fa-11eb-8b86-12bb97331649.png

6、溫度1、在菜單列表中,選中【溫度】,中長按進入界面,顯示當前溫度。 2、溫度是通過HST221傳感器,采集的,該傳感器中存在標定數(shù)據(jù),通過獲取標定數(shù)據(jù),然后利用一次線性方程公式對讀取出來的數(shù)據(jù)進行處理,最后會的溫度。 3、該界面中間顯示溫度數(shù)據(jù),每1s刷新一次。 4、該界面下顯示有【刷新】和【返回】,短按進行菜單切換。 5、選中【刷新】,中長按刷新當前溫度 6、選中【返回】,中長按會返回菜單列表界面 7、溫度數(shù)據(jù)在該界面下才會從傳感器中讀取 8、長按按鈕退出 9、按下按鈕會在上方中間顯示開關按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】

7、濕度1、在菜單列表中,選中【濕度】,中長按進入界面,顯示當前濕度百分比。 2、濕度是通過HST221傳感器,采集的,該傳感器中存在標定數(shù)據(jù),通過獲取標定數(shù)據(jù),然后利用一次線性方程公式對讀取出來的數(shù)據(jù)進行處理,最后會的濕度。 3、該界面中間顯示濕度數(shù)據(jù),每1s刷新一次。 4、該界面下顯示有【刷新】和【返回】,短按進行菜單切換。 5、選中【刷新】,中長按刷新當前濕度 6、選中【返回】,中長按會返回菜單列表界面 7、濕度數(shù)據(jù)在該界面下才會從傳感器中讀取 8、長按按鈕退出 9、按下按鈕會在上方中間顯示開關按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】

8、氣壓

1、在菜單列表中,選中【氣壓】,中長按進入界面,顯示當前氣壓值。

2、氣壓是通過LPS2HH傳感器獲取,每1s刷新一次

3、該界面中間顯示氣壓數(shù)據(jù)。

4、該界面下顯示有【刷新】和【返回】,短按進行菜單切換。

5、選中【刷新】,中長按刷新當前氣壓值

6、選中【返回】,中長按會返回菜單列表界面

7、氣壓數(shù)據(jù)在該界面下才會從傳感器中讀取

8、長按按鈕退出

9、按下按鈕會在上方中間顯示開關按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】

9、指南針1、在菜單列表中,選中【方位】,中長按進入界面,指南針功能,創(chuàng)建指南針線程。 2、指南針數(shù)據(jù)是通過LIS2MDL傳感器獲取,LIS2MDL獲取磁力數(shù)據(jù),通過,用LSM6DSO的加速度數(shù)據(jù)進行補償,通過公式計算出X軸與Y軸方向的磁力強度,進而計算當前傳感器所指向的方向。 3、該界面通過圖形顯示指示的方向,中間的指針會指向當前的方位; 左下角的文字會顯示指向的方位數(shù)據(jù),分別有東、南、西、北、東南、東北、西南、西北。 4、長按按鈕退出 (a)按下按鈕會在上方中間顯示開關按下的狀態(tài)【KEY1】【KEY2】【KEY3】【KEY4】

10、RTC功能RTC線程會在初始化的時候創(chuàng)建,最開始會顯示設定的時間,這個時候會等待網(wǎng)絡連接,在設置了獲取網(wǎng)絡時間的狀態(tài)下,網(wǎng)絡連接之后會獲取網(wǎng)絡時間并更新到RTC,網(wǎng)咯時間每24小時更新一次,如果關閉網(wǎng)絡時間功能則不會更新。

原文標題:【RT-Thread開源作品秀】運動手表

文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2545

    文章

    50445

    瀏覽量

    751075
  • 操作系統(tǒng)

    關注

    37

    文章

    6684

    瀏覽量

    123140
  • RT-Thread
    +關注

    關注

    31

    文章

    1261

    瀏覽量

    39839

原文標題:【RT-Thread開源作品秀】運動手表

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會報名啟動!

    開發(fā)者大會將以“開源共生,商業(yè)共贏”為主題,將于2024年12月21日全天在上海臨港中心舉行。開源RT-Thread如何實現(xiàn)商業(yè)化?這一直是外界對RT-Thread
    的頭像 發(fā)表于 10-29 08:06 ?157次閱讀
    <b class='flag-5'>開源</b>共生 商業(yè)共贏 | <b class='flag-5'>RT-Thread</b> 2024開發(fā)者大會報名啟動!

    睿賽德科技正式推出RT-Thread開源 4+服務,助力企業(yè)用戶發(fā)展

    RT-Thread始于2006年,是100%由中國開發(fā)者編寫的開源嵌入式操作系統(tǒng)。經(jīng)過10多年的發(fā)展,已經(jīng)成為國內最流行的嵌入式操作系統(tǒng),廣泛應用于工業(yè)、電力、軌道交通、智慧城市、智能家居、穿戴
    的頭像 發(fā)表于 10-15 08:07 ?234次閱讀
    睿賽德科技正式推出<b class='flag-5'>RT-Thread</b><b class='flag-5'>開源</b> 4+服務,助力企業(yè)用戶發(fā)展

    2024 RT-Thread全球巡回 線下培訓火熱來襲!

    親愛的RT-Thread社區(qū)成員們:我們非常高興地宣布,2024年RT-Thread全球開發(fā)者線下培訓即將拉開帷幕!24年全球巡回培訓將覆蓋超10座城市及國家,為開發(fā)者提供一個深入學習RT-Thread嵌入式開發(fā)的絕佳機會。
    的頭像 發(fā)表于 08-07 08:35 ?825次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓火熱來襲!

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統(tǒng)開源項目在GitHub上的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實時操作系統(tǒng)在業(yè)界Star數(shù)量排名第一!倉庫地址:https://github.com
    的頭像 發(fā)表于 07-04 08:35 ?378次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    RT-Thread全球嵌入式電子設計大賽

    (Infineon)、恩智浦(NXP)、意法半導體(ST)硬件平臺參賽者將有機會展示他們的創(chuàng)意和技術成果。RT-Thread一直致力于推動開源社區(qū)的發(fā)展,本次大賽不僅為開發(fā)者
    的頭像 發(fā)表于 06-20 08:35 ?806次閱讀
    <b class='flag-5'>RT-Thread</b>全球嵌入式電子設計大賽

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 05-28 08:35 ?388次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    【本周六-上?!?b class='flag-5'>RT-Thread+NXP線下培訓,快速上手新系列MCU

    5月25號,RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結合RT-Thread的應用與實踐線下培訓。我們將為大家?guī)矶髦瞧諱CXN系列MCU的詳細介紹、精彩Demo展示、以及
    的頭像 發(fā)表于 05-22 08:35 ?476次閱讀
    【本周六-上?!?b class='flag-5'>RT-Thread</b>+NXP線下培訓,快速上手新系列MCU

    RT-Thread西安社區(qū)舉辦首次例會,誠邀每一位開發(fā)者參與!

    為了更好的服務和鏈接全國各地的RT-Thread嵌入式開發(fā)者,RT-Thread今年將全域推行不同區(qū)域社區(qū)網(wǎng),通過建立區(qū)域社區(qū)網(wǎng),我們期待構建更加緊密聯(lián)系的開源社區(qū),實現(xiàn)更廣泛的開源
    的頭像 發(fā)表于 05-17 15:07 ?294次閱讀
    <b class='flag-5'>RT-Thread</b>西安社區(qū)舉辦首次例會,誠邀每一位開發(fā)者參與!

    【上?!?月25日-基于恩智浦MCX N系列MCU結合RT-Thread的應用與實踐 線下培訓

    5月25號,RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結合RT-Thread的應用與實踐線下培訓。我們將為大家?guī)矶髦瞧諱CXN系列MCU的詳細介紹、精彩Demo展示、以及
    的頭像 發(fā)表于 05-13 18:19 ?674次閱讀
    【上海】5月25日-基于恩智浦MCX N系列MCU結合<b class='flag-5'>RT-Thread</b>的應用與實踐 線下培訓

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 04-16 08:35 ?382次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深嵌入式軟件工程師農曉明老師為您講
    的頭像 發(fā)表于 03-27 11:36 ?743次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 03-27 08:34 ?464次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread開發(fā)者大會系統(tǒng)控制分論壇動手實踐指南

    本周六, RT-Thread 開發(fā)者大會在上海臨港中心舉行。 RT-Thread 開發(fā)者大會是嵌入式開發(fā)者的年度盛會,為開發(fā)者提供交流和學習的平臺。 2023 年 RT-Thread 開發(fā)者大會
    的頭像 發(fā)表于 12-22 18:15 ?464次閱讀
    <b class='flag-5'>RT-Thread</b>開發(fā)者大會系統(tǒng)控制分論壇<b class='flag-5'>動手</b>實踐指南

    RT-Thread開發(fā)者大會RISC-V分論壇動手實踐指南

    明天,RT-Thread開發(fā)者大會將在上海臨港中心舉行。RT-Thread開發(fā)者大會是嵌入式開發(fā)者的年度盛會,為開發(fā)者提供交流和學習的平臺。2023年RT-Thread開發(fā)者大會將圍繞AIoT的發(fā)展
    的頭像 發(fā)表于 12-22 18:15 ?822次閱讀
    <b class='flag-5'>RT-Thread</b>開發(fā)者大會RISC-V分論壇<b class='flag-5'>動手</b>實踐指南

    【PSoC?62 for RT-ThreadRT-Thread攜手英飛凌舉辦嵌入式網(wǎng)絡應用開發(fā)沙龍,圓滿落幕!

    題的線下沙龍!此次沙龍聚焦使用英飛凌科技PSoC62在RT-Thread Studio平臺上進行開發(fā),并結合智能數(shù)據(jù)網(wǎng)關動手培訓為開發(fā)者們提供了深入了解英飛凌與學習使用RT-Thread的良好機會,吸引了近150余名工程師報名參
    的頭像 發(fā)表于 12-14 16:25 ?515次閱讀
    【PSoC?62 for <b class='flag-5'>RT-Thread</b>】<b class='flag-5'>RT-Thread</b>攜手英飛凌舉辦嵌入式網(wǎng)絡應用開發(fā)沙龍,圓滿落幕!