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就拿到了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,098评论 25 709
  • 什么是arduino? Arduino,是一个开放源代码的单芯片微控制器,它使用了Atmel AVR单片机,采用了...
    竹个介阅读 18,453评论 0 9
  • 除了Arduino官方出品的几个开发板能只用Arduino SDK来开发外,很多三方的开发板和单片机也可以使用Ar...
    Cocoonshu阅读 9,182评论 1 16
  • 昨天讲了组织知识的前4个原则,今天我们继续!昨天的原则侧重于概念理论,今天的原则更偏向于实践(在SuperMemo...
    儒雅的思考者阅读 5,237评论 5 8
  • 所有的话,鼓励也好、指责也罢,其实都是在表达说话者的需求与渴望。——题记 我是一个残疾人工作者,我的工...
    小冷小姐阅读 3,602评论 2 3