2-COA634-Clase 13 y 16 Abril 2020
2-COA634-Clase 13 y 16 Abril 2020
COA634
μProcesadores vs. μCrontroladores
Microprocesador
por su arquitectura la implementación es mas cara, susceptible a ruido
Microcontrolador
Muy barato de implementar arquitectura básicamente tareas repetitivas
Amplia Variedad de sensores libres (diseñados bajo la filosofía open source) y con sus
librerías
2
Implementaciones
Arduino
¿Qué es Arduino?
Arduino es una plataforma electrónica de código abierto basada en hardware y software
fáciles de usar.
¿Por qué usar micros Open Source?
Baratos. También puedes comprar clones que son incluso más baratos.
Fácil de usar y comenzar a programar
Comunidad enorme
Completamente Open Source
3
ESP8266
El ESP8266 es muy barato (60MXP) con un modulo Wi-Fi, que permite controlarlo muy
fácilmente tal cual como se haría con un Arduino pero con Wi-Fi.
Por lo que es una excelente opción para domótica/IoT
4
Versiones e implementaciones
5
ESP32
Especificaciones
ESP32 is dual core
Wi-Fi y bluetooth
Corre programas de 32 bit.
La frecuencia del reloj va desde 240MHz y tiene 512 kB RAM.
Hay muchos periféricos disponibles: capacitivos, resistivos, touch, ADCs, DACs,
UART, SPI, I2C entre otros
6
IDE (entorno de desarrollo)
•
Instala java
•
Descargar de: www.arduino.cc
•
descargar bibliotecas con ejemplos
•
Sintaxis heredada de C (muy entendible)
7
Que mas necesitamos?
•
Cable serial o mejor aun un USB a RS232 (caso especial ESP8266 )
•
Programador AVR, (opcional)
•
una placa de desarrollo ARDUINO, ES8266 o ESP32
•
Jumpers (cables Dupont)
•
Protoboard
•
Fuente de poder (podemos usar un cargador de celular)
•
Conectar
8
Conectar el μControlador a MySQL
Que necesitamos?
9
Software adicional
PhpMyadmin
10
Librería Mysql_Connector_Arduino
Que es?
Una capa de abstracción
Instalación
11
Limitaciones
12
Hola MySQL
#include <Ethernet.h>
#include <MySQL_Connection.h>
EthernetClient client;
MySQL_Connection conn((Client *)&client);
void setup() {
Serial.begin(115200);
while (!Serial); // wait for serial port to connect
Ethernet.begin(mac_addr);
Serial.println("Connecting...");
if (conn.connect(server_addr, 3306, user, password)) {
delay(1000);
// You would add your code here to run a query once on startup.
}
else
Serial.println("Connection failed.");
conn.close();
}
void loop() {
}
13
Ejemplo de uso
Monitor
de temperatura
y Humedad
14
Continuará...
15