Arduino ile akıllı ev

veysel28

Profesyonel Üye
Katılım
10 Ara 2010
Mesajlar
1,601
Puanları
381
Elimde bulunan malzemeler.
Arduino mega 2560 r3
Arduino ethernet shield w5100
8 kanal röle kartı
Şimdi 8 röleyi cepten kontrol edebiliyorum.Benim bu sisteme ek olarak twitter dan sms almayı düşünüyorum.Yani bir sensör tetiklenince mesaj atacak.Linkte ki kodları yüklüyorum ama bazı hatalar alıyorum link ve hatalı kodlar aşağıda.Teşekkürler.
http://arduinoturkiye.com/arduino-ethernet-shield-thingspeak-api-twitter-mesaj-gonderme/


Arduino:1.6.5 (Windows 7), Kart:"Arduino Mega ADK"

twitter4:11: error: stray '\' in program
twitter4:11: error: stray '\' in program
twitter4:71: error: stray '\' in program
twitter4:71: error: stray '\' in program
twitter4:85: error: stray '\' in program
twitter4:85: error: stray '\' in program
twitter4:99: error: stray '\' in program
twitter4:99: error: stray '\' in program
twitter4:103: error: stray '\' in program
twitter4:103: error: stray '\' in program
twitter4:107: error: stray '\' in program
twitter4:107: error: stray '\' in program
twitter4:133: error: stray '\' in program
twitter4:133: error: stray '\' in program
twitter4:133: error: stray '\' in program
twitter4:139: error: stray '\' in program
twitter4:139: error: stray '\' in program
twitter4:139: error: stray '\' in program
twitter4:141: error: stray '\' in program
twitter4:141: error: stray '\' in program
twitter4:141: error: stray '\' in program
twitter4:141: error: stray '\' in program
twitter4:11: error: 'u201cY6G2ZLAYFWWLUOG8' was not declared in this scope
twitter4:19: error: redefinition of 'byte mac []'
twitter4:7: error: 'byte mac [6]' previously defined here
twitter4:21: error: redefinition of 'byte server []'
twitter4:9: error: 'byte server [4]' previously defined here
twitter4:23: error: redefinition of 'EthernetClient client'
twitter4:13: error: 'EthernetClient client' previously declared here
twitter4.ino: In function 'void setup()':
twitter4:63: error: redefinition of 'void setup()'
twitter4:25: error: 'void setup()' previously defined here
twitter4:71: error: 'u201cFailed' was not declared in this scope
twitter4:85: error: 'u201cReady' was not declared in this scope
twitter4.ino: In function 'void loop()':
twitter4:89: error: redefinition of 'void loop()'
twitter4:43: error: 'void loop()' previously defined here
twitter4:99: error: 'u201cMail' was not declared in this scope
twitter4:103: error: 'u201ctweeted' was not declared in this scope
twitter4:107: error: 'u201cUnable' was not declared in this scope
twitter4.ino: In function 'boolean sendMessage(char*)':
twitter4:133: error: 'u201cconnecting' was not declared in this scope
twitter4:139: error: 'u201cmaking' was not declared in this scope
twitter4:141: error: 'u201cPOST' was not declared in this scope
twitter4:141: error: 'apps' was not declared in this scope
twitter4:141: error: 'thingtweet' was not declared in this scope
twitter4:141: error: 'statuses' was not declared in this scope
twitter4:141: error: 'update' was not declared in this scope
twitter4:168: error: expected primary-expression before '}' token
twitter4:168: error: expected ';' before '}' token
twitter4.ino: At global scope:
twitter4:170: error: expected unqualified-id before 'else'
twitter4:174: error: 'client' does not name a type
twitter4:176: error: 'client' does not name a type
twitter4:178: error: expected unqualified-id before 'return'
twitter4:179: error: expected declaration before '}' token
stray '\' in program

Rapor daha fazla veri içermeli
"Derleme sırasında ayrıntılı çıktı göster"
Dosya > Tercihler'de etkinleştirilmiş.
 
