Metadata-Version: 2.4
Name: n10w02
Version: 0.0.5
Summary: cannon n10w02 camera
Author-email: Kengo NAKADA <kengo.nakada@email.com>
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: xlogger-py
Requires-Dist: ese774-frame
Requires-Dist: setuptools
Requires-Dist: python-dotenv
Requires-Dist: fastapi
Requires-Dist: fastapi-utils
Requires-Dist: uvicorn
Requires-Dist: pydantic
Requires-Dist: starlette
Requires-Dist: requests
Requires-Dist: aiohttp
Requires-Dist: httpx
Requires-Dist: pywin32; sys_platform == "win32"
Requires-Dist: coloredlogs
Requires-Dist: colorlog
Requires-Dist: pytest
Requires-Dist: pytest-asyncio
Requires-Dist: pyyaml
Requires-Dist: toml
Requires-Dist: tomli; python_version < "3.11"
Requires-Dist: importlib-metadata>=4.0; python_version < "3.8"
Requires-Dist: nest_asyncio
Requires-Dist: sphinx
Requires-Dist: myst-parser
Requires-Dist: sphinx-autobuild
Requires-Dist: sphinx-rtd-theme
Requires-Dist: sphinxcontrib-napoleon
Requires-Dist: linkify-it-py
Requires-Dist: grpcio
Requires-Dist: grpcio-tools
Requires-Dist: google
Requires-Dist: pygame
Dynamic: license-file

# N10-W02 gRPC

`N10W02Ctrl` をそのまま `grpc_frame` に載せる最小構成である。

## 修正点

BMP が 8 MB 程度になるため、gRPC Python の既定受信上限 4 MB に当たる。  
`grpc_frame` に `grpc_options` を渡す口を追加し、N10-W02 の server/client では 64 MB を指定する。

## 画像取得

```python
client = N10W02GrpcClient(
    server_ip="127.0.0.1",
    grpc_port=50051,
    max_message_mb=64,
)

image = client.capture_bmp_bytes(focus=False)

with open("capture.bmp", "wb") as f:
    f.write(image)
```

## サーバー

```bash
python n10w02_grpc_server.py
```

`N10W02Ctrl` は `create_com_grpc_server()` に直接載せる。  
EventBus、stream、画像ラッパーは使わない。
