graydot 发表于 2023-1-12 12:12:21

小白再次求助………………esp32+esphome 控制舵机问题

本帖最后由 graydot 于 2023-1-12 12:28 编辑

这两天把esp32刷写固件,esphome的工作大致琢磨明白点了,,,开始着手操作实验第一个实验控制舵机,就卡住了


环境esp32 DEUKIT V1开发板(wroom-32),,,群晖docker安装esphome( v2022.12.3 Documentation),,群晖docker安装homeassistant(20221213.1 - latest),不是虚拟机。


主要问题是上传完固件,,Hass只能发现esp32的设备,找不到舵机(servo)实体,其它的灯、switch 、binary_sensor都能正常显示,还请大神帮忙指点一下:

这个是照抄hugh_jie老师自动喂狗的代码,的固件,,在hass中只能找到手动喂狗的实体,没有舵机的数值实体和服务(可以通过服务设置滑块操作),esp32的WEB也没有舵机相关的实体
<blockquote>
esphome:
name: esp32

esp32:
board: esp32doit-devkit-v1
framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API


ota:
password: "xz001"

wifi:
ssid: "zhijia"
password: "xiaozhi001"
manual_ip:
   static_ip: 192.168.0.200
   gateway: 192.168.0.1
   subnet: 255.255.255.0
   dns1: 219.149.194.55
   dns2: 219.149.194.56


# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
    ssid: "Esp32 Fallback Hotspot"
    password: "oJKUGVf4uxCp"

api:
services:
    - service: control_servo
      variables:
      level: float
      then:
      - servo.write:
            id: my_servo
            level: !lambda 'return level / 100.0;'

light:
- platform: binary
    name: "LED On NodeMCU Board"
    output: my_led


binary_sensor:
- platform: gpio
    pin: GPIO13
    name: "手动喂狗"
    on_state:
      then:
      - servo.write:
          id: my_servo
          level: -100.0%
      - delay: 2s
      - servo.write:
          id: my_servo
          level: 0%      

- platform: gpio
    pin: GPIO26
    name: "反向喂狗"
    on_state:
      then:
      - servo.write:
          id: my_servo
          level: 100.0%
      - delay: 2s
      - servo.write:
          id: my_servo
          level: 0%      
servo:
- id: my_servo
    output: pwm_output


# Example output platform
# On ESP32, use ledc output
output:
- platform: ledc
    id: pwm_output
    pin: GPIO27
    frequency: 50 Hz

- platform: gpio
    pin: GPIO2
    id: my_led

web_server:
port: 80

captive_portal:






在触发GPIO13引脚时,舵机是可以正常相应运动,这样看代码的关联和PWM输出都是没问题的,但是找不到service: control_servo的API服务



liujiang567 发表于 2023-1-12 14:50:57

接线图最好加上,不然别人不好判断

graydot 发表于 2023-1-12 16:02:59

liujiang567 发表于 2023-1-12 14:50
接线图最好加上,不然别人不好判断

好的,但我现在的问题好像跟接线没啥关系,是ESPhome的API服务,Hass搜索不出来

liujiang567 发表于 2023-1-12 17:18:23

graydot 发表于 2023-1-12 16:02
好的,但我现在的问题好像跟接线没啥关系,是ESPhome的API服务,Hass搜索不出来 ...

舵机得和板子共地

graydot 发表于 2023-1-12 20:10:12

liujiang567 发表于 2023-1-12 17:18
舵机得和板子共地

我现在的接线是舵机和开发板同一电源,共地。而且按代码配置的触发引脚也都能正常控制舵机运行,但是在homeassistant里只能看见esp32设备和开关量的实体,找不到舵机控制的API服务接口。

liujiang567 发表于 2023-1-13 17:01:22

graydot 发表于 2023-1-12 20:10
我现在的接线是舵机和开发板同一电源,共地。而且按代码配置的触发引脚也都能正常控制舵机运行,但是在ho ...

本来就看不到,你要在服务里面找。

graydot 发表于 2023-1-14 08:19:31

liujiang567 发表于 2023-1-13 17:01
本来就看不到,你要在服务里面找。

感谢回复,求问这个API服务只能是在HA的configuration中手动代码配置么?图形界面里是找不到对么?,还有在esp32设备固件的web页面上也看不到这个服务接口么?

liujiang567 发表于 2023-1-15 10:43:25

graydot 发表于 2023-1-14 08:19
感谢回复,求问这个API服务只能是在HA的configuration中手动代码配置么?图形界面里是找不到对么?,还有 ...

你在ha的开发者工具 里面的服务里面搜关键字

graydot 发表于 2023-1-15 14:54:48

liujiang567 发表于 2023-1-15 10:43
你在ha的开发者工具 里面的服务里面搜关键字

感谢大大指点,,,在开发者工具里找到了,原以为ha和esphome它俩关系这么好,能无脑工作呢:lol

liujiang567 发表于 2023-1-16 16:12:32

graydot 发表于 2023-1-15 14:54
感谢大大指点,,,在开发者工具里找到了,原以为ha和esphome它俩关系这么好,能无脑工作呢 ...

话说你喂狗的东西是自己3d打印的?
页: [1] 2
查看完整版本: 小白再次求助………………esp32+esphome 控制舵机问题