Metadata-Version: 2.1
Name: go2doggy
Version: 0.1.0
Summary: 简单易用的Go2机器狗控制库，让小学生也能轻松控制机器人！
Home-page: https://github.com/go2doggy/go2doggy
Author: Go2Doggy Team
Author-email: Go2Doggy Team <contact@go2doggy.com>
License: MIT
Project-URL: Homepage, https://github.com/go2doggy/go2doggy
Project-URL: Documentation, https://go2doggy.readthedocs.io/
Project-URL: Repository, https://github.com/go2doggy/go2doggy
Project-URL: Bug Tracker, https://github.com/go2doggy/go2doggy/issues
Keywords: robotics,go2,dog,robot,education,stem,python,control,automation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Hardware
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=2.0; extra == "dev"
Requires-Dist: black>=21.0; extra == "dev"
Requires-Dist: flake8>=3.8; extra == "dev"
Requires-Dist: mypy>=0.800; extra == "dev"
Provides-Extra: examples
Requires-Dist: matplotlib>=3.0; extra == "examples"
Requires-Dist: numpy>=1.19; extra == "examples"

# 🐕 Go2Doggy

[![Python Version](https://img.shields.io/badge/python-3.7+-blue.svg)](https://python.org)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![PyPI Version](https://img.shields.io/pypi/v/go2doggy.svg)](https://pypi.org/project/go2doggy/)

**简单易用的Go2机器狗控制库，让小学生也能轻松控制机器人！**

## 🌟 特点

- 🎯 **简单易用**: 专为初学者设计，API简洁明了
- 🔧 **自动配置**: 自动检测网络接口和IP地址
- 🎮 **丰富功能**: 支持运动控制、LED灯效等多种功能
- 📚 **教育友好**: 提供完整的教学示例和文档
- 🛠️ **易于扩展**: 模块化设计，方便添加新功能

## 🚀 快速开始

### 安装

```bash
pip install go2doggy
```

### 基础使用

```python
from go2doggy import Go2Dog, MovementCommands, LEDCommands

# 创建机器狗实例
dog = Go2Dog()

# 自动搜索并连接
if dog.connect():
    # 创建控制命令
    movement = MovementCommands(dog)
    led = LEDCommands(dog)
    
    # 控制机器狗前进
    movement.forward(0.8, 2.0)  # 速度0.8，持续2秒
    
    # 设置LED颜色
    led.set_color("red")
    
    # 让机器狗跳舞
    movement.dance()
    
    # 断开连接
    dog.disconnect()
```

## 📖 详细文档

### 核心功能

#### 1. 自动连接
```python
from go2doggy import Go2Dog

# 自动检测网络和IP
dog = Go2Dog()
dog.connect()  # 自动搜索并连接

# 手动指定IP
dog = Go2Dog("192.168.1.100")
dog.connect()
```

#### 2. 运动控制
```python
from go2doggy import MovementCommands

movement = MovementCommands(dog)

# 基础运动
movement.forward(0.5, 1.0)    # 前进1秒
movement.backward(0.5, 1.0)   # 后退1秒
movement.turn_left(90)        # 左转90度
movement.turn_right(90)       # 右转90度
movement.stop()               # 停止

# 特殊动作
movement.dance()              # 跳舞
```

#### 3. LED控制
```python
from go2doggy import LEDCommands

led = LEDCommands(dog)

# 颜色控制
led.set_color("red")          # 设置红色
led.set_color("blue")         # 设置蓝色

# 灯效控制
led.blink(3, 0.5)            # 闪烁3次，间隔0.5秒
led.rainbow()                 # 彩虹灯效
```

#### 4. 动作序列
```python
from go2doggy.utils import SequenceRunner

# 创建动作序列
runner = SequenceRunner()
runner.add_action("forward", 0.8, 1.0)
runner.add_action("turn_left", 90)
runner.add_action("forward", 0.8, 1.0)

# 执行序列
runner.run_sequence(dog)
```

## 🎓 教育示例

### 让机器狗画正方形

```python
from go2doggy import Go2Dog, MovementCommands

dog = Go2Dog()
if dog.connect():
    movement = MovementCommands(dog)
    
    # 画正方形的4条边
    for i in range(4):
        movement.forward(1.0, 2.0)  # 前进2秒
        movement.turn_left(90)       # 左转90度
    
    dog.disconnect()
```

### 音乐舞蹈表演

```python
from go2doggy import Go2Dog, MovementCommands, LEDCommands
import time

dog = Go2Dog()
if dog.connect():
    movement = MovementCommands(dog)
    led = LEDCommands(dog)
    
    # 配合音乐的动作序列
    led.rainbow()                    # 彩虹灯效
    movement.dance()                 # 跳舞动作
    
    dog.disconnect()
```

## 🛠️ 开发指南

### 本地开发

```bash
# 克隆仓库
git clone https://github.com/go2doggy/go2doggy.git
cd go2doggy

# 安装开发依赖
pip install -e .[dev]

# 运行测试
python -m pytest tests/

# 代码格式化
black go2doggy/
```

### 项目结构

```
go2doggy/
├── go2doggy/           # 主包目录
│   ├── __init__.py     # 包初始化
│   ├── core.py         # 核心连接功能
│   ├── commands.py     # 控制命令
│   └── utils.py        # 工具函数
├── tests/              # 测试文件
├── examples/           # 示例代码
├── setup.py           # 安装配置
├── pyproject.toml     # 项目配置
└── README.md          # 项目说明
```

## 🤝 贡献

欢迎贡献代码！请查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详细信息。

## 📄 许可证

本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。

## 🙏 致谢

感谢所有为这个项目做出贡献的开发者和用户！

## 📞 联系我们

- 📧 Email: contact@go2doggy.com
- 🐛 Issues: [GitHub Issues](https://github.com/go2doggy/go2doggy/issues)
- 📖 文档: [在线文档](https://go2doggy.readthedocs.io/)

---

**让每个孩子都能享受机器人编程的乐趣！** 🚀
