Hi. I am working on my first Arduino project and I would like to retrieve some data from the coinmarketcap API. I am using an ESP8266 module, which is correctly connected to the WiFi, and I have followed the documentation of the coinmarketcap library for Arduino, but so far I am not getting any response. On the other hand, I am also not getting any error.
Could you please have a look at my code to maybe find out what am I missing?
#include <ArduinoJson.h>
#include <CoinMarketCapApi.h>
#include <LiquidCrystal.h>
#include <WiFiClientSecure.h>
#include <ESP8266WiFi.h>
WiFiClientSecure client;
CoinMarketCapApi api(client);
const char* ssid = "*****";
const char* password = "*****";
unsigned long api_mtbs = 60000;
unsigned long api_due_time = 0;
LiquidCrystal lcd(D6, D5, D1, D2, D3, D4);
void setup()
{
Serial.begin(9600);
Serial.setDebugOutput(true);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Serial.println(client);
lcd.print("connected");
}
void printApiData(String ticker) {
Serial.println("...");
Serial.println("Requesting " + ticker);
CMCTickerResponse response = api.GetTickerInfo(ticker);
if (response.error = "") {
Serial.print("name: ");
Serial.println(response.name);
Serial.println(response.id);
Serial.println(response.price_usd);
} else {
Serial.print("Error while fetching data: ");
Serial.println(response.error);
}
}
void loop() {
unsigned long timeNow = millis();
if ((timeNow > api_due_time)) {
printApiData("ethereum");
api_due_time = timeNow + api_mtbs;
}
}