예제 #1
0
def main():
    ubit = microbit.Microbit(adapter_addr='00:01:02:03:04:05',
                             device_addr='E9:06:4D:45:FC:8D')

    ubit.connect()

    assert ubit.pixels == [0b01110, 0b10000, 0b10000, 0b10000, 0b01110]

    ubit.scroll_delay = 40
    delay = ubit.scroll_delay
    ubit.text = 'Scroll speed {}'.format(delay)
    time.sleep(5)
    ubit.text = 'This is a really long string '
    time.sleep(5)

    while not ubit.button_a:
        ubit.pixels = [0b00000, 0b01000, 0b11111, 0b01000, 0b00000]
        time.sleep(0.5)
        ubit.clear_display()

    while not ubit.button_b:
        ubit.pixels = [0b00000, 0b00010, 0b11111, 0b00010, 0b00000]
        time.sleep(0.5)
        ubit.clear_display()

    ubit.clear_display()
    ubit.scroll_delay = 120
    ubit.text = '{0}'.format(ubit.temperature)
    time.sleep(5)

    ubit.text = '{0}'.format(ubit.accelerometer)
    time.sleep(5)

    ubit.disconnect()
예제 #2
0
def updateLed():
    try:
        import json
        with open('./sensors.json') as f:
            sensors = json.load(f)
        print(sensors)
        ubit = microbit.Microbit(adapter_addr='B8:27:EB:5B:AB:D0',
                                 device_addr='C9:1D:A5:98:69:C0',
                                 accelerometer_service=True,
                                 button_service=True,
                                 led_service=True,
                                 magnetometer_service=False,
                                 pin_service=False,
                                 temperature_service=True)
        ubit.connect()
        thresholds = {'1': 8, '2': 8, '3': 11, '4': 10}
        threshold = 5
        maxThreshold = 9
        print('microbit connected', sensors)
        if (sensors['3'] >= thresholds['3'] and sensors['1'] <= thresholds['1']
                and sensors['2'] <= thresholds['2']):
            ubit.pixels = [0b00000, 0b00001, 0b00010, 0b10100, 0b01000]
            print('tick')
        elif (sensors['3'] <= thresholds['3']
              and (sensors['1'] < thresholds['1']
                   or sensors['2'] < thresholds['2'])):
            ubit.pixels = [0b00100, 0b01100, 0b00100, 0b00100, 0b11111]
            print('one')
            # ubit.pixels = [0b10000,
            #                0b11000,
            #                0b10000,
            #                0b10000,
            #                0b10000]

        elif (sensors['3'] > thresholds['3']
              and (sensors['1'] >= thresholds['1']
                   and sensors['2'] >= thresholds['2'])):
            ubit.pixels = [0b11111, 0b00001, 0b11111, 0b10000, 0b11111]
            print('two')

        elif (sensors['1'] >= thresholds['1']
              and sensors['2'] >= thresholds['2']
              and sensors['3'] <= thresholds['3']):
            ubit.pixels = [0b10001, 0b01010, 0b00100, 0b01010, 0b10001]
            print('cross')
        else:
            ubit.pixels = [0b00000, 0b00001, 0b00010, 0b10100, 0b01000]
            print('tick')

        # ubit.pixels = [0b10101,
        #                0b10101,
        #                0b10101,
        #                0b10101,
        #                0b10101]
        ubit.disconnect()
    except Exception as e:
        print("error")
        print(e)
예제 #3
0
 def connect(self):
     self.ubit = microbit.Microbit(adapter_addr='B8:27:EB:74:98:54',
                                   device_addr='CD:46:C2:B2:15:3B',
                                   accelerometer_service=True,
                                   button_service=True,
                                   led_service=True,
                                   magnetometer_service=False,
                                   pin_service=False,
                                   temperature_service=True)
     self.ubit.connect()
예제 #4
0
def main(adapter_addrss, device_address):
    ubit = microbit.Microbit(adapter_addr=adapter_addrss,
                             device_addr=device_address)

    def goodbye(data):
        print(data)
        ubit.quit_async()
        ubit.disconnect()
        return True

    ubit.connect()
    ubit.subscribe_uart(goodbye)
    ubit.uart = 'Ping#'

    ubit.run_async()
