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)
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()
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.")
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
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({
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()
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):
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 ]
def render_GET(self, request): # Instantiate SenseHat sensor sense = SenseHat() self.payload = str(sense.get_temperature()) return self
# 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
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)
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)
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: