1. 增加Iot实体类
from src.iot.thing import Thing, Parameter, ValueType
class Lekiwi(Thing):
def __init__(self):
super().__init__("Lekiwi", "lekiwi移动机器人")
self.current_car_status = "静止"
self.current_arm_status= "静止中"
self.is_moving_status = False
print(f"设备初始化完成")
# 定义属性
self._register_properties()
self._register_methods()
def _register_properties(self):
"""注册属性"""
self.add_property("current_car_status", "当前车辆状态", lambda: self.current_car_status)
self.add_property("current_arm_status", "当前机械臂状态", lambda: self.current_arm_status)
self.add_property("is_moving_status", "是否静止", lambda: self.is_moving_status)
def _register_methods(self):
"""注册方法"""
self.add_method(
"moveForward",
"向前移动",
[],
lambda params: self._move(0)
)
self.add_method(
"moveBackward",
"向后移动",
[],
lambda params: self._move(180)
)
self.add_method(
"moveLeft",
"向左移动",
[],
lambda params: self._move(270)
)
self.add_method(
"moveRight",
"向右移动",
[],
lambda params: self._move(90)
)
self.add_method(
"turnClockwise",
"原地正转",
[],
lambda params: self._turn(True)
)
self.add_method(
"turnAnticlockwise",
"原地反转",
[],
lambda params: self._turn(False)
)
self.add_method(
"move",
"向定方向移动(0-360)",
[Parameter("direction", "向指定方向平移", ValueType.NUMBER, True)],
lambda params: self._move(params["direction"].get_value())
)
def _move(self, direction: int):
print(f"车辆准备向{direction}方向运动")
return {"status": "success", "message": "移动完成"}
def _turn(self, direction: bool):
if direction:
direction = "顺时针"
else:
direction = "逆时针"
print(f"车辆准备向{direction}原地旋转")
return {"status": "success", "message": "原地旋转完成"}
2. 增加Iot设备
# application.py中的_initialize_iot_devices方法中增加
from src.iot.things.lekiwi import Lekiwi
thing_manager.add_thing(Lekiwi())
3. 仿真调试
4. 待接入车辆的遥控调试
【车辆遥控的开源代码单独调试】https://blog.csdn.net/suoxd123/article/details/146065673
【最终语音控制系统集】https://blog.csdn.net/suoxd123/article/details/148147034