阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据

没睡午觉的小鸭子,还是坚持下来写完这篇博文????
想要尝试完成环境搭建的小伙伴可以根据自己的需求安装尝试哈。
博文使用LNMP(Nginx/MySQL/PHP)
对于小白来说还是比较容易的啦。
使用putty登陆阿里云服务器端
更换到安装包路径cd **
使用wget的方法下载LNMP的安装包 可以在网站下载连接处右键复制链接
阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据
登陆后运行:screen -S lnmp
如果提示screen: command not found 命令不存在可以执行:yum install screen 或 apt-get install screen安装。
然后使用yum install wget 或 apt-get install wget 命令安装
然后个人推荐MySQL选择默认的5.5.60,不然会遇到不少麻烦。
阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据
安装成功后会显示下图↓
阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据
如果出现安装失败,可以尝试重新安装,删除服务器中现有的环境、数据库等…
数据库最基础的语句:

https://blog.****.net/man_zuo/article/details/81117052

因为我们的项目需要使用maven项目 所以还要安装java环境(这里就不细说了)
需要操作到树莓派的小伙伴可以借阅:

https://blog.****.net/qq_19961917/article/details/82771629

然后我们需要完成的任务就是通过服务器端订阅设备发出的消息,这中间通过的媒介就是阿里云物联网平台。

https://help.aliyun.com/document_detail/87254.html?spm=a2c4g.11186623.6.556.12df522f0puLPm

在maven项目pom.xml中添加依赖项:

<dependency>
    <groupId>com.aliyun.openservices</groupId>
    <artifactId>iot-client-message</artifactId>
    <version>1.1.3</version>
</dependency>

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>3.7.1</version>
</dependency>

写好了maven项目生成可执行jar之后就可以打开端口啦:
大家可以是screen的方法让jar程序在后台一直运行:screen -S dl
阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据
如果你不是负责硬件方面,可以使用阿里云物联网平台的在线调试,测试代码介绍情况。
阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据
接收到设备端发送来的Topics:
阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据
并且写入数据库中:

Connection conn = null;
String sql;
 // MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值
 // 避免中文乱码要指定useUnicode和characterEncoding
 // 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,
 // 下面语句之前就要先创建javademo数据库
 String url = "jdbc:mysql://localhost:3306/position?" + "user=username&password=*******&useUnicode=true&characterEncoding=UTF8";
       try {
            // 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
            // 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
             Class.forName("com.mysql.jdbc.Driver");// 动态加载mysql驱动
                // com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
                // new com.mysql.jdbc.Driver();
              System.out.println("成功加载MySQL驱动程序");
                // 一个Connection代表一个数据库连接
                conn = DriverManager.getConnection(url);
                // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
                Statement stmt = conn.createStatement();
                
                int result = 1;
                // executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
         if (result != -1) {
                    sql = "insert into pos_1 values('"+position_x+"','"+position_y+"','"+df.format(new Date())+"')";
                    result = stmt.executeUpdate(sql);
                    sql = "select * from pos_1";
                    ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
                    System.out.println("position-x = \t position-y = \t time = ");
                    while (rs.next()) {
                        System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t" + rs.getTimestamp(3));// 入如果返回的是int类型可以用getInt()
                    }
                }
            } catch (SQLException e) {
                System.out.println("MySQL操作错误");
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
            }
      return MessageCallback.Action.CommitSuccess;
            });

阿里云服务器环境、MySQL数据库搭建 maven项目接受HTTP2端数据
然后需要将数据echo到网页上的小伙伴,请看我上一篇博文!!完成–(˙<>˙)/–