New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

smartphone-connector

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

smartphone-connector

Talk to a socketio server

  • 0.0.115
  • PyPI
  • Socket score

Maintainers
1

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.115: fix audio path checking
  • 0.0.113: fix reporting of pos_x and pos_y on collisions
  • 0.0.111: support timer events from socketio_server
  • 0.0.110: add method report(value: int | float, report_type: str, to: '__GAME_RUNNER__')
  • 0.0.109: fix typo in update_ellipse
  • 0.0.108: introduce clean_playground method to remove all sprites and lines from the current playground, but keep the playground config as is. And minor bug fixes.
  • 0.0.107: can mix absolute and relative movements with apply_movements and apply_movement
  • 0.0.106: add possibility to control movement distances
  • 0.0.105: control repeats of movement sequences
  • 0.0.104: add methods to apply movements to objects:
    # single movement
    device.apply_movement(id='circle', direction=[1, 1], time_span=1, speed=3)
    # movement sequence
    with device.apply_movements(id='circle') as movement:
        movement(direction=[1, 0], time_span=1, speed=2)
        movement(direction=[-1, 0], time_span=1, speed=2)
    
  • 0.0.103: change function annotation of set_timeout(callback, time, repeat=1) instead of set_timeout(callback, interval, iteration_count=inf)
  • 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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc