• Объединить два скетча вмести, как это сделать?

    @Max889900
    Здравствуйте, помогите пожалуйста объединить два скетча

    Код для создания Ping:

    #include

    #include

    #include

    #include

    byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // max address for ethernet shield

    byte ip[] = {192,168,0,177}; // ip address for ethernet shield

    IPAddress pingAddr(0,0,0,0); // ip address to ping

    SOCKET pingSocket = 0;

    char buffer [256];

    ICMPPing ping(pingSocket, (uint16_t)random(0, 255));

    void setup()

    {

    // start Ethernet

    Ethernet.begin(mac, ip);

    Serial.begin(9600);

    DNSClient dns;

    dns.begin(Ethernet.dnsServerIP());

    dns.getHostByName("ya.ru",pingAddr); // at this point the function works

    }

    void loop()

    {

    ICMPEchoReply echoReply = ping(pingAddr, 4);

    if (echoReply.status == SUCCESS)

    {

    sprintf(buffer,

    "Reply[%d] from: %d.%d.%d.%d: bytes=%d time=%ldms TTL=%d",

    echoReply.data.seq,

    echoReply.addr[0],

    echoReply.addr[1],

    echoReply.addr[2],

    echoReply.addr[3],

    REQ_DATASIZE,

    millis() - echoReply.data.time,

    echoReply.ttl);

    }

    else

    {

    sprintf(buffer, "Echo request failed; %d", echoReply.status);

    }

    Serial.println(buffer);

    delay(500);

    }

    Код для отправки сообщения:

    #include
    #include
    #include
    #include
    #include
    #include

    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include
    #include

    //структура для сообщения
    struct Message
    {
    String From;//адрес отправителя
    String To;// адрес получателя
    String Subject;// Тема письма
    String Body;// Текст письма
    };

    //mac адрес устройства (можно не менять)
    byte mac[] = {
    0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x05 };

    //IP адрес адруины (можно не менять)
    IPAddress ip(192,168,1,48);

    // IP smtp сервера
    IPAddress server(87,250,251,50);
    // IP других сереров можно найти в инете

    // логин и пароль к почтовому сервису
    char login[] = "A........@yandex.ru";//
    char password[] = "A.......";

    // создаем экземпляр клиента
    EthernetClient client;

    void setup(){
    Serial.begin(9600);// UART
    Ethernet.begin(mac,ip);// Запускаем шилд
    Serial.println("Start");
    }

    void loop(){
    while(Serial.available()){
    char inSerialChar = 0;
    inSerialChar = Serial.read();
    if(inSerialChar == 's'){
    SendMessage();// При отправке в дуину ‘s’, отправляем сообщение.
    }
    }
    }
    // метод подключения к серверу
    bool connectToServer(){
    if(client.connected()){
    }
    else{
    if(client.connect(server,25)){
    return true;
    }
    else{
    return false;
    }
    }
    }

    // метод отправки сообщения
    void SendMessage(){
    Serial.println("Please wite…");
    LogPass();
    Message message = {
    "A.......@yandex.ru",
    "B......@yandex.ru",
    "Проба пера",//тема
    "Огромный привет от Ардуино!!!!" };//само сообщение
    client.println("MAIL From:<"+message.From+">");
    delay(250);
    client.println("RCPT To:<"+message.To+">");
    delay(250);
    client.println("DATA");
    delay(250);
    client.println("From:"+message.From);
    client.println("To:"+message.To);
    client.println("Subject:"+message.Subject);
    delay(250);
    client.println(message.Body);
    delay(250);
    client.println(".");// поприходуточкисерверставитсообщениевочередь
    delay(250); // на отправку
    client.println("QUIT");// как только закрыли соединение, сообщение улетает
    delay(250);
    Serial.println("Message sending…");
    }

    // подключение к серверу и авторизация
    void LogPass(){
    char array[64];// массив для кодирования
    if(connectToServer()){
    client.println(F("helo 1.2.3.4"));
    delay(250);
    client.println(F("AUTH LOGIN"));
    delay(250);
    client.println(strToBase64(login));
    delay(250);
    client.println(strToBase64(password));
    delay(250);

    }
    else{
    Serial.println("Server not connected…");
    }

    }

    // кодировка Base64
    String strToBase64(char str[]){
    char charArray[64];
    base64_encode(charArray,str,strlen(str));
    String result = charArray;
    return result;
    }
    Ответ написан
    Комментировать