UNLAM GalileoGen1 Project - temperatuursensor


Documentación - Proyecto Sistemas Embebidos

Conexiã³n a la placa zwaartelijn el kabel USB-micro USB

Primero se procedió een hacer la Conexión entre la placa y equipo Host zwaartelijn el kabel USB-micro USB.

Una vez hecho esto se ejecutó el código que RAADVANDEEUROPESEUNIE la solución sugerida nl la misma página de Intel, provista por la Cátedra para emular una shell de Linux zwaartelijn el Arduino IDE: el Poor Man's Telnet (o "Telnet del hombre pobre").

Una vez die y ejecutado este código, se toetreden een hulpmiddelen -> seriële Monitor.

Nl este monitor se pueden ejecutar commandos de Linux que nos devolverán información de la placa. Nl este caso lo usamos para chequear cual es la IP adres que le fue asignada.

Configuration del Netwerkbrug para tener internet nl la Placa

Los kunt pasos berichten la forma nl que se configuró el equipo Host, haciendo VN brug entre el Adaptador de rode Ethernet y el Wi-Fi, para que la placa Intel Galileo pueda tener acceso een Internet.

Primero se procedió een hacer la Conexión entre la placa y el equipo Host zwaartelijn el kabel de rode.

Una vez hecho esto, desde el equipo Host se ingresó een de-Control Panel -> View netwerkstatus en taken -> Adapterinstellingen wijzigen.

Luego, se tewerk een seleccionar ambos adaptadores y con botón derecho seleccionar "Bridge Connections".

Al hacer esto el sistema comienza een generar el brug, esta operación demora unos minutos.

Al finalizar el Bridge, podemos ver como se agrega un nuevo pictogram nl nuestras conexiones.

Lo siguiente es sacar el Wi-Fi del Bridge, como se ve nl la siguiente imagen.

Pero luego de hacer esto, debemos volver een incluirlo, para esto, lo que hacemos es hacer Klik op con el botón derecho sobre Wi-Fi e ir een las propiedades y nl esta ventana, ir a la solapa "delen" y tildar el primer checkbox y seleccionar la opción "Netwerkbrug" del combo.

Al terminar este procedimiento veremos que tanto el adaptador Ethernet y el Wi-Fi están puenteados, pero además, este último también aparece compartido ('gedeeld').

Para finalizar la Configuration, podemos chequear que haya Conexión entre el equipo Host y la placa de la siguiente manera:

Primero abrimos una ventana opdracht nl el equipo Host y zwaartelijn el comando "ipconfig" chequeamos la IP-adres asignada al brug creado anteriormente.

Esto puede verificarse utilizando el Poor Man's Telnet como fue explicado con anterioridad.

Por ultimo mostramos como ingresando a la placa utilizando el Putty, se verifico que haya comunicación entre la placa y el equipo Host, utilzando el comando 'ping'.

De esta forma amendementen aseguramos que la placa está accediendo een internet zwaartelijn el kabel Ethernet cuyo adaptador esta puenteado al Wi-Fi.

Código Fuente

Bibliotecas them:

 #include <Wire.h> 

Esta biblioteca le permite interactieve con dispositivos I2C / TWI y Ease las funciones.

Esta librería está incluida nl el IDE de Arduino que utilizamos.

 #include "rgb_lcd.h" 

Esta biblioteca permite interactuar con la pantalla LCD y teclas del schild. Se Charge de traducir los commandos een través del puerto de expansión. Esta biblioteca no está incluida nl 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 conectarse een internet. Puede servir como un servidor, aceptar conexiones name o de un cliente que realiza conexiones salientes. La biblioteca es verenigbaar con hasta cuatro conexiones simultáneas (entrante o saliente o una combinación). Esta librería está incluida nl el IDE de Arduino.

 #include <stdlib.h> 

(standaard bibliotheek o biblioteca Standard)

Esta es la biblioteca Standard, permite utilizar las funciones Aritméticas, de números aleatorios y tekenset de cadenas preguntas que se utilizan nl todo el código. Esta biblioteca se encuentra incluida nl el IDE de Arduino pero también se puede descargar desde el siguiente link: http://fullversion-net.eu/descargar-libreria-stdl...

Variabelen them:

Estas variabelen se utilizan para colorear las pantalla conectada al schild, específicamente se settean los colores que mostrará la misma.

 int colorR = 255; 
 int colorG = 255; 
 int colorB = 0; 

Las siguiente variabelen zoon allow para la toma, parseo y cálculo específico del valor proveniente del sensor de temperatura.

 const int b=3975; 
 float resistance; 
 float temperature; 

