Могу ли я отправить данные с одного MKR1000 на другой MKR1000

communication mkr1000

Я хочу просто отправить данные с одного MKR1000 на другой через Wi-Fi, оба подключены к одной и той же сети, но при отправке данных я застреваю, я просмотрел везде, но не могу найти ответ.. может кто-нибудь указать мне решение?

Я настроил свои устройства с помощью https://www.arduino.cc/en/Tutorial/Wifi101WiFiChatServer. но устройства не взаимодействуют друг с другом, они только используют telnet с хост-сервера (точка доступа Wi-Fi на моих ноутбуках)

, 👍0

Обсуждение

Вам нужно *одно* устройство в качестве сервера. Другой должен быть клиентом, который подключается к серверу., @Majenko


2 ответа


Лучший ответ:

1

Объект WiFiClient является оболочкой для сокета TCP. Обычный сокет TCP подключен к IP-адресу и порту. WiFiServer запускает прослушивающий сокет на порту. Если к серверу в сокете для прослушивания обращается удаленный клиентский сокет, он создает локальный сокет, связанный с удаленным клиентским сокетом на свободном порту, и возвращает объект WiFiClient, обертывающий сокет. Все, что вы пишете или печатаете в WiFiClient, отправляется на этот удаленный сокет.

Если одна из ваших клиентских плат создает WiFiClient и подключает его к IP-адресу и порту WiFiServer на вашей «серверной» плате, вы получаете там WiFiClient из server. available(), и эти два объекта WiFiClient связаны. То, что вы пишете/печатаете на одной стороне, вы читаете только из объекта WiFiClient на другой стороне.

клиентский сокет

if (client.connect(serverIP, PORT)) {
  client.print("request\n");
  String response = client.readStringUntil('\n');
  Serial.println(response);
  client.stop();
}

на стороне сервера

WiFiClient client = server.available();
if (client && client.connected()) {
  String request = client.readStringUntil('\n');
  Serial.println(request);
  client.print("response\n");
  client.stop();
}
,

Вы привели меня к хорошему туту, иногда правильный поиск в гугле помогает, спасибо за ответ, @Jay.Smyth


1

Я нашел руководство, в котором точно объясняется, что такое Majenko и Юрай объяснил, https://www.instructables.com/id/MKR1000-IoT-Clientserver-Communications/

код библиотеки, на который ссылается учебник, полезен, учебник полезен для обучения общению

,