我想要一些简短的想法/链接作为参考,开始如何连接esp8266路由器/接入点与Android应用程序。在esp8266静态IP是192.168.4.1想要控制led闪烁或其他feautre与Android应用程序。 如何在esp8266和android app之间建立连接。
答案 0 :(得分:1)
在Android方面,它只是没有任何功能的网络通信。查看Official Documentation和this等教程。一切都取决于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();