AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Thingspeak - Datenabruf

Ein Thema von Schleifchen · begonnen am 2. Mai 2023 · letzter Beitrag vom 5. Mai 2023
Antwort Antwort
Seite 1 von 3  1 23      
Schleifchen

Registriert seit: 28. Aug 2022
19 Beiträge
 
#1

Thingspeak - Datenabruf

  Alt 2. Mai 2023, 21:01
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
Miniaturansicht angehängter Grafiken
2023-05-02-205732.png  
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#2

AW: Thingspeak - Datenabruf

  Alt 2. Mai 2023, 21:38
... 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
  Mit Zitat antworten Zitat
Schleifchen

Registriert seit: 28. Aug 2022
19 Beiträge
 
#3

AW: Thingspeak - Datenabruf

  Alt 2. Mai 2023, 22:44
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
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Thingspeak - Datenabruf

  Alt 2. Mai 2023, 22:56
Welche Delphi Version?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Schleifchen

Registriert seit: 28. Aug 2022
19 Beiträge
 
#5

AW: Thingspeak - Datenabruf

  Alt 2. Mai 2023, 22:58
Hallo, Delphi 10.4 Version 27.0.40680.4203

Stefan
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#6

AW: Thingspeak - Datenabruf

  Alt 2. Mai 2023, 23:20
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

Geändert von mytbo ( 2. Mai 2023 um 23:36 Uhr) Grund: Units hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#7

AW: Thingspeak - Datenabruf

  Alt 2. Mai 2023, 23:54
Willst du nun die CSV-Datei abrufen und auswerten oder die Werte des einzelnen Feldes wie im Eingangspost?

Wie ist die Struktur deiner Datenbanktabelle?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Schleifchen

Registriert seit: 28. Aug 2022
19 Beiträge
 
#8

AW: Thingspeak - Datenabruf

  Alt 3. Mai 2023, 00:06
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?
Miniaturansicht angehängter Grafiken
zwischenablagebild.jpg  
  Mit Zitat antworten Zitat
Schleifchen

Registriert seit: 28. Aug 2022
19 Beiträge
 
#9

AW: Thingspeak - Datenabruf

  Alt 3. Mai 2023, 00:11
@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.
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#10

AW: Thingspeak - Datenabruf

  Alt 3. Mai 2023, 00:27
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr.
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