Java 如何将esp8266 softAp与android应用程序连接

Java 如何将esp8266 softAp与android应用程序连接,java,android,esp8266,Java,Android,Esp8266,我想要一些简短的想法/链接,以供开始如何将esp8266路由器/接入点连接到android应用程序时参考。在esp8266中,静态ip is 192.168.4.1希望通过android应用程序控制led闪烁或其他故障。 如何在esp8266和android应用程序之间建立连接。在android端,它只是网络通信,没有任何功能。看一看像这样的教程。一切都取决于esp8266固件: 如果实现了httpweb服务器,您可以在Android端使用和获取或发布请求,在esp8266端使用相应的脚本 如

我想要一些简短的想法/链接,以供开始如何将esp8266路由器/接入点连接到android应用程序时参考。在esp8266中,静态ip is 192.168.4.1希望通过android应用程序控制led闪烁或其他故障。
如何在esp8266和android应用程序之间建立连接。

在android端,它只是网络通信,没有任何功能。看一看像这样的教程。一切都取决于esp8266固件:

  • 如果实现了
    httpweb服务器
    ,您可以在Android端使用和获取或发布请求,在esp8266端使用相应的脚本

  • 如果它实现了
    ServerSocket
    ,您可以在Android端使用连接工具

更新:

与esp8266的套接字通信应在单独(非UI)线程中进行。完整示例如下所示:

class SocketClientThread implements Runnable {
        DataInputStream dis;
        DataOutputStream dos;
        String strResponseData;

        @Override
        public void run() {
            try {
                InetAddress serverAddr = InetAddress.getByName("<address>");
                clientSocket = new Socket(serverAddr, <port_number - 80 in your example>);
                dos = new DataOutputStream(clientSocket.getOutputStream());
                dis = new DataInputStream(clientSocket.getInputStream());

                // now you can write data to stream
                dos.writeUTF("Hello");

                // you can also read data from stream
                strResponseData = dis.readUTF();


            } catch (UnknownHostException ignore) {
            } catch (IOException ignore) {
            }

            finally{
                if (clientSocket != null){
                    try {
                        clientSocket.close();
                    } 
                    catch (IOException ignore) {
                    }
                }
            }
        }
}

在安卓方面,它只是网络通信,没有任何功能。看一看像这样的教程。一切都取决于esp8266固件:

  • 如果实现了
    httpweb服务器
    ,您可以在Android端使用和获取或发布请求,在esp8266端使用相应的脚本

  • 如果它实现了
    ServerSocket
    ,您可以在Android端使用连接工具

更新:

与esp8266的套接字通信应在单独(非UI)线程中进行。完整示例如下所示:

class SocketClientThread implements Runnable {
        DataInputStream dis;
        DataOutputStream dos;
        String strResponseData;

        @Override
        public void run() {
            try {
                InetAddress serverAddr = InetAddress.getByName("<address>");
                clientSocket = new Socket(serverAddr, <port_number - 80 in your example>);
                dos = new DataOutputStream(clientSocket.getOutputStream());
                dis = new DataInputStream(clientSocket.getInputStream());

                // now you can write data to stream
                dos.writeUTF("Hello");

                // you can also read data from stream
                strResponseData = dis.readUTF();


            } catch (UnknownHostException ignore) {
            } catch (IOException ignore) {
            }

            finally{
                if (clientSocket != null){
                    try {
                        clientSocket.close();
                    } 
                    catch (IOException ignore) {
                    }
                }
            }
        }
}

看这个,了解每一个类,它可能会帮助你如何查看android流,我必须从哪个文件夹开始告诉我,以便更好地理解。看这个,了解每一个类,它可能会帮助你如何查看android流,我必须从哪个文件夹开始告诉我,以便更好地理解。我同意你的观点。但是想问一个疑问套接字连接套接字服务器-esp8266和套接字客户端-android应用程序对吗#include#include WiFiServer服务器(80);WiFi.模式(WiFi\u AP);WiFi.softAP(ssid,密码);IPAddress apip=WiFi.softAPIP();server.begin();这是套接字连接或HTTP Web服务器“#包括WiFiServer服务器(80);”-是的,似乎是用于
socket
通信的代码。例如,请参阅更新的答案。感谢提供信息。。!!我同意你的观点。但是想问一个疑问套接字连接套接字服务器-esp8266和套接字客户端-android应用程序对吗#include#include WiFiServer服务器(80);WiFi.模式(WiFi\u AP);WiFi.softAP(ssid,密码);IPAddress apip=WiFi.softAPIP();server.begin();这是套接字连接或HTTP Web服务器“#包括WiFiServer服务器(80);”-是的,似乎是用于
socket
通信的代码。例如,请参阅更新的答案。感谢提供信息。。!!