Beispiel #1
0
"""
A script to create a check pattern
on the LED matrix of the SenseHAT
"""
from sense_hat import SenseHat
import random
from time import sleep

# Import your SenseHAT as an object, we can call it "myHAT"
myHAT = SenseHat()
myHAT.clear()
color1 = (255, 255, 125)
color2 = (0, 0, 125)

# This is an iteration in the range 0 <= x < 8
for row in range(0, 8):
    print('Row:{}'.format(row))
    # This is a nested iteration in the range 0 <= x < 8
    for col in range(0, 8):
        print(' - Col: {}'.format(col))
        # The % operator returns the rest of the integer division
        if (col % 2 and not row % 2) or (row % 2 and not col % 2):
            color = color1
        else:
            color = color2

        # Here we light up a pixel using "row" and "col" as coordinates,

        myHAT.set_pixel(row, col, color)
        sleep(0.1)
    async def handle(self, context: RequestContext, responder: BaseResponder):
        """
        Message handler logic for basic messages.

        Args:
            context: request context
            responder: responder callback
        """
        self._logger.debug(
            f"DisplayMessageHandler called with context {context}")
        assert isinstance(context.message, DisplayMessage)

        self._logger.info("Received message: %s", context.message.content)

        content = context.message.content
        scroll_speed = context.message.scroll_speed
        back_colour = context.message.back_colour
        text_colour = context.message.text_colour
        meta = {
            "content": content,
            "scroll_speed": scroll_speed,
            "text_colour": text_colour,
            "back_colour": back_colour
        }

        # For Workshop: mark invitations as copyable
        if context.message.content and context.message.content.startswith(
                "http"):
            meta["copy_invite"] = True

        conn_mgr = ConnectionManager(context)
        await conn_mgr.log_activity(
            context.connection_record,
            "display_message",
            context.connection_record.DIRECTION_RECEIVED,
            meta,
        )

        await responder.send_webhook(
            "display_message",
            {
                "message_id": context.message._id,
                "content": content,
                "state": "received"
            },
        )

        sense = SenseHat()
        sense.clear()
        sense.show_message(content,
                           text_colour=text_colour,
                           back_colour=back_colour,
                           scroll_speed=scroll_speed)

        reply_msg = BasicMessage(content="DisplayMessage message received")

        await responder.send_reply(reply_msg)
        await conn_mgr.log_activity(
            context.connection_record,
            "message",
            context.connection_record.DIRECTION_SENT,
            {"content": "reply"},
        )
Beispiel #3
0
 def __init__(self, channel):
     global sense
     self.channel = channel
     sense = SenseHat()
     self.show_green_sign()
     pass
import sys  #sys module
from sense_hat import SenseHat  #Sense Hat
sense = SenseHat()  #Initialization


#Main method
def main():
    if len(sys.argv) > 1:
        msg = sys.argv[1]
        sense.show_message(msg,
                           text_colour=[255, 255, 255
                                        ])  #To sent a message to the Sense HAT


if __name__ == "__main__":
    main()
Beispiel #5
0
debug = True
accel_thresh = 0.4
shake_timer = 3  # seconds to show die before cleaing display

print("Settings dice.py ver 1.1")
print("------------------------")
print("debug = %s" % debug)
print("accel_thresh = %0.3f (delta)" % accel_thresh)
print("shake_timer = %i sec (show die)" % shake_timer)
print("------------------------")
print("Loading .....")

from sense_hat import SenseHat
import time
import random
sense = SenseHat()  # initialize

# Setup dice display variables

b = [0, 0, 0]
g = [0, 255, 0]
r = [255, 0, 0]