예제 #5
0
def start():
    global _ubit

    enabled = _config['MICROBIT'].get('enabled')
    if enabled == "False":
        logging.info("micro:bit disabled")
        return

    adapter = _config['MICROBIT'].get('adapter')
    device = _config['MICROBIT'].get('device')
    logging.info('Connecting to micro:bit %s using adapter %s', device, adapter)

    _ubit = microbit.Microbit(adapter_addr=adapter,
                         device_addr=device)
    _ubit.connect()

    _thread.start_new_thread(_wait_for_button, (_status,))
예제 #6
0
    def connectToMbit(self, adapterMac, mbitMac):
        print(adapterMac, mbitMac)
        try:
            self.mbit = microbit.Microbit(adapter_addr=adapterMac,
                                          device_addr=mbitMac,
                                          accelerometer_service=True,
                                          button_service=True,
                                          led_service=True,
                                          magnetometer_service=False,
                                          pin_service=False,
                                          temperature_service=True)

            self.mbit.connect()
        except Exception as e:
            print(e)
            self.stop()
        finally:
            self.connected.emit()
            self.mBitconnected = True
            self.paused = False
예제 #7
0
def main():
    _ = os.system("clear")
    print(f"{__appname__} v.{__version__}")
    print(f"{__copyright__} ({__license__})")
    print(f"{__author__}, {__agency__} <{__email__}>")
    print()

    local = "your_pc_bluetooth"  # PC Bluetooth adaptor
    remote = "your_ubit_bluetooth"  # BBC micro:bit Bluetooth adaptor

    ubit = microbit.Microbit(adapter_addr=local, device_addr=remote)

    def goodbye(data):
        print(data)
        ubit.quit_async()
        ubit.disconnect()
        return True

    ubit.connect()
    ubit.subscribe_uart(goodbye)
    ubit.uart = 'Middle C.'

    ubit.run_async()
예제 #8
0
def device_found_handler(device_obj):
    if 'micro:bit' in device_obj.alias:
        print('micro:bit found')
        dongle.stop_discovery()
        device_obj.pair()
        waiting = True
        while waiting:
            print('waiting...')
            sleep(1)
            print('Status ubit',
                  device_obj.connected,
                  device_obj.services_resolved,
                  device_obj.paired)
            waiting = not device_obj.paired
        if device_obj.paired:
            print('Dongle Addres', dongle.address, device_obj.address)
            ubit_device = microbit.Microbit(adapter_addr=dongle.address,
                                            device_addr=device_obj.address,
                                            accelerometer_service=False,
                                            button_service=True,
                                            led_service=False,
                                            magnetometer_service=False,
                                            pin_service=False,
                                            temperature_service=False)
            print(dir(ubit_device))
            # Need long sleep here to allow micro:bit to switch from pairing
            # mode to normal mode. There should be a smarter way to do this
            # I just can't think what it is right now
            sleep(30)
            print('call ubit',
                  ubit_device.connected,
                  ubit_device.ubit.services_resolved)
            # Using native GLib timeout method because Bluezero one does
            # not take parameters. Should update the async_tools.add_timer
            # method to accept them
            GLib.timeout_add(500, connect_ubit, ubit_device)
    return True
예제 #9
0
def on_message(client, userdata, msg):
    ubit = microbit.Microbit(adapter_addr='B8:27:EB:5B:AB:D0',
                             device_addr='E2:C5:1F:E2:B7:A8',
                             accelerometer_service=True,
                             button_service=True,
                             led_service=True,
                             magnetometer_service=False,
                             pin_service=False,
                             temperature_service=True)
    ubit.connect()
    print('microbit connected')
    message = msg.payload.decode('utf8')
    print(message)
    if (int(message) == 0):
        ubit.pixels = [0b00001, 0b00010, 0b10100, 0b01000, 0b00000]
    if (int(message) == 1):
        ubit.pixels = [0b00100, 0b00100, 0b00100, 0b00100, 0b00100]
    if (int(message) == 2):
        ubit.pixels = [0b00100, 0b00100, 0b00100, 0b00100, 0b00100]
    if (int(message) == 3):
        ubit.pixels = [0b10101, 0b10101, 0b10101, 0b10101, 0b10101]
    if (int(message) == 4):
        ubit.pixels = [0b10101, 0b10101, 0b10101, 0b10101, 0b10101]
    ubit.disconnect()
