JAVA實踐項目---樹莓派信息自動化採集後入庫項目(一)

項目源代碼可訪問我的github:https://github.com/Spacider/Gather-and-store
如果覺得好的話請給個star哦~

樹莓派

樹莓派是一個固定的硬件系統,我們可以通過指令與板上的各式傳感器(比如溫度、溼度、二氧化碳傳感器)進行交互。這裏我們不去深究樹莓派的實現方式(嵌入式方向,逃~),我們只需要理解如何與樹莓派交互的手段和與我們通過與樹莓派交互能獲得什麼?下面談談我的想法:

  • 如何與樹莓派進行交互?
    測試環境採用的是XML文件的形式,發送端的XML如下所示:
<?xml version="1.0" encoding="UTF-8"?> <Message>
<SrcID>100</SrcID> //電腦端ID
<DstID>101</DstID> //樹莓派ID
<DevID>2</DevID> //板子模塊ID 
<SensorAddress>16</SensorAddress> //板子上具體的傳感器ID
<Counter>1</Counter> //操控的傳感器個數
<Cmd>3</Cmd> //發送指令 3表示要接收數據 16表示要發送數據
<Status>1</Status> //狀態 默認值1表示成功
 </Message>

這些數據就是我們需要發送給樹莓派系統的數據,通過這些數據,樹莓派系統就可以找到對應的傳感器並給我們反應相關的數據,比如上XML文件表示找到ID爲101的樹莓派,然後好到板子2上的16號傳感器!

  • 與樹莓派交互能獲得什麼?
    樹莓派系統在獲得找到傳感器以後就會讀取該傳感器的數據,同樣,他回拼接一個新的XML文件給你,只不過這個XML文件是帶有傳感器數據的!先看XML文件的內容:
 <?xml version="1.0" encoding="UTF-8"?> <Message>
<SrcID>100</SrcID> //電腦端ID
<DstID>101</DstID> //樹莓派ID
<DevID>2</DevID> //板子模塊ID
<SensorAddress>0</SensorAddress>
<Counter>0</Counter>
<Cmd>3</Cmd> //發送的命令3表示接收數據16表示要發送數據
<Data>63a87aec02</Data> //16進制數據
<Status>1</Status> //狀態 默認值1表示成功
</Message>

返回的XML文件大致相同,只不過SensorAddress和Counter屬性爲0,因爲我們不必關注板上的傳感器和ID,Data字段所帶給我們的就是採集到的數據,這個數據爲16進制,之後我們會完整的介紹如何去拆分這個數據。

談到項目

這個項目中我們採用的是 XML文件的形式,項目可運行在真實樹莓派系統上,這裏我們採用測試環境,可以獲得與真實環境相同的效果。
項目用到的技術(或者說你需要懂的基礎):
1.Thread 的使用和理解。
2.XML文件解析(dom4j或其他解析技術)。
3.各種流的使用和理解。
4.log4j的使用。
5.jdbc的使用和理解。

項目的模塊設計:

在這裏插入圖片描述

隨着稍微的學習我們會對各個模塊進行講解和代碼編寫。

當你準備好了,就開始我們的項目實踐吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章