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
x = 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__)
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()
# Listen for incoming connections sock.listen(1) while True: # Wait for a connection #print('waiting for a connection') connection, client_address = sock.accept() try: #print('connection from', client_address) while True: cmd = connection.recv(8) if cmd == b'get_ori': t = sense.get_temperature() p = sense.get_pressure() h = sense.get_humidity() data = [{ "name": "acceleration", "data": sense.get_accelerometer(), "unit": "deg" }, { "name": "magnetic", "data": sense.get_compass_raw() }, { "name": "gyroscope", "data": sense.get_gyroscope(), "unit": "deg" }] dataJSON = json.dumps(data) msg = dataJSON.encode('utf-8')
from sense_emu import SenseHat # sense_hat for real hardware, sense_emu for emulator sense = SenseHat() # clear screen sense.clear() # set a variable to collect pressure reading pressure_reading = sense.get_pressure() # show a message with the reading value but change numerical value # to a string of text print(pressure_reading) sense.show_message(str(pressure_reading))
from sense_emu import SenseHat sense = SenseHat() print(sense.temp) print(sense.humidity) print(sense.get_pressure())
#!/usr/bin/env python from sense_emu import SenseHat sense = SenseHat() green = (0, 255, 0) red = (255, 0, 0) while True: temperature = round(sense.get_temperature(), 1) humidity = round(sense.get_humidity(), 1) pressure = round(sense.get_pressure(), 1) status = "{}C {}% {}mbar".format(temperature, humidity, pressure) status_colour = green if temperature < 18.3 or temperature > 26.7: status_colour = red if pressure < 979 or pressure > 1027: status_colour = red if humidity < 55 or humidity > 65: status_colour = red print(status) sense.show_message(status, text_colour=(255,255,255), back_colour=status_colour, scroll_speed=0.05)
# 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
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()