Tabla de contenido:
- Paso 1: Instrucciones de configuración del proyecto de servidor web PowerHub y tomacorrientes habilitados para Internet
- Paso 2: Habilite las opciones avanzadas de RaspberriPi
- Paso 3: Comience a instalar los paquetes necesarios
- Paso 4: CONSTRUYA LA API WEB
- Paso 5: Suministros necesarios
- Paso 6: Construyendo el Outlet
- Paso 7: instalar botones
- Paso 8: relé de cable
- Paso 9: Imágenes adicionales de cableado y ensamblaje
- Paso 10: diagrama de cableado
- Paso 11: Prueba de funcionamiento en seco
- Paso 12: configurar los scripts de inicio
Video: Tomacorriente habilitado para Internet: 13 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Instrucciones de configuración de tomacorrientes habilitados para Internet y proyectos del servidor web PowerHub
¡Hub central de persistencia de datos para iluminación y tomacorrientes habilitados para Internet en su hogar!
Paso 1: Instrucciones de configuración del proyecto de servidor web PowerHub y tomacorrientes habilitados para Internet
Hub central de persistencia de datos para iluminación y tomacorrientes habilitados para Internet en su hogar
Intermitente en el disco duro de RaspberriPi / Instalar el software requerido (con Ubuntu Linux) Descargar "RASPBIAN JESSIE LITE"
Cree su nuevo disco duro para DashboardPI
Inserte la microSD en su computadora a través del adaptador USB y cree la imagen del disco usando el comando dd
Localice su tarjeta microSD insertada a través del comando df -h, desmóntela y cree la imagen del disco con el comando disk copy dd
$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678
$ umount / dev / sdb1
Precaución: asegúrese de que el comando sea completamente preciso, puede dañar otros discos con este comando
if = ubicación del archivo de imagen RASPBIAN JESSIE LITE de = ubicación de su tarjeta microSD
$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (nota: en este caso, es / dev / sdb, / dev / sdb1 era una partición de fábrica existente en el microSD)
Configuración de su RaspberriPi
Inserte su nueva tarjeta microSD en el raspberrypi y enciéndalo con un monitor conectado al puerto HDMI
Acceso
usuario: pi pass: frambuesa
Cambie la contraseña de su cuenta por seguridad
sudo passwd pi
Paso 2: Habilite las opciones avanzadas de RaspberriPi
sudo raspi-config
Elija: 1 Expandir sistema de archivos
9 Opciones avanzadas
A2 Nombre de host cámbielo a "WIFI-OUTLET"
A4 SSH Habilitar servidor SSH
A7 I2C Habilitar interfaz i2c
Habilitar el teclado inglés / estadounidense
sudo nano / etc / default / keyboard
Cambie la siguiente línea: XKBLAYOUT = "us"
Reinicie PI para que los cambios en la distribución del teclado o el cambio de tamaño del sistema de archivos surtan efecto
$ sudo shutdown -r ahora
Conéctese automáticamente a su WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Agregue las siguientes líneas para que su raspberrypi se conecte automáticamente al WiFi de su hogar (si su red inalámbrica se llama "linksys", por ejemplo, en el siguiente ejemplo)
network = {ssid = "linksys" psk = "CONTRASEÑA INALÁMBRICA AQUÍ"} Reinicie PI para conectarse a la red WiFi
$ sudo shutdown -r ahora
Ahora que su PI finalmente está en la red local, puede iniciar sesión de forma remota a través de SSH. Pero primero debe obtener la dirección IP que tiene actualmente.
$ ifconfig Busque "inet addr: 192.168. XXX. XXX" en la siguiente salida del comando para la dirección IP de su PI
Vaya a otra máquina e inicie sesión en su raspberrypi a través de ssh
$ ssh [email protected]. XXX. XXX
Paso 3: Comience a instalar los paquetes necesarios
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install vim git solicitudes de python python-gpiozero python-smbus herramientas i2c imagen de python python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev python3-spidev python-spidev
Actualizar la configuración de la zona horaria local
$ sudo dpkg-reconfigure tzdata
seleccione su zona horaria usando la interfaz
Configure el comando l del directorio simple [opcional]
vi ~ /.bashrc
agregue la siguiente línea:
alias l = 'ls -lh'
fuente ~ /.bashrc
Corregir el resaltado de sintaxis predeterminado de VIM [opcional]
sudo vi / etc / vim / vimrc
descomente la siguiente línea:
sintaxis activada
Instale los controladores i2c Python
Paso 4: CONSTRUYA LA API WEB
Las siguientes instrucciones le permitirán construir el concentrador central que explica a los diversos enchufes e interruptores de pared habilitados para wifi que puede construir, qué dispositivos se encienden y apagan. Este es un pequeño script PHP para colocar en un servidor web de su elección. Tiene la siguiente API para obtener y configurar información. Nota: no olvide incluir el archivo.htaccess para que se lleve a cabo el enrutamiento correcto de la URL.
Instale la carpeta "index.php", "valores /" y settings.php (configurado con sus propios valores) en un servidor web habilitado para PHP de su elección. El valor de la clave secreta en el archivo "settings.php" debe coincidir con el valor de la clave secreta que establecería en el archivo "settings.py". En un nivel básico, esto evitará que cualquier otro tráfico web configure / escriba valores, encienda sus dispositivos, ahora necesita esta clave API con hash en el encabezado de la solicitud HTTP para hacerlo.
La API admite las siguientes características, para este proyecto usaremos solo los valores de "bandera" que son valores booleanos que le dicen al interruptor que se encienda y se apague. Quizás si quisiera aprovechar los valores de "lectura", podría tenerlos, de modo que si la temperatura de una habitación se calienta demasiado al guardar una temperatura allí, podría encender un ventilador de ventana, etc.
Obtenga el código
Clone el siguiente proyecto de GitHub para obtener el código para ejecutar el servidor web y la salida RaspberryPI.
github.com/khinds10/PowerHub
Puntos finales de API cuando se ejecuta en un servidor web
myhost / message (obtiene el conjunto de mensajes actual)
myhost / message / set (HTTP POST un valor de cadena sin formato a esta URL para establecer un nuevo mensaje)
myhost / flag / {id} (obtenga el estado booleano actual de la bandera por entero: {id})
myhost / flag / all (obtenga todo el estado booleano actual de todas las banderas como una matriz)
myhost / flag / {id} / set (establece el estado booleano actual en 'verdadero' para la bandera por entero: {id})
myhost / flag / {id} / unset (establezca el estado booleano actual en 'falso' para la bandera por entero: {id})
myhost / reading / {id} (obtenga el valor promedio actual para la lectura por entero: {id})
myhost / reading / all (obtenga el valor promedio actual para todas las lecturas como una matriz)
myhost / reading / {id} / set (HTTP POST un valor numérico sin procesar a esta URL para agregar un nuevo valor al promedio calculado actual) - vea a continuación cuántos valores en total se compilan al valor promedio Configuración Los valores de 'lecturas' se calculan como promedios de un cierto número de valores numéricos de lectura persistente reciente. Establezca la siguiente constante a cuántas de las lecturas más recientes deben incluirse para producir el promedio.
$ readingsAverageLimit = 5;
El servidor de almacén de datos conservará los valores en archivos simples ubicados según las convenciones de nomenclatura a continuación. Nota: {id} será reemplazado por el entero real presentado por la URL de la solicitud entrante.
$ valueFileFolder = 'values' (nombre de la carpeta que contiene los archivos de medición) $ messageFileName = 'message.msg' (nombre del archivo de texto del mensaje) $ readingsFilesNames = 'reading {id}.avg' (nombre del CSV promediado archivo de lecturas) $ flagFilesNames = 'flag {id}.flg' (nombre del archivo de marca de valor de bandera booleana)
Asegúrese de que todos los archivos de valores sean modificables por los valores systemchmod 777 / *
Paso 5: Suministros necesarios
Sierra de perforación de 1 pulgada (para un taladro)
Módulo de relé de 5 V y 2 canales
Placa de pared para receptáculo dúplex
Receptáculo dúplex
Pi Zero W
Caja posterior de montaje en superficie de doble banda
Botones pulsadores iluminados en blanco
Paso 6: Construyendo el Outlet
Pestañas de salida de ruptura
Rompa la lengüeta en el costado del tomacorriente para que cada toma se encienda / apague de forma independiente
Paso 7: instalar botones
En la placa frontal de la salida, con la sierra de perforación de 1 , corte 2 orificios para que los botones se coloquen junto a las salidas.
Prueba de dimensionamiento de componentes
Asegúrese de que todos los componentes quepan en la caja de montaje en superficie de salida
Paso 8: relé de cable
Conecte el relé a la toma de corriente, desde el cable de extensión que va a la pared, conecte la tierra (verde) y el neutro (blanco) directamente a la toma de corriente Para los calientes (negros) conéctelos al relé y luego desde el relé a cada toma de corriente conectores calientes individualmente
Paso 9: Imágenes adicionales de cableado y ensamblaje
Paso 10: diagrama de cableado
Utilice el diagrama para conectar correctamente los componentes para que funcionen con el código Python de RaspberryPI.
Paso 11: Prueba de funcionamiento en seco
Después del ensamblaje final, antes de atornillar la unidad de orificio, realice un funcionamiento en seco del dispositivo para asegurarse de que no haya cortocircuitos ni cableado defectuoso.
Paso 12: configurar los scripts de inicio
crontab -e
agregue las siguientes líneas
@reboot python /home/pi/PowerHub/device/outlet/buttons.py @reboot python /home/pi/PowerHub/device/outlet/relay.py
Recomendado:
TextPlayBulb: PlayBulb habilitado para REST usando Raspberry Pi 3, BLE y Telegram: 3 pasos
TextPlayBulb: PlayBulb habilitado para REST usando Raspberry Pi 3, BLE y Telegram: este instructivo muestra cómo conectarse a una lámpara LED Bluetooth PlayBulb Color usando Python, una Raspberry Pi 3 y biblioteca Bluetooth y extender los controles a través de una API REST para un escenario de IoT , y como un bouns, el proyecto también muestra cómo extender th
OpenLogger: un registrador de datos portátil de código abierto, de alta resolución, habilitado para Wi-Fi: 7 pasos
OpenLogger: un registrador de datos portátil, de código abierto, de alta resolución, habilitado para Wi-Fi: OpenLogger es un registrador de datos portátil, de código abierto, de bajo costo y alta resolución diseñado para proporcionar mediciones de alta calidad sin requerir software costoso o software de escritura desde cero. Si es ingeniero, científico o entusiasta que no
IoT APIS V2 - Sistema autónomo de riego de plantas automatizado habilitado para IoT: 17 pasos (con imágenes)
IoT APIS V2 - Sistema autónomo de riego de plantas automatizado habilitado para IoT: este proyecto es una evolución de mi instructable anterior: APIS - Sistema de riego de plantas automatizado He estado usando APIS durante casi un año y quería mejorar el diseño anterior: Capacidad para monitorear la planta de forma remota. Así es como
Sistema de seguridad para el hogar DSC habilitado para Internet: 22 pasos
Sistema de seguridad para el hogar DSC habilitado para Internet: modifique un sistema de seguridad para el hogar DSC existente para que esté habilitado para Internet y se autocontrole. Este instructivo asume que tienes una Raspberry Pi en funcionamiento. Ten en cuenta que esta implementación tiene las siguientes deficiencias: Si un ladrón corta el cable DSL entrante
Uso de su teléfono Sony Ericsson habilitado para Bluetooth para controlar su computadora: 6 pasos
Uso de su teléfono Sony Ericsson habilitado para Bluetooth para controlar su computadora: He estado leyendo sobre instructivos por un tiempo y siempre quise hacer algunas de las cosas sobre las que la gente ha escrito, pero me he encontrado mirando cosas que son difíciles de hacer porque son realmente difíciles de hacer, o el