Splunk Dev

Arduino with Splunk

macalamela
Engager

hello, we are trying to use splunk with arduino by wifi (esp8266). We utilized the port 8088 and this code but don´t recognize this port and send to port 443.

But we have some problems and we can't connect they both together. Can you have some example by how we can connect that?

We try using this code:

/*  Medidor de temperatura com LM35, ESP8266 e Thingspeak
 *  
 *  Envia a temperatura lida pelo sensor LM35 e envia para a internet 
 *  com o auxilio da platarforma de Cloud do Thingspeak.
 *  
 *  library modified 23 Mar 2016 on Arduino IDE 1.6.7
 *  by Cléber Werlang (http://iot4nerds.wordpress.com/)
 */

#include               // Biblioteca do ESP8266
#include "Limits.h"

String apiKey = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";   //Coloque a API do ThingSpeak entre as aspas
const char* ssid = "Renato iPhone 5s";            //Coloque a ssid do Wifi entre as aspas.
const char* password = "xxxxxxxxxxx";       //Coloque a senha do Wifi entre as aspas.
const char* server = "nnn,nnn,nn,172";


const int sensorTemp = A0; //Pino analógico que o sensor de temperatura está conectado.
int valorSensorTemp = 0;  //usada para ler o valor do sensor de temperatura.
int menorValorTemp  = INT_MAX; //usada para armazenar o menor valor da temperatura.



WiFiClient client;

void setup() {
  Serial.begin(115200);
  delay(10);

  WiFi.begin(ssid, password);

  Serial.println();
  Serial.println();
  Serial.print("Conectando em ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(100);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Conectado!");

}

void loop() {

  Serial.println("Lendo temperatura!");


 //Para evitar as grandes variações de leitura do componente 
  //LM35 são feitas 8 leitura é o menor valor lido prevalece.  
  menorValorTemp  = INT_MAX; //Inicializando com o maior valor int possível
  for (int i = 1; i <= 8; i++) {
    //Lendo o valor do sensor de temperatura.
    valorSensorTemp = analogRead(sensorTemp);   

    //Transformando valor lido no sensor de temperatura em graus celsius aproximados.
    valorSensorTemp *= 0.54 ; 

    //Mantendo sempre a menor temperatura lida
    if (valorSensorTemp < menorValorTemp) {
      menorValorTemp = valorSensorTemp;
    }

   delay(150); 
  }   


    String postStr = apiKey;
           postStr +="&field1=";
           postStr += String(menorValorTemp);
           postStr += "\r\n\r\n";

     client.connect("https://nnn,nnn,nn,172",8088);
     client.println("POST /1/inputs/http?index=<arduino>&sourcetype=arduino&host=arduino");
     client.println("Authorization: Splunk <xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>");
     /client.print("Authorization: Splunk "+apiKey);/
      client.print(postStr.length());
     client.println("Content-Type: text/plain");
     client.println("Connection: close");
     client.println("");
     client.println(postStr);

     Serial.println("");
     Serial.print("Temperatura: ");        //Imprime a temperatura na Serial.
     Serial.print(menorValorTemp);                  
     Serial.println("C");
     Serial.println("Enviando para o ThingSpeak");

  client.stop();                     
  delay(14000);                           // thingspeak tem um delay de 14 segundos para os updates.
  Serial.println("Enviado!");
  Serial.println("");
}
0 Karma

livehybrid
Builder

Hi,
Have you tried using the WiFiClientSecure instead of WiFiClient? It is quite a while since ive looked at this sort of thing, however this could be part of the issue. This is assuming your receiver is indeed HTTPS.

0 Karma

richgalloway
SplunkTrust
SplunkTrust

@macalamela, I edited your question to mask your IP address, API key, and password. These items should not be published in a public forum like this one.

---
If this reply helps you, Karma would be appreciated.
0 Karma
Get Updates on the Splunk Community!

More Ways To Control Your Costs With Archived Metrics | Register for Tech Talk

Tuesday, May 14, 2024  |  11AM PT / 2PM ET Register to Attend Join us for this Tech Talk and learn how to ...

.conf24 | Personalize your .conf experience with Learning Paths!

Personalize your .conf24 Experience Learning paths allow you to level up your skill sets and dive deeper ...

Threat Hunting Unlocked: How to Uplevel Your Threat Hunting With the PEAK Framework ...

WATCH NOWAs AI starts tackling low level alerts, it's more critical than ever to uplevel your threat hunting ...