cityant 发表于 2017-8-5 13:35:54

ESPEasy固件连接OneNet平台

网上闲逛时偶然发现了ESPEasy项目,其强大的功能与简单易用的操作,觉得可玩性极强。小试了几天,拿出来与大家共享。
ESPEasy是托管在Github上的一个开源项目,是基于ESP8266的Firmware。能够通过简单的配置将各类传感器与控制器接入智能家居平台(如Domoticz)。

官网:https://www.letscontrolit.com/wiki/index.php/Main_Page
Gighub:https://github.com/letscontrolit/ESPEasy

吸引我的特性:
1、支持数十种传感器;
2、简单的通过web配置;
3、仍在开发完善中;

介绍就不多说了,有兴趣的可以去官网看,资料还算比较详细。下面就简单的以DHT11传感器为例,说明如何将温湿度数据上传到国内的平台上。
在最新的ESPEasy测试固件中提供了Generic HTTP Advanced 协议,利用此协议可以很方便的上传数据。
注:原生固件不能直接上传,小改一行代码。将Host字段中IP+Port方式改为仅引用IP方式,小伙伴们如果不想动手可直接使用我修改的固件。
主要配置如下:
DHT11传感器配置,在Devices菜单下

在Controllers菜单下选择协议:Generic HTTP Advanced :为跟原版有所区别我稍微修改了下协议名称。
上传Ontnet:

上传乐联网:


如果数据上传有问题可以将串口日志级别调高进行调试,日志信息比较详细。



固件烧录后会启用AP模式,名为:ESP_Easy_0,密码:configesp,连接后进行配置,配置是web方式比较简单就不详细写了。

固件仍为测试版本,有时候有些不稳定,我这儿就出现两次配置后出现反复重启。原生固件不能清除配置,修改版在启动后加入了恢复缺省配置的功能,加电后串口提示“Press Key 'r' ResetFactory”时按r键即可。

固件:适用于ESP8266,4M Flash

hwfm2002 发表于 2019-12-1 16:29:13

本帖最后由 hwfm2002 于 2019-12-1 16:31 编辑

cityant 发表于 2019-11-30 16:50
编辑修改用什么软件都无所谓吧,我当时用的sublime3,那个有点儿复杂,简单改改现在一般都用notepad++ ...

非常感谢cityant大大的回复,这个帖子都两年多了,新20191130的固件用Hostname (IP可以,但没有固定IP)上传还是有问题,装了Atom 和platformio ide插件,下了源码,但是新的文件_C011.ino不知道怎么修改,有空的时候请帮助看一下。

pcefd 发表于 2017-8-6 16:53:01

mark,多谢楼主切确实是好东西啊:):):)

Cupid 发表于 2017-8-7 07:58:05

不错,好东西,谢谢分享

qqrr111 发表于 2017-9-20 22:21:21

非常好,搞乐为容易多了,哈哈

qqrr111 发表于 2018-2-1 00:46:04

请问,如何修改espeasy固件的Generic HTTP Advanced 协议?它在哪个文件里?谢谢了

cityant 发表于 2018-2-13 10:05:00

qqrr111 发表于 2018-2-1 00:46
请问,如何修改espeasy固件的Generic HTTP Advanced 协议?它在哪个文件里?谢谢了

我用的版本ESPEasy-2.0.0-dev11在/src/_C011.ino文件中

yinpok 发表于 2018-3-10 23:53:26

请教楼主要修改哪一行代码,怎么修改,我刷了最新版本的ESPEASY固件也无法上传乐为网。

yinpok 发表于 2018-3-11 01:06:08

请教楼主是具体修改哪条代码,怎么修改,我刷了ESPEASY最新的固件还是无法上传乐为网。

yinpok 发表于 2018-3-11 16:01:51

请问楼主代码具体怎么修改,修改哪一条?

yinpok 发表于 2018-3-11 17:44:39

我刷了ESPEASY最新固件,无论怎么也联不上乐为网,请教楼主改了那条代码,怎么改的?

cityant 发表于 2018-3-12 23:19:59

yinpok 发表于 2018-3-11 17:44
我刷了ESPEASY最新固件,无论怎么也联不上乐为网,请教楼主改了那条代码,怎么改的?

在/src/_C011.ino文件中,原代码会自动添加端口,修改后不再自动增加。
String payload = String(customConfig.HttpMethod) + " /";
payload += customConfig.HttpUri;
payload += F(" HTTP/1.1\r\n");
payload += F("Host: ");
//payload += hostName + ":" + ControllerSettings.Port;
payload += hostName; //去掉自动添加port,在后面header中手动添加
payload += F("\r\n");
payload += authHeader;
payload += F("Connection: close\r\n");

yinpok 发表于 2018-3-13 13:24:22

我打开了C011.ino文件,找到楼主说的那一行,是这样的:
String payload = String(customConfig.HttpMethod) + " /";
payload += customConfig.HttpUri;
payload += F(" HTTP/1.1\r\n");
payload += F("Host: ");
payload += ControllerSettings.getHostPortString();
payload += F("\r\n");
payload += authHeader;
payload += F("Connection: close\r\n");
和楼主的不一样,请问应该怎么改?

cityant 发表于 2018-3-16 11:00:53

yinpok 发表于 2018-3-13 13:24
我打开了C011.ino文件,找到楼主说的那一行,是这样的:
String payload = String(customConfig.HttpMetho ...

先通过日志调试一下是哪儿错了,一般是组合后的格式问题。跟一下获取主机端口的这个操作 ControllerSettings.getHostPortString()看看如何组host、port的。

hwfm2002 发表于 2019-11-25 11:14:44

请问楼主 修改espeasy 固件 用的什么软件?因为espeasy固件 更新太快了,想学习一谢谢!

hwfm2002 发表于 2019-11-25 14:07:38

yinpok 发表于 2018-3-13 13:24
我打开了C011.ino文件,找到楼主说的那一行,是这样的:
String payload = String(customConfig.HttpMethod ...

请问修改espeasy 固件 用的什么软件?因为espeasy固件 更新太快了,想学习一谢谢!
页: [1] 2
查看完整版本: ESPEasy固件连接OneNet平台