Arduino MKR NB 1500

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Elektriker
Inlägg: 12
Blev medlem: 11 september 2012, 12:15:18
Ort: Lund

Arduino MKR NB 1500

Inlägg av Elektriker »

Hej
Jag håller på med ett projekt där jag vill mäta temperatur var 20e sekund och skicka datan till MYSQL databas.

Jag har köpt ett Arduino MKR NB1500 kort och en Adafruit TMP117 sensor.

Jag får allt att funka om jag ansluter det till Arduino IOT cloud, men jag vill att temperaturen skall skickas till databasen istället.

Detta är ganska ny mark för mig dels med Arduino men även programmering i stort.

Jag har försökt med GET reguest till PHP men jag får det inte att funka, jag har provat med ett ESP32 Things Plus C kort och då funkar det hur bra som helst.

Är det någon som skulle kunna hjälpa mig med något exempel för MKR NB1500 eller kan man på något sätt hämta data från IOT cloud och läsa in det i databasen?

Tack på förhand!
Mindmapper
Inlägg: 6336
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Re: Arduino MKR NB 1500

Inlägg av Mindmapper »

Det bästa är om du postar koden.
Elektriker
Inlägg: 12
Blev medlem: 11 september 2012, 12:15:18
Ort: Lund

Re: Arduino MKR NB 1500

Inlägg av Elektriker »

Här är koden som jag provat med:

#include <MKRNB.h>
#include <ArduinoHttpClient.h>
#include <Wire.h>
#include <Adafruit_TMP117.h>

#define APN "online.telia.se" // Access Point Name provided by your cellular network provider
#define SERVER_ADDRESS "example.se"
#define SERVER_PORT 443
#define RESOURCE_PATH "https://example.se/Data/Temperature.php"

// Initialize the TMP117 sensor
Adafruit_TMP117 tmp117;

// Set up the NB client
NB nbAccess;
NBSSLClient client;

// Function to send temperature data to the server
void sendTemperature(float temp) {
HttpClient http(client, SERVER_ADDRESS, SERVER_PORT);

// Construct the GET request URL with the temperature value
String url = RESOURCE_PATH;
url += "?temperature=";
url += String(temp);

// Print the complete URL
Serial.print("Sending data to: ");
Serial.println(url);

// Send the GET request
http.get(url);
int statusCode = http.responseStatusCode();

// Check for a successful request
if (statusCode == 200) {
Serial.println("HTTP request successful");
} else {
Serial.print("HTTP request failed with status code ");
Serial.println(statusCode);
}
}

void setup() {
Serial.begin(115200);
while (!Serial) {
; // Wait for serial port to connect
}

// Start NB connection
Serial.println("Starting NB connection...");
nbAccess.begin(APN);
while (!nbAccess.ready()) {
Serial.println("Failed to start NB connection! Trying again...");
delay(5000);
}
Serial.println("NB connection established!");

// Initialize TMP117 sensor
if (!tmp117.begin()) {
Serial.println("TMP117 sensor not detected. Please check wiring.");
while (1);
}
}

void loop() {
// Read temperature
sensors_event_t temp;
tmp117.getEvent(&temp);
float temperature = temp.temperature;

// Send temperature to server
sendTemperature(temperature);

// Wait for 20 seconds
delay(20000);
}
Användarvisningsbild
petertub
Inlägg: 318
Blev medlem: 21 september 2022, 15:59:11
Kontakt:

Re: Arduino MKR NB 1500

Inlägg av petertub »

Jag hade ju använt UDP.
En enkel server instans på servern som tar emot en mätning och en enkel client instans som sänder en mätning.
Skriv svar