Otomatik sigorta bulunduğu devreyi yüksek akım ve kısa devre akımlarından koruyan bir anahtarlama elamanıdır.
İyi bir topraklama değeri sıfıra ohm'a yakın olan değerdir. Fakat her işte olduğu topraklamadada maliyetler önemli, onun için iyi bir topraklama değeri izin verilen değerler içinde olandır.
Api neden kullanıyorsun ?
http://apcmag.com/how-to-tweet-with-your-arduino.htm/
Zaten twitter destekliyor. Twitter hesabını 3. şahıslara neden veriyorsun?

Bu arada Facebook hesabını da bana verirmisin?(Birine bakıp çıkacağım)
***İşin şakası, kendi hesabını kullanmayan biri başkasının hesabını ne yapsın ?

Sketch ini pastelemedin ama anladığım kadarıyla Twitter için harici kütüphane var ve o senin kütüphanende değil yada başlangıçta iliştirmedin(#include twitter_zart_zurt.h)
 
Son düzenleme:
Başka yerden bulduğum twit kodlarını yükledim şimdi sensör eklemek kaldı ordada hata veriyor.Akşam hatayı paylaşırım.Kodları eklemede yardımcı olursan sana bi face hesabı açarız.
 
@seagate Şimdi buradaki kodu derleyip yükleyebiliyorum.Buraya da sensör eklemek istiyorum ama nasıl birleştireceğimi bilmiyorum .Sensör kodu da aşağıda.
Kod:
#include <EtherCard.h>


#define TOKEN   "token kod"


byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };

const char website[] PROGMEM = "arduino-tweet.appspot.com";

static byte session;

byte Ethernet::buffer[700];
Stash stash;

static void sendToTwitter () {
  Serial.println("Tweet gönderiliyor.");
  byte sd = stash.create();

  const char tweet[] = "Tweet metni";
  stash.print("token=");
  stash.print(TOKEN);
  stash.print("&status=");
  stash.println(tweet);
  stash.save();
  int stash_size = stash.size();

  Stash::prepare(PSTR("POST http://$F/update HTTP/1.0" "\r\n"
    "Host: $F" "\r\n"
    "Content-Length: $D" "\r\n"
    "\r\n"
    "$H"),
  website, website, stash_size, sd);

 session = ether.tcpSend();
}

void setup () {
  Serial.begin(57600);
  Serial.println("\n[Twitter Client]");

  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) 
    Serial.println(F("Internet erişimi yok"));
  if (!ether.dhcpSetup())
    Serial.println(F("DHCP hatasi"));

  ether.printIp("IP:  ", ether.myip);
  ether.printIp("GW:  ", ether.gwip);  
  ether.printIp("DNS: ", ether.dnsip);  

  if (!ether.dnsLookup(website))
    Serial.println(F("DNS hatasi"));

  ether.printIp("SRV: ", ether.hisip);

  sendToTwitter();
}

void loop () {
  ether.packetLoop(ether.packetReceive());

  const char* reply = ether.tcpReply(session);
  if (reply != 0) {
   
    Serial.println(reply);
  }
}

Bu da sensör kodu



  1. int ledPin =13;// choose the pin for the LED
  2. int inputPin =2;// choose the input pin (for PIR sensor)
  3. int pirState = LOW;// we start, assuming no motion detected
  4. int val =0;// variable for reading the pin status
  5. void setup(){
  6. pinMode(ledPin, OUTPUT);// declare LED as output
  7. pinMode(inputPin, INPUT);// declare sensor as input
  8. Serial.begin(9600);
  9. }
  10. void loop(){
  11. val = digitalRead(inputPin);// read input value
  12. if(val == HIGH){// check if the input is HIGH
  13. digitalWrite(ledPin, HIGH);// turn LED ON
  14. if(pirState == LOW){
  15. // we have just turned on
  16. Serial.println("Motion detected!");
  17. // We only want to print on the output change, not state
  18. pirState = HIGH;
  19. }
  20. }else{
  21. digitalWrite(ledPin, LOW);// turn LED OFF
  22. if(pirState == HIGH){
  23. // we have just turned of
  24. Serial.println("Motion ended!");
  25. // We only want to print on the output change, not state
  26. pirState = LOW;
  27. }
  28. }
  29. }
 
Bunu deneyebilirmisin ?

