En beneficio de f.lux, en
un grado u
otro, han
escrito varias veces tanto en el Habré como en los giktimes. Después de probar este programa hace un tiempo, tuve una pregunta: ¿qué pasa con el resto de la iluminación de la habitación? Demasiada noche, la pantalla naranja del monitor se apaga de la luz cálida general de las lámparas incandescentes.
Intentaremos corregir este molesto malentendido.
Descargo de responsabilidad
El autor del texto no comprende completamente cómo funciona la visión humana y si las operaciones que se describen a continuación le serán útiles o perjudiciales. Además, los aspectos de las
pruebas de indicadores de lámparas LED por su calidad permanecen al agua. Se decidió aceptarlos como "satisfactorios", gracias
Alexey Nadezhin y
Tiberius por los estudios relevantes.
Compramos lámparas
Un análisis rápido del mercado mostró que hay mucho para elegir. Comenzando con las lámparas chinas súper presupuestarias "sin nombre", terminando con Belkin y Philips, que ya son dinero bastante inmoderado. Como resultado, se decidió tomar la bombilla LED inteligente de Yeelight, producida bajo la marca Xiaomi, como base. Su ventaja es la capacidad de funcionar sin ningún equipo adicional de la categoría "hogar inteligente" y la capacidad de trabajar de forma autónoma, sin estar atado a los servidores de administración de la empresa (después de algunos trucos).
Al momento de escribir, el costo de una lámpara es de aproximadamente $ 20.
Parte de software
Escribiremos el código para el control de la lámpara en python, ya que ya hay un
módulo listo para
usar que le permite transferir comandos de control a estas lámparas. También hay un
documento que detalla la API. Por lo tanto, solo queda agregar un pequeño servidor web para recibir comandos de control de f.lux.
Sin embargo, primero debe inicializar Smart Bulb. Inicializamos las lámparas a través de la aplicación patentada
MiHome y conseguimos la apariencia del icono de la bombilla de color Yeelight en la interfaz de la aplicación. Los problemas de conexión pueden ocurrir debido a DNS y elegir el servidor predeterminado. Se resuelven escribiendo 8.8.8.8 en dns y eligiendo el servidor de China (continental).

También es necesario desbloquear la capacidad de acceder directamente a los dispositivos activando el Modo de desarrollador en ellos, a través de la segunda aplicación,
Yeelight . Después de todas estas operaciones, las lámparas aparecen en la red y ya se puede acceder a ellas.

Debido a la renuencia a decir contraseñas desde Wi-Fi a bombillas inteligentes, se trasladan a una subred separada, con un SSID separado y sin acceso a Internet.
Entonces, las lámparas se cuelgan en la red, en la aplicación se desconectaron y puede intentar transferirles comandos de control.
Integración con f.lux
f.lux puede enviar datos sobre cambios en la temperatura de color y brillo a una URL determinada. Los datos llegan como una solicitud posterior del formulario:
POST /room_1?ct=6500&bri=0.800000 HTTP / 1.1

Escribiremos un pequeño servidor web en una botella que procese estos parámetros:
from bottle import run, post, request from yeelight import Bulb @post('/room_1') def room_handler(): post_dict = request.query.decode() if 'ct' in post_dict and 'bri' in post_dict: ct = int(post_dict['ct']) bri = int(float(post_dict['bri']) * 100) bulb.set_color_temp(ct) bulb.set_brightness(bri) bulb = Bulb("%lamp_ip%") run(host='0.0.0.0', port=8080)
Resultado final
Después de haber trabajado durante una semana en este modo, es difícil para mí decir si hay algún cambio positivo y si mi ojo está cansado. La luz dinámicamente ajustable se ve interesante y la diferencia entre el monitor y la iluminación ambiental no es tan sorprendente. Por otro lado, el hecho mismo de un cambio constante en la luz ambiental es inusual.


