云服务器配置homeasstant、esp8266使用arduino编程接入homeasstant_homeassistant arduino esp8266

小白第二篇,知识回顾。

云服务器我使用阿里云服务器,因为笔者还是位学生,白嫖了阿里云七个月的云服务器,非常不错。笔者也使用过腾讯云,感觉云服务器都是一样的配置过程。

我是先安装云服务器的ubuntu系统,然后安装宝塔–>docker–>homeasstant。就是图方便,不熟悉Linux的同学可以上网去看看这个教程,也是很方便很容易的,我就不一一讲解啦。还有需要安装MQTT在云服务器才能使用esp8266哦。

不懂的宝子或者懒得百度可以借鉴王铭东老师的教程配置好homeasstant和MQTT:https://doc.itprojects.cn/0006.zhishi.esp32/02.doc/index.html#/n02.buy.server

因为笔者是物联网工程专业的学生,对esp32、esp8266比较感兴趣,因为能用arduino上云实在太方便啦,所以一直折腾。最近在b站看到homeasstant做的智能家居系统交互控制平台,实在是太好看了,就打算入坑学习一下。homeasstant入门教程我实在找不到资源,有资源的高手可以评论留言一下我想学习!下面我看一下我学习的进程。

一、homeasstant配置

homeasstant有一个非常重要的文件那就是configuration.yaml,安装homeasstant会自带。我们看一下接入esp8266的配置。(有可以直接用esphome接入,感兴趣可以去看看,我主要总结简单的通过arduino代码编写去接入homeasstant)

这里我演示一个esp8266的按键控制配置。

在configuration.yaml配置加入以下内容:注意好空格“-”,如果没有按照格式是不会出现开关按键的!!!

mqtt:
  # light(灯光)实体:注意格式,该空格要空格 
 light:
  - name: "Bookcase_Light"
    state_topic: "LED_light"
    command_topic: "LED_light"
    payload_on: "1"
    payload_off: "0"
    unique_id: "LED1"
    optimistic: false

加入完成后保存,重启homeasstant就可以看到有一个开关按键:

二、arduino代码

对于的配置和库函数可以自行百度下载好,都是非常简单的。需要注意修改WiFi还有自己的MQTT服务器地址,这就是前面说的要在云服务器安装好自己的MQTT,配置好了MQTT地址也是云服务器的公网IP

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
 
const char* ssid = "xxx";               //连接自己的Wi-Fi
const char* password = "12345678";           //Wi-Fi密码
 
const char* mqtt_server = "192.168.xx.xxx";  //设置自己的MQTT服务器地址
 
WiFiClient espClient;
PubSubClient client(espClient);
long lastMsg = 0;
char msg[50];
int value = 0;
int ledPin = 0;     //设置ESP8266的GPIO0号脚为输出控制脚
 

//连接wifi
void setup_wifi() {
  delay(10);
  WiFi.begin(ssid, password);
  //等待WiFi连接
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  //wifi连接成功后输出成功信息
  Serial.println("");
  Serial.println("WiFi Connected!");   //显示wifi连接成功
  Serial.println(WiFi.localIP());       //返回wifi分配的IP
  Serial.println(WiFi.macAddress());  //返回设备的MAC地址
  Serial.println(""); 
  randomSeed(micros());
}
 
//回调函数
void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message arrived[");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < length; i++) {
    Serial.print((char)payload[i]);
  }
  Serial.println();
  // 通过接收的信息 '1'或'0'来控制开或关
## 最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

**因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/8beee460f80988691ba7e6e1f21e8409.png)

![img](https://img-blog.csdnimg.cn/img_convert/b470cdd14aa0e9c3b9ee6aebcd5efa60.jpeg)

![img](https://img-blog.csdnimg.cn/img_convert/1e9212dad1640443e423cda884c0639a.png)

 ![img](https://img-blog.csdnimg.cn/img_convert/b7c8992fbbb6b3088b129f8aef43612c.png)

![img](https://img-blog.csdnimg.cn/img_convert/76bd9d1ba00db6c20b7fb19571c728ac.png)

![img](https://img-blog.csdnimg.cn/img_convert/ab748a529ba2fdf684e591e3ea00d659.png)

![](https://img-blog.csdnimg.cn/img_convert/12cd18f7d1266fb3617f5484ccdf4d09.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!


以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!


  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值