• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь связать 2 ESP8266-01 для управления серво.

nikolz

Well-known member
Ничего не экономлю. Был в Новосибирске, нашел ESP8266-01, прочитал, что это вайфай модуль, ацп на борту есть, библиотека серво работает, по размерам в корпус входит, больше ничего и не надо. Купил 10 модулей на эксперименты. Остальные модули, которые были в том магазине на ESP8266 - были большого размера и в передатчик такое запихнуть трудно, там и без этого все плотно.
Никаких соплей на плате, под микроскопом припаял к 6 выводу провод, залил токонепроводящим клеем, все аккуратно и качественно. (Чтобы небыло недопониманий, уточню сразу - уже более 10 лет занимаюсь ремонтом ноутбуков, паяльник и паяльную станцию в руках держать умею, можете не переживать. Реболлинг сделать не проблема, а уж ESP с платы снять и посадить на место - это вообще из разряда детского сада).
нет ну все нормально
я сам начинал 4 года назад с ESP-01
правда быстро выкинул
ESP-12 на самом деле даже меньше
но проблема не только в этом пине
но и режим сна не включите
и памяти мало
ну да ладно это я так,
без обид.
подходи так подходит ну и хорошо.
 

CodeNameHawk

Moderator
Команда форума
Одна есп должна работать в режиме АР (точка доступа), похоже, что вы так и делали
Код:
void startAP()
{
  delay(100);
  WiFi.mode(WIFI_STA);
  WiFi.softAP("Throttle","Paraplan");
  delay(500);
  server.begin();
}
Не ясно зачем вставили WiFi.mode(WIFI_STA);

Посмотрите как сделано в этом примере
esp8266/Arduino

Перед запуском сервера, проверьте создалась ли точка
Soft Access Point — ESP8266 Arduino Core documentation
 

AndreyFly

New member
Андрей Гурьянов on Instagram: “Первые испытания электротяги. Чудесная погодв”
Это видео в моем инстаграмме. Испытывал младший сын. Ограничение стояло на 50% мощности, так что в видео моторы в пике работают на 50% мощности.

Андрей Гурьянов on Instagram: “В субботу выдался летный день.”
Это ссылка на полет с горы, без мотора. Чтобы было понимание, что будут тянуть электромоторы.

Фото пульта чуть позже.
 

nikolz

Well-known member
Андрей Гурьянов on Instagram: “Первые испытания электротяги. Чудесная погодв”
Это видео в моем инстаграмме. Испытывал младший сын. Ограничение стояло на 50% мощности, так что в видео моторы в пике работают на 50% мощности.

Андрей Гурьянов on Instagram: “В субботу выдался летный день.”
Это ссылка на полет с горы, без мотора. Чтобы было понимание, что будут тянуть электромоторы.

Фото пульта чуть позже.
посмотрите это
как использовать ESP-now
SensorsIot/ESP-Now-Tests
 

CodeNameHawk

Moderator
Команда форума
В примере выше
Код:
server.send(200, "text/html", "<h1>You are connected</h1>");
, вместо "<h1>You are connected</h1>" вставляете сгенерированую строку с вашими данными типа "Thtrotle=008" , а на приемной стороне парсите строку, находите знак"=" и берете после него три знака, для надежности можете передавать контрольную сумму.
 

AndreyFly

New member
Спасибо помогающим. Информации нахлынуло много, сейчас отдохну после работы и начну пробовать.
 

CodeNameHawk

Moderator
Команда форума
На приемной стороне запрашиваете страницу
Код:
    HTTPClient http;

    Serial.println("[HTTP] begin...\n");

    // configure traged server and url

    http.begin("http://192.168.4.1/"); //HTTP

    Serial.println("[HTTP] GET...\n");

    // start connection and send HTTP header
    int httpCode = http.GET();
    http.setTimeout(1000);// Dobawilem czas oczekiwania 1 sec

                          // httpCode will be negative on error
    if (httpCode > 0)
    {
        // HTTP header has been send and Server response header has been handled
        Serial.printf("[HTTP] GET... code: %d\n", httpCode);
        Serial.println("");

        // file found at server
        if (httpCode == HTTP_CODE_OK)
        {
            String_from_HTTP = http.getString();
        }
 

AndreyFly

New member
Код:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

/* Set these to your desired credentials. */
const char *ssid = Paraplan;
const char *password = Throttle;

ESP8266WebServer server(80);

void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
}

void setup() {
  delay(1000);
  WiFi.softAP(ssid, password);
  IPAddress myIP = WiFi.softAPIP();
  server.on("/", handleRoot);
  server.begin();
}

void loop() {
  server.handleClient();
}

Не понятно несколько моментов.
1. в основном цикле программы [inline]server.handleClient();[/inline] Что оно делает? Могу ли я выше этой строки опрашивать АЦП? Могу ли ставить задержку, чтобы опрос был около 10 раз в секунду.?
[inline]server.handleClient();[/inline] нужно вызывать постоянно в основном цикле или же однократно при запуске достаточно?

2. в каком случае вызывается эта процедура?
Код:
void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
}
Я так понимаю отправка идет по запросу клиента? Или ошибаюсь?
 

CodeNameHawk

Moderator
Команда форума
1. в основном цикле программы [inline]server.handleClient();[/inline] Что оно делает?
Обслуживает клиента.

Могу ли я выше этой строки опрашивать АЦП? Могу ли ставить задержку, чтобы опрос был около 10 раз в секунду.?
[inline]server.handleClient();[/inline] нужно вызывать постоянно в основном цикле или же однократно при запуске достаточно?
АЦП опрашивать ничего не мешает, а вот задержка здесь не нужна, пусть клиент запрашивает 10 раз в секунду, или после получения ответа от сервера.
[inline]server.handleClient();[/inline] вызывать постоянно и без задержек.
2. в каком случае вызывается эта процедура?
Код:
void handleRoot() {
  server.send(200, "text/html", "<h1>You are connected</h1>");
}
Я так понимаю отправка идет по запросу клиента??
Да.
 

nikolz

Well-known member
Обслуживает клиента.


АЦП опрашивать ничего не мешает, а вот задержка здесь не нужна, пусть клиент запрашивает 10 раз в секунду, или после получения ответа от сервера.
[inline]server.handleClient();[/inline] вызывать постоянно и без задержек.

Да.
можно сделать иначе
это вообще-то ужас какой-то
посмотрите пример с UDP
все очень просто
создаете сервер который слушает порт
клиент читает ацп и если значение изменилось отправляет его по UDP на сервер.
сервер получив от клиента код управляет чем надо
и подтверждает клиенту
клиент ждет тайм аут подтверждения
если оно есть то переходит к проверке изменения АЦП
если его нет то повторяет посылку.
----------------------
т е никто никого не вызывает и не засоряет эфир без надобности и не жрет батарейку
================
но на ESP-NOW будет еще лучше
там работаем по мас адресам
 

nikolz

Well-known member
а в вашем примере что-то не видна установка соединения с AP
 

nikolz

Well-known member
С этим ТС сам разберется.

Если бы он понял, что к чему, давно бы сделал.
В приведенном кино с ютуба все разжевано до безобразия
осталось лишь проглотить
----------------------
куча примеров на дурине в ссылках
----------------------
могу написать пример на СИ но это будет ему не понятно если на дурине взять готовое не может.
 
Сверху Снизу