Unlam GalileoGen1 Project - temperaturgivare



Documentación - Proyecto Sistemas Embebidos

Conexión a la placa mediante el kabel USB-micro USB

Primero se procedió en hacer la conexión entre la placa y equipo värd mediante el kabel USB-micro USB.

UNA vez hecho esto se ejecutó el código que företrä la solución sugerida en la misma página de Intel, provista por la Cátedra para emular una consola de Linux mediante el Arduino IDE: el fattigmans Telnet (o "Telnet del hombre pobre").

UNA vez compilado y ejecutado este código, se ansluta sig ett verktyg -> Serial Monitor.

En este monitor se pueden ejecutar kommandosoldater de Linux que nos devolverán información de la Plaça. En este caso lo usamos para chequear cual es la IP adress que le fue asignada.

Configuración del nätverksbrygga para tener internet sv la Placa

Los siguientes pasos muestran la forma en que se configuró el equipo värd, haciendo FN bron entre el Adaptador de röda Ethernet y el Wi-Fi, para que la placa Intel Galileo pueda tener acceso en Internet.

Primero se procedió en hacer la conexión entre la placa y el equipo värd mediante el kabel de röda.

UNA vez hecho esto, desde el equipo värd se ingresó en de kontroll Panel -> Visa nätverksstatus och aktiviteter -> ändra inställningar adapter.

Luego, se fortsätta en seleccionar ambos adaptadores y con botón derecho seleccionar "brygganslutningar".

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

Al finalizar el Bridge, podemos ver como se agrega un nuevo Guillaume sv nuestras conexiones.

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

Pero luego de hacer esto, debemos volver en incluirlo, para esto, lo que hacemos es hacer Klicka på con el botón derecho sobre Wi-Fi e ir en las propiedades y en esta ventana, ir a la solapa "Dela" y tildar el primer kryssrutan y seleccionar la opción "Nätverksbrygga" del combo.

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

Para finalizar la configuración, podemos chequear que haya conexión entre el equipo värd y la placa de la siguiente manera:

Primero abrimos una ventana kommandot sv el equipo värd y mediante el comando "ipconfig" chequeamos la IP-adress asignada al bro 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 värd, utilzando el comando "ping".

De esta forma nos aseguramos que la placa está accediendo en internet mediante el kabel 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á incluida en el IDE de Arduino que utilizamos.

#include "rgb_lcd.h"

ESTA biblioteca permite interactuar con la pantalla LCD y teclas del sköld. Se encarga de traducir los kommandosoldater en través del puerto de expansión. ESTA biblioteca no está incluida en 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 Plaça pueda conectarse en internet. Puede servir como un servidor, aceptar conexiones entrantes o de un cliente que realiza conexiones salientes. La biblioteca es kompatibel con hasta cuatro conexiones simultáneas (entrante o saliente o una combinación). ESTA librería está incluida en el IDE de Arduino.

#include < stdlib.h >