예제 #10
0
print("Initialising microbits found in ", filepath)
try:

    # Read list of Microbit MAC addresses and attempt to connect to each
    with open(filepath) as fp:
        line = fp.readline()
        while line:
            key = line.strip()
            print("..Device: [", key.strip(), "]")
            try:
                # Define microbit object
                print("....Initialising")
                devices[key] = microbit.Microbit(adapter_addr=adapter,
                                                 device_addr=key,
                                                 accelerometer_service=True,
                                                 button_service=True,
                                                 led_service=True,
                                                 magnetometer_service=False,
                                                 pin_service=False,
                                                 temperature_service=True)
                print("....Initialised")

                # Connect to microbit
                print("....Connecting")
                devices[key].connect()
                print("....Connected")
            except:
                # If initilisation or connection failed remove this device from device list
                print("....Initialisation or Connection failed")
                devices.pop(key, None)

            line = fp.readline()
예제 #11
0
        x, y, z = ubit.accelerometer
        acceleration = math.sqrt(x**2 + y**2 + z**2)
        queue.append(acceleration)
        gauge.labels(name + '_immediate').set(acceleration)
        gauge.labels(name + '_max').set(max(queue))


if __name__ == '__main__':
    # Start up the server to expose the metrics.
    start_http_server(8001)

    #Connect to MicroBit #1 - Washer
    ubit_washer = microbit.Microbit(adapter_addr='XX:XX:XX:XX:XX:XX',
                                    device_addr='XX:XX:XX:XX:XX:XX',
                                    accelerometer_service=True,
                                    button_service=False,
                                    led_service=False,
                                    magnetometer_service=False,
                                    pin_service=False,
                                    temperature_service=False)
    ubit_washer.connect()

    #Connect to MicroBit #2 - Dryer
    ubit_dryer = microbit.Microbit(adapter_addr='XX:XX:XX:XX:XX:XX',
                                   device_addr='XX:XX:XX:XX:XX:XX',
                                   accelerometer_service=True,
                                   button_service=False,
                                   led_service=False,
                                   magnetometer_service=False,
                                   pin_service=False,
                                   temperature_service=False)
    ubit_dryer.connect()
예제 #12
0
import time
from bluezero import microbit

ubit = microbit.Microbit(adapter_addr='B8:27:EB:22:57:E0',
                         device_addr='E3:AC:D2:F8:EB:B9')

ubit.connect()

assert ubit.pixels == [0b01110, 0b10000, 0b10000, 0b10000, 0b01110]

ubit.scroll_delay = 20
delay = ubit.scroll_delay
ubit.text = 'Scroll speed {}'.format(delay)
time.sleep(5)
ubit.text = 'This is a really long string '
time.sleep(5)

while not ubit.button_a:
    ubit.pixels = [0b00000, 0b01000, 0b11111, 0b01000, 0b00000]
    time.sleep(0.5)
    ubit.clear_display()

while not ubit.button_b:
    ubit.pixels = [0b00000, 0b00010, 0b11111, 0b00010, 0b00000]
    time.sleep(0.5)
    ubit.clear_display()

ubit.clear_display()
ubit.scroll_delay = 120
ubit.text = '{0}'.format(ubit.temperature)
time.sleep(5)
예제 #13
0
  
