Informe 3-4
Informe 3-4
Laboratorio III y IV
Sistemas embebidos y sensores (07 de julio de 2020)
Kelly Johana. Castro Avelino, Michael Stiven López Amaya, Ronald Palacios Palacios (Internet de las cosas - Unipanamericana
Fundación Universitaria Panamericana)
I. INTRODUCCION
Imagen 3 Se realiza implementación del primer codigo para el Imagen 6 Se valida los datos que arroja la simulación en
control de la primera ciudad thingspeakde de los otros 4 canales
Montaje 2
Código de implementación:
import ssl
import sys
import time
import urllib.request
import random
import requests
Imagen 4 Compilación del código para revisar su
funcionamiento location="Bogotá"
api_key="60a56cabb26eba0e4b4a40e653f58262" /*key
generado por OpenWeather*/
3
#lat=4.6209279 print(f.read())
#lon=-74.0742169 print(main_url)
#sensor=Adafruit_DHT.DHT11
#pin=2
baseUrl="https://api.thingspeak.com/update?
api_key=TZ9LI1Z9QAFSK237" /*Key generado
ThingSpeak*/
while True:
info=r.json()
print(info)
thermal_sens=info['main']['feels_like']
temp=info['main']['temp']
hum=info['main']['humidity']
velocidad_viento=info['wind']['speed']
temp_min=info['main']['temp_min']
clouds=info['clouds']['all']
timezone=info['timezone']
deg=info['wind']['deg']
main_url=baseUrl+"&field1=%s&field2=%s&field3=
%s&field4=%s&field5=%s&field6=%s&field7=%s&field8=
%s"%(temp, hum, thermal_sens, velocidad_viento, temp_min,
clouds, timezone, deg)#enviar datos
f=urllib.request.urlopen(main_url)#enviar datos
4
5
#sensor=Adafruit_DHT.DHT11
#Cambiar API_KEY por la clave generada en la plataforma
#pin=2
baseUrl="https://api.thingspeak.com/update?
api_key=UWNHNZBG79QACF52"
while True:
#hum ,temp =Adafruit_DHT.read_retry(sensor,pin)
#hum,temp=round(10*random.random()),round(20*random.ran
dom())
r = requests.get(url) #traer datos
info=r.json()
print(info)
temp=info['main']['temp']
hum=info['main']['humidity']
thermal_sens=info['main']['feels_like']
velocidad_viento=info['wind']['speed']
temp_min=info['main']['temp_min']
Montaje 3 clouds=info['clouds']['all']
timezone=info['timezone']
Simulación estado de clima y condiciones atmosféricas ciudad deg=info['wind']['deg']
Pereira
main_url=baseUrl+"&field1=%s&field2=%s&field3=
Montaje de máquina virtual sobre VMware %s&field4=%s&field5=%s&field6=%s&field7=%s&field8=
%s"%
(temp,hum,thermal_sens,velocidad_viento,temp_min,clouds,tim
ezone,deg)
f=urllib.request.urlopen(main_url)#enviar datos
print(f.read())
print(main_url)
f.close()
time.sleep(25)
#import Adafruit_DHT
import math
import ssl
import sys
import time
import urllib.request
import random
import requests
location="Pereira"
api_key="93662a4c0ca66cc303e49619edb072b6"
#lat=4.6209279
#lon=-74.0742169
url = "https://api.openweathermap.org/data/2.5/weather?
q={}&units=metric&appid={}".format(location, api_key)
#url="https://api.openweathermap.org/data/2.5/weather?
lat={}&lon={}&units=metric&appid={}".format(lat,lon,api_k
ey)
6
Ejecución de Código
IV. ACTIVIDAD 2
import smtplib
import time
import math
import ssl
import sys
import time
import urllib.request
import random
import requests
location="Bogotá"
api_key="494454abf9856d466122946a472c7205"
#lat=4.6209279
8
server.starttls()
#lon=-74.0742169
server.login('[email protected]','12345678IOT')
url = "https://api.openweathermap.org/data/2.5/weather?
q={}&units=metric&appid={}".format(location, api_key) msg['Subject']="Notificaciones data center"
#url="https://api.openweathermap.org/data/2.5/weather?
lat={}&lon={}&units=metric&appid={}".format(lat,lon,api_k server.sendmail("[email protected]","internetiot1@g
ey) mail.com",msg.as_string())
#pin=2 time.sleep(60)
baseUrl="https://api.thingspeak.com/update?
api_key=99PGZGZSIXAXM3I2" Con este código buscamos controlar la temperatura que se
presenta dentro de un centro de datos (data center), lo primero
while True: que hacemos es importar las librerías necesarias para poder
recopilar la información que necesitamos, enseguida ponemos
r = requests.get(url) #traer datos una condición la cual nos enviara una notificación a un correo
electrónico configurado alertándonos sobre la temperatura en la
info=r.json() que se encuentra el Datacenter, de esta firma podemos estar
atentos a cualquier incidencia que se nos presente en este.
print(info)
thermal_sens=info['main']['feels_like']
main_url=baseUrl+"&field1=%s"%(thermal_sens)#enviar
datos
f=urllib.request.urlopen(main_url)#enviar datos
if thermal_sens<17:
if thermal_sens>21: V. CONCLUSIONES
print("La temperatura esta por encima de la recomendada, Podemos concluir de este taller que las tecnologías e
enviando alerta....") implementaciones basadas en IoT son de gran relevancia
actualmente debido a la cantidad de soluciones que podemos
msg=MIMEText("Temperatura data center muy alta, por sacar de ella, tanto para poder monitorear recursos, como para
favor revise ") tener el control de todas las terminales que integremos a la
solución en sí, como ejemplo estas dos implementaciones son de
else: gran importancia debido a que surge la necesidad de tener el
control centralizado para verificar las condiciones de un lugar o
print("La temperatura es la adecuada, enviando email de de un territorio para saber cuándo se presenta una novedad y
alerta...") poder actuar eficazmente.
server=smtplib.SMTP('smtp.gmail.com',587)
VI. REFERENCIAS
[1] https://raspberrypi.cl/que-es-raspberry/
[2] https://desarrolloweb.com/articulos/1325.php
[3] https://blog.mailrelay.com/es/2017/04/25/que-es-el-
smtp
[4] https://aprendiendoarduino.wordpress.com/2018/11/2
3/thingspeak/