2016-04-28 5 views
0
/* 


Arduino with Ethernet Shield 
*/ 

#include <SPI.h> 
#include <Ethernet.h> 
#include <Servo.h> 
int led = 4; 
Servo microservo; 
int pos = 0; 
byte mac[ ] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address 
byte ip[ ] = { 10, 0,1,6 };      // ip in lan (that's what you need to use in your browser. ("10.0.1.2") 
byte gateway[ ] = { 10,0, 1, 25 };     // internet access via router 
byte subnet[ ] = { 255, 255, 255, 0 };     //subnet mask 
EthernetServer server(80);        //server port  
String readString; 

void setup() { 
// Open serial communications and wait for port to open: 
    Serial.begin(9600); 
    while (!Serial) { 
    ; // wait for serial port to connect. Needed for Leonardo only 
    } 
    pinMode(led, OUTPUT); 
    microservo.attach(7); 
    // start the Ethernet connection and the server: 
    Ethernet.begin(mac, ip, gateway, subnet); 
    server.begin(); 
    Serial.print("server is at "); 
    Serial.println(Ethernet.localIP()); 
} 


void loop() { 
    // Create a client connection 
    EthernetClient client = server.available(); 
    if (client) { 
    while (client.connected()) { 
     if (client.available()) { 
     char c = client.read(); 

     //read char by char HTTP request 
     if (readString.length() < 100) { 
      //store characters to string 
      readString += c; 
      //Serial.print(c); 
     } 

     //if HTTP request has ended 
     if (c == '\n') {   
      Serial.println(readString); //print to serial monitor for debuging 


      client.println("HTTP/1.1 200 OK"); //send new page 
      client.println("Content-Type: text/html"); 
      client.println();  
      client.println("<HTML>"); 
      client.println("<HEAD>"); 
      client.println("<meta name='apple-mobile-web-app-capable' content='yes' />"); 
      client.println("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />"); 
      client.println("<link rel='stylesheet' type='text/css' href='http://10.0.1.2/top.htm' />"); 
      client.println("<TITLE>Arduino Home Security System</TITLE>"); 
      client.println("</HEAD>"); 
      client.println("<BODY>"); 
      client.println("<H1>Abel & Herwandi</H1>"); 
      client.println("<hr />"); 
      client.println("<br />"); 
      client.println("<H2>Arduino with Ethernet Shield</H2>"); 
      client.println("<br />"); 
      client.println("<a href=\"/?button1on\"\">Turn On LED</a>"); 
      client.println("<a href=\"/?button1off\"\">Turn Off LED</a><br />"); 
      client.println("<br />");  
      client.println("<br />"); 
      client.println("<a href=\"/?button2on\"\">Rotate Left</a>"); 
      client.println("<a href=\"/?button2off\"\">Rotate Right</a><br />"); 
      client.println("<p>Designed by Abel & Herwandi. SCUT Class 5</p>"); 
      client.println("<br />"); 
      client.println("</BODY>"); 
      client.println("</HTML>"); 

      delay(1); 
      //stopping client 
      client.stop(); 
      //controls the Arduino if you press the buttons 
      if (readString.indexOf("?button1on") >0){ 
       digitalWrite(led, HIGH); 

      } 
      if (readString.indexOf("?button1off") >0){ 
       digitalWrite(led, LOW); 
      } 
      if (readString.indexOf("?button2on") >0){ 
       for(pos = 0; pos < 180; pos += 3) // goes from 0 degrees to 180 degrees 
       {         // in steps of 1 degree 
        microservo.write(pos);    // tell servo to go to position in variable 'pos' 
        delay(15);      // waits 15ms for the servo to reach the position 
       } 
      } 
      if (readString.indexOf("?button2off") >0){ 
       for(pos = 180; pos>=1; pos-=3)  // goes from 180 degrees to 0 degrees 
       {         
        microservo.write(pos);    // tell servo to go to position in variable 'pos' 
        delay(15);      // waits 15ms for the servo to reach the position 
       } 
      } 
      //clearing string for next read 
      readString=""; 

     } 
     } 
    } 
} 
} 

Я работаю в системе безопасности с использованием Arduino Uno доски, Arduino сетевой экрана и РС-930L Ip камеры, и серводвигателя, у меня есть адрес т прямого доступ видео и фотографии непосредственно из веб-браузера я использовал экран ethernet для настройки веб-сайта, чтобы я мог контролировать серво, который он действительно работает, поэтому мне бы хотелось, чтобы кнопка была нажата, чтобы при щелчке дайте мне видео/изображение с моей ip-камеры он может находиться на одном и том же сайте Arduino или открыть другой браузер окон! Я ценю любую помощь! БлагодаряПодключения Arduino с Ip камерой

+0

Если вы хотите его в том же Arduino странице вы можете попробовать добавить IFrame, указывающий на адрес камеры; если вы хотите открыть новую страницу браузера, просто зайдите в Google за «открытая новая страница javascript», и вы найдете множество путеводителей – frarugi87

+0

@ frarugi87 ценят вашу помощь, но до сих пор новичок, так что можете направлять через iframe, указывая на адрес камеры? – drexxx

+0

по моему опыту, самый быстрый способ получить помощь - использовать Google. Если вы google для «iframe», первым результатом будет руководство w3p. И самый простой пример: ''. просто измените параметр src на нужную вам страницу. – frarugi87

ответ

0

Если вы хотите добавить кнопку на сайт, который открывает новое окно, показывающее канал IP-камеры, вы можете использовать этот HTML, просто заменить PutUrlHere с URL фида камеры:

<a href="PutUrlHere" target="_blank"> 
    <input type="button" value="Show Camera"> 
</a> 

EDIT :

для вашей программы вы должны быть в состоянии сделать это, где вы хотите кнопку, чтобы показать:

client.println("<a href='PutUrlHere' target='_blank'><input type='button' value='Show Camera'></a>"); 
+0

Этот код, похоже, не работает для Arduino IDE – drexxx

+0

Могу ли я отправить код, который я использую – drexxx

+0

Вы можете разместить свой код для всех ... – jabujavi