PHP:
#include <SPI.h> // Arduino 1.6.5 Ide kullanılmıştır !
#include <Ethernet.h>
#include <Twitter.h>


// Twitter.h kütüphanesi "arduino-tweet.appspot.com/Library-Twitter-1.3.zip" adresinde
// Ekleme şekli Taslak >> Include Library >> Add Zip Library

// Ethernet modülü Ayarları
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// Buraya sabit bir ip yaz ki harici bir portdan mesaj gönderecek/alacaksan modem arayüzünde
// port açman gerekecektir. Sizin modemin verebileceği IP numaralarını yazın.
byte ip[] = { 192, 168, 2, 250 };

// Tokenin zaten vardır.
Twitter twitter("YOUR-TOKEN-HERE");

// Message to post
char msg[] = "Hello, World! I'm Arduino!";

//Pır sensörü veya butonu taktığınız pin.
int InPin = 13;
// Mesajın gittiğini gösteren led Sürekli yanarsa hata var demektir(yanıp sönmesi lazım)
int outPin = 10;


void setup()
{
  pinMode(InPin, INPUT);
  pinMode(outPin, OUTPUT);
  Ethernet.begin(mac, ip);
 
  Serial.begin(57600);

}


void send_it()
  {
 
  Serial.println("connecting ...");
  digitalWrite(outPin, HIGH);
  if (twitter.post(msg)) {
  int status = twitter.wait(&Serial);
  if (status == 200) {
  Serial.println("OK.");
  } else {
  Serial.print("Olmadı : Hata ");
  Serial.println(status);
  digitalWrite(outPin, LOW);
  }
  } else {
  Serial.println("Baglanti Hatasi.");
  }
}

void loop()
{
  if(digitalRead(InPin) == HIGH){
  char msg[] = "Hareket Var !";
  }else{
  char msg[] = "Hareket Yok !";
  }
 
  delay(100);
  send_it();
  delay(1000);//Saniyede bir kez tarama yapmak için bekle.
}
 
Son düzenleme:
Akşam dener sonucu paylaşırım sağol.
 
Kod:
Arduino:1.6.5 (Windows 7), Kart:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

sketch_oct08a:7: error: variable or field 'sendToTwitter' declared void
sketch_oct08a:7: error: 'msg' was not declared in this scope
sketch_oct08a:19: error: variable or field 'sendToTwitter' declared void
sketch_oct08a:19: error: 'msg' was not declared in this scope
variable or field 'sendToTwitter' declared void

  Rapor daha fazla veri içermeli
  "Derleme sırasında ayrıntılı çıktı göster"
  Dosya > Tercihler'de etkinleştirilmiş.
 
Kod:
Arduino:1.6.5 (Windows 7), Kart:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

sketch_oct08a:7: error: variable or field 'sendToTwitter' declared void
sketch_oct08a:7: error: 'msg' was not declared in this scope
sketch_oct08a:19: error: variable or field 'sendToTwitter' declared void
sketch_oct08a:19: error: 'msg' was not declared in this scope
variable or field 'sendToTwitter' declared void

  Rapor daha fazla veri içermeli
  "Derleme sırasında ayrıntılı çıktı göster"
  Dosya > Tercihler'de etkinleştirilmiş.

Cevabı güncelledim.
Yorum satırları size ne yapmanız gerektiğini belirtecektir.
Yine benim hatam ! Sizin verdiğiniz örnekle neden uğraştım anlamıyorum. Oysa siz soruyu açık bir şekilde sordunuz. En iyisi bir yerlere yazmamak hadi kalın sağlıcakla...
 
Mac adresi değişmiş.Neden ?
13 nolu pin 5v ile tetiklenecek doğrumu anladım.
10 numaralı çıkış pini neden gerekli onu anlamadım?
Modemde port açılı zaten uzaktan röle kontrolü yapıyorum.
Teşekkürler.Akşam Deneyecem.
Buna uzaktan kontrolüde ekleyecem kaçma buralarda ol..... :)
 

Forum istatistikleri

Konular
128,135
Mesajlar
915,326
Kullanıcılar
449,854
Son üye
Enes.trk

Yeni konular

Geri
Üst