飞腾派
直播中

sda12138

2年用户 25经验值
擅长:嵌入式技术
私信 关注
[经验]

Spring Boot和飞腾派融合构建的农业物联网系统-数据采集篇

接上集:
本次实验解决数据采集问题,实现数据无线上传。
由于飞腾派与数据采集端距离过远,通过杜邦线链接可靠性不高问题。
本次实验使用到的设备如下:
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.APPLICAtiON_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);
}



  • 微信图片_20240106192506.png

更多回帖

发帖
×
20
完善资料,
赚取积分