コード例 #1
0
def actuator_observer():
    sense = SenseHat()
    global temp_t
    global humi_t
    while True:
        time.sleep(1)
        print("TT = " + str(temp_t) + "\tTemp = " +
              str(sense.get_temperature()) + "\tHU= " + str(humi_t) +
              "\tHumidity = " + str(sense.get_humidity()))
        if sense.get_temperature() > float(
                temp_t) or sense.get_humidity() > float(humi_t):
            sense.clear(red)
        else:
            sense.clear(black)
コード例 #2
0
def main() -> None:
    global desired_temperature, room_temperature, screen, sense, semaphore

    sensor_thread: Thread
    events_thread: Thread

    try:
        print(
            f'{colors.GREEN}Initializing the thermostat using sense hat{colors.END}'
        )
        sense = SenseHat()
        sense.clear()

        desired_temperature = room_temperature = sense.get_temperature()

        print(f'{colors.GREEN}Connecting to screen via socket{colors.END}')
        screen = connect(host, port)

        print(f'{colors.GREEN}Initializing application threads{colors.END}')
        semaphore = Semaphore()

        sensor_thread = Thread(target=display)
        events_thread = Thread(target=process)
    except:
        print(f'{colors.RED}Failed to initialize the thermostat{colors.END}')
        print('Error: {}'.format(sys.exc_info()))
        sys.exit(1)

    print(f'{colors.GREEN}Initialization complete!{colors.END}')

    sensor_thread.start()
    events_thread.start()
コード例 #3
0
def main():
    path = "data.csv"

    sense = SenseHat()
    sense.clear()

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(("", 50007))
    s.listen(1)
    soc, addr = s.accept()
    print("Connected by " + str(addr))

    while True:
        data = (soc.recv(1024)).decode()
        print("Client > ", data)
        if data == "q":
            soc.close()
            break
        elif data == "y":
            t = str(sense.get_temperature())
            h = str(sense.get_humidity())
            p = str(sense.get_pressure())
            data = t + "," + h + "," + p
            with open(path, mode="a") as f:
                f.write(
                    (datetime.datetime.now()).strftime("%Y-%m-%d %H:%M:%S") +
                    "," + data + "\n")
        else:
            data = input("Server > ")
        print("data = " + data)
        soc.send(data.encode())
    print("Finished.")
コード例 #4
0
def main():
    ip = sys.argv[1]
    port = int(sys.argv[2])
    multicast = False

    # CREATE CoAP server
    server = CoAPServer(ip, port, multicast)
    print server

    # Create thread to get client threshold
    thread = Thread(target=listener, args=(server, ))
    thread.setDaemon(True)
    thread.start()

    # Initialize emulator
    sense = SenseHat()

    # Red color
    red = (255, 0, 0)

    while True:
        time.sleep(1)

        # Get values from emulator
        t = sense.get_temperature()
        p = sense.get_pressure()

        if t > server.t_lim or p > server.p_lim:  # if temperature and pressure values are above threshold
            sense.clear(red)  # turn on all red lights
        else:
            sense.clear()  # turn off all leds
コード例 #5
0
y = 0
mid = 0


# data point
class DataPoint:
    def __init__(self, data):
        self.data = data


