【Web与lot】ESP8266与远程服务器建立连接

    科技2023-10-30  118

    文章目录

    前言一、ESP8266访问公网的方法二、使用步骤1.设置STA状态AT+CWMODE=1AT+RSTAT+CWJAP="YY","12345678"AT+CIPMUX=0AT+PING="47.XXX.XXX.173"AT+CIPSTART="TCP","47.XXX.XXX.173",8081 2.开放云服务器端口3.后台JAVA服务器程序4. 运行效果 总结


    前言

    之前就做过ESP8266的开发但是当时只是作为单独的AP,没有开发云端功能,看到网上各种LOT云平台搞得有声有色心里确实有点痒痒的。前段时间在阿里云买了个服务器,才又有了搞一搞这个东西的想法。因为没有WEB开发的经验所以可能要慢慢来,先从最简单的没有WEB界面的与云端交互开始


    一、ESP8266访问公网的方法

    我提供的方案是:

    让ESP8266处于STA状态,然后连入路由器(也可以通过手机路由),然后部署服务器,在服务器LISTEN一个端口,在阿里云控制台开放端口。 让ESP8266接入,这个时候服务器LISTEN到这个请求后,就可以与其进行通信。

    二、使用步骤

    1.设置STA状态

    AT+CWMODE=1

    设置为STA模式

    AT+RST

    复位

    AT+CWJAP=“YY”,“12345678”

    连接可用路由

    AT+CIPMUX=0

    开启単连接

    AT+PING=“47.XXX.XXX.173”

    PING一下看看通不通

    AT+CIPSTART=“TCP”,“47.XXX.XXX.173”,8081

    作为客户端向服务器发送连接请求。

    注意:在向服务发送连接请求之间,需要先开放端口,以及在后台运行一个LISTEN这个端口的程序。

    2.开放云服务器端口

    具体步骤可以参考下面这位兄弟 @ 开放阿里云端口

    3.后台JAVA服务器程序

    import java.net.*; import java.io.*; public class Sever { public static void main(String[] args) throws java.io.IOException { ServerSocket ss=new ServerSocket(8081); while(true) { Socket s =ss.accept(); PrintStream ps =new PrintStream(s.getOutputStream()); ps.println("Hello I am Sever,glad to meet you"); ps.close(); s.close(); } } }

    将程序运行在后台的方法

    java Sever > Sever.file 2>&1 &

    4. 运行效果

    我们可以看到ESP8266完成了一次对远程服务器的访问,同时返回了一个数值。

    总结

    提示:这里对文章进行总结:

    今天我尝试使用ESP8266对于远程云服务器的访问,这只是一个开始,因为水平有限还无法搭建非常完善的LOT管理系统。但是我进一步学习WEB服务器的有关知识,实现设备的远程管理。

    Processed: 0.014, SQL: 8