2016-11-19 21 views
0

アンドロイドアプリでesp8266ルータ/アクセスポイントを接続する方法を開始するための簡単なアイデアやリンクが必要です。静的ipは192.168.4.1でLEDブリンクなどを制御したいアンドロイドアプリを使用してfeautre。 esp8266とandroid appの間の接続を確立する方法。android appとesp8266 softApの接続方法

+0

これを参照し、すべてのクラスを理解https://github.com/EspressifApp/IOT-Espressif-Android完全な例では、そのようなものですそれはあなたに役立つかもしれません –

+0

どのようにフォルダから私はより理解力を教えて開始する必要があるそのアンドロイドの流れを見て –

答えて

1

Android側では、機能のないネットワーク通信に過ぎません。 Official Documentationthisのようなチュートリアルを見てください。すべてがesp8266ファームウェアによって異なります。

  • それはあなたがHttpUrlConnectionを使用してesp8266側のAndroid側と対応するスクリプトで要求をGETまたはPOSTできるHTTP web server実装している場合。

  • ServerSocketSocket接続のAndroid側のSocket Clientを使用できます。

更新:あなたは別の(ないUI)スレッドでそれを行う必要がありますesp8266

ソケット通信。

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

私はあなたの意見に同意しました。しかし、1つの疑いのソケット接続ソケットサーバー - esp8266とソケットクライアント - アンドロイドアプリの権利を聞きたいですか? #include #include WiFiServer server(80); WiFi.mode(WIFI_AP); WiFi.softAP(ssid、password); IPAddress apip = WiFi.softAPIP(); server.begin();これはソケット接続かHTTP Webserver –

+0

です。もしあなたがトップレベルのコードを見て知っていれば。 –

+0

"#include WiFiServerサーバー(80);" - はい、それは 'Socket'通信のコードのようです。たとえば、更新された回答をご覧ください。 –

関連する問題