155 lines
6.4 KiB
Plaintext
155 lines
6.4 KiB
Plaintext
# ============================================================================
|
|
# .env.deployed — a REDACTED snapshot of the .env actually running on the
|
|
# robot at /opt/sanad_api_eng/.env (mode 600, root).
|
|
#
|
|
# This is the real deployed configuration, captured so the folder is a
|
|
# complete record of what is live. THE TOKENS HAVE BEEN REMOVED:
|
|
#
|
|
# DEVICE_TOKEN=REPLACE_WITH_ECO_DEV_TOKEN <- was the working eco-dev token
|
|
# SERVER_2_TOKEN= <- was already empty (eco 401s)
|
|
#
|
|
# Every other value is exactly what the live service is using.
|
|
#
|
|
# To rebuild the robot from this file:
|
|
# scp agent/.env.deployed ubuntu@10.210.136.150:/tmp/.env
|
|
# ssh ubuntu@10.210.136.150 'sudo install -m600 -o root -g root /tmp/.env \
|
|
# /opt/sanad_api_eng/.env && rm /tmp/.env'
|
|
# # then put the real token back:
|
|
# ssh ubuntu@10.210.136.150 "sudo sed -i \
|
|
# 's#^DEVICE_TOKEN=.*#DEVICE_TOKEN=<token>#' /opt/sanad_api_eng/.env && \
|
|
# sudo systemctl restart sanad-api-eng"
|
|
# ============================================================================
|
|
|
|
# sanad_api_eng — EngineAI PM01 (10.210.136.150). LIVE CONFIG.
|
|
# Generated from .env.example; every value below was verified on this robot.
|
|
|
|
# ── fleet servers (same payload to every enabled one) ────────────────────────
|
|
SERVER_URL=https://eco-dev.yslootahrobotics.com
|
|
DEVICE_TOKEN=REPLACE_WITH_ECO_DEV_TOKEN
|
|
SERVER_NAME=eco-dev
|
|
SERVER_ENABLE=1
|
|
|
|
# eco (production) rejected the token above with 401 — identically to a garbage
|
|
# token, so it is the app's auth layer, not a firewall. eco issues its own
|
|
# tokens. Paste it below and set SERVER_2_ENABLE=1, then restart the service.
|
|
SERVER_2_URL=https://eco.yslootahrobotics.com
|
|
SERVER_2_TOKEN=
|
|
SERVER_2_NAME=eco
|
|
SERVER_2_ENABLE=0
|
|
SERVER_2_SHARE_TOKEN=0
|
|
|
|
# ── identity ─────────────────────────────────────────────────────────────────
|
|
SN=PM01-1421326045624
|
|
ROBOT_NAME=pm01_150
|
|
ROBOT_BRAND=engineai
|
|
ROBOT_TYPE=humanoid
|
|
ROBOT_MODEL=pm01
|
|
ROBOT=sanad
|
|
STORAGE_DATA_PATH=/home/ubuntu/sanad_t8/data
|
|
|
|
# ── PM01 state source ────────────────────────────────────────────────────────
|
|
ENG_SOURCE=ros2
|
|
ENG_TOPIC_POWER=/hardware/power_info
|
|
ENG_TYPE_POWER=interface_protocol/msg/PowerInfo
|
|
ENG_TOPIC_MOTORS=/hardware/motor_debug
|
|
ENG_TYPE_MOTORS=interface_protocol/msg/MotorDebug
|
|
ENG_TOPIC_JOINTS=/hardware/joint_state
|
|
ENG_TYPE_JOINTS=interface_protocol/msg/JointState
|
|
ENG_TOPIC_MOTION=/motion/motion_state
|
|
ENG_TYPE_MOTION=interface_protocol/msg/MotionState
|
|
ENG_TOPIC_ODOM=
|
|
ENG_TYPE_ODOM=nav_msgs/msg/Odometry
|
|
ROS_DOMAIN_ID=69
|
|
ENG_ROS_QOS=best_effort
|
|
ENG_JOINT_MIN_PERIOD=0.05
|
|
ENG_MOTOR_MIN_PERIOD=0.2
|
|
|
|
# ── field mapping ────────────────────────────────────────────────────────────
|
|
ENG_FIELD_SOC=percentage
|
|
ENG_FIELD_VOLTAGE=voltage
|
|
ENG_FIELD_CURRENT=current
|
|
ENG_FIELD_CURRENT_LIMIT=current_limit
|
|
ENG_FIELD_POWER_ERR=error_code
|
|
ENG_FIELD_POWER_ENABLE=enable
|
|
ENG_FIELD_TEMP=
|
|
ENG_FIELD_SOH=
|
|
ENG_FIELD_CYCLES=
|
|
ENG_FIELD_TEMPS=motor_temperature
|
|
ENG_FIELD_MOS_TEMPS=mos_temperature
|
|
ENG_FIELD_MOTOR_ERR=error_code
|
|
ENG_FIELD_MOTOR_OFFLINE=offline
|
|
ENG_FIELD_VEL=velocity
|
|
ENG_FIELD_MOTION=current_motion_task
|
|
ENG_FIELD_TRANSITIONS=available_transition_motions
|
|
ENG_FIELD_X=pose.pose.position.x
|
|
ENG_FIELD_Y=pose.pose.position.y
|
|
ENG_FIELD_FW=
|
|
|
|
# ── unit conventions (measured on this robot) ────────────────────────────────
|
|
ENG_SOC_SCALE=percent
|
|
ENG_CURRENT_SIGN=-1
|
|
ENG_VOLTAGE_SCALE=1
|
|
ENG_CURRENT_SCALE=1
|
|
|
|
# ── position (no odometry on the PM01 — reports null, never a fake origin) ───
|
|
ENG_POSITION_SOURCE=none
|
|
ENG_POSITION_URL=http://127.0.0.1:8014/api/nav/status
|
|
ENG_POSITION_FIELD_X=pose.x
|
|
ENG_POSITION_FIELD_Y=pose.y
|
|
ENG_POSITION_INTERVAL=2
|
|
ROSBRIDGE_URL=ws://127.0.0.1:9090
|
|
|
|
# ── identity / networking ────────────────────────────────────────────────────
|
|
MAC_INTERFACE=wlP1p1s0
|
|
|
|
# ── fault thresholds ─────────────────────────────────────────────────────────
|
|
LOW_SOC=50
|
|
MOTOR_TEMP_MAX=85
|
|
MOS_TEMP_MAX=100
|
|
MOVING_VEL=0.15
|
|
|
|
# ── cadence / transport ──────────────────────────────────────────────────────
|
|
POLL_INTERVAL=2
|
|
VERIFY_TLS=1
|
|
HTTP_TIMEOUT=30
|
|
TZ_OFFSET_HOURS=4
|
|
|
|
# ── map sync ─────────────────────────────────────────────────────────────────
|
|
MAPS_DIR=/home/ubuntu/sanad_t8/data/maps
|
|
EXTRA_MAP_DIRS=
|
|
DATA_DIR=/home/ubuntu/sanad_t8/data
|
|
STATE_DIR=/var/lib/sanad_api_eng
|
|
MAP_SELECT=all
|
|
MAP_UPLOAD_MODE=multipart
|
|
MAP_POLL_INTERVAL=30
|
|
MAP_MAX_UPLOAD_MB=7
|
|
WEB_NAV3_URL=
|
|
|
|
# ── logs + alerts ────────────────────────────────────────────────────────────
|
|
LOGS_INTERVAL=60
|
|
PROJECT_LOG_CONTAINER=auto
|
|
PROJECT_LOG_PATH=
|
|
PROJECT_LOG_LABEL=
|
|
PROJECT_LOG_BACKFILL=100
|
|
ALERT_SCAN_INTERVAL=10
|
|
ALERT_LOG_COOLDOWN=300
|
|
|
|
# ── remote ───────────────────────────────────────────────────────────────────
|
|
REMOTE_ENABLE=1
|
|
REMOTE_PORTS=8014,8001,9002,9003,8000,8080
|
|
REMOTE_KIND=web
|
|
REMOTE_INTERVAL=60
|
|
REMOTE_URL=
|
|
REMOTE_HOST=
|
|
SSH_REGISTER=1
|
|
SSH_USER=ubuntu
|
|
SSH_PORT=22
|
|
|
|
# ── control (READ-ONLY) ──────────────────────────────────────────────────────
|
|
CONTROL_STATUS_URL=http://127.0.0.1:8014/api/controller/status
|
|
CONTROL_ENABLE=0
|
|
|
|
# raw subscriptions for the 500Hz/100Hz topics (see AGENT_README)
|
|
ENG_RAW_SUBSCRIBE=1
|
|
ERROR_LOG_COOLDOWN=60
|