2016-11-19 45 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'通信的代碼。例如,請參閱更新的答案。 –