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**************"
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---------------"
from sense_hat import SenseHat # 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]
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---------------"
# set printer formats printer.doubleHeightOn() printer.boldOn() printer.justify('L') printer.println("Printer on") printer.feed(5) # get app name and server from query string name = "Xoup Printer" server = "server.sitetosite.co" # add subscriber brew = Spacebrew(name, server=server) brew.addSubscriber("incoming strings", "string") def handleString(value): printer.println(value) printer.feed(2) brew.subscribe("incoming strings", handleString) brew.start() filepath = "test.gif"
# 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" info_msg += "the enter or return key is pressed and displays the latest boolean value it has received.\n"
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))
print "Opening Configuration" config = open('robotConfig.txt','r') jsonData = json.load(config) print "Robot loaded as: " + str(jsonData["robotName"]) #print "Checking if wi-fi configuration needs changing" #if(jsonData['wifi-update']==1): # print"Updating Wi-Fi" print "Attempting to connect to spacebrew server: " + str(jsonData["robotServer"]) brew = Spacebrew(name=str(jsonData["robotName"]), server=str(jsonData["robotServer"])) #configure motors brew.addSubscriber("motor1a","boolean") brew.addSubscriber("motor1b","boolean") brew.addSubscriber("motor2a","boolean") brew.addSubscriber("motor2b","boolean") #define functions def motor1a(state): GPIO.output(17,str2bool(state)) def motor1b(state): GPIO.output(18,str2bool(state)) def motor2a(state): GPIO.output(22,str2bool(state)) def motor2b(state): GPIO.output(23,str2bool(state))
jsonData = json.load(config) print "Robot loaded as: " + str(jsonData["robotName"]) #print "Checking if wi-fi configuration needs changing" #if(jsonData['wifi-update']==1): # print"Updating Wi-Fi" print "Attempting to connect to spacebrew server: " + str( jsonData["robotServer"]) brew = Spacebrew(name=str(jsonData["robotName"]), server=str(jsonData["robotServer"])) #configure motors brew.addSubscriber("motor1a", "boolean") brew.addSubscriber("motor1b", "boolean") brew.addSubscriber("motor2a", "boolean") brew.addSubscriber("motor2b", "boolean") #define functions def motor1a(state): GPIO.output(17, str2bool(state)) def motor1b(state): GPIO.output(18, str2bool(state)) def motor2a(state):
# wired to pin 18. It publishes the button presses and listens # for Spacebrew events to turn the light on. To use the button # to turn off and on the light, connect them in Spacebrew. ############################################################## import sys import time from pySpacebrew.spacebrew import Spacebrew import RPi.GPIO as GPIO # Setup Spacebrew with Publishers and Subscribers brew = Spacebrew("YUXI_Light_Button", description="Python Light and Button controller", server="ciidspacebrew.local", port=9000) brew.addSubscriber("flipLight", "boolean") brew.addPublisher("buttonPress", "boolean") CHECK_FREQ = 0.1 # How often to check the hardware 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) #down is False lightOn = False alreadySent = False # to 'debounce' the button
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 pos = {"x": 0, "y": 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()
# 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 } # line positions
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) try:
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)) stdscr.addstr(source_line, pos_int, str(value).encode(code))