开发者

Having trouble connecting an ESP32 Thing Plus C to a server via iPhone hotspot

Trying to get “Hello, World!” printed on a server, so I can eventually send GPS coordinates. I’m using: ZED-F9P → Sparkfun ESP32 Thing Plus C → iPhone personal hotspot → Python socket server.

Here’s the sketch I’m using on the ESP32:

#include <WiFi.h>

const char* ssid = "iPhone_name";
const char* password = "iPhone_personal_hotspot_password";

const char* server = "123.456.7.89";
const int port = 12345; // or whatever port your server is listening on

void setup() {
  Serial.begin(115200);
  // Set the WiFi mode to STA
  WiFi.mode(WIFI_STA);
  // Connect to the WiFi network
  Serial.println开发者_如何学Python("Connecting to WiFi...");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.println("...");
  }
  Serial.println("Connected to WiFi");

  // Connect to the server
  Serial.println("Connecting to server...");
  WiFiClient client;
  if (!client.connect(server, port)) {
    Serial.println("Connection failed!");
    return;
  }
  Serial.println("Connected to server");

  // Send "Hello, World!" to the server
  Serial.println("Sending message...");
  client.println("Hello, World!");

  // Disconnect from the server
  Serial.println("Disconnecting from server...");
  client.stop();
  Serial.println("Disconnected from server");
}

void loop() {
  // This sketch doesn't do anything in the main loop
}

The last thing it prints in the IDE serial monitor is:

“Connecting to server…”

I get nothing in the server when using the iPhone hotspot, but it works when using my normal home WiFi router. This is the code I use for the server:

import socket

# Create a socket to listen for incoming connections
server_socket = socket.socket()
server_socket.bind(("", 12345))
server_socket.listen()

# Loop indefinitely to handle incoming connections
while True:
  # Accept an incoming connection
  client_socket, client_address = server_socket.accept()

  # Receive the message from the client
  message = client_socket.recv(1024)

  # Print the received message
  print("Received message:", message)

  # Close the client socket
  client_socket.close()

Using the iPhone hotspot prints nothing. Using the home WiFi router gives:

b’Hello, World!\r\n’

ESP32 connects to iPhone hotspot and I can see it connect on the iPhone (time highlighted in green in top left of iPhone screen) as well as the serial monitor, but seems to have trouble getting to the server from there. Any ideas for how to get this working with the iPhone personal hotspot would be appreciated! Thanks

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