接上集:
本次实验解决数据采集问题,实现数据无线上传。
由于飞腾派与数据采集端距离过远,通过杜邦线链接可靠性不高问题。
本次实验使用到的设备如下:
1.飞腾派
开发板一块
2.CHV208
单片机开发板一块
3.esp12-f
数据采集代码如下:
if(Read_DHT11_1(&DHT11_Data)==SUCCESS_1){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
if(Read_DHT11_2(&DHT11_Data)==SUCCESS_2){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
if(Read_DHT11_3(&DHT11_Data)==SUCCESS_3){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
if(Read_DHT11_4(&DHT11_Data)==SUCCESS_4){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
if(Read_DHT11_5(&DHT11_Data)==SUCCESS_5){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
if(Read_DHT11_6(&DHT11_Data)==SUCCESS_6){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
if(Read_DHT11_7(&DHT11_Data)==SUCCESS_7){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
if(Read_DHT11_8(&DHT11_Data)==SUCCESS_8){
temp_int[index]=DHT11_Data.temp_int;
humi_int[index]=DHT11_Data.humi_int;
temp_deci[index]=DHT11_Data.temp_deci;
humi_deci[index]=DHT11_Data.humi_deci;
index++;
}else {
printf("系统繁忙!\r\n");
}
esp12-f数据上传部分:
for (int i = 0; i < 8; i++)
{
temp[i] = temp_int[i] + temp_int[i]/1000.0+temp_deci[i]/10.0;
}
for (int i = 0; i < 8; i++)
{
humi[i] =humi_int[i] + humi_deci[i]/10.0;
}
for(int i=0;i<8;i++){
printf("0%d号传感器温度是===%.2lf\r\n",i+1,temp[i]);
printf("0%d号传感器湿度是===%.2lf\r\n",i+1,humi [i]);
}
飞腾派接口:
1.数据接收
@POST
@Path("/testpost")
// 指定请求与返回的相应体为JSON
@Consumes(MediaType.APPLICA
tiON_JSON)
@Produces(MediaType.APPLICATION_JSON)
public R testPost(PostDataModel model) {
arr_t[0] = Double.parseDouble(model.getT1());
arr_t[1] = Double.parseDouble(model.getT2());
arr_t[2] = Double.parseDouble(model.getT3());
arr_t[3] = Double.parseDouble(model.getT4());
arr_t[4] = Double.parseDouble(model.getT5());
arr_t[5] = Double.parseDouble(model.getT6());
arr_t[6] = Double.parseDouble(model.getT7());
arr_t[7] = Double.parseDouble(model.getT8());
arr_h[0] =Double.parseDouble(model.getH1());
arr_h[1] = Double.parseDouble(model.getH2());
arr_h[2] = Double.parseDouble(model.getH3());
arr_h[3] = Double.parseDouble(model.getH4());
arr_h[4] = Double.parseDouble(model.getH5());
arr_h[5] = Double.parseDouble(model.getH6());
arr_h[6] = Double.parseDouble(model.getH7());
arr_h[7] = Double.parseDouble(model.getH8());
mPostDataModel = model;
return R.ok();
}
2.数据测试
@GET
@Path("/testget")
@Produces({MediaType.TEXT_HTML, MediaType.APPLICATION_JSON})
public R test() {
return R.ok().put("msg", mPostDataModel);
}