请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 2931|回复: 144

[进阶教程] 咸鱼捡垃圾(智能插头)

  [复制链接]

24

主题

225

帖子

1944

积分

论坛技术达人

积分
1944
金钱
1684
HASS币
160
发表于 2022-6-19 16:38:49 | 显示全部楼层 |阅读模式
本帖最后由 trz0332 于 2022-6-19 23:36 编辑

额,咸鱼又有垃圾了,9.9一个的插头,卖家介绍说是esp32的芯片,不过是单核的ESP32-S0WD,所以需要在esphome固件修改部分配置首先这个玩意长这样,2个USB口,总共可以提供5V2.1A的电流
外形.jpg

后面表现下面有一颗螺丝,拆开之后从傍边的卡扣翘一下,基本上可以无损拆机,
拆机.jpg

拆开后找到芯片引脚,万用表先确认芯片的VCC和GND。其实这个还是很好确认的。基本上去找一颗AMS1117的dc-dc的芯片,然后找rx和tx,gpio0.这3个为刷机必备的端口。
拿万用表扫一下板子上的段子,然后扣开屏蔽层,找到裸漏的芯片,官网去找芯片对应的引脚GPIO。最后确定了这几个引脚
接线.png
焊上刷机线
接线2.jpg
编辑配置,基本上所有的esp的都能用这个配置文件,只需要在substitutions字段里面吧对应的GPIO改掉就行



#反  1  gnd  2 tx

#正  7  vcc 6 RX  5 gpiox  4 gpio0  3 gpio27  2 gpiox 1
#led绿  gpio26
<<: !include config.yaml
substitutions:
  device_name: pc_esp32  #设备名称(多个改成不一样的)
  button_pin: GPIO27 
  relay_pin: GPIO5
  led_state_pin: GPIO26
  led_relay_pin: GPIO25


esphome:
  name: $device_name
  platform: ESP32
  board:  esp32dev
  build_path: build/$device_name
  name_add_mac_suffix: true
  platformio_options:
    platform: 
      - espressif32@3.0.0
    platform_packages: 
      - framework-arduinoespressif32 @ https://github.com/agners/arduino-esp32.git#1.0.6-solo
#      - tasmota/framework-arduinoespressif32 @ 3.10006.210420

status_led:
  pin:
    number: $led_state_pin
    inverted: true

logger:
  baud_rate: 0


globals:
   - id: auto_gl
     type: int
     restore_value: yes
     initial_value: "1"


binary_sensor:
  - platform: gpio
    pin:
      number: $button_pin
      inverted: true
      mode:
        input: true
        pullup: true
    name: "${device_name}_B1"
    id: "${device_name}_B1"  
    on_click:
    - min_length: 50ms
      max_length: 1000ms
      then:
        - if:
            condition:
              lambda: 'return id(${device_name}_auto).state  ;'
            then:
              - switch.toggle: "${device_name}_relay"
    - min_length: 5000ms
      max_length: 10000ms
      then:
        - switch.toggle: '${device_name}_auto'  



light:
  - platform: binary
    output: light_output
    name: "${device_name}_relay_led"
    id: "${device_name}_relay_led"

output:
  - id: light_output
    platform: gpio
    pin:
      number: $led_relay_pin
      inverted: true
sensor:
  - platform: wifi_signal
    name: "${device_name}_RSSI"
    update_interval: 60s
text_sensor:
  - platform: wifi_info
    ip_address:
      name: '${device_name}_IP'
    mac_address:
      name: '${device_name}_MAC'
switch:  
  - platform: restart
    name: "${device_name}_Restart"
  - platform: safe_mode
    name: "${device_name}_SafeMode"
  - platform: gpio   #继电器
    pin: $relay_pin
    name: "${device_name}_relay"
    id: "${device_name}_relay"  
    on_turn_on:
      then: 
        - light.turn_on: "${device_name}_relay_led"
    on_turn_off:
      then: 
        - light.turn_off: "${device_name}_relay_led"

  - platform: template
    name: "${device_name}_auto"
    id: "${device_name}_auto"
    turn_on_action:
      then:
        - lambda: |-
            id(auto_gl)=1;
    turn_off_action:
      then:
        - lambda: |-
            id(auto_gl)=0;
    lambda: |-
        return id(auto_gl);






刷固件成功
刷机.png

打开esphome网页
esphome.png
收工


评价:
做工还行,用的ESP32芯片,虽然是单核,但是也带蓝牙,我这里没用到蓝牙,不过有需要的小伙伴加上蓝牙配置做个网关也不错
游客,如果您要查看本帖隐藏内容请回复


我自己编译好的esphome固件 firmware.bin (906.73 KB, 下载次数: 37)