(standard bibliotek 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 incluida sv el IDE de Arduino pero también se puede descargar desde el siguiente länk: http://fullversion-net.eu/descargar-libreria-stdl...

Variablerna Utilizadas:

Estas variabler se utilizan para colorear las pantalla conectada al sköld, específicamente se settean los colores que mostrará la misma.

int colorR = 255;

int colorG = 255;

int colorB = 0;

Las siguiente variabler son necesarias para la toma, parseo y cálculo específico del valor proveniente del sensor de temperatura.

CONST int b = 3975;

float resistens.

float temperatur;

Por últimoen estas variabler son utilizadas para la comunicación con la página webben, lectura, y envío de datos, conexión con internet.

String tempLimit = "";

flyta tempLimitFloat = 0;

lång previousMillis = 0;

osignerade långa currentMillis = 0;

långa intervall = 5000; INTERVALO DE LECTURA CADA 30 SEGUNDOS

Strängdata;

EthernetClient klient;

EthernetClient KLIENT2;

En esta parte del código determinó en los pines 6 y 7 como salidas del skiss, la velocidad de la conexión följetong e inicializo la pantalla LCD-con los colores respectivos.

void setup()

{

pinMode (6, OUTPUT);

pinMode (7, OUTPUT);

Serial.BEGIN(115200);

tag (!. Serial) {

; vänta för seriell port att ansluta. Behövs för native USB-porten endast

}

LCD.BEGIN (16, 2);

lcd.setRGB (colorR, colorG, colorB);

Delay(2000);

data = "";

}

Parte inicial del código dentro del loop;

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

Género la conexión con la variabel KLIENT2 que es un EthernetClient, en través de la función ansluta. Los parámetros son la dirección IP de la página destino y el puerto en utilizar para la comunicación.

UNA vez hecha la conexión, se lee mediante FN få el archivo donde esta el dato que se ingresó desde la página webben, como temperatura límite para el LCD

En caso que ingen se pueda conectar con el servidor se imprimirá sv consola, "anslutningen misslyckades"

void loop()

{

tempLimit = ""; Inicio el sträng

Serial.println("Connecting...");

om (client2.connect ("soa.hol.es", 80)) {Conecto con la direcion IP de la pagina y el puerto

Serial.println("Connected");

client2.println ("GET < en href =" http://soa.hol.es/temperatura.dat"rel ="nofollow"> http://soa.hol.es/temperatura.dat < /a > HTTP/1.1"); Få del archivo en leer

client2.println ("Host: soa.hol.es");

client2.println ("anslutning: Stäng");

client2.println();

} annat {

Serial.println ("Anslutning misslyckades");

}

En esta sección se lee el archivo temperatura.dat mediante un char (c) y se desestima el header que solo tiene caracteres informativos y solo se toma el valor entre "|" que es la temperatura que se seteo desde la página Web rektor. De esta forma queda la temperatura límite concatenada en la variabel tempLimit.

Luego se convierte este sträng sv flotante, con las ultimas tres Lineasen de esta porcion de codigo.

om (client2.available()) {

char c;

medan ((c = client2.read())! = ' |');

medan ((c = client2.read())! = ' |') {

tempLimit += c;

}

Serial.Print(tempLimit);

char floatbuf [32]; gör detta minst stort nog för hela strängen

tempLimit.toCharArray (floatbuf, sizeof(floatbuf));

tempLimitFloat = atof(floatbuf);

}

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 ingen havet livskraftig de conectar, se desconecta definitivamente y se para la conexión establecida por KLIENT2.

Y de todas formas en caso de que vuelva en conectar tambien se para la conexión con el server.

om (! client2.connected())

{

Serial.println();

Serial.println("disconnecting.");

client2.stop();

medan (sant);

}

om (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

temperatur = 1 / (log (motstånd/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-sv azul y se muestra FN: s mensaje. Caso contrario el LCD-se colorea sv rojo, muestra un mensaje y comienza en titilar FN ledde.

om (temperatur < tempLimitFloat)

{

digitalWrite (6, låg).

colorR = 0;

colorG = 0;

colorB = 255;

lcd.setRGB (colorR, colorG, colorB);

LCD.Print ("hare frio:");

LCD.Print(temperature);

}

annat

{

colorR = 255;

colorG = 0;

colorB = 0;

lcd.setRGB (colorR, colorG, colorB);

LCD.Print ("hare calor:");

LCD.Print(temperature);

digitalWrite (6, hög).

Sleep(1);

digitalWrite (6, låg).

Sleep(1);

}

Conversión de la variabel temperatur flyta en sträng.

String strEntero = String((int)temperature);

String strDecimal = String((int)((temperature-(int)temperature)*100));

data = "temp1 =" + strEntero + "." + strDecimal;

currentMillis = millis(); Retorna el tiempo faktiska sv milisegundos.

Se comprueba que la diferencia havet menor en un intervalo dado. En caso de ser verdadero se conecta al servidor. Luego le vamos pasando la temperatura que va tomando el sensor.

om (currentMillis - previousMillis > intervall)

{

previousMillis = currentMillis;

om (client.connect("soa.hol.es",80))

{

client.println ("POST /add.php HTTP/1.1");

client.println ("Host: soa.hol.es"); SERVER ADRESS HÄR OCKSÅ

client.println ("Content-Type: application/x-www-formuläret-urlencoded");

client.Print ("Content-Length:");

client.println(data.length());

client.println();

client.Print(data);

}

om (client.connected())

client.stop();

}

SERVIDOR WEB

Add.php

ESTA página recibe los datos enviados por la placa via POST e inserta el valor en una base de datos mysql alojada sv FN servidor web externo.

index.php

ESTA página es la encargada de mostrar la vista al viuario con la temperatura faktiska leída desde la bas de datos utilizando para esto AJAX, logrando así realizar consultas asíncronas y actualizar la temperatura cada cierto intervalo de tiempo synd refrescar la página.

Además de incluir un formulario por donde se puede establecer una temperatura máxima y la guarda sv un archivo de texto (temperatura.dat) para que posteriormente la Plaça pueda leer este valor y trabajar con el mismo.

Hårdvara y elementos Utilizados

Kingston MicroSD de 8gb, clase 10 que la utilizaremos para almacenar el SO recomendado por la cátedra que se puede descargar desde el siguiente länk:

https://Software.Intel.com/en-us/IOT/Hardware/Gali...

Kabeln de röda, para garantizar una conexión röda por el cual se montará FN-bron, anteriormente explicado, y así tener acceso en internet desde la placa Galileo gen 1.

Kabel USB - MicroUSB, este es usado para conectar la PC remota con la placa y de esta manera sobre esta conexión, poder compilar el código desde la IDE de Arduino sv la placa mediante FN skiss que utilizaremos.

Placa Intel Galileo gen 1, el corazón de este proyecto, en través de esta placa se ejecutan el skiss infinitamente y tiene los puertos para conectar los sensores y actuadores. También se utilizo el sköld.

Sköld Arduino, este circuito Joakim la estandarización de conexiones para sensores y actuadores, en este caso utilizaremos las conexión digitales (pantalla LCD, LED) y las conexiones analógicas (sensor de temperatura)

Sensor de Temperatura, (incluyendo kabel de conexión para la sköld). Este sensor tomará la temperatura del ambiente que utilizaremos para informar en la página Web.

Actuador LED(Incluido cable de conexión para shield, y el socket led) Este ledde se encenderá cuando la temperatura supere la temperatura límite, setteada desde la página Web. El-kabel permite conectar con la interfaz de la sköld y el uttaget es el intermediario entre este kabel el ledde.

Actuador pantalla lcd (la imagen incluye el kabel para conectar con la sköld) En esta pantalla se visualizará todo el tiempo la temperatura medida por el sensor. ESTA se encontrara de färg azul mientras la temperatura faktiska ingen supere la temperatura límite, sv caso de ser superada se verá de färg Rojo.

El proyecto fue realizado en la universidad nacional de la matanza (Argentina, Buenos Aires).

La materia sv la cual realizamos este proyecto es una materia de cuarto año de ingeniería informática llamada sistemas Operativos Avanzados. Los profesores que tuvimos para este proyecto son:

Sebastian Barillaro, Mariano Volker, Waldo A. Valiente, Carnuccio Esteban Andrés.

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

Relaterade Ämnen

Andning vägg: projection kartläggning på en glidande yta med en djup kamera

Vore det inte trevligt om vi kunde känna information om ytan av objekt på våra fingertoppar? Hur vi berör objekt, hur kan företaget vi trycker dem och allmänt hur vi flytta information det fysiska utrymmet alla reflekteras på ytan av den omgivande mi...

En enkel 2 timme PICAXE Project - spela låtar med en 08M 2 mikrokontroller för ungefär $10

detta projekt kan byggt och programmerat i ca 2 timmar om du har alla nödvändiga delar på sidan. Vad den gör är att spela de låtar som redan är förprogrammerade i 08 M 2. Låtarna är "Happy Birthday", "Jingle Bells", "Stilla natt&q...

Komma igång med en temperaturgivare

Använda grundläggande elektroniska sensorer, kan vi bygga vår egen värme detektor. Den viktigaste komponenten, som är LM35DZ temperaturgivare, används för att mäta strömrumstemperaturen. Baserat på mättning, att detektorn varna användaren med hjälp a...

Solar Driv Remote temperaturgivare

Den vetenskapliga metoden tillåter oss att undersöka universum och dess naturliga fenomen. Genom insamling och analys av data upptäcker vi historiska trender att göra förutsägelser om framtida händelser. Ett sådant fenomen som kraftigt påverkar våra...

Nerf Vulcan modifiering Project

i detta Instructable, jag kommer att dokumentera de ändringar jag göra till min nya NERF Vulcan EBF - 25 helautomatisk Nerf gun.Många av dessa ändringar är inte REVERSIBEL , och, om gjort fel, kommer att resultera i oreparerbara skador på pistolen.Ja...

Enkel LED Digital temperaturgivare

En enkel, billig, Digital elektronisk temperaturgivareH. William James, augusti, 2015Abstrakt Blinkande Lysdioderna innehåller en liten IC chip som orsakar dem att kontinuerligt blinka på och av när en spänning läggs. Denna studie visar att blinkning...

Sätta fast bruten temperaturgivare i din PC fall

Inledning:Många nya PC fall har temperaturgivare i dem, så att spelare, överklockare och entusiast att övervaka temperaturen på sin dator. Men dessa sensorer tenderar att bryta! Men frukta inte, eftersom jag kommer att lära dig att fixa dem! :)Jag ha...

OLED + temperaturgivare på Espruino (JavaScript på MCU)

Två korta exempel på läsande temperatur vid DS18B20 eller DHT22 sensor och Visa det på OLED display (4-tråd SPI) eller (2-tråd I2C).Allt är kopplad direkt med bakbord kablarna till Espruino Pico styrelsen.Ingen extern strömförsörjning som behövs.Bara...

Hur man skapa Zombies med Projection Mapping

detta instructable visar du hur du enkelt skapar en illusion av zombies på ditt hus, eller någonstans. Den hårda vägen att göra detta, innebär utveckling av ett undeadly virusoch smitta dina nära och kära (rekommenderas inte). Kolla in videon nedan f...

Hack spänningsregulator 7805 i temperaturgivare

hacka spänningsregulator 7805 i temperaturgivare78l 05 positiva 5 volt regulator kan ge 100 ma max, om du överbelasta det med överdriven ladda sedan, inbyggd över belastning (termiskt överlastskydd) sparkar in och sänker den ström som passerar genom...

Kontroll 3M avfuktare med Tibbo Project System

Taipei vintrar kan få ganska fuktig, med luftfuktigheten lätt når 80%! Standard avfuktare är bra på att bekämpa fukt i luften, men du har ständigt tömma sina vattentankar. Ovanpå det kräver nya säkerhetsbestämmelser alla avfuktare ska utrustas med ti...

Hur gränssnittet fukt och temperaturgivare (DHT11) till Arduino och inklusive DHT11 bibliotek.

DTH11 omfattar både fukt och temperatur sensor.Maskinvarukomponenter krävs:-1) DTH11 Fukt och temperaturgivare2) Arduino UNO3) anslutande trådar4) DTH bibliotekDu kan få sensorn DTH11 datablad från den länken nedanhttp://www.micro4you.com/files/senso...

Hur du kalibrerar en billigt temperaturgivare

Hej allaJag har en massa elektronik projekt som involverar temperaturavläsningen. Väderstationer, rummet övervakning, eller bara för att kontrollera temperaturen i en del och utlösa en solfjäder, är några typiska tillämpningar som kräver temperaturgi...

Intellekten Edison med Grove LCD, temperaturgivare och infraröd sensor

Grove LCD.Temperature sensor 與 infraröd sensor分別是以I2C.ADC.GPIO作為傳輸介面使用上也相當的簡單mraa bibliotek中有完整的使用方式Grove的官方資料與範例也相當齊全所以實作上並不會太困難Steg 1: Grove LCD 此部分需要 import pupm_i2clcd建議以下寫法(使用Python)importera pyupm_i2clcd som lcdmyLcd = lcd. Jhd1313m1 (0, 0x3E,...

Lysdioder som temperaturgivare

Med hjälp av Arduino mikrokontroller jag har utarbetat en metod att använda spänningen produceras av en makt ledde för att mäta sin egen temperatur till inom +-10 ° C utan behov av en extern temperaturgivare e.g. termoelement, termistor eller digital...

PICAXE - DS18B20 temperaturgivare till LCD

detta är min första Picaxe design, program och bygga projektet. Projektet ansluter en DS18B20 sensor till en parallell LCD med hjälp av ett PICAXE 20 X 2. Den mäter rumstemperaturen och läser det till LCD-skärmen varje sekund eller så. Detta projekt...

Bärbar Solar Tracker Project - kretsdesign och Breadboarding

i teorin solenergi är awesome. Det är ren, gratis och riklig. Nackdelen är att för att konvertera direkt ljus till elektrisk energi kräver en solar givare som en solpanel. Det aktuella läget för denna teknik lämnar mer än lite att önska i hållbarhet,...

FYRKANTIGA frukt energi: PROJECT LOTUS INSTRUCTABLES

Detta är ett gammalt Arkiv med en instructables jag skapat. Att se hur våra företag gör nu att gå tillwww.squarefruitenergy.comMitt födelsedatum: 12/02/1989Hej Instructables mitt namn är Chico Weber och jag är grundare av torget frukt. Jag började to...

VÄXTHUSGASER, servrar RACK, akvarium och andra apparater temperatur handledare med SMS larmsystem genom att använda Arduino, itbrainpower.net 3G / GSM sköldar och 1WIRE temperaturgivare

Om projektetBygga själv din egen temperatur-övervakning system med högsta och lägsta temperatur trösklar, hålla vid liv massage och (oldies men goldies som) SMS personsökning och ARM/DISARM fjärrsystemet. Du kan övervaka en eller flera 1WIRE temperat...