Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Thingspeak - Datenabruf (https://www.delphipraxis.net/212985-thingspeak-datenabruf.html)

Schleifchen 2. Mai 2023 20:01

Thingspeak - Datenabruf
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo in die Runde, ich versuche mit
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}
{$R *.res}

uses
  System.SysUtils,
  IdHTTP;

procedure Main;
var
  http : TIdHTTP;
  resultStr: string;
begin
  http := TIdHTTP.Create( nil );
  try
    resultStr := http.Get( 'https://api.thingspeak.com/channels/9/fields/1.json?results=10' );
  finally
    http.Free;
  end;

  Writeln( resultStr );
end;

begin
  try
    Main;
  except
    on E: Exception do
      Writeln( E.ClassName, ': ', E.Message );
  end;
  ReadLn;

end.
(hier im Forum gefunden) die Daten eines Channels abzurufen.
siehe: https://de.mathworks.com/help/thingspeak/readfield.html

aber leider erscheint nur eine Fehlermeldung: siehe Anhang.
Wie ist das Problem zu lösen?
Danke

Stefan

mytbo 2. Mai 2023 20:38

AW: Thingspeak - Datenabruf
 
Zitat:

Zitat von Schleifchen (Beitrag 1521927)
... die Daten eines Channels abzurufen.

Wenn es dir nur um die Daten geht, rufe die URL im Browser auf. Kopiere die JSON Daten ins Clipboard. Der JSON-Viewer kann die Daten aus dem Clipboard direkt laden.

Bis bald...
Thomas

Schleifchen 2. Mai 2023 21:44

AW: Thingspeak - Datenabruf
 
danke, dann habe ich mich falsch ausgedrückt. Ziel ist es die abgerufenen Werte in eine SQlite-Datenbank einzutragen.
Derzeit dokumentiere ich es in Excel mittels VBA.
Die URL lautet: 'https://api.thingspeak.com/channels/1671193/feeds.csv' & Appendix
wobei Appendix = 'start=Datum des letzten Eintrages' ist. Die URL sollte gleichfalls so aufgebaut sein.

Ich versuchte dieses Beispiel hier im Forum: auf Thingspeak anzuwenden. Sicherlich wird sich eine Regel finden die Daten aus 'resultStr' in die Datenbank einzubauen.

Stefan

Uwe Raabe 2. Mai 2023 21:56

AW: Thingspeak - Datenabruf
 
Welche Delphi Version?

Schleifchen 2. Mai 2023 21:58

AW: Thingspeak - Datenabruf
 
Hallo, Delphi 10.4 Version 27.0.40680.4203

Stefan

mytbo 2. Mai 2023 22:20

AW: Thingspeak - Datenabruf
 
Mit mORMot gibt es mehrere Wege. Einer ist:
Delphi-Quellcode:
uses
  mormot.core.base,
  mormot.core.search,
  mormot.net.client;

type
  TCsvItem = packed record
    created_at: TDateTime;
    entry_id: Integer;
    field1: Double;
    field2: Double;
    field3: Double;
    field4: String;
  end;
  TCsvItems = array of TCsvItem;
 
var
  url: RawUtf8;
  content: RawByteString;
  csvItems: TCsvItems;
begin
  url := 'https://api.thingspeak.com/channels/1671193/feeds.csv?start="2023-05-02T19:20"';
  content := HttpGet(url);
  if (content <> '')
    and DynArrayLoadCsv(csvItems, content, TypeInfo(TCsvItems)) then
  begin
    var count: Integer := Length(csvItems);
    if count > 0 then
    begin
      ShowMessage(Format('Anzahl: %d', [Length(csvItems)]));
      with csvItems[0] do
        ShowMessage(Format('%s-%d-%f-%f-%f-%d' , [DateToStr(created_at), entry_id, field1, field2, field3, field4.Trim.ToInteger]));
    end;
  end;
Bis bald...
Thomas

Uwe Raabe 2. Mai 2023 22:54

AW: Thingspeak - Datenabruf
 
Willst du nun die CSV-Datei abrufen und auswerten oder die Werte des einzelnen Feldes wie im Eingangspost?

Wie ist die Struktur deiner Datenbanktabelle?

Schleifchen 2. Mai 2023 23:06

AW: Thingspeak - Datenabruf
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ach, d.h. ich muss mORMOT laden!?
Die mORMot2-master hab ich von GitHub heruntergeladen und enpackt. Anschliesend im RAD-Studio, wie unter https://github.com/synopse/mORMot2/b...ster/README.md beschrieben den Pfad gesetzt. (siehe Anhang)
Trotzdem meckert Delphi: 'mormot.core.base' nicht gefunden...

Da hab ich wohl was falsch gemacht?

Schleifchen 2. Mai 2023 23:11

AW: Thingspeak - Datenabruf
 
@Uwe: die Werte sollen in einem Array gespeichert werden, so wie im Code von Thomas :-)
Die Speicherung als csv war nur eine Zwischenlösung bedingt durch VBA.

mytbo 2. Mai 2023 23:27

AW: Thingspeak - Datenabruf
 
Zitat:

Zitat von Schleifchen (Beitrag 1521938)
Da hab ich wohl was falsch gemacht?

Installiere so wie hier beschrieben. Eintragen unter "Tools/Optionen"->"Sprache/Delphi/Bibliothek/Bibliothekspfad und Suchpfad".

Bis bald...
Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz