物联网-传输课程设计-数据采集与显示

物联网-传输课程设计-数据采集与显示

  • 1.总结
  • 2.效果展示
  • 3.步骤说明
  • 一、环境准备
    • (1)Arduino、ESP8266 Node MCU的开发环境搭建(没有单片机就略过)
    • (2)JDK、Eclipse、Tomcat插件的环境搭建
    • (3)SQL Server的环境搭建
  • 二、数据采集
    • 1.(第一种方式)在单片机采集数据
    • 2.(第二种方式)利用网络调试助手发送数据
  • 三、数据保存
    • 1.利用套接字接收数据
    • 2.编写web文件保存数据并存入数据库
  • 四、数据展示
    • 1.用单片机采集数据
      • 串口信息
      • 网页效果
    • 2.用网络调试助手采集数据
      • 网络调试信息
      • 网页效果
  • 4.参考链接

1.总结

1.实现方案:通过 UDP 套接字监听硬件装置 ESP8266 NodeMCU 指定的端口 8888,获取采集到的 DHT11 温湿度传感器的温湿度数据(没有单片机就用网络调试助手也可以),实现基于 UDP套接字的数据采集。另一方面,区域数据采集器软件在Tomcat 服务器编写web 文件将采集到的数据(温度、湿度)及采集时间保存到指定的 SQL Server数据库服务器中,保存数据操作周期性为每分钟执行一次。最后,再利用Tomcat 服务器将数据库存储的采集数据在网页中以表格的分页形式展示,每页表格最多显示十条数据。
2.一定要搭建好开发环境并且IP地址及端口号要配置正确,不然运行不出想要的结果。
①开发环境包括:Arduino、ESP8266 Node MCU、JDK、Eclipse、Tomcat插件、SQL Server的环境搭建;
②IP地址及端口号要与代码中定义的一致并且在一个局域网下。
3.没有单片机的话,就用网络调试助手发送采集数据,配置的IP地址及端口与代码中定义的相适应,就能正常发送接收数据了。
4.SQL Server的端口号要与代码中定义的一致,才能访问数据库。
5.Tomcat的IP设置可以用localhost与端口不能被占用,配置的jre要与自己电脑安装的jdk版本一致,否则无法启动。

2.效果展示

注:因为点击更新数据按钮后,因为index.jsp那设置了60秒更新一次数据,所以每隔一分钟才能再次接收到服务的请求数据命令,才能在接到请求数据命令后,发送温湿度数据

  • 点击更新数据按钮后,再点击其它按钮,如下一页上一页,更新数据会失效

物联网-传输课程设计-数据采集与显示_第1张图片

3.步骤说明

一、环境准备

(1)Arduino、ESP8266 Node MCU的开发环境搭建(没有单片机就略过)

1.Arduino的开发工具的安装
2.Arduino中ESP8266的环境搭建
3.使用测试

步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655160

(2)JDK、Eclipse、Tomcat插件的环境搭建

1.JDK的安装
2.Eclipse开发工具的安装
3.Eclipse中Tomcat插件的安装
4.使用测试

步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

(3)SQL Server的环境搭建

1.SQL Server的安装
2.打开TCP/IP端口号

步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

二、数据采集

1.(第一种方式)在单片机采集数据

  • 在Arduin写入以下代码

步骤有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655160

2.(第二种方式)利用网络调试助手发送数据

  • 更改udpsend.java文件的ip为自己本机的IP
  • 在终端输入ipconfig查看ip
    物联网-传输课程设计-数据采集与显示_第2张图片

三、数据保存

1.利用套接字接收数据

  • 发送及接收数据的方法(将本方法放入类中,声明一下import,就可以在jsp中调用了)
  • 里面的ip可以是自己开发板的ip,也可以是本机ip


public String udptest( )  throws IOException {

                     

                   /** 1、建立udp socket端点 */

                   

                  
DatagramSocket s = new DatagramSocket();

                                

                   /** 2、提供数据,封装打包  ---DatagramPacket(byte[] buf, int length,
InetAddress address, int port)  */

                   

                   byte[] bs = "12345 ".getBytes();               

                  
DatagramPacket dp = new DatagramPacket(bs, bs.length, InetAddress.getByName("192.168.43.138"), 8888);

                

                   /** 3、使用send发送 */

                   try {

                       s.send(dp);

                       System.out.println("发送成功 ");

                       System.out.println(dp);

                   } catch (IOException e) {

                       System.out.println("发送失败: ");

                       e.printStackTrace();

                   }

                   // 2.创建数据报,用于接收客户端发送的数据报

                   byte[] data = new byte[1024];//创建字节数组,指定接收的数据包的大小

                  
DatagramPacket packet = new DatagramPacket(data, data.length);

                   //3.接收客户端发送的数据

                   System.out.println("****服务器已经启动,等待客户端发送数据");

                   s.receive(packet);//此方法在接收到数据报之前会一直阻塞

                   //4.读取数据

              String info = new String(data, 0, packet.getLength());         

                   System.out.println("我是服务器,客户端:" + info);   

                   /** 4、关闭资源 */

                   s.close();

                   return info;        

               }

具体代码:放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

2.编写web文件保存数据并存入数据库

  • 在eclipse新建一个web项目写入以下代码

有点多放在另一个链接https://blog.csdn.net/qq_43662263/article/details/106655181

四、数据展示

1.用单片机采集数据

串口信息

物联网-传输课程设计-数据采集与显示_第3张图片

网页效果

  • 运用index.jsp在Tomcat v9.0 Server at localhost上
  • 注:因为点击更新数据按钮后,因为index.jsp那设置了60秒更新一次数据,所以每隔一分钟才能再次接收到服务的请求数据命令,才能在接到请求数据命令后,发送温湿度数据
  • 点击更新数据按钮后,再点击其它按钮,如下一页上一页,更新数据会失效
    物联网-传输课程设计-数据采集与显示_第4张图片

2.用网络调试助手采集数据

网络调试信息

注:因为点击更新数据按钮后,因为index.jsp那设置了60秒更新一次数据,所以每隔一分钟才能再次接收到服务的请求数据命令,才能在接到请求数据命令后,发送温湿度数据

  • 点击更新数据按钮后,再点击其它按钮,如下一页上一页,更新数据会失效
  • 必须发送4位int的数字,因为程序里定义了0-1位是温度,2-3位是湿度,输入的数据不符合标准会报错。

物联网-传输课程设计-数据采集与显示_第5张图片

网页效果

  • 运用index.jsp在Tomcat v9.0 Server at localhost上
    物联网-传输课程设计-数据采集与显示_第6张图片

4.参考链接

1.ESP8266 NodeMCU介绍与开发环境搭建
2.arduino—DHT11温湿度传感器的使用
3.eclipse的介绍
4.tomcat的介绍
5.ajax技术
6.java_socket编程
7.通过JSP网页连接Mysql数据库
8.jsp数据库操作之插入

注:遇到之前能打开,后来打不开,没数据的情况,重新启动试试

你可能感兴趣的:(sql,java,物联网)