示例#1
0
    def test_ledrgb(self):
        """
        RGB LED Testing
        :return:
        """
        from enerpi.base import CONFIG
        from enerpi.ledrgb import get_rgbled, led_alarm, led_info, blink_color

        led = get_rgbled(verbose=True)
        if led is None:
            # PINOUT RGB_LED
            with_rgbled = CONFIG.getboolean('RGBLED', 'WITH_RGBLED', fallback=False)
            pin_r = CONFIG.getint('RGBLED', 'PIN_R', fallback=19)
            pin_g = CONFIG.getint('RGBLED', 'PIN_G', fallback=20)
            pin_b = CONFIG.getint('RGBLED', 'PIN_B', fallback=16)
            print('ERROR!! NO RGB LED. (WITH_LED={}; PINOUT_RGB=({},{},{})'.format(with_rgbled, pin_r, pin_g, pin_b))
            # assert 0
        else:
            print('TESTING RGB LED!')
            led_alarm(led, timeout=0)
            sleep(1)
            led_info(led, n=3)
            sleep(3)
            led_alarm(led, time_blinking=2.5, timeout=3)
            sleep(4)
            led_info(led, n=2)
            sleep(4)
            led_alarm(led, timeout=0)
            sleep(2)
            led_info(led, n=1)
            sleep(3)

            # Blinking:
            blink_color(led, (1, 0, 0), n=1)
            sleep(1)
            blink_color(led, (0, 1, 0), n=2)
            sleep(1)
            blink_color(led, (0, 0, 1), n=3)
            sleep(1)
            blink_color(led, (1, 1, 0), n=1)
            sleep(1)
            blink_color(led, (1, 0, 1), n=2)
            sleep(1)
            blink_color(led, (0, 1, 1), n=3)
            sleep(1)
            blink_color(led, (1, 1, 1), n=1)
            sleep(2)
            print('OK!!')
            led.close()
示例#2
0
文件: ledrgb.py 项目: azogue/enerpi
# -*- coding: utf-8 -*-
"""
ENERPI - RGB LED control methods

"""
from enerpi.base import CONFIG, log, CONFIG_FILENAME
import datetime as dt
# dateutil included in python-dateutil
# noinspection PyPackageRequirements
from dateutil.parser import parse


# PINOUT RGB_LED
WITH_RGBLED = CONFIG.getboolean('RGBLED', 'WITH_RGBLED', fallback=False)
PIN_R = CONFIG.getint('RGBLED', 'PIN_R', fallback=19)
PIN_G = CONFIG.getint('RGBLED', 'PIN_G', fallback=20)
PIN_B = CONFIG.getint('RGBLED', 'PIN_B', fallback=16)

# Horario de funcionamiento del RGB LED
LED_TIME_ON = CONFIG.get('RGBLED', 'TIME_ON', fallback=None)
LED_TIME_OFF = CONFIG.get('RGBLED', 'TIME_OFF', fallback=None)
if LED_TIME_ON is not None:
    LED_TIME_ON = parse(LED_TIME_ON)
if LED_TIME_OFF is not None:
    LED_TIME_OFF = parse(LED_TIME_OFF)


def _use_led():
    if LED_TIME_ON and LED_TIME_OFF:
        if LED_TIME_ON.time() < dt.datetime.now().time() < LED_TIME_OFF.time():
            return True
示例#3
0
# -*- coding: utf-8 -*-
"""
ENERPI - RGB LED control methods

"""
from enerpi.base import CONFIG, log, CONFIG_FILENAME
import datetime as dt
# dateutil included in python-dateutil
# noinspection PyPackageRequirements
from dateutil.parser import parse

# PINOUT RGB_LED
WITH_RGBLED = CONFIG.getboolean('RGBLED', 'WITH_RGBLED', fallback=False)
PIN_R = CONFIG.getint('RGBLED', 'PIN_R', fallback=19)
PIN_G = CONFIG.getint('RGBLED', 'PIN_G', fallback=20)
PIN_B = CONFIG.getint('RGBLED', 'PIN_B', fallback=16)