one = [
    b,
    b,
    b,
    b,
    b,
    b,
    b,
Beispiel #6
0
ENVIRONMENTAL_SENSORS_INTERVAL = float(
    os.getenv('ENVIRONMENTAL_SENSORS_INTERVAL', 0))

INERTIAL_SENSORS_INTERVAL = float(os.getenv('INERTIAL_SENSORS_INTERVAL', 0))

LED_MATRIX_DEFAULT_TEXT_SCROLL_SPEED = float(
    os.getenv('LED_MATRIX_DEFAULT_TEXT_SCROLL_SPEED', 0.1))

# Drivers #####################################################################

# Driver libs can only be installed on RPi
if RUNNING_ON_PI:
    from sense_hat import SenseHat  # noqa

    SENSE_HAT_DRIVER = SenseHat()
else:
    SENSE_HAT_DRIVER = None

# Services  ###################################################################
ENVIRONMENTAL_SERVICE_ENABLED = os.getenv('ENVIRONMENTAL_SERVICE_ENABLED',
                                          'false')
if ENVIRONMENTAL_SERVICE_ENABLED == 'true':
    ENVIRONMENTAL_SERVICE_ENABLED = True
else:
    ENVIRONMENTAL_SERVICE_ENABLED = False

INERTIAL_SERVICE_ENABLED = os.getenv('INERTIAL_SERVICE_ENABLED', 'true')
if INERTIAL_SERVICE_ENABLED == 'true':
    INERTIAL_SERVICE_ENABLED = True
else:
Beispiel #7
0
from subprocess import check_output
from urllib.parse import unquote
from re import findall
from flask import Flask, request, render_template, jsonify
from sense_hat import SenseHat
from common.return_pattern_list import PatternList, GeneratePatternFromList
from common.translate_data import ProcessMultiDict
from common.rotater import Rotate
from common import global_vals
from common.flask_input_manipulator import ImgTempDict as ITD


# basic flask application
app = Flask(__name__, static_url_path="", template_folder='web_pages')  # flask object
sense = SenseHat()  # sense hat object


@app.route("/get-command/", methods=['GET'])
def send_command() -> str:
    """
    set: patterns
    a: preloaded json file (in repo, or just patterns dir)
    jumble.json

    b: directly from input - nested lists [R, G, B] - 64 elements
    [[255, 255, 255]] * 64

    get: pattern values
    RGB values as nested lists:
    [[255, 255, 255]] * 64
    :return: str
Beispiel #8
0
'''
Created on Feb 6, 2020
@author: Naveen Rajendran
'''
from labs.common.SensorData import SensorData
from sense_hat import SenseHat
import threading
import time
from labs.module06.MqttClientConnector import MqttClientConnector
data_object = SensorData()  # class object
sense_hat = SenseHat()  # class object
mqtt = MqttClientConnector()
'''
* This class polls temperature sensor data from sense hat via its API  
'''


class TempSensorAdaptorTask(threading.Thread):
    '''      
    * Constructor function which sets daemon of TempSensorAdaptorTask thread to true 
    '''
    data_object.set_sensor_name("Temperature Sensor")

    def __init__(self, max_sample):
        threading.Thread.__init__(self)  # Invoking Thread Function
        TempSensorAdaptorTask.setDaemon(self, True)
        self.max_sample = max_sample

    '''      
    * This function uses sensehat function to extract temperature data and returns
    '''
Beispiel #9
0
from sense_hat import SenseHat
from time import sleep

s = SenseHat()    #variabile
s.low_light = True

#variabili per definire i vari colori
y = (255, 255, 0)     #giallo
yt= (140, 22, 2)      #arancione
b = (0, 0, 255)       #blu
o = (0, 0, 0)         #nero/niente    #tutti questi colori sono variaili
#va da 0 a 255, ovvero 256 colori, ovvero 2 (0 e 1) alla potenze di 8

#riempimento matrice per Sole
sun = [       #definizione di ua funzione
  y, o, o, o, o, o, o, y,
  o, y, o, o, o, o, y, o,
  o, o, y, y, y, y, o, o,
  y, y, y, y, y, y, y, y, 
  o, o, y, y, y, y, o, o,
  o, o, y, y, y, y, o, o,
  o, y, o, o, o, o, y, o,
  y, o, o, o, o, o, o, y
  ]   #quando c'è aperta quadra e chiusa quadra, quello che c'è in mezzo è un elenco
  
sun1 = [
  yt, o, o, o, o, o, o, yt,
  o, yt, o, o, o, o, yt, o,
  o, o, yt, yt, yt, yt, o, o,
  yt, yt, yt, yt, yt, yt, yt,yt, 
  o, o, yt, yt, yt, yt, o, o,
Beispiel #10
0
 def __init__(self, rotation):
     self.sensehat = SenseHat()
     self.sensehat.set_rotation(rotation)
     self.sensehat.set_pixels(rainbow)
     sleep(1)
     self.sensehat.clear()
Beispiel #11
0
#!/usr/bin/python
import sys
import time
from sense_hat import SenseHat
import os
import alsaaudio
import wave
import numpy
import copy
from evdev import InputDevice, list_devices, ecodes

import alexa_helper  # Import the web functions of Alexa, held in a separate program in this directory

print "Welcome to Alexa. I will help you in anyway I can.\n  Press Ctrl-C to quit"

sense = SenseHat()  # Initialise the SenseHAT
sense.clear()  # Blank the LED matrix

# Search for the SenseHAT joystick
found = False
devices = [InputDevice(fn) for fn in list_devices()]
for dev in devices:
    if dev.name == 'Raspberry Pi Sense HAT Joystick':
        found = True
        break

# Exit if SenseHAT not found
if not (found):
    print('Raspberry Pi Sense HAT Joystick not found. Aborting ...')
    sys.exit()
Beispiel #12
0
def intro_video():
    s = SenseHat()
    s.low_light = True

    # bandiera ITA / ITA flag
    sleep(0.2)
    bandiera = [
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
        v,
        v,
        v,
        w,
        w,
        r,
        r,
        r,
    ]
    s.set_pixels(bandiera)

    # messaggio di presentazione / presentation message
    sleep(1)
    s.show_message("Trentini DOP Team (ITALIA)", scroll_speed=0.04)
    s.set_pixels(bandiera)
    sleep(1)
Beispiel #13
0
def mostra_salvataggio():
    s = SenseHat()
    s.low_light = True

    # freccia mobile / moving arrow
    s.show_message("-->", text_colour=v, scroll_speed=0.04)

    # disegno cartella / folder image
    cartella = [
        n,
        g,
        g,
        n,
        n,
        n,
        n,
        n,
        g,
        n,
        n,
        g,
        n,
        n,
        n,
        n,
        g,
        n,
        n,
        g,
        g,
        g,
        g,
        n,
        g,
        n,
        n,
        n,
        n,
        n,
        n,
        g,
        g,
        n,
        n,
        n,
        n,
        n,
        n,
        g,
        g,
        n,
        n,
        n,
        n,
        n,
        n,
        g,
        g,
        n,
        n,
        n,
        n,
        n,
        n,
        g,
        n,
        g,
        g,
        g,
        g,
        g,
        g,
        n,
    ]
    s.set_pixels(cartella)

    sleep(1)
Beispiel #14
0
# Εισάγουμε το framework flask
from flask import Flask,render_template,request,session,g,url_for,redirect,flash
import time

# Εισάγουμε τη βιβλιοθήκη sense_emu (ή sense_hat)
from sense_hat import SenseHat
import random
import numpy as np

s=SenseHat()
s1=SenseHat()
s.set_rotation(180)
s.lowlight=False
# Ορισμός επιπλέον χρωμάτων:
blue=[0,0,200] # μονού παίκτη (μπλε)
red=[200,0,0]  # ζυγού παίκτη (κόκκινο)
bluehit=[0,200,200] # μονού παίκτη που «χτύπησε» πλοίο (κυανό)
redhit=[200,100,0]  # ζυγού παίκτη που «χτύπησε» πλοίο (κίτρινο)
ships = [0,4,0]
black = [0,0,0]

# Δημιουργούμε μια λίστα που περιέχει μικρότερες
# λίστες με τα στοιχεία του κάθε χρήστη.
# Αρχικοποιούμε τη λίστα users:
users= []
# Με την append() προσθέτουμε κάθε χρήστη ως
# μια μικρότερη λίστα αποτελούμενη από τρία πεδία.
# Το πρώτο πεδίο αφορά ένα μοναδικό αριθμό (user id).
# Το δεύτερο πεδίο αφορά το όνομα του χρήστη (username).
# Τέλος, το τρίτο αφορά τον κωδικό του χρήστη (password)
users.append([1, 'faid','faid1',blue,bluehit])
 def __init__(self):
     self.sense_hat = SenseHat()
     self.sense_hat.set_rotation(0)
def gyro():
    sense = SenseHat()
    globals.pitch, globals.roll, globals.yaw = sense.get_accelerometer(
    ).values()
    globals.x, globals.y, globals.z = sense.get_accelerometer_raw().values()
Beispiel #17
0
Example:

.. code-block:: yaml

    sensehat:
        rotation: 90

'''

from __future__ import absolute_import
import logging

try:
    from sense_hat import SenseHat
    _sensehat = SenseHat()
    has_sense_hat = True
except (ImportError, NameError):
    _sensehat = None
    has_sense_hat = False

log = logging.getLogger(__name__)


def __virtual__():
    '''
    Only load the module if SenseHat is available
    '''
    if has_sense_hat:
        rotation = __salt__['pillar.get']('sensehat:rotation', 0)
        if rotation in [0, 90, 180, 270]:
Beispiel #18
0
from sense_hat import SenseHat
import time
from time import asctime    # To bring in the current time function.

sense = SenseHat()          # Assigning var sense with the SenseHat function.

#red = (255, 0, 0)

while True:
    acceleration = sense.get_accelerometer_raw()
    x = acceleration["x"]
    y = acceleration["y"]
    z = acceleration["z"]

    x = abs(x)  # Absolute takes only one argument, irregardless if the value
    y = abs(y)  # returned is an integer, floating point or a complex number.
    z = abs(z)

    if x > 1 or y > 1 or z > 1:
#        sense.show_letter("!", red)
        message = " This chair is occupied. "
        log = open('chair.txt', "a")    # Open the file in appending mode.
        now = str(asctime())            # Current date/time assign to var 'now'.
        log.write(now + '' + message + '\n' )   # Starts writing current date
                                                # and time with the message.
        print(message)      # Optional. Prints output to console screen.
        log.close()         # Close the log file.
        time.sleep(5)      # Wait for 5 secs before running loop again.
#    else:
#        sense.clear()
Beispiel #19
0
def clear_pixelArt():
    sense = SenseHat()
    sense.set_rotation(r=0)
    sense.clear()
Beispiel #20
0
#!/usr/bin/python

# Dormouse v1 by Mandrake Fernflower, 2016
# Free to use and modify - just leave this notice intact
# Made for a RPI3 with a SenseHat

import os
import time
from sense_hat import SenseHat

sensebrd = SenseHat()
sensebrd.low_light = True
sensebrd.rotation = 180


def getCPUtemperature():
    res = os.popen('vcgencmd measure_temp').readline()
    return (res.replace("temp=", "").replace("'C\n", "C"))


while True:
    sensebrd.clear()
    sensebrd.show_message("CPU " + getCPUtemperature(),
                          text_colour=[0, 148, 200])
    time.sleep(8)
    etemp = round(sensebrd.get_temperature_from_humidity(), 1)
    sensebrd.show_message("EXT " + str(etemp) + "C",
                          text_colour=[240, 230, 140])
    time.sleep(8)
    rh = round(sensebrd.get_humidity(), 1)
    sensebrd.show_message("RH % " + str(rh), text_colour=[0, 110, 0])
from sense_hat import SenseHat
from time import sleep, time
import random
# import threading

sh = SenseHat()
# event = threading.Event()

sh.clear()
sh.low_light = True

##COLOURS##
r = [255, 0, 0] #red
g = [0, 255, 0] #green
x = [0, 0, 0] #blank
w = [255, 255, 255]
B = [0, 0, 255] #Blue
O = [135,206,250] #Light Blue. was called Orange
Y = [255, 255, 0] #Yellow
                        

##SCREENS##
loseScreen = [
    r, r, r, r, r, r, r ,r,
    r, r, r, r, r, r, r ,r,
    r, r, r, r, r, r, r ,r,
    r, r, r, r, r, r, r ,r,
    r, r, r, r, r, r, r ,r,
    r, r, r, r, r, r, r ,r,
    r, r, r, r, r, r, r ,r,
    r, r, r, r, r, r, r ,r
Beispiel #22
0
 def __init__(self):
     self.start = True
     self.sensehat = SenseHat()
     self.accel_procc = 0
    Z = [0, 255, 0]
    F = [255, 0, 0]
    B = [0, 0, 255]

    question_mark = [
        O, O, Y, O, O, Y, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
        B, O, O, O, O, O, O, B, O, O, Y, O, O, Y, O, O, Z, O, O, O, O, O, O, F,
        Z, O, O, O, O, O, O, F, Z, O, O, B, B, O, O, F
    ]

    return (question_mark)


try:
    # SenseHat
    sense_hat = SenseHat()
    sense_hat.set_imu_config(False, False, False)
except:
    print('Unable to initialize the Sense Hat library: {}'.format(
        sys.exc_info()[0]))
    sys.exit(1)


def main():
    while True:
        matrix = get_matrix()
        sense_hat.set_pixels(matrix)
        sleep(3)

        for event in sense_hat.stick.get_events():
            if format(event.action) == "pressed":
Beispiel #24
0
 def __init__(self):
     self.hat = SenseHat()
     self.hat.clear()
     self.dim = 8
from sense_hat import SenseHat
import time

s = SenseHat()
green = (0, 255, 0)
nothing = (0, 0, 0)


def one_arrow():
    G = green
    O = nothing
    logo = [
        O,
        O,
        O,
        O,
        O,
        O,
        O,
        O,
        O,
        O,
        O,
        O,
        O,
        G,
        O,
        O,
        O,
        O,
        O,
 def __init__(self):
     try:
         print("Instantiating SenseHatClass")
         self.hat = SenseHat()
     except:
         print("Unable to Instantiate SenseHatClass")
Beispiel #27
0
import os
import time

from sense_hat import SenseHat

# my python script that communications with Pd


def send2Pd(message=''):
    # Send a message to Pd
    os.system("echo '" + message + "' | pdsend 3000 localhost udp")


x = y = 4
hat = SenseHat()


def update_screen():
    hat.clear()
    hat.set_pixel(x, y, 255, 255, 255)


def clamp(value, min_value=0, max_value=7):
    return min(max_value, max(min_value, value))


def move_dot(event):
    global x, y
    if event.action in ('pressed', 'held'):
        x = clamp(x + {
Beispiel #28
0
from sense_hat import SenseHat
import time

ap = SenseHat()
temp = ap.get_temperature()
humidity = ap.get_humidity()
pressure = ap.get_pressure()

print("Temp: %s C" % temp)  # Show temp on console
print("Humidity: %s %%rH" % humidity)  # Show humidity on console
print("Pressure: %s Millibars" % pressure)  # Show pressure on console

ap.set_rotation(180)  # Set LED matrix to scroll from right to left

ap.show_message("%.1f C" % temp, scroll_speed=0.10, text_colour=[255, 0, 150])

time.sleep(1)  # Wait 1 second

ap.show_message("%.1f %%rH" % humidity,
                scroll_speed=0.10,
                text_colour=[255, 0, 150])

time.sleep(1)  # Wait 1 second

ap.show_message("%.1f Millibars" % pressure,
                scroll_speed=0.10,
                text_colour=[255, 0, 150])

ap.clear()  # Clear LED matrix
Beispiel #29
0
#!/usr/bin/env python3

from sense_hat import SenseHat

sense = SenseHat()

while True:
    for event in sense.stick.get_events():
        print(event)
        #print(event.direction, event.action)
        if 12 < pitch < 170:
            os.system("mpg123 right.mp3")
        elif 348 > pitch > 170:
            os.system("mpg123 left.mp3")

        if 280 < roll:
            os.system("mpg123 forwards.mp3")
        elif 256 > roll:
            os.system("mpg123 backwards.mp3")

    def run(self):
        poll_thread = Thread(target=self.poll_gyroscope_data)
        balance_checker_thread = Thread(target=self.check_balance)
        poll_thread.start()
        balance_checker_thread.start()

        # Wait until the balance checker thread completes (which is never,
        # so this will run forever).
        balance_checker_thread.join()


# This loop runs when you run `python unbalanced.py` in a terminal, or run from an IDE.
if __name__ == "__main__":
    SenseHat().clear
    print(
        "[console] Welcome to Benficium Moderna, A product by inteligent health."
    )
    os.system("mpg123 intro.mp3")
    BalanceChecker = BalanceChecker()
    BalanceChecker.run()