コード例 #1
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.")
コード例 #2
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
コード例 #3
0
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__)
コード例 #4
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()
コード例 #5
0
# 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')
コード例 #6
0
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))

コード例 #7
0
ファイル: test.py プロジェクト: athamour1/Python_IOT
from sense_emu import SenseHat
sense = SenseHat()

print(sense.temp)
print(sense.humidity)
print(sense.get_pressure())
コード例 #8
0
#!/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)
コード例 #9
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
コード例 #10
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()