Unit Serial und ESP8266

wennerer
Beiträge: 620
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Unit Serial und ESP8266

Beitrag von wennerer »

Hallo,
ja in Linux. Ich habe eben hier viewtopic.php?f=65&t=17187 meine Vorgehensweise hochgeladen. Ich denke in einem eigenen Beitrag wird es besser gefunden.

Viele Grüße
Bernd

wennerer
Beiträge: 620
Registriert: Di 19. Mai 2015, 20:05
OS, Lazarus, FPC: Linux Mint 20 Cinnamon,Lazarus 2.2.6 (rev lazarus_2_2_6) FPC 3.2.2 x86_64-linux-
CPU-Target: x86_64-linux-gtk2

Re: Unit Serial und ESP8266

Beitrag von wennerer »

Hallo,
ich kämpfe noch immer mit der Verbindung zum ESP. Mit meinem Programm kann ich nur Daten empfangen wenn ich vorher mit CuteCom auf den ESP8266 zugegriffen habe. Also Esp anstecken, mein Programm öffnen, keine Fehlermeldung aber auch keine Ausgabe von "Mein erstes writeln". Einmal kurz mit CuteCom verbunden. Dann wieder mit meinem Programm, alles läuft wie es soll. Ich denke mir fehlt da am Anfang noch irgend etwas um alles anzustossen. Kann mir da jemand weiter helfen?

Hier nochmal der Code:

Code: Alles auswählen

program SynaserTest;

{$mode objfpc}{$H+}

uses
  Classes,SysUtils,Synaser,Crt;

 procedure ReadMyESP8266;
  var
    ser: TBlockSerial;
    Value: string;
  begin
    ser:=TBlockSerial.Create;
    try
      ser.Connect('/dev/ttyUSB0');
      Sleep(1000);
      ser.config(74880,8, 'N', SB1, False, False);
      Write('Device: ' + ser.Device + '   Status: ' + ser.LastErrorDesc +' '+
      Inttostr(ser.LastError));
      Sleep(1000);
      repeat
        Value := ser.RecvString(1000);
        if Value <> '' then
         writeln(Value);
      until keypressed;
    finally
      Writeln('Serial Port will be freed...');
      ser.free;
      Writeln('Serial Port was freed successfully!');
    end;
  end;

  begin
   ReadMyESP8266;
  end.
Viele Grüße
Bernd

schoschy
Beiträge: 57
Registriert: Di 18. Okt 2022, 15:46

Re: Unit Serial und ESP8266

Beitrag von schoschy »

ich hab mal eben bei mir über eine unit geschaut:

Code: Alles auswählen

    ....
    SoftFlow := False;
    HardFlow := False;

    ComPort1.Config(BaudRate, DataSize, Parity, Stopbits, SoftFlow, HardFlow);
    Sleep(200);

    (* Datenempfang starten *)
    ComPort1.RTS := True;
    ComPort1.DTR := True;
    Timer1.Enabled := True;    
mir fällt noch LinuxLock ein, ist per default auf true, sollte aber nicht das problem sein.

Antworten