zkdog/README.md

162 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# zkdog
这里是基于宇树科技机器狗go1二次开发相关配置经验以及一些问题的解决方案包括python版本的机器狗的控制api的二次封装方便大家快速开发。
# Go1系统架构图二开
![Untitled](docs/image/dog.png)
[Go1系统架构图 (yuque.com)](https://www.yuque.com/ironfatty/nly1un/fscioc)
主控板MCU192.168.123.10
运动控制主板RasPi 4B192.168.123.161
感知主板Nano头部、192.168.123.13、Nano机身、192.168.123.14、Nano或NX机身、192.168.123.15
# 一、基础环境配置
如何进入各个板子?
```bash
# 首先连接机器狗的wifi 密码 00000000
# 进入运动控制主板
ssh pi@192.168.12.1 # 密码 123
# 进入主控板之后,可以进入其他板子
ssh unitree@192.168.123.XX # 密码 123
```
## 1.网络环境配置
网络环境配置有两种解决办法一种是采用官方给出的方案采用内置无线网卡实现运动控制主板上网弊端其他板子无法上网另一种则是采用有线上网的方式这里推荐采用配置http代理的方式实现无侵入式实现所有板子上网的问题。[网络配置详情](docs/网络环境配置.md)。
## 2.开发环境配置
### 2.1 code-server配置
树莓派/nx 板子 arm64机器 版本不需要太高即可
code-server-3.9.3-linux-arm64.tar.gz
[https://github.com/coder/code-server/releases?page=4](https://github.com/coder/code-server/releases?page=4)
```bash
# 安装
tar -zxvf code-server-3.9.3-linux-arm64.tar.gz
mv code-server-3.9.3-linux-arm64 code-server
# 第一次运行生成配置
cd code-server/bin
./code-server
# 编辑配置文件
vim ~/.config/code-server/config.yaml
#bind-addr: 0.0.0.0:8888
#auth: password
#password: 123456
#cert: false
# 软链接
sudo ln -s /home/unitree/alg/code-server/bin/code-server /usr/bin/code-server
# 配置启动文件
vim code-start.sh
#! /bin/sh
su unitree -c 'export PASSWORD="123"; nohup code-server --host 0.0.0.0 --port 8888 --auth password > /home/unitree/alg/code-server.log 2>&1 &'
# 修改权限code-start.sh
sudo chmod +x code-start.sh
```
配置code-srever开机自启
rc.local脚本是一个ubuntu开机后会自动执行的脚本我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下需要root权限才能修改。
该脚本具体格式如下:
```bash
sudo vim /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sh /home/unitree/alg/code-start.sh
exit 0
```
注意: 一定要将命令添加在 exit 0之前
### 2.2 主控板nginx 新增配置(切记不要修改内部配置)
```bash
sudo vim /etc/nginx/sites-available/default
location /codeServer {
proxy_pass ~~http://127.0.0.1:8080/~~ 修改为配置的 code-server 地址;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
# 重启nginx服务
sudo nginx -t && sudo nginx -s reload
# 启动之后,我们看一下 Nginx 是否处于运行状态。
sudo service nginx status
```
配置完成后可通过192.168.12.1/codeServer访问code-server 服务, 如果配置不生效请检测http代理是否规避掉 需要nginx代理的ip
### 2.3 python 环境配置 建议不要直接在内部python环境安装第三方包防止冲突
```bash
# 安装python3.6
# 下载python3.6.4
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
# 解压
tar -zxvf Python-3.6.4.tgz
# 创建目录
sudo mkdir /home/unitree/python3.6
#编译安装(在解压出来的目录下执行)
#建议make和make install 分两步
sudo ./configure --prefix=/home/unitree/python3.6
sudo make
sudo make install
#添加软链接
sudo ln -s /home/unitree/python3.6/bin/python3.6 /usr/bin/python36
ls -al # 查看软链接
# 如果新装的python中含有pip 同上可添加软链接的形式, 否则后期pip使用可以按如下方式
# python36 -m pip list
python36 -m pip install XXX
```
# 二、ZKMetaApi 使用
# Tips
## [code-server安装插件证书问题](docs/code-server安装插件证书问题.md)