![]() |
Thingspeak - Datenabruf
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo in die Runde, ich versuche mit
Delphi-Quellcode:
(hier im Forum gefunden) die Daten eines Channels abzurufen.
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. siehe: ![]() aber leider erscheint nur eine Fehlermeldung: siehe Anhang. Wie ist das Problem zu lösen? Danke Stefan |
AW: Thingspeak - Datenabruf
Zitat:
![]() Bis bald... Thomas |
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 ![]() Stefan |
AW: Thingspeak - Datenabruf
Welche Delphi Version?
|
AW: Thingspeak - Datenabruf
Hallo, Delphi 10.4 Version 27.0.40680.4203
Stefan |
AW: Thingspeak - Datenabruf
Mit
![]()
Delphi-Quellcode:
Bis bald...
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; Thomas |
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? |
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 ![]() Trotzdem meckert Delphi: 'mormot.core.base' nicht gefunden... Da hab ich wohl was falsch gemacht? |
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. |
AW: Thingspeak - Datenabruf
Zitat:
![]() Bis bald... Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz