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
Close
Hashes for smartphone_connector-0.0.115.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8146e4b20795ed97a8e85226bc0eaf1c2a989175ba8a986118246ba56587d1f |
|
MD5 | dee63e41e54a48510d211a19a8300730 |
|
BLAKE2b-256 | 98d696115de4911fc7c10caf0d969779562a80b85f78417f4437927a03d98dcf |
Close
Hashes for smartphone_connector-0.0.115-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7d5ee113acf0c2200c09dc3087c8aa1e5debe6a4d2c3aa548b83d9db70d5427 |
|
MD5 | de3cc17035a3102b4cc123fb8e9f1b9b |
|
BLAKE2b-256 | dcf2650ec42d9da6831fdfdb2d0525315804ecfb621984c127c0fa227dc2e6ce |