连接ESP8266的正点原子精英版+手写的服务器和客户端调试

正点原子精英版的使用

1.ESP8266的连接(我买的是比较特殊)
连接ESP8266的正点原子精英版+手写的服务器和客户端调试_第1张图片
一般的可以根据下面的图,自己连接
连接ESP8266的正点原子精英版+手写的服务器和客户端调试_第2张图片

2.精英版子的烧写(我是用的是STM32串口下载软件(FLYMCU)

  1. CH340驱动(USB串口驱动)的下载
  2. 首先是软件下载
  3. 其次是选对usb线所插的口
    连接ESP8266的正点原子精英版+手写的服务器和客户端调试_第3张图片

3.ESP8266代码的使用以及改写(代码也是网上下载的)

1.while(esp8266_send_cmd(“AT+CWJAP=“热点名称”,“热点密码””,“WIFI GOT IP”,600));
2.while(esp8266_send_cmd(“AT+CIPSTART=“TCP”,“ip地址”,8181”,“CONNECT”,200));
只要改以上两句即可,ESP8266的一些代码就略过了,毕竟网上太多了

4.java的c/s
下面展示一些 内联代码片

//服务器
// An highlighted block
package com.lzw;
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MyTcp { // 创建类MyTcp
	private BufferedReader reader; // 创建BufferedReader对象
	private ServerSocket server; // 创建ServerSocket对象
	public Socket socket; // 创建Socket对象socket
	
	void getserver() {
		try {
			server = new ServerSocket(8181); // 实例化Socket对象
			System.out.println("服务器套接字已经创建成功"); // 输出信息
			while (true) { // 如果套接字是连接状态
				System.out.println("等待客户机的连接"); // 输出信息
				socket = server.accept(); // 实例化Socket对象
				reader = new BufferedReader(new InputStreamReader(socket
						.getInputStream())); // 实例化BufferedReader对象
				getClientMessage(); // 调用getClientMessage()方法
			}
		} catch (Exception e) {
			e.printStackTrace(); // 输出异常信息
		}
	}
	
	private void getClientMessage() {
		try {
			while (true) { // 如果套接字是连接状态
				if (reader.ready()) {
					// 获得客户端信息
					System.out.println("客户机:" + "发送时间: " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "  " + "发送内容:" + reader.readLine());
				}
			}
		} catch (Exception e) {
			e.printStackTrace(); // 输出异常信息
		}
		try {
			if (reader != null) {
				reader.close(); // 关闭流
			}
			if (socket != null) {
				socket.close(); // 关闭套接字
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) { // 主方法
		MyTcp tcp = new MyTcp(); // 创建本类对象
		tcp.getserver(); // 调用方法
		try {
			OutputStream out=tcp.socket.getOutputStream();
			out.write("520521".getBytes());
		} catch (IOException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
		

	}
}

下面展示一些 内联代码片

//客户端
// An highlighted block
package com.lzw;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

import javax.swing.*;
import javax.swing.border.*;

public class MyClien extends JFrame { // 创建类继承JFrame类
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private PrintWriter writer; // 声明PrintWriter类对象
	Socket socket; // 声明Socket对象
	private JTextArea ta = new JTextArea(); // 创建JtextArea对象
	private JTextField tf = new JTextField(); // 创建JtextField对象
	Container cc; // 声明Container对象

	public MyClien(String title) { // 构造方法
		super(title); // 调用父类的构造方法
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		cc = this.getContentPane(); // 实例化对象

		final JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBorder(new BevelBorder(BevelBorder.RAISED));
		getContentPane().add(scrollPane, BorderLayout.CENTER);
		scrollPane.setViewportView(ta);
		cc.add(tf, "South"); // 将文本框放在窗体的下部
		tf.addActionListener(new ActionListener() {
			// 绑定事件
			public void actionPerformed(ActionEvent e) {
				// 将文本框中信息写入流
				writer.println(tf.getText());
				// 将文本框中信息显示在文本域中
				ta.append(tf.getText() + '\n');
				ta.setSelectionEnd(ta.getText().length());
				tf.setText(""); // 将文本框清空
			}
		});
	}

	private void connect() { // 连接套接字方法
		ta.append("尝试连接\n"); // 文本域中提示信息
		try { // 捕捉异常
			socket = new Socket("192.168.1.104", 8181); // 实例化Socket对象
			writer = new PrintWriter(socket.getOutputStream(), true);
			ta.append("完成连接\n"); // 文本域中提示信息
		} catch (Exception e) {
			e.printStackTrace(); // 输出异常信息
		}
	}

	public static void main(String[] args) { // 主方法
		MyClien clien = new MyClien("向服务器送数据"); // 创建本例对象
		clien.setBounds(600,500,200, 200); // 设置窗体大小
		clien.setVisible(true); // 将窗体显示
		clien.connect(); // 调用连接方法
	}
}

5.效果显示
连接ESP8266的正点原子精英版+手写的服务器和客户端调试_第4张图片
连接ESP8266的正点原子精英版+手写的服务器和客户端调试_第5张图片
6.问题和注意
里面有一些地方写死了,例如端口8181–server = new ServerSocket(8181); // 实例化Socket对象
自己本机ip查看–cmd ipconfig查看即可
java写的时候只是写的是单向通信的

https://download.csdn.net/my

你可能感兴趣的:(连接ESP8266的正点原子精英版+手写的服务器和客户端调试)