Por último estas variabelen zoon them 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; 

Nl esta parte del código determinó een los pines 6 7 y como salidas del schets, la velocidad de la Conexión seriële e inicializo la pantalla lcd con los colores respectivos.

 void setup() 
 { 
 pinMode(6, OUTPUT); 
 pinMode(7, OUTPUT); 
 Serial.begin(115200); 
terwijl (!. Serieel) 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 lus;

Inicio el String tempLimit, donde se guardará el valor temperatura que fue seteado desde la página Web.

Género la Conexión con la variabele client2 que es un EthernetClient, een través de la función verbinding. Los low-level zoon la dirección IP de la página destino y el puerto een utilizar para la comunicación.

Una vez hecha la Conexión, se lee zwaartelijn un krijgen el archivo donde esta el dato que se ingresó desde la página Web, como temperatura límite para el LCD

Nl caso que geen se pueda verbinden con el servidor se imprimirá nl shell, "verbinding mislukt"

 void loop() 
 { 
 tempLimit = ""; Inicio el String 
 Serial.println("connecting..."); 
Als (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 { anders Serial.println("connection failed"); 
 } 
 if (client2.available()) { 

Nl esta sección se lee el archivo temperatura.dat zwaartelijn un char (c) y se desestima el kop que solo tiene caracteres informativos ypsilon solo se toma el valor entre "|" que es la temperatura que se seteo desde la página Web hoofdsom. De esta forma queda la temperatura límite concatenada nl la variabele tempLimit.

Luego se convierte este String nl flotante, con las ultimas tres lineas de esta porcion de codigo.

Als (client2.available()) char c; 
 while((c = client2.read()) != '|'); 
 while((c = client2.read()) != '|') { 
terwijl ((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:

Nl caso de que la Conexión geen zee levensvatbare de verbinden, se desconecta definitivamente y se para la Conexión establecida por client2.

Y de todas formas nl caso de que vuelva een contact tambien se para la Conexión con el server.

 { 
 Serial.println(); 
 Serial.println("disconnecting."); 
 client2.stop(); 
 while (true); 
 } 
 if (client2.connected()) 
 { 
 client2.stop(); // Desconexión del servidor. 
 } 
 lcd.clear(); 
 int val = analogRead(pinTemp); 
 resistance=(float)(1023-val)*10000/val; // Cálculo intermedio para la temperatura 
 temperature=1/(log(resistance/10000)/b+1/298.15)-273.15; // Cálculo de la temperatura 
 // Si la temperatura es menor que el valor ingresado por la página web se colorea el lcd en azul y se muestra un mensaje. Caso contrario el lcd se colorea en rojo, muestra un mensaje y comienza a titilar un led. 
 if (temperature < tempLimitFloat) 
 { 
 digitalWrite(6, LOW); 
 colorR = 0; 
 colorG = 0; 
 colorB = 255; 
 lcd.setRGB(colorR, colorG, colorB); 
 lcd.print("Hace frio: "); 
 lcd.print(temperature); 
 } 
 else 
 { 
 colorR = 255; 
 colorG = 0; 
 colorB = 0; 
 lcd.setRGB(colorR, colorG, colorB); 
 lcd.print("Hace calor: "); 
 lcd.print(temperature); 
 digitalWrite(6, HIGH); 
 sleep(1); 
 digitalWrite(6, LOW); 
 sleep(1); 
 } 
 // Conversión de la variable temperature float a string. 
 String strEntero = String((int)temperature); 
 String strDecimal = String((int)((temperature-(int)temperature)*100)); 
 data = "temp1=" + strEntero + "." + strDecimal; 
 currentMillis = millis(); // Retorna el tiempo actual en milisegundos. 
 // Se comprueba que la diferencia sea menor a un intervalo dado. En caso de ser verdadero se conecta al servidor. Luego le vamos pasando la temperatura que va tomando el sensor. 
 if(currentMillis - previousMillis > interval) 
 { 
 previousMillis = currentMillis; 
 if (client.connect("soa.hol.es",80)) 
 { 
 client.println("POST /add.php HTTP/1.1"); 
 client.println("Host: soa.hol.es"); // SERVER ADDRESS HERE TOO 
 client.println("Content-Type: application/x-www-form-urlencoded"); 
 client.print("Content-Length: "); 
 client.println(data.length()); 
 client.println(); 
 client.print(data); 
 } 
 if (client.connected()) 
 client.stop(); 
 } 

SERVIDOR WEB

add.php

Esta página búsqueda los datos enviados por la placa via POST e inserta el valor nl una base de datos mysql alojada nl un servidor web externo.

index.php

Esta página es la encargada de mostrar la vista al usuario con la temperatura werkelijke leída desde la base de datos utilizando para esto AJAX, logrando así realizar indien asíncronas y Trojan la temperatura cada cierto intervalo de tiempo zonde refrescar la página.

Además de includen VN formulario por donde se puede ondersteuning una temperatura máxima y la guarda nl VN archivo de texto (temperatura.dat) parabel que posteriormente la placa pueda leer este valor y trabajar con el mismo.

Hardware y elementos used

MicroSD de 8gb Kingston, clase 10 que la utilizaremos para pestañas el SO aanbevolen por la cátedra que se puede descargar desde el siguiente koppeling:

https://software.Intel.com/en-US/IOT/hardware/Gali...

De rode kabel, para garantizar una Conexión de rode por el cual se montará un bridge, anteriormente explicado, y así tener acceso een internet desde la placa Galileo gen 1.

Kabel USB - MicroUSB, este es used para contact la PC gastheer con la placa y de esta manera sobre esta Conexión, poder compilar el código desde la IDE de Arduino nl la placa zwaartelijn un schets que utilizaremos.

Placa Intel Galileo gen 1, el corazón de este proyecto, een través de esta placa se ejecutan el schets infinitamente y tiene los puertos para verbinden los sensoren y actuadores. Tambien se bruikbaar el schild.

Schild van de Arduino, este circuito brinda la estandarización de conexiones para sensoren y actuadores, nl este caso utilizaremos las Conexión digitales (pantalla LCD, LED) y las conexiones analógicas (sensor de temperatura)

Sensor de Temperatura, (nieuwe kabel de conexión para la schild). Este sensor tomará la temperatura del ambiente que utilizaremos para informar nl la página Web.

Actuador LED(Incluido cable de conexión para shield, y el socket led) Este geleid se encenderá cuando la temperatura supere la temperatura límite, setteada desde la página Web. El kabel permite verbinden con la The de la schild y el socket es el intermediario entre este kabel el geleid.

Actuador pantalla lcd (la imagen bevat el kabel para verbinden con la schild) nl esta pantalla se visualizará todo el tiempo la temperatura medida por el sensor. Esta se encontrará de kleur azul mientras la temperatura werkelijke geen supere la temperatura límite, nl caso de ser superada se verá de kleur Rojo.

El proyecto fue realizado nl la universidad nacional de la matanza (Argentinië, Buenos Aires).

La materia nl la cual realizamos este proyecto es una materia de cuarto año de ingeniería informática abstract sistemas Operativos Avanzados. Los profesores que situé para este proyecto zoon:

Sebastian Barillaro, Mariano Volker, Waldo A. Valiente, Carnuccio Esteban Andres.

Integrantes del proyecto: Nicolas Guerrero, Manfred Camacho, Hernan Condori, Agustin Jose Leitao Pinheiro

Labels: Intel, Schild, Galileo, Gen1, UNLAM

Gerelateerde Artikelen

LinKit een temperatuursensor

LinKit een temperatuursensor

In dit instructable I 'm gonna hoe u hoe meet je de temperatuur met behulp van een Linkit één en een Lm35 temperatuursensor. Dit project kan een deel van een monitor draadloos weer, als u nog niet gezien mijn eerdere instructables gelieve te controle
Zonne-aangedreven externe temperatuursensor

Zonne-aangedreven externe temperatuursensor

De wetenschappelijke methode kunnen we onderzoeken het universum en de natuurverschijnselen. Door middel van verzameling en analyse van gegevens ontdekken we historische trends om voorspellingen over toekomstige gebeurtenissen te maken. Een dergelijk
Aan de slag met een temperatuursensor

Aan de slag met een temperatuursensor

Met behulp van eenvoudige elektronische sensoren, kunnen we onze eigen warmte detector bouwen. De belangrijkste component, oftewel de LM35DZ temperatuursensor, wordt gebruikt om de huidige kamer temperatuur te meten. Op basis van de meting, zal de de
Temperatuursensor output waarden op Android smartphone

Temperatuursensor output waarden op Android smartphone

Dit is een project van temperatuursensor, waarde van temperatuur zal worden verzonden op Android smartphone via Bluetooth en weergegeven op het scherm, met RemoteXY-bibliotheek gebruikt. Dergelijke een temperatuursensor kan worden geplaatst in een on
4.0 van de Bluetooth aan uw Arduino Project [IoT] - gecontroleerd door Smartphone toe te voegen

4.0 van de Bluetooth aan uw Arduino Project [IoT] - gecontroleerd door Smartphone toe te voegen

Wij zijn groep van internet van dingen-liefhebbers die houden van hacken samen verschillende apparaten. Check out onze huidige project op onze website en neem een kijkje op deze handleiding in een andere indeling op onze blog.Stap 1: InleidingArduino
Arduino Thermometer met behulp van LM35 temperatuursensor

Arduino Thermometer met behulp van LM35 temperatuursensor

Arduino Thermometer met behulp van LM35 temperatuursensor is een zeer eenvoudig te implementeren Arduino gebaseerd project. Zijn een perfect project als u een beginner bent en net hebt begonnen vrijwel testen Arduino projecten.In dit project zullen w
LCD Thermo-Meter-Project met behulp van TI MSP-EXP430FR5739 FraunchPad

LCD Thermo-Meter-Project met behulp van TI MSP-EXP430FR5739 FraunchPad

dit is gemaakt met behulp van Energia.Hoofdzakelijk voor mijn gebruik als een praktisch apparaat voor leren programma microcontrollers. Dit is hoe ver heb ik gemaakt nadat de herziening van de tips van deze draad - dankzij 43oh.com jongens.Ik zou wil
Temperatuursensor / weatherstation

Temperatuursensor / weatherstation

maken een weatherstation of temperatuur monitor met behulp van de zeer koele digitale temperatuursensor DS1820.Ik gebruik deze setup om te controleren van een serverruimte, en als een weatherstation.Dit project bestaat uit:Een Dallas 1-Wire busnetwer
Eenvoudige draadloze temperatuursensor bijwerken website met elektrische GMB en Thermistor

Eenvoudige draadloze temperatuursensor bijwerken website met elektrische GMB en Thermistor

[Edit 2014] De planner die werd gebruikt door elektrische Imp is niet langer gebruikt en niet beschikbaar meer. [/Edit]Dit is een klein project om te beginnen met het elektrische GMB en een Thermistor zodat u kunt zien hoe kunt u temperatuur lezingen
BROEIKASGASSEN, RACK SERVERS, AQUARIUM en andere toestellen temperatuur SUPERVISOR met SMS ALARMSYSTEEM met behulp van Arduino, itbrainpower.net 3G / GSM shields en 1WIRE temperatuursensor

BROEIKASGASSEN, RACK SERVERS, AQUARIUM en andere toestellen temperatuur SUPERVISOR met SMS ALARMSYSTEEM met behulp van Arduino, itbrainpower.net 3G / GSM shields en 1WIRE temperatuursensor

Over het projectZelf uw eigen temperatuur controle systeem met MAXIMUM en MINIMUM temperatuur drempelsbouwen, houden levend massages en (oldies maar goldies als) SMS paging en externe ARM/DISARM systeem. U kunt een of meer 1WIRE temperatuur sensor (s
Home Automation ketel Project

Home Automation ketel Project

Het doel van dit project is voor het beheer van de volgende automatiseringsscenario's in mijn huis:Externe controle van de buitentemperatuur.Externe controle de binnen temperatuur & vocht.Afstandsbediening gas boiler (aan / uit).Automatische controle
IoT 101 Project: Stream temperatuur van uw Raspberry Pi

IoT 101 Project: Stream temperatuur van uw Raspberry Pi

"Hello World!"-Dit is waarschijnlijk de output van het eerste programma dat u ooit heeft geschreven bij het leren hoe de code. Opzetten van een apparaat te streamen temperatuurinformatie is in snel tempo de feitelijke Internet of Things (IoT) 'H
LM35 temperatuursensor met dataloggen op SD-kaart op Intel Edison

LM35 temperatuursensor met dataloggen op SD-kaart op Intel Edison

-Toont het gebruik van een sensor van de LM35 op Intel Edison om temperatuur te meten gedurende langere perioden variërend van enkele uren tot weken en Logboeken de lezingen van de temperatuur van de sensor op een SD-kaart ingevoegd aan boord, alle n
ESP8266-12 blynk draadloze LM35 temperatuursensor

ESP8266-12 blynk draadloze LM35 temperatuursensor

ESP8266-12 blynk draadloze LM35 temperatuursensorin dit project met behulp van een esp8266, zodat de LM35 temperatuursensor op uw smartphone of tablet.Als u beschikbare sensoren kunt DHT11 DHT22 of u de volgende InstructableDHT11 sensorESP8266-12 bly