Контролировать три ESP32S3 одновременно [закрыто]Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Контролировать три ESP32S3 одновременно [закрыто]

Сообщение Anonymous »

Я делаю проект, в котором используются три esp32 для управления светодиодами с помощью приложения, созданного Android Studio.
ESP32 можно управлять, если пользователь перейдет по ссылке, например пример: у них одинаковый Wi-Fi и фиксированный IP.
Проблема в том, что мое приложение запускает программу одну за другой или имеет медленный ответ.
что-то вроде этого:
  • sendHttpRequest(url1)
  • sendHttpRequest(url2)
Есть ли способ сделать все это одновременно?
Я пытаюсь добавить задержку() в esp32, но она одновременно не обрабатывается. потому что время, замедляющее его, не фиксировано.
CoroutineScope(Dispatchers.IO).launch {
try {
val requestA = async { sendHttpRequest(urlA) }
val requestB = async { sendHttpRequest(urlB) }
val requestC = async { sendHttpRequest(urlC) }

awaitAll(requestA, requestB, requestC)

} catch (e: Exception) {
Log.e("[FISH] BuildingController", "Error: ${e.message}")
showToast("Error occurred while toggling towers.")
}
< /code>
private fun sendHttpRequest(url: String) {
try {
val request = Request.Builder()
.url(url)
.build()

val response: Response = client.newCall(request).execute()

if (response.isSuccessful) {
// Log success or update UI
Log.d("[FISH] BuildingController", "Request successful: $url")
} else {
Log.e("[FISH] BuildingController", "Request failed: $url")
showToast("Failed ON or OFF")
}

} catch (e: Exception) {
Log.e("[FISH] BuildingController", "Error: ${e.message}")
showToast("Error occurred: ${e.message}")
}
}
< /code>
#include
#include
#include

const char* ssid = "FishEatRice";
const char* password = "123456789";

WiFiServer server(80);
IPAddress local_IP(192, 168, 68, 185); // IP
IPAddress gateway(192, 168, 68, 1); // Network IP
IPAddress subnet(255, 255, 255, 0); // subnet

// Changed from floor to floorPins to avoid conflict with math.h's floor function
int floorPins[41];

void setup() {
Serial.begin(115200);

WiFi.config(local_IP, gateway, subnet);

WiFi.begin(ssid, password);

server.begin();

pinMode(10, OUTPUT);
}

void loop() {
WiFiClient client = server.available();
if (client) {
String request = client.readStringUntil('\r');
client.flush();

if (request.indexOf("GET /on") >= 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/plain");
client.println("Connection: close");
client.println();

digitalWrite(10, HIGH);
}

// Tower A
if (request.indexOf("GET /off") >= 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/plain");
client.println("Connection: close");
client.println();

digitalWrite(10, LOW);
}

}


Подробнее здесь: https://stackoverflow.com/questions/793 ... -same-time
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Контролировать три ESP32S3 одновременно
    Anonymous » » в форуме Android
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Управляйте тремя esp32s3 одновременно
    Anonymous » » в форуме Android
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Интеграция камеры XIAO ESP32S3 с Flask для функций оптического распознавания символов и TTS
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Интеграция камеры XIAO ESP32S3 с Flask для функций оптического распознавания символов и TTS
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • ESP32S3-Mini-1 Dev Board Crashs при использовании библиотеки "arduino_gfx.h"
    Anonymous » » в форуме C++
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»