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
这里的有一个样例代码。
网友评论