def spacebrew_connect(self): name = "booth-6" # server = "server.neuron.brain" local_server = "localhost" sb = Spacebrew(name, server=SERVER_IP) sb.addPublisher("test pub", "string") sb.addSubscriber("eeg", "string") sb.addSubscriber("connect", "string") sb.addSubscriber("disconnect", "string") sb.addSubscriber("mellow", "string") sb.addSubscriber("alpha_relative", "string") sb.addSubscriber("beta_relative", "string") sb.addSubscriber("gamma_relative", "string") # sb.subscribe("eeg", self.eeg_handler_test) sb.subscribe("eeg", self.sb_eeg_handler) sb.subscribe("connect", self.sb_connect_handler) sb.subscribe("disconnect", self.sb_disconnected_handler) sb.subscribe("mellow", self.sb_mellon_handler) sb.subscribe("alpha_relative", self.sb_alpha_handler) sb.subscribe("beta_relative", self.sb_alpha_handler) sb.subscribe("gamma_relative", self.sb_gamma_handler) # data from local muse data = "test" sb.start() print "---------------streaming starts---------------"
def spacebrew_connect(self): name = "booth-6" # server = "server.neuron.brain" local_server = "localhost" sb = Spacebrew(name, server=SERVER_IP) sb.addPublisher("test pub", "string") sb.addSubscriber("eeg", "string") sb.addSubscriber("connect", "string") sb.addSubscriber("disconnect", "string") sb.addSubscriber("mellon", "string") sb.addSubscriber("alpha_relative", "string") sb.addSubscriber("beta_relative", "string") sb.addSubscriber("gamma_relative", "string") # sb.subscribe("eeg", self.eeg_handler_test) sb.subscribe("eeg", self.sb_eeg_handler) sb.subscribe("connect", self.sb_connect_handler) sb.subscribe("disconnect", self.sb_disconnected_handler) sb.subscribe("mellon", self.sb_mellon_handler) sb.subscribe("alpha_relative", self.sb_alpha_handler) sb.subscribe("beta_relative", self.sb_alpha_handler) sb.subscribe("gamma_relative", self.sb_gamma_handler) # data from local muse data = "test" sb.start() print "---------------streaming starts---------------"
def cloud_ros(): name = "rosPy Example" server = "localhost" #server = "sandbox.spacebrew.cc" global brew brew = Spacebrew(name=name, server=server) brew.addPublisher("Publisher") brew.addSubscriber("Subscriber") try: # start-up spacebrew brew.start() brew.subscribe("Subscriber", received) thread2 = myThread(1, "Thread-2", 1) thread2.start() finally: rospy.init_node('cloud_ros_node') rospy.loginfo("cloud_ros node is up and running!!!") s = rospy.Service('send_data', Comando, send) rospy.spin()
def cloud_ros(): name = "rosPy Example" server = "localhost" #server = "sandbox.spacebrew.cc" global brew brew = Spacebrew(name=name, server=server) brew.addPublisher("Publisher") brew.addSubscriber("Subscriber") try: # start-up spacebrew brew.start() brew.subscribe("Subscriber", received) thread2 = myThread(1, "Thread-2", 1) thread2.start() finally: rospy.init_node('cloud_ros_node') rospy.loginfo("cloud_ros node is up and running!!!") s = rospy.Service('send_data', Comando, send) rospy.spin()
def spacebrew_pub_test(self): data = "hi unity!!!!!!!!!!!!!!" name = "booth-6-pub" server = "localhost" sb = Spacebrew(name, server=server) sb.addPublisher("test-pub", "string") sb.addSubscriber("test-sub", "string") sb.subscribe("test-sub", self.sb_handler) sb.start() print "**************streaming starts**************"
def spacebrew_pub_test(self): data = "hi unity!!!!!!!!!!!!!!" name = "booth-6-pub" server = "localhost" sb = Spacebrew(name, server=server) sb.addPublisher("test-pub", "string") sb.addSubscriber("test-sub", "string") sb.subscribe("test-sub", self.sb_handler) sb.start() print "**************streaming starts**************"
import time from pySpacebrew.spacebrew import Spacebrew import RPi.GPIO as GPIO import Adafruit_MPR121.MPR121 as MPR121 # Create MPR121 instance. cap = MPR121.MPR121() if not cap.begin(): print('Error initializing MPR121. Check your wiring!') sys.exit(1) # publish button press - bool # listen for light changes - bool brew = Spacebrew("MRHT_Light_Button", description="Python Light and Button controller", server="192.168.1.165", port=9000) #brew.addSubscriber("flipLight", "boolean") brew.addPublisher("buttonPress", "boolean") CHECK_FREQ = 0.1 # check mail every 60 seconds GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) #GREEN_LED = 18 #RED_LED = 23 #GPIO.setup(GREEN_LED, GPIO.OUT) #GPIO.setup(RED_LED, GPIO.OUT) #GPIO.setup(24, GPIO.IN) #lightOn = False #def handleBoolean(value): # global lightOn # print("Received: "+str(value))
local_state = 0 remote_state = 0 # get app name and server from query string name = "pyDice Example" server = "sandbox.spacebrew.cc" for cur_ele in sys.argv: if "name" in cur_ele: name = cur_ele[5:] if "server" in cur_ele: server = cur_ele[7:] # configure the spacebrew client brew = Spacebrew(name=name, server=server) brew.addPublisher("roll of the dice", "dice") brew.addSubscriber("what did you roll", "dice") # function that handles the incoming spacebrew dice messages def handleDice(value): global code, stdscr stdscr.addstr(pos_remote, pos_state, (" " * 30).encode(code)) if value < 1 or value > 6: stdscr.addstr(pos_remote, pos_state, ("you rolled a " + str(value) + "! What kind of dice is that? ").encode(code)) else: stdscr.addstr(pos_remote, pos_state, str(value).encode(code)) stdscr.refresh()
curses.noecho() # turn off echo curses.curs_set(0) # turn off cursor # get app name and server from query string name = "pyString Example" server = "sandbox.spacebrew.cc" for cur_ele in sys.argv: if "name" in cur_ele: name = cur_ele[5:] if "server" in cur_ele: server = cur_ele[7:] # configure the spacebrew client brew = Spacebrew(name, server=server) brew.addPublisher("chat outgoing", "string") brew.addSubscriber("chat incoming", "string") def handleString(value): global pos, code, stdscr stdscr.addstr(pos_in, 0, "incoming: ".encode(code), curses.A_BOLD) stdscr.addstr(pos_in, pos_msg, (" " * pos_max).encode(code)) stdscr.addstr(pos_in, pos["x"] + pos_msg, value.encode(code)) stdscr.refresh() pos["y"] += 1 brew.subscribe("chat incoming", handleString) # set-up a variables to hold current position
#import Spacebrew from pySpacebrew.spacebrew import Spacebrew #create Spacebrew object brew = Spacebrew( "MRHT_Micol_Joyfishing", description= "The IMU Unit wasn't giving back sensed data so we decided to use the joystick", server="192.168.1.165", port=9000) #to use Pi as an OUTPUT #brew.addSubscriber("name", "type") #to use Pi as an INPUT brew.addPublisher("up", "boolean") brew.addPublisher("down", "boolean") brew.addPublisher("left", "boolean") brew.addPublisher("left", "boolean") brew.addPublisher("buttonPress", "boolean") #define state of the Pi, initially it is not connected connected = False #import SenseHat library and create an object from sense_hat import SenseHat sense = SenseHat() sense.clear() #define a frequency to which you want to listent to the Pi
import serial import sys import time from pySpacebrew.spacebrew import Spacebrew ser = serial.Serial('/dev/tty.usbserial-AD01SUMG', 9600) connected = False # GENERAL IDEA # Listen for events coming from the arduino and forward them as Spacebrew Events # bool, string, range # Take Spacebrew events and forward them to the arduino # bool, string, range # setup Spacebrew brew = Spacebrew("pyRFID", description="Python contolled rfid scanner", server="beaglebone.local", port=9000) brew.addPublisher("rfidscan", "string") brew.start() while True: message = ser.readline() connected = True print(message) brew.publish('rfidscan', message) time.sleep(0.1) ser.close
# Publish # Joystick shows a letter # publish up, down, left, right, middle # Subscribe to letters # Strings # publish button press - bool # listen for light changes - bool brew = Spacebrew("MRHT_SenseHat", description="Joystick and LED letters", server="10.10.2.47", port=9000) brew.addSubscriber("letters", "string") brew.addPublisher("joystick", "string") # Setup SenseHat for animation on LED array sense = SenseHat() sense.set_rotation(180) w = [255, 255, 255] e = [0, 0, 0] current_rate = 1.0 sense.clear() def handleString(value): # grab only the first letter sent letter = value[0] print(letter)
curses.noecho() # turn off echo curses.curs_set(0) # turn off cursor # get app name and server from query string name = "pyRange Example" server = "sandbox.spacebrew.cc" for cur_ele in sys.argv: if "name" in cur_ele: name = cur_ele[5:] if "server" in cur_ele: server = cur_ele[7:] # configure the spacebrew client brew = Spacebrew(name, server=server) brew.addPublisher("slider", "range") brew.addSubscriber("graph", "range") # set-up a variables to hold coordinates pos_state = 21 pos_int = 15 col_local = 0 col_remote = 0 # set-up a variables to hold state local_state = 500 remote_state = 0 # method that updates the range "bars" and value on the display def displayRange(value, source_line): stdscr.addstr(source_line, pos_int, " ".encode(code))
curses.curs_set(0) # turn off cursor # get app name and server from query string name = "pyString Example" server = "sandbox.spacebrew.cc" local = "localhost" for cur_ele in sys.argv: if "name" in cur_ele: name = cur_ele[5:] if "server" in cur_ele: server = cur_ele[7:] # configure the spacebrew client brew = Spacebrew(name, server=local) brew.addPublisher("chat outgoing", "string") brew.addSubscriber("chat incoming", "string") def handleString(value): global pos, code, stdscr stdscr.addstr(pos_in, 0, "incoming: ".encode(code), curses.A_BOLD) stdscr.addstr(pos_in, pos_msg, (" " * pos_max).encode(code)) stdscr.addstr(pos_in, pos["x"] + pos_msg, value.encode(code)) stdscr.refresh() pos["y"] += 1 brew.subscribe("chat incoming", handleString) # set-up a variables to hold current position pos = { "x":0, "y":0 }
remote_state = False # get app name and server from query string name = "pyBoolean Example" server = "sandbox.spacebrew.cc" for cur_ele in sys.argv: if "name" in cur_ele: name = cur_ele[5:] if "server" in cur_ele: server = cur_ele[7:] # configure the spacebrew client brew = Spacebrew(name=name, server=server) brew.addPublisher("local state", "boolean") brew.addSubscriber("remote state", "boolean") def handleBoolean(value): global code, stdscr stdscr.addstr(pos_remote, pos_state, (str(value) + " ").encode(code)) stdscr.refresh() brew.subscribe("remote state", handleBoolean) try: # start-up spacebrew brew.start() # create and load info message at the top of the terminal window info_msg = "This is the pySpacebrew library boolean example. It sends out a boolean message every time\n"
curses.noecho() # turn off echo curses.curs_set(0) # turn off cursor # get app name and server from query string name = "pyRange Example" server = "sandbox.spacebrew.cc" for cur_ele in sys.argv: if "name" in cur_ele: name = cur_ele[5:] if "server" in cur_ele: server = cur_ele[7:] # configure the spacebrew client brew = Spacebrew(name, server=server) brew.addPublisher("slider", "range") brew.addSubscriber("graph", "range") # set-up a variables to hold coordinates pos_state = 21 pos_int = 15 col_local = 0 col_remote = 0 # set-up a variables to hold state local_state = 500 remote_state = 0 # method that updates the range "bars" and value on the display def displayRange(value, source_line):
finally: s.close() return IP # Create MPR121 instance. cap = MPR121.MPR121() # Setup Spacebrew for Publishing brew = Spacebrew("YUXI_PlayTheRoom : " + macString[-5:], description='[ capacitiveSwitches ] [local ip' + get_ip() + '] [MAC Address ' + macString + '] ', server="sandbox.spacebrew.cc", port=9000) for i in range(12): brew.addPublisher('P{0}'.format(i), 'boolean') connected = False # Initialize communication with MPR121 using default I2C bus of device, and # default I2C address (0x5A). On BeagleBone Black will default to I2C bus 0. if not cap.begin(): print('Error initializing MPR121. Check your wiring!') sys.exit(1) # Alternatively, specify a custom I2C address such as 0x5B (ADDR tied to 3.3V), # 0x5C (ADDR tied to SDA), or 0x5D (ADDR tied to SCL). #cap.begin(address=0x5B) # Also you can specify an optional I2C bus with the bus keyword parameter. #cap.begin(busnum=1)
local_state = 0 remote_state = 0 # get app name and server from query string name = "pyDice Example" server = "sandbox.spacebrew.cc" for cur_ele in sys.argv: if "name" in cur_ele: name = cur_ele[5:] if "server" in cur_ele: server = cur_ele[7:] # configure the spacebrew client brew = Spacebrew(name=name, server=server) brew.addPublisher("roll of the dice", "dice") brew.addSubscriber("what did you roll", "dice") # function that handles the incoming spacebrew dice messages def handleDice(value): global code, stdscr stdscr.addstr(pos_remote, pos_state, (" " * 30).encode(code)) if value < 1 or value > 6: stdscr.addstr(pos_remote, pos_state, ("you rolled a " + str(value) + "! What kind of dice is that? ").encode(code)) else: stdscr.addstr(pos_remote, pos_state, str(value).encode(code)) stdscr.refresh() # register handler function with appropriate subscription data feed brew.subscribe("what did you roll", handleDice)
# YUXI Hello World Example # This script will ask the Raspberry Pi for what wifi networks # it can see and then send them as Spacebrew events ############################################################## import sys import time import subprocess from pySpacebrew.spacebrew import Spacebrew # Setup Spacebrew for Publishing brew = Spacebrew("YUXI_HelloWorld", description="Animate some wifi networks", server="ciidspacebrew.local", port=9000) brew.addPublisher("networkEvent", "boolean") brew.addPublisher("wifi", "string") connected = False CHECK_FREQ = 2 # time to sleep between adding items CURR_INDEX = 0 # Create a queue of items def makeArray(): # Check for a list of wifi networks that the RPi can see cmdCall = subprocess.check_output('sudo iwlist wlan0 scan | grep ESSID', shell=True) output = cmdCall.decode("utf-8").splitlines() for i, s in enumerate(output): output[i] = s[27:-1] #trim out all the stuff we don't need