如何将esp8266 softAp与android app连接

时间:2016-11-19 10:22:15

标签: java android esp8266

我想要一些简短的想法/链接作为参考,开始如何连接esp8266路由器/接入点与Android应用程序。在esp8266静态IP是192.168.4.1想要控制led闪烁或其他feautre与Android应用程序。 如何在esp8266和android app之间建立连接。

1 个答案:

答案 0 :(得分:1)

在Android方面,它只是没有任何功能的网络通信。查看Official Documentationthis等教程。一切都取决于esp8266固件:

  • 如果它实现HTTP web server您可以在Android端使用HttpUrlConnection和GET或POST请求以及在esp8266端使用相应的脚本;

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

<强>更新

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) {
                    }
                }
            }
        }
}

而且你可以这样使用SocketClientThread:

Thread socketClientThread;
socketClientThread = new Thread(new SocketClientThread());
socketClientThread.start();