Skip to main content

Talk to a socketio server

Project description

Smartphone Connector

This simple package exposes methods to interact with smartphones connected to a socket.io server instance.

Examples

All examples and scripts on GitHub

Draw 3x3 checker board

from smartphone_connector import Connector
phone = Connector('https://io.lebalz.ch', 'FooBar')

# draw a 3x3 checker board
phone.set_grid([
    ['black','white','black'],
    ['white','black','white'],
    ['black','white','black']
], broadcast=True)

# print the letter A
phone.set_grid([
  [9,9,9,9],
  [9,0,0,9],
  [9,9,9,9],
  [9,0,0,9],
  [9,0,0,9],
])

results on all devices in the following screen.

When broadcast is set to False (default), only the FooBar devices display the checker board.

checker board

Stream & display gyroscope data

from smartphone_connector import Connector, GyroMsg
import matplotlib.pyplot as plt
phone = Connector('https://io.lebalz.ch', 'FooBar')
MAX_SAMPLES = 300

y = []
x = []
plt.show()


def on_gyro(data: GyroMsg):
    if len(x) > MAX_SAMPLES:
        x.pop(0)
        y.pop(0)

    x.append(data.time_stamp)
    y.append([data.alpha, data.beta, data.gamma])


def on_intervall():
    plt.clf()
    plt.plot(x, y)
    plt.pause(0.01)


phone.on_gyro = on_gyro
phone.subscribe(on_intervall, interval=0)

Displays gyroscope data from the smartphone on a Matplotlib-Plot. Gyroscope-Plot

Package and upload to pip

@see this tutorial

rm -rf build/ dist/ smartphone_connector.egg-info/ && \
python3 setup.py sdist bdist_wheel && \
python3 -m twine upload dist/*

Changelog

  • 0.0.102: add alias methods for subscribe_async: set_timeout, schedule, execute_in
  • 0.0.101: introduce move_to(id: str, pos: [x, y], via: [x, y]) method to make jumps easyier. Event auto_movement_pos is triggered when an auto movement within a sequence finished.
  • 0.0.100: support image formats .gif, .bmp, .webp
  • 0.0.99: introduce method add_svg_to_playground(name: str, raw_svg: str) to upload plain svg source text
  • 0.0.98 fix iteration count
  • 0.0.97: introduce sound - provide a audio_tracks source directory in configure_playground and start/stop sounds with play_sound(name: str, id: Optional[str]) / stop_sound(name: Optional[str], id: Optional[str])
  • 0.0.96 register multiple callback functions with on(event, clbk)
  • 0.0.95 support border_style and border_width for sprites

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smartphone_connector-0.0.102.tar.gz (28.1 kB view hashes)

Uploaded Source

Built Distribution

smartphone_connector-0.0.102-py3-none-any.whl (28.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page