摘? 要: 在智能管家系統(tǒng)中,通過檢測人的體重和體脂,再結(jié)合客戶錄入的信息計(jì)算出BMI,并將相關(guān)數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫中以便查詢。另外,系統(tǒng)應(yīng)用網(wǎng)絡(luò)爬蟲技術(shù)獲取天氣狀況,搭建C/S模型實(shí)現(xiàn)論壇交流功能。系統(tǒng)采用三星4412芯片做為控制核心,搭載Linux操作系統(tǒng)進(jìn)行開發(fā)。
關(guān)鍵詞: 網(wǎng)絡(luò)編程技術(shù); Exyns4412; SQLite3數(shù)據(jù)庫; 智能管家
中圖分類號:TP274+.1? ? ? ? ? 文獻(xiàn)標(biāo)識碼: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ā)展。
智能管家致力于為個(gè)人客戶提供智能、高效、專業(yè)的管智能服務(wù),推動(dòng)人工智能時(shí)代的文明創(chuàng)新。智能管家系統(tǒng)的設(shè)計(jì)一般包括對人的健康狀況進(jìn)行檢測、遠(yuǎn)程通信交流、實(shí)時(shí)獲取天氣狀況和出行建議等。智能管家系統(tǒng)應(yīng)能夠?qū)⒚看螜z測的體脂率進(jìn)行存儲(chǔ),并在歷史查詢時(shí)以折線圖的形式呈現(xiàn)。系統(tǒng)實(shí)現(xiàn)是基于TCP/IP協(xié)議結(jié)合Socket通信、SQLite3數(shù)據(jù)庫操作、Linux系統(tǒng)編程、framebuffer顯示等技術(shù)。
1 系統(tǒng)整體設(shè)計(jì)
根據(jù)智能管家系統(tǒng)功能需求進(jìn)行系統(tǒng)模塊設(shè)計(jì),將系統(tǒng)分為如下五個(gè)模塊進(jìn)行設(shè)計(jì)。
⑴ 登錄注冊模塊:基于TCP/IP網(wǎng)絡(luò)和數(shù)據(jù)庫實(shí)現(xiàn)創(chuàng)建和登錄個(gè)人賬號。
⑵ 體重、體脂檢測及BMI計(jì)算模塊:基于傳感器,獲得用戶的體重、體脂數(shù)據(jù),再結(jié)合輸入的身高數(shù)據(jù)計(jì)算用戶的BMI指數(shù)。并將獲得和計(jì)算的數(shù)據(jù)存入SQLite3數(shù)據(jù)庫。
⑶ 歷史數(shù)據(jù)顯示模塊:基于數(shù)據(jù)庫中的數(shù)據(jù),將近期的歷史數(shù)據(jù)匯總,繪制折線統(tǒng)計(jì)圖。
⑷ 出行建議模塊:基于網(wǎng)絡(luò)爬蟲技術(shù)獲取實(shí)時(shí)天氣信息,穿衣指數(shù)以及空氣質(zhì)量等信息,實(shí)時(shí)反饋給用戶,并在用戶需要外出時(shí)對用戶提出適當(dāng)?shù)拇┮陆ㄗh,避免出行問題。
⑸ 論壇模塊:通過建立TCP服務(wù)器,可查看用戶上傳的動(dòng)態(tài)信息等。
智能管家系統(tǒng)的結(jié)構(gòu)圖如圖1所示。
2 主要模塊介紹
2.1 登錄模塊
用戶登錄模塊是用于用戶登錄自己的主頁,首先需要將登錄注冊模塊和系統(tǒng)服務(wù)器連接。其次需要顯示軟鍵盤,實(shí)現(xiàn)賬戶和密碼的錄入,在客戶端錄入賬號密碼后,系統(tǒng)服務(wù)器檢索數(shù)據(jù)庫,尋找匹配賬號和密碼,若成功則進(jìn)入用戶主頁失敗則提示重新輸入。此模塊的設(shè)計(jì)分為以下三步。
⑴ UI與軟鍵盤:在進(jìn)行輸入賬號密碼時(shí)需要用到交互界面軟鍵盤,交互界面軟鍵盤感知點(diǎn)擊位置,判斷交互界面被點(diǎn)擊的xy坐標(biāo)與上次不同時(shí)有效,即一次點(diǎn)擊將會(huì)產(chǎn)生多次判定。再將準(zhǔn)備好的圖片位置與屏幕坐標(biāo)對應(yīng),即可得到點(diǎn)擊位置和輸入的字符。
⑵ 輸入回顯:回顯時(shí)記錄當(dāng)前界面,刪除輸入的字符時(shí)依據(jù)當(dāng)前界面輸出。
⑶ 登錄與注冊:用戶輸入信息創(chuàng)建或登錄賬號,用TCP網(wǎng)絡(luò)傳輸本地拼接帶幀頭的字符串后,服務(wù)器解析調(diào)用數(shù)據(jù)庫實(shí)現(xiàn)注冊登錄。
2.2 體重、體脂、BMI檢測模塊
BMI是國際常用的衡量人體胖瘦程度以及是否健康的一個(gè)標(biāo)準(zhǔn)。本智能系統(tǒng)設(shè)計(jì)通過體重體脂傳感器測量用戶體重體脂數(shù)據(jù),再根據(jù)錄入的身高信息計(jì)算出BMI指數(shù)并顯示,在測量結(jié)束后用戶可選擇將測量的BMI指數(shù)的數(shù)據(jù)上傳至服務(wù)器,以備后續(xù)查詢。體重、體脂、BMI測量模塊信號流圖如圖2所示。
2.3 出行建議模塊
出行建議模塊主要功能是獲取實(shí)時(shí)天氣情況和出行建議數(shù)據(jù)并在觸摸屏顯示。在本系統(tǒng)中由服務(wù)器通過網(wǎng)絡(luò)爬蟲技術(shù)獲取Nowapi網(wǎng)頁上的天氣數(shù)據(jù)和出行建議數(shù)據(jù),設(shè)計(jì)每分鐘進(jìn)行一次天氣信息的獲取并實(shí)時(shí)顯示。出行模塊信號流圖如圖3所示。
觸摸屏錄入需要獲取天氣情況的具體城市向服務(wù)器發(fā)送請求,獲取相關(guān)城市的天氣信息,系統(tǒng)服務(wù)器訪問Nowapi平臺(tái),根據(jù)幀格式向網(wǎng)頁發(fā)送請求報(bào)文,再將獲取的網(wǎng)頁響應(yīng)報(bào)文信息進(jìn)行字符串解析,從而得到規(guī)范精簡的天氣信息。
2.4 論壇模塊
論壇模塊主要用于用戶之間的交流。當(dāng)客戶端需要閱讀論壇內(nèi)容時(shí),需發(fā)送閱讀請求至服務(wù)器,服務(wù)器收到請求后發(fā)送論壇信息,客戶端解析并顯示,客戶端也可上傳信息至論壇。該模塊通過建立客戶端與服務(wù)器的C/S網(wǎng)絡(luò)模型,使用epoll并發(fā)I/O,來實(shí)現(xiàn)多個(gè)線程間的調(diào)用。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)在Linux操作系統(tǒng)平臺(tái)下進(jìn)行軟件開發(fā),Linux操作系統(tǒng)可以實(shí)現(xiàn)多進(jìn)程、多線程、文件IO、網(wǎng)絡(luò)編程等軟件開發(fā)。此系統(tǒng)軟件開發(fā)主要分為顯示模塊、客戶端模塊、Server服務(wù)器模塊。
顯示模塊主要有顯示數(shù)據(jù)和輸入信息兩個(gè)用途。顯示數(shù)據(jù)為:顯示體重體脂測量數(shù)據(jù)、歷史BMI的數(shù)據(jù)折線圖、天氣情況及出行建議和論壇交流信息。輸入信息為:登錄和注冊賬號、個(gè)人信息的錄入、論壇發(fā)布動(dòng)態(tài)等。
客戶端主要起到數(shù)據(jù)中轉(zhuǎn)和多線程調(diào)度的作用。客戶端模塊可根據(jù)體重體脂和身高等數(shù)據(jù)計(jì)算出BMI數(shù)據(jù),再將數(shù)據(jù)發(fā)送至服務(wù)器進(jìn)行存儲(chǔ)。系統(tǒng)進(jìn)行出行建議功能時(shí),起到中轉(zhuǎn)城市地址的作用,將輸入的城市信息發(fā)送至服務(wù)器。在進(jìn)行論壇交流功能時(shí)起到中轉(zhuǎn)交流信息的作用。
服務(wù)器用于接收各個(gè)客戶端發(fā)送來的數(shù)據(jù)并存儲(chǔ)于數(shù)據(jù)庫中,服務(wù)器與客戶端之間以TCP的方式進(jìn)行連接,搭建為C/S模型實(shí)現(xiàn)論壇交流。在實(shí)現(xiàn)出行建議功能時(shí)服務(wù)器與Nowapi建立TCP連接,向網(wǎng)頁發(fā)送請求報(bào)文并解析接收的數(shù)據(jù),最后下發(fā)至客戶端。
4 系統(tǒng)測試
系統(tǒng)設(shè)計(jì)的主界面有“我”、“測量”、“出行”、“發(fā)現(xiàn)”、“鬧鐘”、“登錄”、“注冊”這七個(gè)功能,圖4和圖5展示部分功能的測試。
5 結(jié)束語
經(jīng)測試,本系統(tǒng)能夠?qū)崿F(xiàn)用戶身體檢測、出行建議、論壇交流、歷史數(shù)據(jù)查詢等多種功能。系統(tǒng)搭載Linux操作系統(tǒng),使用C語言進(jìn)行開發(fā),具備高效率低成本的特點(diǎn)。系統(tǒng)雖然實(shí)現(xiàn)了預(yù)定功能,但還有需完善之處,后續(xù)可開發(fā)對人體的心率、血壓、血糖、體溫等多方面的數(shù)據(jù)檢測,使得智能管家系統(tǒng)更加智能更加全面。
參考文獻(xiàn)(References):
[1] 劉洪濤.嵌入式系統(tǒng)Linux C語言程序所設(shè)計(jì)[M].人民郵電
出版社,2017
[2] 劉洪濤.嵌入式操作系統(tǒng)[M].人民郵電出版社, 2017
[3] 殷人昆.數(shù)據(jù)結(jié)構(gòu)C語言描述[M].機(jī)械工業(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è)計(jì)
與實(shí)現(xiàn)[D].西安石油大學(xué),2020
[6] 張浩雨.基于NB_IoT的小區(qū)安防與環(huán)境監(jiān)測系統(tǒng)設(shè)計(jì)與
實(shí)現(xiàn)[D].西安科技大學(xué),2020
收稿日期:2021-11-11
作者簡介:王雄衛(wèi)(1996-),男,陜西榆林人,西安石油大學(xué)電子工程學(xué)院碩士在讀,主要研究方向:嵌入式、智能系統(tǒng)。