作者/劉瓊,田會峰,江蘇科技大學電氣與信息工程學院
體重健康管理系統設計
作者/劉瓊,田會峰,江蘇科技大學電氣與信息工程學院
設計了一款基于微信平臺,WiFi聯網的體重健康管理系統。硬件部分選擇由電阻應變片構成差動全橋電路;軟件系統設計以52單片機最小系統為核心,用HX711芯片進行A/D轉換,采集的數據傳送至單片機,通過WIFI模塊將單片機中的數據上傳至機智云平臺,云平臺作為數據的中轉站,進而將數據上傳至微信公眾號,同樣控制命令的數據可以逆行下傳,實現通過手機控制電子稱重設備。
體重測量;測重模塊;微信平臺;單片機
隨著電子測重技術的成熟,電子秤已經逐漸取代老式測重設備。其因操作簡單、測重準確、體積小、測量速度快、讀數方便,廣泛應用于商業貿易、醫院、學校、企業等部門[1 2]。隨著制造工藝的提高,電子秤更是越做越輕巧便攜,加之人們對美的追求,越來越關注自己體型的變化,因此如今幾乎家家備有電子體重秤。同時隨著物聯網時代的到來以及微信技術的發展,物聯網技術必然會用到越來越多的微信平臺資源。本文即為大家介紹一款基于微信平臺的體重健康管理系統,本系統不僅能測重,更能讓用戶了解自己體重階段性的變化。同時利用微信平臺,讓本系統擁有較好的人機交互的體驗感覺,使系統更人性化、智能化。
本系統以52單片機為核心,硬件部分選擇由電阻應變片構成差動全橋電路,A/D轉換部分選用HX711芯片。除了基本的測重功能外,本系統提出了一種基于微信平臺、WiFi、機智云平臺對數據進行保存和分析的功能。本系統實現了將用戶測得的體重信息進行保存及分析,將結果通過微信平臺反饋給用戶,同時用戶也可以通過微信控制電子稱重實體。

圖1 系統整體結構框圖
2.1 電阻式應變片傳感器


圖2 差動全橋電路
2.2 A/D轉換模塊
電子稱重需要將應變片的物理形變產生的電壓模擬信號轉換成數字信號,則需要A/D轉換模塊,加上電子秤重對精度的較高要求,所以最終選用HX711芯片。HX711是一款24位高精度的A/D轉換芯片,與其它A/D轉換芯片相比,其不僅具有響應速度快、抗干擾性能強等優勢;除此之外該芯片還具有較高的集成度,因為其內部已經集成有穩壓電源和片內時鐘振蕩器等外圍電路。符合芯片越做越精,越做越小的趨勢。該芯片有兩路通道可供差分輸入選擇,分別為通道A和通道B。通道A的差分輸入信號大小可為±20mV或±40mV,通道B的可編程增益為固定的32增益,用于系統參數檢測。該芯片集成有穩壓電源和內部時鐘振蕩器,所以系統板上無需外接模擬電源,也無需外部提供振蕩信號。因此該芯片集成度高,操作簡單。此外其特有的上電自動復位功能,簡化了開機過程,加快了開機速度。

圖3 HX711模塊原理圖
如今微信已成為一種新的生活方式,越來越多的基于微信平臺的智能家居的誕生讓生活更加便利,相對于手機app,利用微信平臺,系統開發周期和難度更小,更受開發者和用戶的喜歡,物聯網的微信應用已然成為一種趨勢。
3.1 微信功能設計框圖
本設計的微信部分通過WiFi模塊將設備MCU收集的一系列數據上傳至云服務器,這里利用的是機智云平臺,數據通過機智云處理轉發到微信公眾號上,同樣控制命令的數據可以從微信通過機智云下行傳送到設備MCU,從而實現對電子秤設備的控制,可以看出機智云平臺在此部分的設計中起到了承上啟下的作用。本系統中微信與設備互聯的功能可以推廣到其他各種智能家居設備上,應用前景十分廣泛。
3.2 設備與微信硬件綁定過程
首先申請一個微信公眾號,獲得對應的公眾號原始ID。接著進行設備MCU開發和固件燒錄,在WiFi模塊寫入AirKiss時,需要將機智云的produck_key寫入設備MCU,同時需要配置公眾號的原始ID。在這里,借助了已經燒錄到WiFi模塊的微信寵物屋開源框架進行第二次燒寫,關鍵代碼如圖5所示。
接著微信客戶端通過掃描二維碼的方式添加設備,設備二維碼生成方式中,選擇產品添加方式為每種型號唯一的二維碼,此方式在微信綁定設備時,既可以通過掃描二維碼直接綁定,也可以選擇近場發現綁定。

圖4 微信功能設計框圖
接著進行設備的授權,在WiFi固件中寫入公眾號原始ID,同時將所有設備的MAC地址登記到微信服務器上,接著即可以向微信接口發送請求設備授權關鍵代碼如圖6所示。

圖5 WiFi寫入Airkiss關鍵代碼

圖6 設備授權關鍵代碼
最后即可實現設備與微信的綁定,階段性成果如圖7所示。

圖7 微信與設備硬件綁定
3.3 微信與設備數據交互的實現
對于設備數據點的監控,借助平臺已經封裝好的SDK即java—SDK和js—SDK,這兩個SDK各自封裝了機智云的OpenAPI以及WebSocket,所以大大簡化了API的操作,接管了token和用戶管理,只需要調用相關函數,即可實現設備與微信在軟件平臺的綁定和解綁。下面給出綁定用戶的Java_SDK中的關鍵代碼:


對于設備的控制同樣需要調用js—SDK,首先初始化GizwitsWS對象,然后使用GizwitsWS.init()獲取綁定列表,接著選擇一個設備,創建websocket連接控制設備。對于控制代碼的編寫,如果是commType=custom,則輸入p0;如果commType=attrs_v4,則輸入datapoints。下面給出遠程控制電子秤上RBG燈的代碼樣例:

以上是電子秤微信部分設計的關鍵步驟,在此開發過程中,機智云平臺起到了關鍵的作用。通過機智云后臺完成設備的功能定義后,平臺自動生成負責底層通信的SDK,此外機智云免費提供設備數據的統計與運算處理,這大大減少了開發周期與開發難度。
越是隨處可見的東西,越是需要實用與智能,本系統在測重模塊的設計上實現了降低成本,提高精確度。除此之外外加的微信平臺,實現了人機交互的功能,讓電子秤不在僅僅可以稱重,更成為了健康生活的小助手,因此該設備具有廣闊的應用前景。
* [1]佟瑩辛.基于C8051F350的高精度低成本電子秤[J].遼寧科技學院學報,2008,10(3):9—10.
* [2]王德清,胡曉毅,賈宏,等.基于SPCE061A的高精度電子秤設計[J].電子技術應用,27(5):83—86.
* [3]吳祥晨.電阻應變片測量電路的靈敏度研究與誤差分析[J].電子制作, 2014, (3):51—51.
* [4]李巧真.電阻應變片的實驗與應用[J]. 實驗室研究與探索, 2011, 30 (4): 134—137
* [5]吳玉林,方鵬斌,嚴黎華.簡易數字電子秤的設計[J].咸寧學院學報,2010,30 (12):12—12.
* [6]吳川環.基于微信控制物聯網設備的服務器系統[D].廣東:廣東工業大學信息與通信工程系,2015.