摘? 要: 在智能管家系統(tǒng)中,通過檢測人的體重和體脂,再結(jié)合客戶錄入的信息計算出BMI,并將相關(guān)數(shù)據(jù)存儲至數(shù)據(jù)庫中以便查詢。另外,系統(tǒng)應用網(wǎng)絡(luò)爬蟲技術(shù)獲取天氣狀況,搭建C/S模型實現(xiàn)論壇交流功能。系統(tǒng)采用三星4412芯片做為控制核心,搭載Linux操作系統(tǒng)進行開發(fā)。
關(guān)鍵詞: 網(wǎng)絡(luò)編程技術(shù); Exyns4412; SQLite3數(shù)據(jù)庫; 智能管家
中圖分類號:TP274+.1? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2022)05-60-03
Design of intelligent housekeeper system based on Internet of Things technology
Wang Xiongwei
Abstract: In this intelligent housekeeper system, BMI is calculated by detecting the person's weight and body fat, and then combining the information entered by the customer. The relevant data is stored in the database for query. In addition, the system uses Web crawler technology to obtain weather conditions, and builds C/S model to realize forum communication function. The system uses Samsung 4412 chip as the control core and is developed with Linux operating system.
Key words: network programming technology; Exyns4412; SQLite3 database; intelligent housekeeper
引言
隨著物聯(lián)網(wǎng)技術(shù)的不斷成熟和人工智能的迅猛發(fā)展,智能管家在此環(huán)境下孕育而生并快速發(fā)展。
智能管家致力于為個人客戶提供智能、高效、專業(yè)的管智能服務(wù),推動人工智能時代的文明創(chuàng)新。智能管家系統(tǒng)的設(shè)計一般包括對人的健康狀況進行檢測、遠程通信交流、實時獲取天氣狀況和出行建議等。智能管家系統(tǒng)應能夠?qū)⒚看螜z測的體脂率進行存儲,并在歷史查詢時以折線圖的形式呈現(xiàn)。系統(tǒng)實現(xiàn)是基于TCP/IP協(xié)議結(jié)合Socket通信、SQLite3數(shù)據(jù)庫操作、Linux系統(tǒng)編程、framebuffer顯示等技術(shù)。
1 系統(tǒng)整體設(shè)計
根據(jù)智能管家系統(tǒng)功能需求進行系統(tǒng)模塊設(shè)計,將系統(tǒng)分為如下五個模塊進行設(shè)計。
⑴ 登錄注冊模塊:基于TCP/IP網(wǎng)絡(luò)和數(shù)據(jù)庫實現(xiàn)創(chuàng)建和登錄個人賬號。
⑵ 體重、體脂檢測及BMI計算模塊:基于傳感器,獲得用戶的體重、體脂數(shù)據(jù),再結(jié)合輸入的身高數(shù)據(jù)計算用戶的BMI指數(shù)。并將獲得和計算的數(shù)據(jù)存入SQLite3數(shù)據(jù)庫。
⑶ 歷史數(shù)據(jù)顯示模塊:基于數(shù)據(jù)庫中的數(shù)據(jù),將近期的歷史數(shù)據(jù)匯總,繪制折線統(tǒng)計圖。
⑷ 出行建議模塊:基于網(wǎng)絡(luò)爬蟲技術(shù)獲取實時天氣信息,穿衣指數(shù)以及空氣質(zhì)量等信息,實時反饋給用戶,并在用戶需要外出時對用戶提出適當?shù)拇┮陆ㄗh,避免出行問題。
⑸ 論壇模塊:通過建立TCP服務(wù)器,可查看用戶上傳的動態(tài)信息等。
智能管家系統(tǒng)的結(jié)構(gòu)圖如圖1所示。
2 主要模塊介紹
2.1 登錄模塊
用戶登錄模塊是用于用戶登錄自己的主頁,首先需要將登錄注冊模塊和系統(tǒng)服務(wù)器連接。其次需要顯示軟鍵盤,實現(xiàn)賬戶和密碼的錄入,在客戶端錄入賬號密碼后,系統(tǒng)服務(wù)器檢索數(shù)據(jù)庫,尋找匹配賬號和密碼,若成功則進入用戶主頁失敗則提示重新輸入。此模塊的設(shè)計分為以下三步。
⑴ UI與軟鍵盤:在進行輸入賬號密碼時需要用到交互界面軟鍵盤,交互界面軟鍵盤感知點擊位置,判斷交互界面被點擊的xy坐標與上次不同時有效,即一次點擊將會產(chǎn)生多次判定。再將準備好的圖片位置與屏幕坐標對應,即可得到點擊位置和輸入的字符。
⑵ 輸入回顯:回顯時記錄當前界面,刪除輸入的字符時依據(jù)當前界面輸出。
⑶ 登錄與注冊:用戶輸入信息創(chuàng)建或登錄賬號,用TCP網(wǎng)絡(luò)傳輸本地拼接帶幀頭的字符串后,服務(wù)器解析調(diào)用數(shù)據(jù)庫實現(xiàn)注冊登錄。
2.2 體重、體脂、BMI檢測模塊
BMI是國際常用的衡量人體胖瘦程度以及是否健康的一個標準。本智能系統(tǒng)設(shè)計通過體重體脂傳感器測量用戶體重體脂數(shù)據(jù),再根據(jù)錄入的身高信息計算出BMI指數(shù)并顯示,在測量結(jié)束后用戶可選擇將測量的BMI指數(shù)的數(shù)據(jù)上傳至服務(wù)器,以備后續(xù)查詢。體重、體脂、BMI測量模塊信號流圖如圖2所示。
2.3 出行建議模塊
出行建議模塊主要功能是獲取實時天氣情況和出行建議數(shù)據(jù)并在觸摸屏顯示。在本系統(tǒng)中由服務(wù)器通過網(wǎng)絡(luò)爬蟲技術(shù)獲取Nowapi網(wǎng)頁上的天氣數(shù)據(jù)和出行建議數(shù)據(jù),設(shè)計每分鐘進行一次天氣信息的獲取并實時顯示。出行模塊信號流圖如圖3所示。
觸摸屏錄入需要獲取天氣情況的具體城市向服務(wù)器發(fā)送請求,獲取相關(guān)城市的天氣信息,系統(tǒng)服務(wù)器訪問Nowapi平臺,根據(jù)幀格式向網(wǎng)頁發(fā)送請求報文,再將獲取的網(wǎng)頁響應報文信息進行字符串解析,從而得到規(guī)范精簡的天氣信息。
2.4 論壇模塊
論壇模塊主要用于用戶之間的交流。當客戶端需要閱讀論壇內(nèi)容時,需發(fā)送閱讀請求至服務(wù)器,服務(wù)器收到請求后發(fā)送論壇信息,客戶端解析并顯示,客戶端也可上傳信息至論壇。該模塊通過建立客戶端與服務(wù)器的C/S網(wǎng)絡(luò)模型,使用epoll并發(fā)I/O,來實現(xiàn)多個線程間的調(diào)用。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)在Linux操作系統(tǒng)平臺下進行軟件開發(fā),Linux操作系統(tǒng)可以實現(xiàn)多進程、多線程、文件IO、網(wǎng)絡(luò)編程等軟件開發(fā)。此系統(tǒng)軟件開發(fā)主要分為顯示模塊、客戶端模塊、Server服務(wù)器模塊。
顯示模塊主要有顯示數(shù)據(jù)和輸入信息兩個用途。顯示數(shù)據(jù)為:顯示體重體脂測量數(shù)據(jù)、歷史BMI的數(shù)據(jù)折線圖、天氣情況及出行建議和論壇交流信息。輸入信息為:登錄和注冊賬號、個人信息的錄入、論壇發(fā)布動態(tài)等。
客戶端主要起到數(shù)據(jù)中轉(zhuǎn)和多線程調(diào)度的作用??蛻舳四K可根據(jù)體重體脂和身高等數(shù)據(jù)計算出BMI數(shù)據(jù),再將數(shù)據(jù)發(fā)送至服務(wù)器進行存儲。系統(tǒng)進行出行建議功能時,起到中轉(zhuǎn)城市地址的作用,將輸入的城市信息發(fā)送至服務(wù)器。在進行論壇交流功能時起到中轉(zhuǎn)交流信息的作用。
服務(wù)器用于接收各個客戶端發(fā)送來的數(shù)據(jù)并存儲于數(shù)據(jù)庫中,服務(wù)器與客戶端之間以TCP的方式進行連接,搭建為C/S模型實現(xiàn)論壇交流。在實現(xiàn)出行建議功能時服務(wù)器與Nowapi建立TCP連接,向網(wǎng)頁發(fā)送請求報文并解析接收的數(shù)據(jù),最后下發(fā)至客戶端。
4 系統(tǒng)測試
系統(tǒng)設(shè)計的主界面有“我”、“測量”、“出行”、“發(fā)現(xiàn)”、“鬧鐘”、“登錄”、“注冊”這七個功能,圖4和圖5展示部分功能的測試。
5 結(jié)束語
經(jīng)測試,本系統(tǒng)能夠?qū)崿F(xiàn)用戶身體檢測、出行建議、論壇交流、歷史數(shù)據(jù)查詢等多種功能。系統(tǒng)搭載Linux操作系統(tǒng),使用C語言進行開發(fā),具備高效率低成本的特點。系統(tǒng)雖然實現(xiàn)了預定功能,但還有需完善之處,后續(xù)可開發(fā)對人體的心率、血壓、血糖、體溫等多方面的數(shù)據(jù)檢測,使得智能管家系統(tǒng)更加智能更加全面。
參考文獻(References):
[1] 劉洪濤.嵌入式系統(tǒng)Linux C語言程序所設(shè)計[M].人民郵電
出版社,2017
[2] 劉洪濤.嵌入式操作系統(tǒng)[M].人民郵電出版社, 2017
[3] 殷人昆.數(shù)據(jù)結(jié)構(gòu)C語言描述[M].機械工業(yè)出版社,2017
[4] SantemizP,Spreeuwers L J,Veldhuis R N J.Automatic face
recognition for home safetyusing video-based side-view face images[J].IET biometrics,2018
[5] 李海園.基于Cortex_A9處理器的室內(nèi)環(huán)境監(jiān)測系統(tǒng)的設(shè)計
與實現(xiàn)[D].西安石油大學,2020
[6] 張浩雨.基于NB_IoT的小區(qū)安防與環(huán)境監(jiān)測系統(tǒng)設(shè)計與
實現(xiàn)[D].西安科技大學,2020
收稿日期:2021-11-11
作者簡介:王雄衛(wèi)(1996-),男,陜西榆林人,西安石油大學電子工程學院碩士在讀,主要研究方向:嵌入式、智能系統(tǒng)。