wifi_ssid: 'iot'    #WiFi_SSID名称
wifi_password: '12345678'    #WiFi密码
wifi_ssid_AP: 'ESPHOME'  
wifi_password_AP: '12345678'  #ap_WiFi密码
wifi_fast_connect: 'true'   #如果SSID是隐藏的,设置为true
wifi_reboot_timeout: 0s  #WiFi离线多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s
ota_password: '12345678'    #OTA密码
api_reboot_timeout: 3600s  #与客户端(如Home Assistant)失去连接多久后重启设备,秒s/分钟min/小时h,不需要此功能设置为0s
date_update_interval: 180s  #数据更新时间,秒s/分钟min/小时h
web_user: 'esphome'  #网页用户名
web_passwd: '13246578'  #网页密码



评分

参与人数 3金钱 +16 收起 理由
qqtianyu520 + 1 高手,这是高手!
sorrypqa + 5 高手,这是高手!
jjcs + 10 感谢楼主分享!

查看全部评分

回复

使用道具 举报

0

主题

14

帖子

115

积分

注册会员

Rank: 2

积分
115
金钱
101
HASS币
0
发表于 2022-6-19 16:48:12 | 显示全部楼层
学习学习
回复

使用道具 举报

28

主题

775

帖子

2791

积分

金牌会员

Rank: 6Rank: 6

积分
2791
金钱
2016
HASS币
10
发表于 2022-6-19 17:12:32 | 显示全部楼层
本帖最后由 sctale 于 2022-6-19 17:17 编辑

这个之前在小黄鱼看到了,学习一下
回复

使用道具 举报

0

主题

6

帖子

46

积分

新手上路

Rank: 1

积分
46
金钱
40
HASS币
0
发表于 2022-6-19 18:14:27 | 显示全部楼层
不错不错
回复

使用道具 举报

54

主题

302

帖子

1237

积分

金牌会员

Rank: 6Rank: 6

积分
1237
金钱
935
HASS币
0
发表于 2022-6-19 19:39:57 来自手机 | 显示全部楼层
高手,esphome被你玩得出神入化太牛逼了,谢谢分享
回复

使用道具 举报

8

主题

514

帖子

3558

积分

论坛元老

Rank: 8Rank: 8

积分
3558
金钱
3034
HASS币
60
发表于 2022-6-19 20:02:37 | 显示全部楼层
买了几个,这个几个针脚能标下吗?谢谢
#反  1  gnd  2 tx

#正  7  vcc 6 RX  5 gpiox  4 gpio0  3 gpio27  2 gpiox 1
#led绿  gpio26

第5脚gpioX 是什么什么意思呢? 反面的另外三个引脚对应哪个GPIO?
回复

使用道具 举报

2

主题

141

帖子

410

积分

中级会员

Rank: 3Rank: 3

积分
410
金钱
269
HASS币
0
发表于 2022-6-19 20:13:21 | 显示全部楼层
本帖最后由 sorrypqa 于 2022-6-20 14:06 编辑

小白一个,请教大神,<<: !include config.yaml的config.yaml文件应该放在哪个目录?里面是什么内容?gpio0接地。死活进不了刷机模式,气得差点想扔垃圾桶。
回复

使用道具 举报

24

主题

225

帖子

1944

积分

论坛技术达人

积分
1944
金钱
1684
HASS币
160
 楼主| 发表于 2022-6-19 21:02:05 | 显示全部楼层
sorrypqa 发表于 2022-6-19 20:13
小白一个,请教大神,

config.yaml是另外一个配置文件,跟你要编译的配置文件放在一起就行了,可以把一些常用的配置单独放一个文件里面。gpiox是我没有量出来所以就用x替代,你不用管这个#号后面的东西,那些都是备注。
给你参考一下我的config.yaml里面的内容

api:  
  reboot_timeout: 180s
ota:
  safe_mode: true
  password: ota_password
captive_portal:

web_server:
  port: 80
  auth:
    username: web_user
    password: web_passwd
wifi:
  ssid: wifi_ssid
  password: wifi_password
  reboot_timeout: 60s
  fast_connect: true
  ap:
    ssid: wifi_ssid_AP
    password: wifi_password_AP
回复

使用道具 举报

24

主题

225

帖子

1944

积分

论坛技术达人

积分
1944
金钱
1684
HASS币
160
 楼主| 发表于 2022-6-19 21:04:39 | 显示全部楼层
sangood 发表于 2022-6-19 20:02
买了几个,这个几个针脚能标下吗?谢谢
#反  1  gnd  2 tx

你只要知道vcc,gnd,tx,rx,gpio0这几个脚的位置就行了。然后具体继电器,led灯,按钮是gpio多少,配置文件里面有。板子上其他的脚我没有量出来具体是GPIO多少。
回复

使用道具 举报

24

主题

225

帖子

1944

积分

论坛技术达人

积分
1944
金钱
1684
HASS币
160
 楼主| 发表于 2022-6-19 21:06:00 | 显示全部楼层
sorrypqa 发表于 2022-6-19 20:13
小白一个,请教大神,

上电前GPIO0接地。还有就是tx和rx反接一下试试。最后就是确认gpio0到底是不是对的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2022-7-7 18:49 , Processed in 0.080479 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表