ESP8266连接云服务器环境搭建
客户端:ESP8266 模块 +XCOM v2.0串口调试助手
服务器端:centos7服务器 + mysql5.7
一:服务器端设置
1.CENTOS7系统安装图形界面(手动安装CentOS7 Gnome GUI包)
先登入系统
user: root (注:小写) password:此处填密码 (注:linux系统密码不会显示,输入完点击enter即可)
yum方法安装图形包
# yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
更新系统的运行级别
# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
重启
# reboot
重启后输入用户和密码进入系统,见如下图:
(进入后建议关闭自动锁屏:application >system tool > settings > privacy > screen lock = off ; )
(进入后建议关闭屏保:application >system tool > settings >power > blank screen = never ; )

2.CENTOS7云服务器设置远程WINDOW系统MSTSC指令连接(搭建Xrdp服务器)
安装epel库(需要在epel库内下载Xrdp资源)
# yum install epel-release
安装Xrdp并启动,并且设置成开机启动
# yum install xrdp
安装tigervnc-server(以便Xrdp自动启用VNC)
# yum install tigervnc tigervnc-server
设置VNC密码(用户名默认:root)
# vncpasswd root
配置SELinux
# chcon -t bin_t /usr/sbin/xrdp
# chcon -t bin_t /usr/sbin/xrdp-sesman
启动Xrdp,并设置成开机启动
# systemctl start xrdp
# systemctl enable xrdp
检查防火墙工作状态
# systemctl status firewalld (若防火墙未开启则无需开放端口,若开启了防火墙,则需要开放3389端口以便远程访问)
安装ufw防火墙管理工具(ufw设置防火墙指令比较简单,建议安装)
# wget https://launchpad.net/ufw/0.33/0.33/+download/ufw-0.33.tar.gz
# tar xzf ufw-0.33.tar.gz
# cd ufw-0.33
# sudo python ./setup.py install
# sudo chmod -R g-w /etc/ufw /lib/ufw /etc/default/ufw /usr/sbin/ufw
检测防火墙状态并开启防火墙
# sudo ufw status (若关闭则开启: # sudo ufw enable)
开放防火墙8080端口
# sudo ufw allow 3389/tcp (必须开放3389端口,才能被远程访问)(若关闭"allow"<>"deny")
# sudo ufw allow 8080/tcp (开放8080端口是为了传输数据)
# sudo ufw reload (重启防火墙)
# sudo ufw status (查看防火墙端口开放状态,需看到3389和8080端口处于开放状态)
(若安装了ufw则跳过此步骤)firewall-cmd方法开放防火墙8080端口
# firewall-cmd --zone=public --add-port=3389/tcp --permanent (permanent为永久开放,必须开放3389端口,才能被远程访问)(若关闭"add"<>"remove")
# firewall-cmd --zone=public --add-port=8080/tcp --permanent (开放8080端口是为了传输数据)
# firewall-cmd --reload (重启防火墙)
# firewall-cmd --list-port (查看3389和8080端口是否打开)
关闭运营商端连接的服务器,在本地windows系统中:win+r 进入run,输入:mstsc,远程连接串口输入与服务器绑定的公网IP,进入系统后出现如下登录界面:
username:root ; password:此处填写VNC密码

3.以上设置完成后,进入运营商的云服务器管理界面,进入安全组设置,设置入方向规则,添加ICMP(为了测试能否PING通),添加TCP:8080端口,以便远程传输数据

4.开启端口监控
查看8080、3389端口状态(TCP: 0.0.0.0:8080 0.0.0.0:* LISTEN 状态)
# netstat -an | grep 8080
# netstat -an | grep 3389
tcpdump方法打开端口监听(或者用ngrep方法监听,数据会比较工整;# ngrep port 8080)
# sudo /usr/sbin/tcpdump -s 0 -X 'tcp dst port 8080'
二.ESP8266模块连接WIFI
ESP8266<-连接->TTL-USB模块 (硬件)
GND - GND
VCC - 3V3
TXD - RXD
RXD - TXD
2.打开串口调试助手XCOM,设置连接,第一次用默认波特率:115200;停止位:1;数据位:8;无校验位。
3.发送AT指令:
a:测试连接状态
TX:AT RX:OK
b:连接WIFI(若未恢复出厂设置以后会自动连接)
TX:AT+CWJAP="此处填WIFI名称","此处填WIFI密码" (注:不能有中文符号) RX:OK
c:设置WIFI模式
TX: AT+CWMODE=3 (注:1为AP模式,只接收,2位STA模式,只发送,3为AP+STA模式。任选) RX:OK
d:重启模块
TX: AT+RST RX:ready \ WIFI CONNECTED \ WIFI GOT IP
e:连接服务器
TX: AT+CIPSTART="TCP","此处填写服务器弹性公网IP",8080 RX:CONNECT \ OK (若不成功查看服务器端口是否开放,安全组入规则是否开放,若设置OK,查看远程能否ping通云服务器)
f:设置发送数据长度
TX: AT+CIPSEND=15 RX:OK
g:发送数据
TX: youarebeauteful RX:SEND OK +IPD,15:youarebeauteful (OK后面是服务器返回的数据(原数据返回))
服务器端接收到ESP8266模块发来的数据:

end
注:设置步骤不一定完全参照以上的,但必须要云端设置好环境才能远程连接。有较多冗余步骤,主要是为了防止出错。

浙公网安备 33010602011771号