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.
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.
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
andpos_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
andapply_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)
- adding example playground_flappy.py
- 0.0.103: change function annotation of
set_timeout(callback, time, repeat=1)
instead ofset_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. Eventauto_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 inconfigure_playground
and start/stop sounds withplay_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
andborder_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
Built Distribution
File details
Details for the file smartphone_connector-0.0.115.tar.gz
.
File metadata
- Download URL: smartphone_connector-0.0.115.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8146e4b20795ed97a8e85226bc0eaf1c2a989175ba8a986118246ba56587d1f |
|
MD5 | dee63e41e54a48510d211a19a8300730 |
|
BLAKE2b-256 | 98d696115de4911fc7c10caf0d969779562a80b85f78417f4437927a03d98dcf |
File details
Details for the file smartphone_connector-0.0.115-py3-none-any.whl
.
File metadata
- Download URL: smartphone_connector-0.0.115-py3-none-any.whl
- Upload date:
- Size: 30.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7d5ee113acf0c2200c09dc3087c8aa1e5debe6a4d2c3aa548b83d9db70d5427 |
|
MD5 | de3cc17035a3102b4cc123fb8e9f1b9b |
|
BLAKE2b-256 | dcf2650ec42d9da6831fdfdb2d0525315804ecfb621984c127c0fa227dc2e6ce |