描述
步骤1:需要什么?
这项工作需要:
1 流量计 http://pt.aliexpress.com/item/New-Black-G1-2-Wate 。..
1 NodeMcu http://pt.aliexpress.com/item/NodeMcu-Lua-WIFI-dev 。..
或http://pt.aliexpress.com/item/V2-4M-4FLASH-NodeMcu 。..(我更喜欢这个)
1 面包板(取决于NodeMcu版本,此功能适用于我上面提到的第二个http://pt.aliexpress.com/item/400-Tie-Point-Interl 。..)
3条面包板电缆,就像这样http://pt.aliexpress.com/item/Free-shipping-Dupon 。..,您只需要3个,这样您就可以将其余的保留给其他项目使用。
所有代码都是在Arduino IDE。 (https://www.arduino.cc/zh/Main/Software)
最后,我使用LUA语言使用ESPlorer进行了示例,以尝试获得相同的结果(http://esp8266 .ru/esplorer/)
硬件连接是通过在流量计和 nodemcu 之间连接3条电缆(跳线)来完成的
电缆连接(使用面包板电缆,公对公):
将流量计的红色电缆输出连接到nodemcu上的3.3v引脚。
将流量计的黑色电缆输出连接到nodemcu上的“接地”。
将流量计的黄色电缆输出连接至nodemcu上的控制引脚(在我的情况下为D2引脚)
这就是开始,所以下一步是对nodemcu进行编程(控制流量计中经过的公升)。
注意:在编写任何代码之前,您可能需要将新固件刷入NodeMcu中,请使用ESP8266Flasher(https://github.com/github .com/nodemcu/nodemcu-flasher)。
我做了3个示例,将在下一步中显示,但是我只会显示第一个示例的代码。
* 流量计的规格表明+/- 440“ pulses”等于1升。
步骤2:示例1
在第一个示例中,我们有:
在Arduino IDE的串行监视器中的升数;
在ESP8266中设置一个网络服务器,其中显示了来自升消耗量的数据以响应HTTP请求。可以在网络内部或外部进行对Web服务器的访问,这需要对Wi-Fi路由器进行相应的设置。
通过HTTP GET请求,其总数升被发送到外部服务器(ThingSpeak)。有了该信息,便可以在ThingSpeak平台(请参阅https://thingspeak.com/channels/120470)中显示一个图,可以在任何Internet终端中进行访问并随时进行分析。
可以在本地网络服务器中使用“ html iframe”来显示ThingSpeak的图形(如上图所示)。
已附上了该示例的完整代码。
步骤3:示例2
在第二个示例中,我们有:
公升计数在Arduino IDE的串行监视器中;
通过HTTP GET请求,将总升数发送到外部服务器(Emoncms)。通过该信息,可以在EmonCms中创建图形(请参阅http://emoncms.org/a21210&id=32359),该图形可以远程访问并进行实时分析。
可以通过将示例1中的URL替换为emoncms的输入API中的URL来获得此示例的代码。
步骤4:示例3(仅ThingSpeak)
在第三个示例中,我们有:
在Arduino IDE的串行监视器中计数的升数;
通过HTTP GET请求,将总升数发送到外部服务器(ThingSpeak)。有了该信息,便可以在ThingSpeak平台(请参阅https://thingspeak.com/channels/120470)中显示一个图,该图可以在任何Internet终端中访问并随时进行分析。 (现在由ThingSpeak网站页面说明。)
可以很容易地修改示例1中的代码来实现此示例的代码。
第5步:ESplorer示例(LUA代码)
附带了一些带有LUA示例代码的文件。
关于ESplorer和LUA:使用ESplorer(Lua代码)与NodeMcu配合使用时,可以将多个文件发送到其内存。一方面使软件更具模块化,另一方面,我们可以将HTML页面存储在NodeMcu内存中,可以在代码上随时调用。
有用的链接:
Lua示例:https://learn.adafruit.com/adafruit-huzzah-esp8266 。..
软件ESPlorer:http://esp8266.ru/esplorer/
步骤6:最后的话。..?
和其他项目一样,出现故障。..
NodeMcu发送随机堆栈错误,有时是由于无法连接到wifi网络,或者是通过使用函数attachInterrupt。
启动代码时,我使用的是库ESP8266WiFiMulti.h,并决定换成库ESP8266WiFi.h,错误开始出现的频率越来越低。
尽管我的编码能力比电子技术要好一些(一点都不懂:P),但我一直在网上阅读有关此问题的信息,但没有运气。我使用了3个单位的NodeMcu(2个不同的模型)来检查错误是否来自有缺陷的错误,但是没有任何区别。
也许有人可以告诉我我哪里失败了?
责任编辑:wv