try:
    while True:

        humidity = sense.get_humidity()
        pressure = sense.get_pressure()
        temperature = sense.get_temperature()
        o = sense.get_orientation()
        pitch = o["pitch"]
        roll = o["roll"]
        yaw = o["yaw"]

        # get json string from joystick
        for event in sense.stick.get_events():
            if event.action in ('pressed', 'held'):
                x += {'left': -1, 'right': 1}.get(event.direction, 0)
                y += {'up': +1, 'down': -1}.get(event.direction, 0)
                mid += {'middle': +1}.get(event.direction, 0)

        # get json string
        #jsonStr = json.dumps(dp.__dict__)
        jsonStr = json.dumps({
コード例 #6
0
    ip_servidor = sys.argv[1]  # Recebendo ip que o servidor ira operar
    porta_servidor = int(
        sys.argv[2])  # Recebendo a porta do servidor irá operar
    servidor = CoAPServer(
        ip_servidor, porta_servidor
    )  # iniciando o servidor no ip e porta informados como parâmetro
    rgb_vermelho = (255, 0, 0)  # Setando o rgb da cor vermelha

    # Iniciando threads para possibilitar que os clientes sejam ouvidos
    # e o senseHat seja usado simultaneamente
    thread = Thread(target=ouvir_clientes, args=(servidor, ))
    thread.setDaemon(True)
    thread.start()

    while True:
        # Capturando informações de pressão e temperatura informados no sensor
        pressao_atual = sensor.get_pressure()
        temperatura_atual = sensor.get_temperature()

        print("Limite de temperatura " + str(servidor.limtemperatura))
        print("Limite de pressao " + str(servidor.limpressao))

        # Teste para acender ou apagar os leds
        if temperatura_atual > servidor.limtemperatura and pressao_atual > servidor.limpressao:
            # Acende o led na cor vermelha
            pixels = [rgb_vermelho for i in range(64)
                      ]  # Configurando a cor vermelha para cada um dos 64 leds
            sensor.set_pixels(pixels)
        else:
            # Apagando os leds
            sensor.clear()
コード例 #7
0
    printMode()

    # Tryb do przełączania trybów
    if(mode == switchMode):
        img = Image(black)
        hat.set_pixels(img.getData())
        hat.show_letter(modeLetters[newMode],back_colour=red)
        applyRotate(rot=rotate)
    # Temperatura - wyświetla 2 cyfry na czerwono lub niebiesko
    # zależnie od tego czy temperatura jest ujemna lub dodatnia.
    # Jeśli wartość absolutna temperatury jest przynajmniej równa 100
    # to zamiast jednej liczby jest wyświetlany znak większości
    elif(mode == temperatureMode):
        digit_a_color = black
        digit_b_color = black
        t = int(hat.get_temperature())
        if t < 0:
            digit_a_color = blue
            digit_b_color = blue_dark
        else:
            digit_a_color = red
            digit_b_color = red_dark
        abst = abs(t)
        digit_b = int(abst % 10)
        digit_a = int((abst - digit_b)/10)
        img = Image(white)
        img.drawDigit(digit_a,digit_a_color)
        img.drawDigit(digit_b,digit_b_color,True)
        hat.set_pixels(img.getData())
        applyRotate(rot=rotate)
    elif(mode == humidityMode):
コード例 #8
0
    for color in heart_colors:

        sense.set_pixels(color)
        time.sleep(0.5)

        # Clear the LED display
        sense.clear()


sense.clear()
sense.show_message("Bonjour de Alice et Charles!",
                   text_colour=y,
                   back_colour=r,
                   scroll_speed=0.05)

temperature = round(sense.get_temperature(), 1)
message = "Temperature is " + str(temperature) + " C and "
sense.show_message(message, text_colour=o, back_colour=b, scroll_speed=0.05)

humidity = round(sense.get_humidity(), 1)
message = "humidity is " + str(humidity) + "%"
sense.show_message(message, text_colour=y, back_colour=b, scroll_speed=0.05)

time.sleep(1)

smiley = [
    e, e, e, e, e, e, e, e, e, b, b, e, b, b, e, e, e, b, b, e, b, b, e, e, e,
    e, e, p, e, e, e, e, e, p, e, p, e, p, e, e, e, p, e, e, e, p, e, e, e, e,
    p, p, p, e, e, e, e, e, e, e, e, e, e, e
]
コード例 #9
0
 def render_GET(self, request):
     # Instantiate SenseHat sensor
     sense = SenseHat()
     self.payload = str(sense.get_temperature())
     return self
コード例 #10
0
# import the Sense Hat emulator module
from sense_emu import SenseHat
import time


# create a SenseHat object
sense = SenseHat()

# print out the temperature, humidity, atmospheric pressure,
# and raw accelerometer from the SenseHat emulated sensors
print('The temperature is ',sense.get_temperature(),'degrees Celsius')
print('The humidity is ',sense.get_humidity(),'%')
print('The atmospheric pressure is ',sense.get_pressure(),'millibars')
print('The raw accelerometer data is ',sense.get_accelerometer_raw())


sense.show_message('Marques',scroll_speed=0.1, text_colour=[255,69,0])


w = (200, 200, 200) # the color white
p = (102, 0, 153)   # the color purple

letter = [
    w, w, w, w, w, w, w, w,
    w, p, p, p, p, p, w, w,
    w, p, w, w, w, w, p, w,
    w, p, w, w, w, w, p, w,
    w, p, p, p, p, p, w, w,
    w, p, w, w, p, w, w, w,
    w, p, w, w, w, p, w, w,
    w, p, w, w, w, w, p, w
コード例 #11
0
from sense_emu import SenseHat
import time
from time import asctime

sense = SenseHat()

while True:
    temp = round(sense.get_temperature())
    humidity = round(sense.get_humidity())
    pressure = round(sense.get_pressure())
    message = 'T=%dC, H=%d, P=%d' %(temp,humidity,pressure)
    sense.show_message(message,scroll_speed=(.1),text_colour=[200,240,200])
    time.sleep(2)
    log = open('SensingResult.txt',"a")
    now = str(asctime())
    log.write(now+' '+message+'\n')
    print(message)
    log.close()
    time.sleep(1)

コード例 #12
0
ファイル: iss-ready.py プロジェクト: janusson/missionzero
hot = [
        b, b, b, b, b, y, y, b,
        b, b, b, b, y, y, y, y,
        b, b, b, b, b, y, y, b,
        b, b, b, b, b, b, b, b,
        b, b, b, b, b, b, b, b,
        b, b, b, b, b, b, b, b,
        g, g, g, g, g, g, g, g,
        g, g, g, g, g, g, g, g
      ]
cold = [
        b, b, w, b, b, b, w, b,
        b, b, b, b, b, w, b, b,
        b, w, b, b, b, b, b, w,
        b, b, b, b, w, b, b, b,
        w, b, b, w, b, b, w, b,
        b, b, b, b, b, b, b, b,
        w, w, w, w, w, w, w, w,
        w, w, w, w, w, w, w, w
      ]
sense.set_pixels(picture)
sleep(2)
temp = sense.get_temperature()
temp = round( sense.get_temperature(), 1 )
sense.show_message( "Temp is " + str(temp) + "C", text_colour=g, back_colour=w)
temp = sense.get_temperature()
if temp >= 20:
    sense.set_pixels(hot)
else:
    sense.set_pixels(cold)
コード例 #13
0
temperature = 0
humidity = 0
pressure = 0


# data point
class DataPoint:
    def __init__(self, data):
        self.data = data


try:

    humidity = s.get_humidity()
    pressure = s.get_pressure()
    temperature = s.get_temperature()

    jsonStr = json.dumps({
        "temperature": float(temperature),
        "pressure": float(pressure),
        "humidity": float(humidity)
    })
    try:
        datafile = open("chartdata.json", "w")
        datafile.write(jsonStr)
    except:
        print("Write Error")
    finally:
        datafile.close()

except KeyboardInterrupt: