INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Datum in Tweet hinzufügen
03.10.2015, 20:43
Beitrag #1
Datum in Tweet hinzufügen
    Hey LeuteShy ,

ich habe grad ein Projekt am Laufen und es sieht so aus:

ich habe an meinem Arduino einen Ethernet Shield und noch einen Wassermelder angeschlossen. Jedes mal wenn der Melder Wasser erfasst, soll ein Tweet geschickt werden(hab die Twitter Libary). Soweit funktioniert das Sketch jedoch habe ich 2 Probleme:

- wenn der Sensor des Melders unter Wasser steht, wird der zugewiese Pin(digital) auf dem Arduino von HIGH auf LOW gesetzt. Jetzt versucht der Arduino durchgehend einen Tweet zusenden, ich will aber das er dies nur einmal macht, während der Sensor immer noch im Wasser ist. Ich hatte die Idee am Ende ein delay von 5 Minuten einzusetzen, damit er nur alle 5 Minuten den Status des Pins überprüft.

- Der Inhalt des Tweets habe ich schon festgelegt und er wird immer gleich eingesetzt, Folge ==>
{"errors":[{"code":187,"message":"Status is a duplicate."}]}

im seriellen Monitor wird jetzt immer das Datum eingeblendet und ich will, dass dieses Datum immer in dem Tweet dabei ist, so wird der Tweet auch nicht immer gleich sein.

Kann mir jemand erklären wie das geht?

Vielen Dank im Voraus!!!!!!!!!!!!! P.s mein erstes Projekt mit Arduino, jedoch nicht das Erste in diesem Bereich

drimrim
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.10.2015, 21:20
Beitrag #2
RE: Datum in Tweet hinzufügen
Hallo,

(03.10.2015 20:43)drimrim schrieb:  ...Jedes mal wenn der Melder Wasser erfasst, soll ein Tweet geschickt werden(hab die Twitter Libary). Soweit funktioniert das Sketch jedoch habe ich 2 Probleme:
- wenn der Sensor des Melders unter Wasser steht, wird der zugewiese Pin(digital) auf dem Arduino von HIGH auf LOW gesetzt. Jetzt versucht der Arduino durchgehend einen Tweet zusenden, ich will aber das er dies nur einmal macht, während der Sensor immer noch im Wasser ist. Ich hatte die Idee am Ende ein delay von 5 Minuten einzusetzen, damit er nur alle 5 Minuten den Status des Pins überprüft.

Kann mir jemand erklären wie das geht?

es wäre schon schön, wenn du uns den Sketch zeigst, damit wir sehen, was schon funktioniert und darauf aufbauen können.

Was aber auf keinen Fall funktioniert, ist ein delay von 5 Minuten. In dieser Zeit wird der Arduino tot geschaltet und macht nix mehr außer warten.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.10.2015, 21:31 (Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2015 21:36 von Klaus(i).)
Beitrag #3
RE: Datum in Tweet hinzufügen
Hi drimrim,
entweder Du besorgst dir ein Uhren Modul für den Arduino oder, da Du ja schon eine Internetanbindung hast, besorgst dir die Uhrzeit über das NTP-Protokoll.
Hier gibt es etwas Code:
http://playground.arduino.cc/Code/NTPclient
Erfahrung habe ich mit dem NTP-Client auch nicht, kann aber nicht so schwer sein.

EDIT:
Ggf. muss die Unixzeit noch umgewandelt werden.

Gruß,
Klaus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.10.2015, 21:39
Beitrag #4
RE: Datum in Tweet hinzufügen
(03.10.2015 21:31)Klaus(i) schrieb:  Hi drimrim,
entweder Du besorgst dir ein Uhren Modul für den Arduino oder, da Du ja schon eine Internetanbindung hast, besorgst dir die Uhrzeit über das NTP-Protokoll.
Hier gibt es etwas Code:
http://playground.arduino.cc/Code/NTPclient
Erfahrung habe ich mit dem NTP-Client auch nicht, kann aber nicht so schwer sein.

EDIT:
Ggf. muss die Unixzeit noch umgewandelt werden.

Gruß,
Klaus

Was soll er mit dem Uhrenmodul, das Datum, welches er zur Anzeige bringen will, hat er doch schon, schreibt er. Also fehlt im das Drumherum.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.10.2015, 21:42 (Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2015 21:44 von Klaus(i).)
Beitrag #5
RE: Datum in Tweet hinzufügen
(03.10.2015 21:39)hotsystems schrieb:  Was soll er mit dem Uhrenmodul, das Datum, welches er zur Anzeige bringen will, hat er doch schon, schreibt er. Also fehlt im das Drumherum.
Ups.
Sorry, habe ich doch tatsächlich übersehen. Blush
Gruß, Klaus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.10.2015, 21:44
Beitrag #6
RE: Datum in Tweet hinzufügen
Naja, kann ja mal passieren, ist ja schon spät. SmileWink

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.10.2015, 14:20
Beitrag #7
RE: Datum in Tweet hinzufügen
Code:
int SensPin= 7;

#include <SPI.h> // nötig in Arduino 0019 oder später
#include <Ethernet.h>
#include <Twitter.h>


// Ethernet Shield Einstellungen
byte mac[] = { 'meine Mac' };

// falls man die IP Adresse  nicht spezifiziert, wird DHCP benutzt(nur in Arduino 1.0 oder später).
byte ip[] = { 192, 168, 2, 0 };

// Token zum Tweeten
Twitter twitter("token");

// Nachricht zum Posten
char msg[] = "Wassereinbruch";


void setup() {
Serial.begin(9600);
pinMode(SensPin,INPUT);
digitalWrite(SensPin, HIGH);
}

void loop() {

if (digitalRead(SensPin) == LOW)

{

    Ethernet.begin(mac, ip);
  // oder DHCP, damit die IP-Adresse automatisch konfiguriert wird.
  // Ethernet.begin(mac);
  
  Serial.println("connecting ...");
  if (twitter.post(msg)) {
    // Specify &Serial to output received response to Serial.
    // If no output is required, you can just omit the argument, e.g.
    // int status = twitter.wait();
    int status = twitter.wait(&Serial);
    if (status == 200) {
      Serial.println("OK.");
    } else {
      Serial.print("failed : code ");
      Serial.println(status);
    }
  } else {
    Serial.println("connection failed.");
  }
    
    }
else
  {
  }
    

}


Das Sketch habe ich hinzugefügt und den delay schon mal entfernt danke für den TippBig Grin .

Da ich eine Ethernet Verbindung aufgebaut wird, wird auch gleichzeitig im seriellen Monitor das komplette Datum angezeigt, jedoch weiß ich nicht wie ich das in die Message reinbekommeUndecided .
Zitat:da Du ja schon eine Internetanbindung hast, besorgst dir die Uhrzeit über das NTP-Protokoll.
Hier gibt es etwas Code:
http://playground.arduino.cc/Code/NTPclient
Erfahrung habe ich mit dem NTP-Client auch nicht, kann aber nicht so schwer sein.

EDIT:
Ggf. muss die Unixzeit noch umgewandelt werden.
ich schaue mir das mal an!

drimrim


Angehängte Datei(en)
.ino  Wassereinbruch_tweet_1.ino (Größe: 1,17 KB / Downloads: 33)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.10.2015, 15:09
Beitrag #8
RE: Datum in Tweet hinzufügen
hmm wie kann ich dem Shield sagen, dass er keinen Tweet senden soll wenn der Sensor noch im Wasser ist?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste