本帖最后由 lilithlying 于 2023-10-23 23:53 编辑
PDD看到有价格合适的ipad4(16G不用券只要160了到手感觉还是挺新的还送了皮套,我用了券能便宜一点点,店铺名不知道能不能发),下手想用来做智能家居面板,至于为什么是4,因为这是ios10最低要求,ios10有“家庭”app
为什么ipad皮套合上就会息屏?里面有磁铁呀,这个大家都知道了。所以为何不用这个操作控制亮屏灭屏
正好在论坛里面有成熟的舵机方案,直接借鉴借鉴
材料:IPAD4以上,若干各种胶,磁铁,5V供电线,杜邦线(公对母,母对母)若干,舵机SG90最便宜的可以了(小心买到坏的,没有动可能不是代码的问题),ESP-01S,dht11。
说干就干,以下仅做参考,我只是在已有的dht11和ESP-01S之间加点杜邦线,让01S的接口充分利用起来~同时省下一个3V3的降压模块
思路是:dht11负责温度上报(GPIO2)+3V3供电+RST、SR501负责探测人体(GPIO0)、RX负责控制舵机(GPIO3)。当检测到人来时SR501控制舵机转动,舵机带动磁铁离开ipad感应区,亮屏。
接线应该没有什么好说的了,5V接dht11+SR501+舵机,舵机臂粘上磁铁,dht11与ESP01S用杜邦线连接,只空出TX、RX、GPIO0,最后SR501输出口接GPIO0,舵机信号线接RX口
磁铁放置位置
磁铁放置位置,请自行探索
代码如下
esphome:
name: esphome-web-3cc129
friendly_name: autoscreen
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "**********" #ESPHOME自动生成的key,需要自行修改
services:
- service: control_servo
variables:
level: float
then:
- servo.write:
id: my_servo
level: !lambda 'return level / 100.0;'
ota:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
#无WIFI时的配置热点
ap:
ssid: "*****"
password: "*****"
captive_portal:
web_server: ## web控制,添加了这2行,就可以在网页端打开设备ip;
port: 80
servo:
- id: my_servo
output: pwm_output
output:
- platform: esp8266_pwm
id: pwm_output
pin: GPIO0
frequency: 50 Hz
sensor: #设置dht11传感器
- platform: dht
pin: GPIO2
temperature:
name: "Temperature"
humidity:
name: "Humidity"
update_interval: 60s # 数据每60s监测一次
model: "DHT11"
binary_sensor:
- platform: gpio
pin: GPIO3
name: "youren"
device_class: motion
on_press: #按下(有人状态),启动舵机
then:
- servo.write:
id: my_servo
level: 100%
on_release: #放开(无人状态),复位舵机
then:
- servo.write:
id: my_servo
level: 0%
另外有可能要在config.yaml加点料(我不知道有没有用,只是照搬别人的)
input_number:
servo_control:
name: Servo Control
initial: 0
min: -100
max: 100
step: 1
mode: slider
实际效果
最终成果~
抛砖引玉~,这里各种东西都可以用类似的模块代替,例如接口多的可以升级ESP8266+LD2410,能做的事情就更多了,仅提供思路
另外求问这个ios用的是10.3,homeassistant不知道为何无法登录,不知道是否版本问题,求解
|