极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5200|回复: 12

ESPEasy固件连接OneNet平台

[复制链接]
发表于 2017-8-5 13:35:54 | 显示全部楼层 |阅读模式
网上闲逛时偶然发现了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菜单下
espeasy_devices_dht11.png
在Controllers菜单下选择协议:Generic HTTP Advanced [define]:为跟原版有所区别我稍微修改了下协议名称。
上传Ontnet:
espeasy_http_onnet.png
上传乐联网:
espeasy_http_lw50.png

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

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

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

固件:适用于ESP8266,4M Flash
Fireware.rar (374.54 KB, 下载次数: 97)
回复

使用道具 举报

发表于 2017-8-6 16:53:01 | 显示全部楼层
mark,多谢楼主切确实是好东西啊
回复 支持 反对

使用道具 举报

发表于 2017-8-7 07:58:05 | 显示全部楼层
不错,好东西,谢谢分享
回复 支持 反对

使用道具 举报

发表于 2017-9-20 22:21:21 | 显示全部楼层
非常好,搞乐为容易多了,哈哈
回复 支持 反对

使用道具 举报

发表于 2018-2-1 00:46:04 | 显示全部楼层
请问,如何修改espeasy固件的Generic HTTP Advanced 协议?它在哪个文件里?谢谢了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-13 10:05:00 | 显示全部楼层
qqrr111 发表于 2018-2-1 00:46
请问,如何修改espeasy固件的Generic HTTP Advanced 协议?它在哪个文件里?谢谢了

我用的版本ESPEasy-2.0.0-dev11在/src/_C011.ino文件中
回复 支持 反对

使用道具 举报

发表于 2018-3-10 23:53:26 | 显示全部楼层
请教楼主要修改哪一行代码,怎么修改,我刷了最新版本的ESPEASY固件也无法上传乐为网。
回复 支持 反对

使用道具 举报

发表于 2018-3-11 01:06:08 | 显示全部楼层
请教楼主是具体修改哪条代码,怎么修改,我刷了ESPEASY最新的固件还是无法上传乐为网。
回复 支持 反对

使用道具 举报

发表于 2018-3-11 16:01:51 来自手机 | 显示全部楼层
请问楼主代码具体怎么修改,修改哪一条?
回复 支持 反对

使用道具 举报

发表于 2018-3-11 17:44:39 来自手机 | 显示全部楼层
我刷了ESPEASY最新固件,无论怎么也联不上乐为网,请教楼主改了那条代码,怎么改的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 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");
回复 支持 反对

使用道具 举报

发表于 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");
和楼主的不一样,请问应该怎么改?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-16 11:00:53 | 显示全部楼层
yinpok 发表于 2018-3-13 13:24
我打开了C011.ino文件,找到楼主说的那一行,是这样的:
String payload = String(customConfig.HttpMetho ...

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

使用道具 举报

高级模式  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2018-10-15 19:24 , Processed in 0.066025 second(s), 6 queries , File On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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