This is a sensor data oscilloscope for xkit.
### History
- V1.0.0
- Real-time sensor data plotting
- Supports plotting up to 16 data
- Support plotting selection
- Supports saving collected data as csv format file
- UDPServer or MulticastReceiver
### Install
```sh
pip install quat
```
### Dependencies
- PySide6
- PythonQwt
- numpy
- genlib
### Run
**UDP Server (default port 7321)**
```sh
smon
```
**MulticastReceiver (default group 239.8.7.6, default port 7321)**
```sh
smon --mcast
```
**options**
--mcast
--group=\<group\> (default 239.8.7.6)
--iport=\<port\> (default 7321)
--log=\<stream | file>
### Client Implementations
- UDPClient or MulticastSender
**sensor data format**
```sh
x, y, z, ...
```
**Example**
```python
import time
from genlib.upd import UDPClient
from pop.ext import IMU
imu = IMU()
udp = UDPClient()
SMON_IP = '192.168.0.100'
SMON_PORT = 7321
while True:
w, x, y, z = imu.read(IMU.QUATERNION)
data = "{},{},{},{},".format(w, x, y, z)
x, y, z = imu.read(IMU.ACCELERATION)
data += "{},{},{},".format(x, y, z)
x, y, z = imu.read(IMU.GYROSCOPE)
data += "{},{},{},".format(x, y, z)
x, y, z = imu.read(IMU.MAGNETIC)
data += "{},{},{},".format(x, y, z)
x, y, z = imu.read(IMU.EULER)
data += "{},{},{}".format(x, y, z)
udp.sendTo(data.encode(), (SMON_IP, SMON_PORT))
time.sleep(20/1000)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/planxstudio/xkit",
"name": "smon",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "xkit, genlib",
"author": "chanmin.park",
"author_email": "devcamp@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a8/5b/b1b5e321afea97d5e30b1439c8a82297e0fb7d92938c4ac68039df4059ca/smon-1.1.0.tar.gz",
"platform": null,
"description": "This is a sensor data oscilloscope for xkit.\r\n\r\n### History\r\n- V1.0.0\r\n - Real-time sensor data plotting\r\n - Supports plotting up to 16 data\r\n - Support plotting selection\r\n - Supports saving collected data as csv format file\r\n - UDPServer or MulticastReceiver\r\n\r\n### Install\r\n```sh\r\npip install quat\r\n```\r\n\r\n### Dependencies\r\n- PySide6\r\n- PythonQwt\r\n- numpy\r\n- genlib\r\n\r\n### Run\r\n**UDP Server (default port 7321)**\r\n```sh\r\nsmon\r\n```\r\n\r\n**MulticastReceiver (default group 239.8.7.6, default port 7321)**\r\n```sh\r\nsmon --mcast\r\n```\r\n\r\n**options** \r\n--mcast\r\n--group=\\<group\\> (default 239.8.7.6)\r\n--iport=\\<port\\> (default 7321)\r\n--log=\\<stream | file>\r\n\r\n### Client Implementations\r\n- UDPClient or MulticastSender\r\n\r\n**sensor data format**\r\n ```sh\r\n x, y, z, ...\r\n ```\r\n\r\n**Example**\r\n ```python\r\n import time\r\n from genlib.upd import UDPClient\r\n from pop.ext import IMU\r\n\r\n imu = IMU()\r\n udp = UDPClient()\r\n \r\n SMON_IP = '192.168.0.100'\r\n SMON_PORT = 7321\r\n\r\n while True:\r\n w, x, y, z = imu.read(IMU.QUATERNION)\r\n data = \"{},{},{},{},\".format(w, x, y, z)\r\n x, y, z = imu.read(IMU.ACCELERATION)\r\n data += \"{},{},{},\".format(x, y, z)\r\n x, y, z = imu.read(IMU.GYROSCOPE) \r\n data += \"{},{},{},\".format(x, y, z)\r\n x, y, z = imu.read(IMU.MAGNETIC)\r\n data += \"{},{},{},\".format(x, y, z)\r\n x, y, z = imu.read(IMU.EULER)\r\n data += \"{},{},{}\".format(x, y, z)\r\n\r\n udp.sendTo(data.encode(), (SMON_IP, SMON_PORT))\r\n time.sleep(20/1000) \r\n ```\r\n",
"bugtrack_url": null,
"license": null,
"summary": "This is a sensor data oscilloscope for xkit.",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/planxstudio/xkit"
},
"split_keywords": [
"xkit",
" genlib"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "031534c3ff962f8107843c2f863d70480fb7299740819b88dfa13d90d90208df",
"md5": "ab7100584692428bb2a7ddc799f4c45b",
"sha256": "b562ee7bcec3a171399f1c84a934dd7a56f2500050a343bc5efb4606aba6a811"
},
"downloads": -1,
"filename": "smon-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ab7100584692428bb2a7ddc799f4c45b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 40860,
"upload_time": "2024-05-20T07:54:50",
"upload_time_iso_8601": "2024-05-20T07:54:50.273777Z",
"url": "https://files.pythonhosted.org/packages/03/15/34c3ff962f8107843c2f863d70480fb7299740819b88dfa13d90d90208df/smon-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a85bb1b5e321afea97d5e30b1439c8a82297e0fb7d92938c4ac68039df4059ca",
"md5": "cf333a2d8a323f6d79ff4a01ae057b8f",
"sha256": "536578fdb192fca1e8c2124c4fd382ab3c78c056a478e272f0c8b44cb7d56395"
},
"downloads": -1,
"filename": "smon-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "cf333a2d8a323f6d79ff4a01ae057b8f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 42209,
"upload_time": "2024-05-20T07:54:52",
"upload_time_iso_8601": "2024-05-20T07:54:52.115580Z",
"url": "https://files.pythonhosted.org/packages/a8/5b/b1b5e321afea97d5e30b1439c8a82297e0fb7d92938c4ac68039df4059ca/smon-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-20 07:54:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "planxstudio",
"github_project": "xkit",
"github_not_found": true,
"lcname": "smon"
}