Exemplo n.º 1
0
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()
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
 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**************"
Exemplo n.º 4
0
 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**************"
Exemplo n.º 5
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("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]
Exemplo n.º 7
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"
Exemplo n.º 9
0
# 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"  
Exemplo n.º 10
0
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))
Exemplo n.º 11
0
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))

Exemplo n.º 12
0
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):
Exemplo n.º 13
0
# 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

Exemplo n.º 14
0
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}
Exemplo n.º 15
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()

Exemplo n.º 16
0
# 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
Exemplo n.º 17
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)

try:
Exemplo n.º 18
0
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))