'''

from datetime import datetime
import csv
import time
from bluezero import microbit
import math
import requests

mcrbt = microbit.Microbit(
    adapter_addr=
    'RA:SP:BE:RR:YP:I0',  # Controller address (Raspberry Pi or PC) that reads from micro:bit. 
    device_addr=
    'BB:CM:IC:RO:BI:T0',  # micro:bit BLE address. Get from $ bluetoothctl or other similar ways.
    accelerometer_service=False,
    button_service=True,
    led_service=False,
    magnetometer_service=True,
    pin_service=False,
    temperature_service=True)

#myNextCloudUserID name for nextcloud server on raspberry pi
myNextCloudUserID = 'ausername'

#myNextCloudPassword for nextcloud server on raspberry pi
myNextCloudPassword = '******'

headers = {'Content-Type': 'application/json'}

#myNextCloudServerURL appended with the location (end point) of the analytics report
import time
from bluezero import microbit

ubit = microbit.Microbit(name='puteg')

ubit.connect()

assert ubit.read_pixels() == [
    '0b1110', '0b10000', '0b10000', '0b10000', '0b1110'
]

ubit.play_beep(0.25)
ubit.display_scroll_delay(20)
delay = ubit.display_scroll_delay()
ubit.display_text('Scroll speed {}'.format(delay))
time.sleep(5)
ubit.display_text('This is a really long string ')
time.sleep(5)

while ubit.read_button_a() < 1:
    ubit.display_pixels(0b00000, 0b01000, 0b11111, 0b01000, 0b00000)
    time.sleep(0.5)
    ubit.display_clear()

while ubit.read_button_b() < 1:
    ubit.display_pixels(0b00000, 0b00010, 0b11111, 0b00010, 0b00000)
    time.sleep(0.5)
    ubit.display_clear()

ubit.display_clear()
ubit.display_scroll_delay(120)
    conn, btctrl = event_loop.run_until_complete(fac)  # runs the future to get the bluetooth and connection objects
    btctrl.process = _process_packet  # assigns our custom process packet function to the bluetooth processing
    btctrl.send_scan_request()  # start scanning via bluetooth

    # create mqtt client
    client = mqtt.Client('P2')
    client.connect(broker_address)
    client.on_message = _on_mqtt_message_received
    client.loop_start()
    client.subscribe(subscribe_topic)
    client.subscribe(prompt_topic)
    try:
        print('Press Ctrl+C to send information to uBit and exit')
        event_loop.run_forever()  # runs our bluetooth scan until we send a keyboard interrupt signal
    except KeyboardInterrupt:
        print('you pressed ctrl+c')
        ubit = microbit.Microbit(adapter_addr='B8:27:EB:48:04:4F',
                                device_addr='C4:2E:8C:E3:C6:82')
        my_text = "You're done!" if _determine_goal_met() else "Keep walking."
        ubit.connect()
        ubit.text = my_text
        ubit.disconnect()
    finally:
        print('Stopping MQTT broadcast...')
        client.loop_stop()
        print('MQTT broadcast stopped.')
        print('closing event loop')
        btctrl.stop_scan_request()  # stop BT scans
        conn.close()  # close the socket connection
        event_loop.close()  # stop our event_loop from taking in more async tasks
예제 #16
0
from bluezero import microbit
from bluezero import async_tools

ubit = microbit.Microbit(adapter_addr='02:00:AA:48:25:29',
                         device_addr='F1:55:90:65:29:DC',
                         accelerometer_service=False,
                         button_service=False,
                         led_service=False,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=False,
                         uart_service=True)
eloop = async_tools.EventLoop()
ubit.connect()


def ping():
    ubit.uart = 'ping#'
    return True


def goodbye():
    ubit.quit_async()
    ubit.disconnect()
    return False


ubit.subscribe_uart(print)
eloop.add_timer(10000, ping)
eloop.add_timer(30000, goodbye)
예제 #17
0
import matplotlib
from tkinter import ttk, CENTER, SUNKEN, RAISED
from bluezero import microbit
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from matplotlib.figure import Figure
import threading
import time

from matplotlib import style
matplotlib.use("TkAgg")
style.use('ggplot')

ubit = microbit.Microbit(adapter_addr='B0:35:9F:CF:A7:CD',
                         device_addr='EC:34:F9:62:A7:09',
                         accelerometer_service=True,
                         button_service=True,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=True)

ubit.connect()

buttonA_pressed, buttonB_pressed = False, False
x, y, z, t = [], [], [], []  # lists to hold accelerometer data
temp = None
update_screen_flag = True
f = Figure(figsize=(5, 4), dpi=100)
a = f.add_subplot(111)

plt.xticks(rotation=45, ha='right')
plt.subplots_adjust(bottom=0.30)
# https://ukbaz.github.io/howto/targetOne_workshop.html
# this App needs SUDO ..
# make sure to pair with microbits.
# Strings to send .. must begin with  #
# Strings to send .. must end with \n
# Expected Strings.
# ACTIVE ... BEGIN .. ACTIVE ... WAIT ... END ..

targetHit = ['MISS', 'MISS']

targetOne = microbit.Microbit(adapter_addr='B8:27:EB:3A:C9:38',
                              device_addr='C6:EF:44:78:2E:F4',
                              accelerometer_service=False,
                              button_service=False,
                              led_service=False,
                              magnetometer_service=False,
                              pin_service=False,
                              temperature_service=False,
                              uart_service=True)

targetTwo = microbit.Microbit(adapter_addr='B8:27:EB:3A:C9:38',
                              device_addr='FD:B4:42:E6:B6:56',
                              accelerometer_service=False,
                              button_service=False,
                              led_service=False,
                              magnetometer_service=False,
                              pin_service=False,
                              temperature_service=False,
                              uart_service=True)
예제 #19
0
#!/usr/bin/env python3

import lightControl as lc
import formatting as f
import validation as valid
import evdev
from bluezero import microbit
from evdev import InputDevice, categorize, ecodes
import time

ubit = microbit.Microbit(adapter_addr='B8:27:EB:E8:AD:4D',
                         device_addr='FA:33:DE:18:91:F6',
                         accelerometer_service=False,
                         button_service=False,
                         led_service=False,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=False,
                         uart_service=True)

device = evdev.InputDevice('/dev/input/event6')

ubit.connect()

command = ' '

for event in device.read_loop():

    if valid.isValidEventType(event):

        if valid.isValidEventCode(event):
예제 #20
0
import time
from bluezero import microbit

ubit = microbit.Microbit(adapter_addr='B8:27:EB:22:57:E0',
                         device_addr='E3:AC:D2:F8:EB:B9',
                         accelerometer_service=True,
                         button_service=True,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=True)

ubit.connect()

assert ubit.pixels == [0b01110, 0b10000, 0b10000, 0b10000, 0b01110]

ubit.scroll_delay = 20
delay = ubit.scroll_delay
ubit.text = 'Scroll speed {}'.format(delay)
time.sleep(5)
ubit.text = 'This is a really long string '
time.sleep(5)

while not ubit.button_a:
    ubit.pixels = [0b00000, 0b01000, 0b11111, 0b01000, 0b00000]
    time.sleep(0.5)
    ubit.clear_display()

while not ubit.button_b:
    ubit.pixels = [0b00000, 0b00010, 0b11111, 0b00010, 0b00000]
    time.sleep(0.5)
예제 #21
0
import time
from bluezero import microbit

ubit = microbit.Microbit(adapter_addr='xx:xx:xx:xx:xx:xx',
                         device_addr='yy:yy:yy:yy:yy:yy',
                         accelerometer_service=True,
                         button_service=True,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=True)
looping = True
ubit.connect()
print('Connected... Press a button to select mode')
mode = 0
while looping:
    if ubit.button_a > 0 and ubit.button_b > 0:
        mode = 3
        ubit.pixels = [0b10001, 0b01010, 0b00100, 0b01010, 0b10001]
        time.sleep(1)
    elif ubit.button_b > 0:
        mode = 2
        ubit.pixels = [0b11111, 0b00100, 0b00100, 0b00100, 0b00100]

        time.sleep(0.25)
    elif ubit.button_a > 0:
        mode = 1
        ubit.pixels = [0b11110, 0b10000, 0b11100, 0b10000, 0b10000]
        time.sleep(0.25)

    if mode == 1:
예제 #22
0
from bluezero import microbit
from time import sleep
from time import time
from datetime import datetime

#Setting up the microbits
ubit1 = microbit.Microbit(adapter_addr='DC:A6:32:7C:35:D2',
                          device_addr='D6:CA:A9:57:F7:72')
ubit2 = microbit.Microbit(adapter_addr='DC:A6:32:7C:35:D2',
                          device_addr='E4:E1:14:75:E1:E5')

#Setting up any files or variables
loop = True
time = datetime.__str__(datetime.today())
name = "Accelerometer data: " + time
bad = ' '
good = '_'
name = name.replace(bad, good)
bad = ':'
good = '_'
name = name.replace(bad, good)
file = open(name, "w")
file.close()
#Connecting to microbits
print("Attempting to connect to Microbit 1...")
try:
    ubit1.connect()
    print("Connected!")
except:
    print("Could not connect to Microbit 1")
예제 #23
0
import time
import sys
import asyncio
import websockets
from bluezero import microbit

ubit = microbit.Microbit(adapter_addr='DC:A6:32:16:77:A8',
                         device_addr='DA:B9:23:9F:EB:82',
                         accelerometer_service=True,
                         button_service=True,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=True,
                         temperature_service=True)


async def connectToWebSocket():
    uri = "ws://localhost:8080"
    async with websockets.connect(uri) as websocket:
        print("[connected to websocket]")
        while True:
            io_pin = ubit._io_pin_data.value
            pin, value = [int(v) for v in io_pin]

            if pin == 0 and value == 1:
                print('>> PIN 0 button pressed')
                await websocket.send("button")

            if ubit.button_a:
                print('>> A Button')
                await websocket.send(
예제 #24
0
import aioblescan as aiobs
from aioblescan.plugins import EddyStone
import asyncio
import paho.mqtt.client as mqtt
import time
import json
from bluezero import microbit

broker_address = "192.168.4.1"  #enter your broker address here
subscribetopic = "weather"
publishtopic = "steps"
today_goal = 0
actualsteps = 0
tmr_goal = 0

ubit = microbit.Microbit(adapter_addr='B8:27:EB:35:FB:E9',
                         device_addr='DE:82:79:56:6F:D6')


def on_message(client, userdata, message):
    print("message received ", str(message.payload.decode("utf-8")))
    print("message topic=", message.topic)
    print("message qos=", message.qos)
    print("message retain flag=", message.retain)

    wdict = json.loads(message.payload.decode("utf-8"))
    global today_goal
    today_goal = 1725.18550495 + 41.73728844 * wdict[
        "high"] + 16.29751196 * wdict["low"] + 553.50462998 * wdict["rain"]
    global tmr_goal
    tmr_goal = int(1725.18550495 + 41.73728844 * wdict["tmrhigh"] +
                   16.29751196 * wdict["tmrlow"] +
예제 #25
0
#Set a flag file so we can tell the script is still running
open("/tmp/doorbellRunning", "w")

sense = SenseHat()
sense.set_rotation(
    90)  #Make the image the right way up for being mounted on a door

#Need to add this string before message text
mPart1 = 'https://api.telegram.org/bot' + secret.tgBotKey() + '/'
chatID = '?chat_id=' + secret.tgChatID()

ubit = microbit.Microbit(adapter_addr='B8:27:EB:0B:AA:BE',
                         device_addr='E6:51:A6:1A:37:5B',
                         accelerometer_service=False,
                         button_service=True,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=False)

#Microbit display arrays
#Microbit Bluetooth connected icon
mbHappyFace = [0b00000, 0b01010, 0b00000, 0b10001, 0b01110]

#Microbit Bluetooth disconnected icon
mbSadFace = [0b00000, 0b01010, 0b00000, 0b01110, 0b10001]

#Microbit button pressed icon
mbTick = [0b00001, 0b00010, 0b10100, 0b01000, 0b00000]

#Sense HAT/Pi display arrays
예제 #26
0
#!/usr/bin/env python3

from bluezero import microbit
ubit = microbit.Microbit(adapter_addr='43:43:A1:12:1F:AC',
                         device_addr='D8:8E:DA:20:E3:D5',
                         accelerometer_service=True,
                         button_service=True,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=True)
my_text = 'Hello, world'
ubit.connect()

while my_text is not '':
    ubit.text = my_text
    my_text = input('Enter message: ')

ubit.disconnect()
예제 #27
0
                                                                     feagi_host=feagi_host,
                                                                     api_port=api_port,
                                                                     app_capabilities=configuration.capabilities,
                                                                     app_host_info=runtime_data["host_network"]
                                                                     )
        except Exception as e:
            print("Error:", e)
            pass
        sleep(1)


ubit = microbit.Microbit(adapter_addr=network_settings['primary_mac_address'],
                         device_addr=network_settings['microbit_mac_address'],
                         accelerometer_service=False,
                         button_service=False,
                         led_service=False,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=False,
                         uart_service=True)

print("Searching for microbit...")
ubit.connect()
print("Microbit has been connected.")
print("Connecting to FEAGI resources...")

# address = 'tcp://' + network_settings['feagi_host'] + ':' + network_settings['feagi_outbound_port']

feagi_host = configuration.network_settings["feagi_host"]
api_port = configuration.network_settings["feagi_api_port"]
예제 #28
0
from bluezero import microbit

controller = "B8:27:EB:D3:B6:B8"
microbit1 = "D3:CB:9C:01:AF:14"

ubit = microbit.Microbit(adapter_addr=controller,
                         device_addr=microbit1,
                         accelerometer_service=False,
                         button_service=True,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=True,
                         temperature_service=True)
my_text = 'Hello, world'
ubit.connect()

while my_text is not '':
    ubit.text = my_text
    my_text = input('Enter message: ')

ubit.disconnect()
예제 #29
0
    def __init__(self):
        self.screen = pygame.display.set_mode((800, 600))
        self.green = pygame.image.load("assets/green.png").convert_alpha()
        pygame.font.init()
        self.score = 0
        self.font = pygame.font.SysFont("Arial", 25)
        self.blue = pygame.image.load("assets/blue.png").convert_alpha()
        self.red = pygame.image.load("assets/red.png").convert_alpha()
        self.red_1 = pygame.image.load("assets/red_1.png").convert_alpha()
        self.playerRight = pygame.image.load("assets/right.png").convert_alpha()
        self.playerRight_1 = pygame.image.load("assets/right_1.png").convert_alpha()
        self.playerLeft = pygame.image.load("assets/left.png").convert_alpha()
        self.playerLeft_1 = pygame.image.load("assets/left_1.png").convert_alpha()
        self.spring = pygame.image.load("assets/spring.png").convert_alpha()
        self.spring_1 = pygame.image.load("assets/spring_1.png").convert_alpha()
        self.direction = 0
        self.playerx = 400
        self.playery = 400
        self.platforms = [[400, 500, 0, 0]]
        self.springs = []
        self.cameray = 0
        self.jump = 0
        self.gravity = 0
        self.xmovement = 0
        
        #DISS CODE
        
        #code for the potentiometer:
        #instantiating the potentiometer as part of the doodle jump object
        self.i2c = busio.I2C(board.SCL, board.SDA)

        #Creating theADC object using i2C bus
        self.ads = ADS.ADS1015(self.i2c)
        
        #the game now has instatiated the potentiometer
        self.pot0 = Potentiometer(0,self.ads)
        
        #Code for the Microbits:
        self.ubit1 = microbit.Microbit(adapter_addr='DC:A6:32:7C:35:D2',
                         device_addr='D6:CA:A9:57:F7:72')
        self.ubit2 = microbit.Microbit(adapter_addr='DC:A6:32:7C:35:D2',
                         device_addr='E4:E1:14:75:E1:E5')
        
        try:
            self.ubit1.connect()
            print("Microbit 1 Connected!")
        except:
            print("Could not connect to Microbit 1")

        print("Attempting to connect to Microbit 2...")
        try:
            self.ubit2.connect()
            print("Microbit 2 Connected!")
        except:
            print("Could not connect to Microbit 2")
        
        #creating both microbit devices
        #self.mbit1 = accel(1)
        #self.mbit2 = accel(2)
        #self.quitstatus = False    #this is the quit status of the game
        
        #opening the necesary file
        time = datetime.__str__(datetime.today())
        self.name = "Accelerometer data: " + time
        bad = ' '
        good = '_'
        self.name = self.name.replace(bad,good)
        bad = ':'
        good = '_'
        self.name = self.name.replace(bad,good)
        file = open(self.name, "w")
        file.close()
        self.writeto = []
예제 #30
0
import paho.mqtt.client as mqtt
import time
import aioblescan as aiobs
from aioblescan.plugins import EddyStone
import asyncio
from bluezero import microbit

ubit = microbit.Microbit(adapter_addr='B8:27:EB:47:7E:24',
                         device_addr='F5:E1:41:F6:CF:12',
                         accelerometer_service=False,
                         button_service=False,
                         led_service=True,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=False)

# connecting to broker (running on the Android phone)
broker_address = "192.168.4.1" #enter your broker address here
subscribetopic = "weatherTopic"
publishtopic = "stepTopic"

client = mqtt.Client("P1")
client.connect(broker_address)

W0 = 1725.18550495
W1 = 41.73728844
W2 = 16.29751196
W3 = 553.50462998

#set step count
step_count = ''