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.11",
"maintainer_email": null,
"keywords": "xkit, genlib",
"author": "chanmin.park",
"author_email": "devcamp@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ea/4e/e89314ae36f43e861e5460cbad287dbba02459dccb7394e78065826ff9e3/smon-1.0.0.2.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.0.0.2",
"project_urls": {
"Homepage": "https://github.com/planxstudio/xkit"
},
"split_keywords": [
"xkit",
" genlib"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "167c2bd7238c41a7c5217ef42e104d55a7abb4629edfed95aba17f2507a01d0b",
"md5": "7201fc44a48ea7f3f879eb0330d1b2bd",
"sha256": "fe7eba15a415fe0c561bc75c9ef987c51880880bf33c08251b5b3dbb7a8a8185"
},
"downloads": -1,
"filename": "smon-1.0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7201fc44a48ea7f3f879eb0330d1b2bd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 40886,
"upload_time": "2024-04-02T15:33:11",
"upload_time_iso_8601": "2024-04-02T15:33:11.582111Z",
"url": "https://files.pythonhosted.org/packages/16/7c/2bd7238c41a7c5217ef42e104d55a7abb4629edfed95aba17f2507a01d0b/smon-1.0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ea4ee89314ae36f43e861e5460cbad287dbba02459dccb7394e78065826ff9e3",
"md5": "b1e3e9433b3b0f23e9fa9c6991abe27b",
"sha256": "94672c837bf4a272c6c5e82d0f0cda756c6d5978416fe465db8497e0ec778d77"
},
"downloads": -1,
"filename": "smon-1.0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "b1e3e9433b3b0f23e9fa9c6991abe27b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 42198,
"upload_time": "2024-04-02T15:33:13",
"upload_time_iso_8601": "2024-04-02T15:33:13.491152Z",
"url": "https://files.pythonhosted.org/packages/ea/4e/e89314ae36f43e861e5460cbad287dbba02459dccb7394e78065826ff9e3/smon-1.0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-02 15:33:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "planxstudio",
"github_project": "xkit",
"github_not_found": true,
"lcname": "smon"
}