2016-11-19 47 views
0

esp8266软AP连接我想参考一些简短的想法/链接开始如何esp8266路由器/接入点使用Android app.In连接esp8266的静态IP地址192.168.4.1要控制LED闪烁或其他与Android应用程序的特点。 如何建立esp8266和android应用程序之间的连接。如何与Android应用

+0

看到这一点,了解每类https://github.com/EspressifApp/IOT-Espressif-Android它可能会帮助你 –

+0

如何看看从哪个文件夹我必须开始的Android流程告诉我更好的理解性 –

回答

1

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

  • 是否实现HTTP web server您可以使用HttpUrlConnection和GET或Android上侧和esp8266侧对应的脚本POST请求;

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

更新:

esp8266的Socket通信你应该这样做在单独的(未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(); 
+0

我同意你的观点。但想问一个疑问套接字连接套接字服务器 - esp8266和套接字客户端 - 安卓应用程序吧?的#include 的#include WiFiServer服务器(80); WiFi.mode(WIFI_AP); WiFi.softAP(ssid,password); 的IPAddress APIP = WiFi.softAPIP(); server.begin();这是套接字连接或HTTP Web服务器 –

+0

如果你知道通过看顶级代码。告诉我?? –

+0

“#include WiFiServer服务器(80);” - 是的,似乎它是'Socket'通信的代码。例如,请参阅更新的答案。 –