ESP8266 网页与Arduino数据通讯

esp8266可以把自己变成一个服务器,上面运行一个网页,这个比普通的单片机有一个天然的优势就是配置方面可以非常复杂和直观。所以最近看了下有什么现有的解决方案。

Arduino内部通讯

因为可以在arduino里面写网页,所以只要在arduino的代码里面用一个变量就可以传输任何数据了。比如这个
https://www.hackster.io/rayburne/esp8266-webserver-using-javascript-and-xml-aa78f1

远程通讯

IOT平台现在也有挺多的,我试用了下adafruit IO和Blynk都还不错,只是有点担心被墙的问题。其中adafruitIO还支持IFTTT
https://io.adafruit.com/
https://www.blynk.cc/

本地 Arduino与HTML代码的交互

这个是我比较感兴趣的,因为基于bootstrap什么的这些前端模板做出来的网页会很好看,而且可以响应式布局。esp也支持SPIFFS,就是把写好的正常的html文件上传到esp里面的一个文件系统里,然后用arduino的代码直接调用,这个的现成方案可以看这里
https://diyprojects.io/esp8266-web-server-part-2-interaction-code-arduino-html-interface/#.WwEc10iFOiM
但是他是用的SPIFFS里面存储json文件做的,就是arduino和js都不停的调用json文件。。我觉得解决方案有点奇怪。。

这个方案我觉得是对的不过我看不懂。。。。
https://circuits4you.com/2018/02/03/esp8266-nodemcu-adc-analog-value-on-dial-gauge/

他把一个ADC数据显示在了网页上,我觉得几个关键的位置是
arduino代码部分


这里他把读到的ADC用server.send()发了出去

html代码部分


这里读取到了这个数据

2018年6月1日 UPDATE:

恩,原来这个东西叫socket。。。。。
https://gist.githubusercontent.com/bbx10/667e3d4f5f2c0831d00b/raw/085f6e6e86589ea4140b87607d20ad3c32ec074b/ESPWebSock.ino
这里的有一个样例代码。

2018年09月14日 UPDATE:

这个样例不错,把网页寸
https://tttapa.github.io/ESP8266/Chap14%20-%20WebSocket.html

2021年4月14日 UPDATE:

竟然又搜到了自己的文章。。。我想重新解释下上面的那个方案,其实他在JS里写了一个http get的请求,访问了ip/getADC这个地址,然后arduino里面做了一个服务,就是有人访问ip/getADC这个服务的时候,返回一个字符串adc,然后JS就拿到了

你可能感兴趣的:(ESP8266 网页与Arduino数据通讯)