• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Как связать Delphi и ESP8266?

Sany

New member
Всех с новым годом, Мужики!)
Вот на днях решил сделать себе сюрприз и заказать WiFi модуль ESP8266.
Погулял по разным форумам и как-то суховато, такая интересная штука, а примеров реализации найти почти невозможно. Из всего прочитанного я понял, что с модулем микросхема может общаться через uart интерфейс посылая АТ команды. А вот как мне общаться с этой игрушкой с компьютера?

Есть ли советы, как наладить разговор между Delphi и ESP8266?

Задача такая, отправить что-то на модуль, а с модуля на микросхему. Какими компонентами Дельфи пользоваться, чтобы послать АТ-команду модулю и какую команду нужно отправить, чтобы модуль передал это сообщение микросхеме.

Я далёк от понимания как работает модуль, так что если вопрос звучит как-то неграмотно, то извиняйте)
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
Всех с новым годом, Мужики!)

Я далёк от понимания как работает модуль, так что если вопрос звучит как-то неграмотно, то извиняйте)
Видео пример работы. Программу для Windows рисовал HASM. Будут вопросы задавай.
 

Sany

New member
Видео пример работы. Программу для Windows рисовал HASM. Будут вопросы задавай.
Мне видео понравилось и многое понял, но я пишу код не на ардуину, а на авр студио или CVAVR под авр контроллеры.
Модуль который я заказал управляется по юарт интерфейсу, вот из видео я понял что с компьютера я могу отправить GET запрос и модуль мне выдаст ответ, но мне нужно отправить этот ответ на микроконтроллер (С wifi модуля на АВР). В общем я получил из видео почти всё что хотел тут спросить, за видео огромнейшее спасибо)
 
Последнее редактирование:

Andy Korg

Moderator
Команда форума

Sany

New member
Вот пример прошивки выполняющей такую работу. А это результат работы этой прошивки - связка esp83266-avr
Я так понимаю этот модуль можно прошить только через ардуино ? =) Ну даже если и так, эта прошивка подходит ко всем версиям esp8266? Я это к тому, что я заказал себе такую модель
 

Andy Korg

Moderator
Команда форума
...этот модуль можно прошить только через ардуино ?
Можно прошить любым устройством умеющим работать с протоколом usart со скоростью 230400.
эта прошивка подходит ко всем версиям esp8266?
Если вы про чип esp8266 то у него одна версия, насколько я понимаю. Если про прошивку то эта прошивка базируется на "свалке" pvvx довольно старой версии, под новые версии надо будет попилить. Если же вы про модули esp, то да подходит ко всем модулям, т.к. аппаратные возможности чипа используются минимально.
 

Siorinex

New member
Кину пример своего кода (с купюрами):
На стороне ESP, прошивка через АрдуиноИДЕ:
Код:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiUdp.h>

const char *ssid = "ACpoint";
const char *password = "paroltochki";

WiFiUDP Udp; // Создаем UDP

unsigned int localPort = 9990;      // local port to listen on

void setup() {
    delay(1000);
    Serial.begin(115200);
    /* Можно убрать с второго параметра - будет открытой, 3 - канал, 4й - 1 для невидимости точки */
    WiFi.softAP(ssid, password,5,0);

    IPAddress myIP = WiFi.softAPIP();
  Udp.begin(localPort);
}

void loop() {
        // Адрес и порт, куда слать.
        Udp.beginPacket("192.168.4.2", 8880);
        Udp.write("Данные в пакете");
        Udp.endPacket();
}
На стороне Delphi кидаем компонент IdUDPServer и Memo:
Код:
procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
  const AData: TIdBytes; ABinding: TIdSocketHandle);
var
   s : string;
   i : integer;
begin
s:='';
for i := Low(AData) to High(AData) do
    s:=s+Chr(AData[i]);
Form1.Memo2.Lines.Add(s);
end;
 

Sany

New member
ну насколько я понимаю, там прошивка для модуля ESP8266-07 версии.
у меня же ESP-01, тем более я не имею ардуино, хотя достать её совсем не сложно.

Сложно дискутировать, не имея модуля на руках, к сожалению его ещё не доставили)
Я думал поиграться сначала со стандартной прошивкой посылая АТ-команды. Я так понял, без определённой прошивки, я связать модуль с Delphi не смогу, стандартная слишком убогая? o_O
 

Sany

New member
Возможно я недостаточно правильно описал конечную цель. Я действительно хочу использовать модуль как мост между компьютером и АВР микросхемой. Задача: отправить с делфи слово "Привет" через WiFi на модуль и с модуля на саму микросхему АВР, чтобы потом вывести это слово на символьный ЖКИ. Неужели это невозможно сделать со стандартной прошивкой? А если возможно, то как? =)
 

tretyakov_sa

Moderator
Команда форума
Возможно я недостаточно правильно описал конечную цель. Я действительно хочу использовать модуль как мост между компьютером и АВР микросхемой. Задача: отправить с делфи слово "Привет" через WiFi на модуль и с модуля на саму микросхему АВР, чтобы потом вывести это слово на символьный ЖКИ. Неужели это невозможно сделать со стандартной прошивкой? А если возможно, то как? =)
Какая тебе разница какая прошивка в модуле? Например заливаешь в модуль WiFiTelnetToSerial прошивку. Из Delphi подключаешься к Telnet серверу и все, что туда пошлешь будет передано в Serial и наоборот.
 

Sany

New member
Какая тебе разница какая прошивка в модуле? Например заливаешь в модуль WiFiTelnetToSerial прошивку. Из Delphi подключаешься к Telnet серверу и все, что туда пошлешь будет передано в Serial и наоборот.
Почитал только что за эту прошивку, это самый идеальный для меня вариант =)
Спасибо всем за помощь и отдельное спасибо tretyakov_sa, буду пробовать )
 
Последнее редактирование:
Сверху Снизу