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

 找回密码
 立即注册
查看: 6665|回复: 7

[进阶教程] DIY 温湿度传感器+红外遥控器

[复制链接]

13

主题

86

帖子

852

积分

论坛技术达人

积分
852
金钱
761
HASS币
20

教程狂人

发表于 2018-8-4 11:41:03 | 显示全部楼层 |阅读模式
本帖最后由 yaming1106 于 2018-8-4 14:44 编辑

原始需求
家里有一个小夜灯,遥控器控制的,遥控器很小,老是掉床底或就是找不到。hass已经装了好久,也没有正式使用起来,于是就想做一个红外遥控装灯里面去,用手机控制好了。
用到的模块:esp8266无线模块一个,红外编解码模块(空调不能控制,编码格式不同),DHT11温湿度传感器一个(方便知道房间的温湿度)。

原理:

esp8266 连接家里WiFi,然后连接上家里的mqtt服务,所有数据通过mqtt传输。

效果如下,美化面板啥的后面再说:

QQ图片20180804105554.png


后面是程序代码,需要必备的知识
1. 了解串口如何通信,因为你需要录制遥控器的指令。
2. 了解如何配置hass mqtt,没有它所有的都不能工作。

下面是流程说明:


esp8266 wifi模块会使用默认wifi去连接,如果连接不上就打开ap,ip地址:192.168.4.1, ap: AP_HOME_NODE,然后设置wifi账号信息和mqtt服务器信息。
设置好之后重启设备。

IMG_3257.JPG

开发工具使用:vscode, platformio

第一步把会扰乱录制的代码注释掉,录制遥控器编码。波特率:9600,格式16进制,应该会得到一个三位十六进制编码,发送前面添加 A1 F1,剩余说明查看红外编解码模块说明书。

红外模块 RX, TX 连接 esp8266的 1, 3 的RX, TX口,
温湿度连接esp8266的  io 2口。

void loop()
{

  // Bleeper.handle();
  // auto status = WiFi.status();
  // bool isConnected = (status == WL_CONNECTED);
  //if (isConnected) {
    //connectMqtt();
  //}else {
    // delay(500);
    if (swSer.available()) {
      Serial.write(swSer.read());
    }
    if (Serial.available()) {
      swSer.write(Serial.read());
    }
    // Serial.println("Wifi is not connect");
  // }
}



连接wifi之后会输出相关mqtt topic,波特率 115200。

  if (client.connect(nodeid, user, pass))
  {
    client.subscribe(node_heart_topic);
    client.publish(node_status_topic, "online");
    Serial.println(node_status_topic);
    client.subscribe(node_switch_control_topic);
    client.subscribe(node_10_control_topic);
    client.subscribe(node_16_control_topic);
    Serial.println(node_switch_control_topic);
    Serial.println(node_10_control_topic);
    Serial.println(node_16_control_topic);
  }


提供两个topic, node_10_control_topic, node_16_control_topic,分别为10进制和16进制数据

具体代码如下附件

链接:https://pan.baidu.com/s/1q348du5CBZJ1F6vyQ_x7tw 密码:68uh



评分

参与人数 2金钱 +32 收起 理由
Mirukuteii + 12 我来瀚思就为看你!
+ 20 这个有点强大了!

查看全部评分

回复

使用道具 举报

40

主题

3057

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11135
金钱
8028
HASS币
182
发表于 2018-8-4 13:02:20 | 显示全部楼层
楼主在 vscode 中复制的文本是富文本,最好右键粘贴为纯文本。

如果教程能写的更详细就好了~谢谢分享
Nero
回复

使用道具 举报

13

主题

86

帖子

852

积分

论坛技术达人

积分
852
金钱
761
HASS币
20

教程狂人

 楼主| 发表于 2018-8-4 14:46:22 | 显示全部楼层
neroxps 发表于 2018-8-4 13:02
楼主在 vscode 中复制的文本是富文本,最好右键粘贴为纯文本。

如果教程能写的更详细就好了~谢谢分享 ...

谢谢提醒, 整个项目源代码已经提供,这边只写了如何使用。如果要折腾,里面代码也不复杂,也没啥好写的
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16013
金钱
11302
HASS币
45
发表于 2018-8-4 18:53:04 | 显示全部楼层
经鉴定,楼主为大神,技术达人走起!
回复

使用道具 举报

5

主题

354

帖子

1395

积分

金牌会员

Rank: 6Rank: 6

积分
1395
金钱
1041
HASS币
0
发表于 2018-8-5 21:26:21 | 显示全部楼层
高手,还没说明白的呢。。
回复

使用道具 举报

13

主题

86

帖子

852

积分

论坛技术达人

积分
852
金钱
761
HASS币
20

教程狂人

 楼主| 发表于 2018-8-6 09:33:55 | 显示全部楼层
tanghuafu 发表于 2018-8-5 21:26
高手,还没说明白的呢。。

哪里不明白的,我可以补充说明
回复

使用道具 举报

5

主题

354

帖子

1395

积分

金牌会员

Rank: 6Rank: 6

积分
1395
金钱
1041
HASS币
0
发表于 2018-8-6 11:38:01 | 显示全部楼层
yaming1106 发表于 2018-8-6 09:33
哪里不明白的,我可以补充说明

是我还没搞明白,打错了。。。打错了,大佬。。
回复

使用道具 举报

17

主题

163

帖子

523

积分

高级会员

Rank: 4

积分
523
金钱
360
HASS币
0
发表于 2019-1-10 11:21:14 | 显示全部楼层
请问下,esp8266 wifi模块 和 DHT11温湿度传感器  淘宝链接有吗? 如何安装?有参考资料伐?
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-26 17:40 , Processed in 0.097888 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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