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的使用和理解。

项目的模块设计:

在这里插入图片描述

随着稍微的学习我们会对各个模块进行讲解和代码编写。

当你准备好了,就开始我们的项目实践吧!

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