Documentación - Proyecto Sistemas Embebidos
Conexión a la placa mediante el câble USB – micro USB
Primero se procedió un hacer la conexión entre la placa y equipo hôte mediante el par câble USB – micro USB.
Una vez hecho esto se ejecutó el código que representa la solución sugerida en la misma página de Intel, provista por la Cátedra para emular una consola de Linux mediante el IDE Arduino : Telnet el du pauvre (o "Telnet del hombre pobre").
Una vez compilado y ejecutado este código, s’adhérer un outils -> Serial Monitor.
En este moniteur se pueden ejecutar comandos de Linux que nos devolverán información de la placa. En este caso lo usamos para chequear cual es la IP adresse que le fue asignada.
Le pont réseau Configuración del para tener internet fr la Placa
Los siguientes pasos muestran la forma en que se configuró el equipo hôte, haciendo un pont entre el Adaptador de Red Ethernet y el Wi-Fi, para que la placa Intel Galileo pueda tener acceso a Internet.
Primero se procedió un hacer la conexión entre la placa y el equipo hôte mediante el cable de rouge.
Una vez hecho esto, desde el equipo hôte se ingresó un panneau de contrôle -> Afficher l’état de réseau et des tâches -> modifier les paramètres de carte.
Luego, se procede un seleccionar ambos adaptadores y con botón derecho seleccionar « Connexions pontées ».
Al hacer esto el sistema comienza el pont generar, esta operación demora unos minutos.
Al finalizar el pont, podemos ver como se agrega un nuevo icono fr nuestras conexiones.
Lo siguiente el de sacar es Wi-Fi del pont, como se ve en la siguiente imagen.
Pero luego de hacer esto, debemos volver a incluirlo, para esto, lo que hacemos es hacer clic con el botón derecho sobre Wi-Fi e ir un las propiedades y en esta ventana, ir a la solapa "partage" y tildar el primer case y seleccionar la opción "Pont réseau" del combo.
Terminar al procedimiento d’este, veremos que tanto el adaptador Ethernet y el Wi-Fi están puenteados, pero además, este último también aparece compartido ("partagé").
Para finalizar la configuración, podemos chequear que haya conexión entre el equipo hôte y la placa de la siguiente manera :
Primero abrimos una ventana commande en el equipo hôte y mediante el comando « ipconfig » chequeamos la IP adresse asignada pont al creado anteriormente.
Telnet como fue explicado con anterioridad de esto puede verificarse utilizando el pauvre homme.
Por ultimo mostramos como ingresando a la placa utilizando el Putty, se verifico que haya comunicación entre la placa y el equipo hôte, utilzando el comando "ping".
De esta forma amendements aseguramos que la placa está accediendo un internet mediante el cable Ethernet cuyo adaptador esta puenteado al Wi-Fi.
Código Fuente
Bibliotecas Utilizadas :
#include <Wire.h>
Esta biblioteca le permite comunicarse con dispositivos I2C / TWI y facilitar las funciones.
Esta librería está prenne appui el de la fr utilizamos que IDE de Arduino.
#include "rgb_lcd.h"
Esta biblioteca permite interactuar con la pantalla LCD y teclas del shield. Se encarga de traducir los comandos a través del puerto de expansión. Biblioteca de esta non está prenne appui fr el IDE de arduino, Fue descargada desde este (https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight)
#include <ethernet.h>
Esta biblioteca permite que la placa pueda a1 un internet. Puede servir como un servidor, aceptar conexiones entrantes o de ONU cliente que realiza conexiones saunie. La biblioteca es compatible con hasta cuatro conexiones simultáneas (entrée o Sarret o una combinación). Esta librería está prenne appui el de la fr IDE de Arduino.
#include <stdlib.h>
(bibliothèque standard o biblioteca estándar)
Esta es la biblioteca estándar, permite utilizar las funciones Aritméticas, de números aleatorios y conversión de cadenas básicas que se utilizan en todo el código. Esta biblioteca se encuentra prenne appui en el IDE de Arduino pero también se puede descargar desde el siguiente lien : http://fullversion-net.eu/descargar-libreria-stdl...
Utilizadas variables :
Estas Variables se utilizan para colorear las pantalla conectada al bouclier, específicamente se settean los colores que mostrará la misma.
int colorR = 255;
int colorG = 255;
int colorB = 0;
Las siguiente variables fils necesarias para la toma, parseo y cálculo específico del valor proveniente del capteur de temperatura.
const int b=3975;
float resistance;
float temperature;
Por último estas variables fils utilizadas para la comunicación con la página Web, lectura, y envío de datos, conexión con internet.
String tempLimit = "";
float tempLimitFloat = 0;
long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 5000; // INTERVALO DE LECTURA CADA 30 SEGUNDOS
String data;
EthernetClient client;
EthernetClient client2;
En esta parte del código determinó a los pins 6 y 7 como salidas del esquisse, la velocidad de la conexión série e inicializo la pantalla lcd con los colores respectivos.
void setup()
{
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
Serial.begin(115200);
while (!. Serial) while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
lcd.begin(16, 2);
lcd.setRGB(colorR, colorG, colorB);
delay(2000);
data = "";
}
Parte inicial del código dentro del boucle ;
Chaîne d’el inicio tempLimit, donde se guardará el valor temperatura, que fue seteado desde la página Web.
Género la conexión con la variable client2 que es un EthernetClient, a través de la función connect. Los parámetros fils la dirección IP de la página destino y el puerto a utilizar para la comunicación.
Una vez hecha la conexión, mediante lee se ONU obtenir el archivo donde esta el dato que se ingresó desde la página Web, como temperatura límite para el LCD
En caso de Québec ne se pueda conectar con el servidor se sous fr consola, « connexion impossible »
void loop()
{
tempLimit = ""; Inicio el String
Serial.println("connecting...");
Si (client2.connect ("soa.hol.es", 80)) if (client2.connect("soa.hol.es", 80)) { Conecto con la direcion IP de la pagina y el puerto
Serial.println("connected");
client2.println("GET <a href="http://soa.hol.es/temperatura.dat" rel="nofollow"> http://soa.hol.es/temperatura.dat </a> HTTP/1.1"); Get del archivo a leer
client2.println("Host: soa.hol.es");
client2.println("Connection: close");
client2.println();
} else { d’autre Serial.println("connection failed");
}
if (client2.available()) {
En esta sección se lee el archivo temperatura.dat mediante un char (c) y se desestima el en-tête que solo tiene caracteres informativos y solo se toma el valor entre-deux "|" que es la temperatura que se seteo desde la página Web principal. De esta forma queda la temperatura límite concatenada fr la variable tempLimit.
Luego se convierte este String fr flotante, con las ultimas tres lineas de esta porcion de codigo.
Si (client2.available()) char c;
while((c = client2.read()) != '|');
while((c = client2.read()) != '|') {
tandis que ((c = client2.read())! = ' |') tempLimit += c;
}
Serial.print(tempLimit);
char floatbuf[32]; // make this at least big enough for the whole string
tempLimit.toCharArray(floatbuf, sizeof(floatbuf));
tempLimitFloat = atof(floatbuf);
}
if (!client2.connected())
Finalizando la consulta sobre la temperatura límite seteada se debe finalizar la conexión de la siguiente manera :
En caso de que la conexión non conectar viable de mer, se desconecta definitivamente y se para la conexión establecida por client2.
Y de todas formas en caso de que vuelva a conectar también se para la conexión con el serveur. {