文章目录
前言
之前就做过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服务器的有关知识,实现设备的远程管理。