Gmail-sender til fx. Alarm eller andet (Læst 5363x)

Offline Jesper_Munkholm

  • µProcessoren
  • *
  • Indlæg: 380
  • Antal brugbare Indlæg: 36
  • Alt er Volt
    • Vis profil
Gmail-sender til fx. Alarm eller andet
« Dato: Januar 29, 2015, 18:33:42 »


Jeg har længe haft problemer med at få sendt alarmer igennem fra min adresse. (det er et 'sort-hul' her på jorden, alt signal bliver bare suget ind... (gsm))

Derfor satte jeg mig for at lave en arduino med lan, som kunne sende en gmail ved fx. strømsvigt eller anden form for alarm (tyv)..

jeg har fundet en kode som skulle virke, hvis man har en alm. mail med der tilhørende smtp server.... men det er jo ikke bare lige med gmail..

fandt en løsning der virker, med hjælp fra en online smtp tjeneste der kunne håndtere ttl osv..

update følger!

Her er koden! rettet lidt til! :)

Kode:
// Jayconsystems.com
// Based on the excellent guide at:
// www.scribd.com/doc/88533821/Arduino-Et-Internet-A-Quick-Start-Guide

#include <SPI.h>
#include <Ethernet.h>
#include "Smtp_Service.h"

const int buttonPin = 2;


const unsigned int SMTP_PORT = 587;

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte my_ip[] = {192, 168, 10, 222};
byte gateway[] = {192, 168, 10, 1};
byte smtp_server[] = { 216, 22, 15, 247};


SmtpService smtp_service(smtp_server, SMTP_PORT);

char incString[250];

String domain =   "smtpcorp.com"; // opret et login hos smtpcorp.com (max 20 mails om dagen)
String login =    "XXXXXXXXXXXXXXXXXXX"; // egne oplysninger på mail konto
String password = "XXXXXXXXXXX"; // egne oplysninger på mail konto


Email email;

void setup()
{
 
   pinMode(buttonPin, INPUT); // digital pin 2 som input
 
   Ethernet.begin(mac, my_ip, gateway);
   Serial.begin(9600);
   Serial.setTimeout(500000);
   delay(1000);   
   
   email.setDomain(domain);
   email.setLogin(login);
   email.setPassword(password);
   
   email.setFrom("XXXXXXXXX@gmail.com");
   email.setTo("XXXXXXXXX@gmail.com");
   email.setCc("");
   email.setSubject("ALARM SELBJERGVEJ 1");
   email.setBody("Der er kunder i butikken! Husk battet der står i skuret!!");

}



void loop()
{
  int buttonState = digitalRead(buttonPin);
 
  {

    if (buttonState == HIGH) // pin 2
    {
      smtp_service.send_email(email); 
    }
 
  delay(1000);
  }
}

Det spiller bare!

det er tale om en arduino uno, en en webserver og et relæ der trigger pin 2 med en pull down modstand over relæet!
« Senest Redigeret: Februar 11, 2015, 19:56:23 af Jesper_Munkholm »
"Buy a man a beer and he wastes an hour. Teach a man to brew and he wastes a lifetime." :)