# Horario de funcionamiento del RGB LED
LED_TIME_ON = CONFIG.get('RGBLED', 'TIME_ON', fallback=None)
LED_TIME_OFF = CONFIG.get('RGBLED', 'TIME_OFF', fallback=None)
if LED_TIME_ON is not None:
    LED_TIME_ON = parse(LED_TIME_ON)
if LED_TIME_OFF is not None:
    LED_TIME_OFF = parse(LED_TIME_OFF)


def _use_led():
    if LED_TIME_ON and LED_TIME_OFF:
        if LED_TIME_ON.time() < dt.datetime.now().time() < LED_TIME_OFF.time():
            return True
        return False
示例#4
0
文件: __init__.py 项目: azogue/enerpi
STATIC_PATH = os.path.join(
    DATA_PATH, CONFIG.get('ENERPI_WEBSERVER', 'STATIC_PATH', fallback='WWW'))
LOGGING_LEVEL_SERVER = CONFIG.get(
    'ENERPI_WEBSERVER', 'LOGGING_LEVEL_WEB', fallback='DEBUG')
SERVER_FILE_LOGGING = os.path.join(
    STATIC_PATH, CONFIG.get(
        'ENERPI_WEBSERVER', 'FILE_LOGGING_WEB', fallback='enerpiweb.log'))
PREFIX_WEB = CONFIG.get('ENERPI_WEBSERVER', 'PREFIX_WEB', fallback='/enerpi')
BASECOLOR = '#{}'.format(
    CONFIG.get('ENERPI_WEBSERVER', 'BASECOLOR_HEX', fallback='0CBB43'))
check_resource_files(
    STATIC_PATH, os.path.join(basedir, 'static'), verbose=False)

# WITH_WEB = CONFIG.getboolean('ENERPI_WEBSERVER', 'WITH_WEBSERVER',
# fallback=True)
WITH_ML_SUBSYSTEM = CONFIG.getboolean('ENERPI_WEBSERVER', 'WITH_ML',
                                      fallback=False)

# Shows more info (timming data, debug data, ...)
EXTRA_INFO = CONFIG.getboolean('ENERPI_WEBSERVER', 'EXTRA_INFO',
                               fallback=False)

# FLASK APP
app = Flask(__name__, static_path=PREFIX_WEB + '/static',
            static_folder=STATIC_PATH)
app.url_rule_class = lambda path, **options: Rule(PREFIX_WEB + path, **options)
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
app.jinja_env.cache = {}
app.jinja_loader = jinja2.FileSystemLoader(os.path.join(basedir, 'templates'))

# Manual activation of test-mode
示例#5
0
SERVER_FILE_LOGGING = os.path.join(
    STATIC_PATH,
    CONFIG.get('ENERPI_WEBSERVER',
               'FILE_LOGGING_WEB',
               fallback='enerpiweb.log'))
PREFIX_WEB = CONFIG.get('ENERPI_WEBSERVER', 'PREFIX_WEB', fallback='/enerpi')
BASECOLOR = '#{}'.format(
    CONFIG.get('ENERPI_WEBSERVER', 'BASECOLOR_HEX', fallback='0CBB43'))
check_resource_files(STATIC_PATH,
                     os.path.join(basedir, 'static'),
                     verbose=False)

# WITH_WEB = CONFIG.getboolean('ENERPI_WEBSERVER', 'WITH_WEBSERVER',
# fallback=True)
WITH_ML_SUBSYSTEM = CONFIG.getboolean('ENERPI_WEBSERVER',
                                      'WITH_ML',
                                      fallback=False)

# Shows more info (timming data, debug data, ...)
EXTRA_INFO = CONFIG.getboolean('ENERPI_WEBSERVER',
                               'EXTRA_INFO',
                               fallback=False)

# FLASK APP
app = Flask(__name__,
            static_path=PREFIX_WEB + '/static',
            static_folder=STATIC_PATH)
app.url_rule_class = lambda path, **options: Rule(PREFIX_WEB + path, **options)
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
app.jinja_env.cache = {}