Arduino mrk1000 wifi

Hallo zusammen
Ich würde gerne noch eine ic2 2X16 hinzufügen um die Messdaten temp/Re.% nicht nur über freeboard.io zu sehen.

Danke.

#include <SPI.h>
#include <WiFi101.h>
#include <DHT.h>
 
// Deine SSID resp. Passwort
String ssid = "xxxxx";
String passwort = "xxxxxxxx";
 
// ThingId von dweet.io - kann z.B. bei https://www.guidgenerator.com/ generiert werden
String DweetGuid = "whimsical-lord";
 
// Update-Frequenz in ms (30000 = 0,5 Minute)
int updateFrequency = 30000;
 
// DHT11 an Pin 5
DHT dht(5, DHT11);
 
int ledPin = 6;
 
WiFiClient client;
long lastRun;
int status = WL_IDLE_STATUS;
 
void setup() {
    Serial.begin(115200);
 
    // Überprüfe, ob ein 101er WiFi vorhanden ist
    if (WiFi.status() == WL_NO_SHIELD)
    {
        Serial.println("WiFi nicht gefunden, Abbruch");
        while (1);
    }
 
    // WiFi-Verbindung aufbauen
    while (status != WL_CONNECTED)
    {
        Serial.print("Verbinde mit ");
        Serial.println(ssid);
        status = WiFi.begin(ssid, passwort);
        delay(5000);
    }
 
    Serial.print("Verbunden mit IP ");
    IPAddress ip = WiFi.localIP();
    Serial.println(ip);
 
    // DHT-Sensor initialisieren
    dht.begin();
 
    pinMode(ledPin, OUTPUT);
    digitalWrite(ledPin, LOW);
 
}
 
void loop() {
    lastRun = millis();
 
    digitalWrite(ledPin, HIGH);
 
    sendRequest();
 
    digitalWrite(ledPin, LOW);
 
    long nextRun = lastRun + updateFrequency;
 
    while (nextRun > millis())
    {
        delay(100);
    }
}
 
// Schicke einen Get-Request an dweet.io mit den aktuellen Messwerten des Sensors
void sendRequest()
{
    // Sensor-Werte holen
    float temperature = dht.readTemperature();
    float humidity = dht.readHumidity();
 
    if (isnan(temperature) || isnan(humidity))
    {
        Serial.println("DHT-Sensor failed");
        return;
    }
 
    Serial.print("Send Request..");
    client.stop();
 
    if (client.connect("dweet.io", 80))
    {
        client.println("POST /dweet/for/" + DweetGuid + "?temperature=" + temperature + "&humidity=" + humidity + " HTTP/1.1");
        client.println("Host: dweet.io");
        client.println("User-Agent: MyMKR1000/0.1");
        client.println();
        Serial.println("...Request sent");
    }
    else
    {
        Serial.println("..FAILED");
    }
}

Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

Danke für die info.

Ich nehme mal an, dass du ein I2C-LCD anschließen möchtest.
Da solltest du dir eins aussuchen, welches auch mit 3,3Volt funktioniert.

Das wird einfacher, da du sonst mit Levelshifter arbeiten musst.

Falls das Deine rele SSID/Passwortkombination ist, solltest Du die z.B. durch ****** ersetzen.

Gruß Tommy

hoi Tommy das sind natürlich nicht meine richtigen ssid pw angaben .

HotSystems:
Ich nehme mal an, dass du ein I2C-LCD anschließen möchtest.
Da solltest du dir eins aussuchen, welches auch mit 3,3Volt funktioniert.

Das wird einfacher, da du sonst mit Levelshifter arbeiten musst.

warum den das ich habe ja einen 5v Ausgang.

gruss

arduino5000:
warum den das ich habe ja einen 5v Ausgang.

gruss

Aber die Datenpins sind soweit mir bekannt, nur 3,3Volt kompatibel.
Damit funktionieren da auch nur 3,3Volt I2C dran.

HotSystems:
Aber die Datenpins sind soweit mir bekannt, nur 3,3Volt kompatibel.
Damit funktionieren da auch nur 3,3Volt I2C dran.

ja die daten pins sind wirklich 3.3 volt jetz muss ich mir ein neues lcd besorgen.
wie wüdest du den code verändern das ich beide anzeigen haben über lcd und über freeboard.
danke

gruss

arduino5000:
ja die daten pins sind wirklich 3.3 volt jetz muss ich mir ein neues lcd besorgen.
wie wüdest du den code verändern das ich beide anzeigen haben über lcd und über freeboard.
danke

gruss

Wenn du schon ein LCD hast, kannst du doch einen Levelshifter für I2C verwenden.
Und sieh dir die Beispiele in der entsprechenden Library zu LCD-I2C an.
Da gibt es passende Beispiele.

HotSystems:
Wenn du schon ein LCD hast, kannst du doch einen Levelshifter für I2C verwenden.
Und sieh dir die Beispiele in der entsprechenden Library zu LCD-I2C an.
Da gibt es passende Beispiele.

Ich Schaue mir das mal an. Ich bin noch Anfänger auf dem Arduino gebiet und habe sehr lange an dem Sketch gearbeitet. Leider ist das ganze nicht so einfach... Übung macht den meister .

danke für die info

gruss

Hab den Anfangspost editiert und ssid und password entfernt.
@arduino5000 Du solltest Dein Password des WLANs ändern.
Grüße Uwe

uwefed:
Hab den Anfangspost editiert und ssid und password entfernt.
@arduino5000 Du solltest Dein Password des WLANs ändern.
Grüße Uwe

hallo uwe natürlich sind das nicht meine echten Logins :wink: nur Beispiele XD

gruss

arduino5000:
Ich Schaue mir das mal an. Ich bin noch Anfänger auf dem Arduino gebiet und habe sehr lange an dem Sketch gearbeitet. Leider ist das ganze nicht so einfach... Übung macht den meister .

danke für die info

Das ist ok.
Du musst dir eine Library raussuchen, die zum MRK1000 passt, dann klappt das auch.
Leider habe ich den nicht und kann da nicht helfen.