数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 12120|回复: 24

[Arduino] 在Arduino中添加ESP8266

[复制链接]
发表于 2019-8-15 08:25:15 | 显示全部楼层 |阅读模式
上次利用ESP8266制作了一个远程遥控开关,但是有朋友说arduino编译文件会有些不懂,比如说在arduino中添加ESP8266开发板,而且程序中用到“aJSON”库;为此特新开一贴教程
本人用的Arduino-IDE版本是1.8.5。
首先打开Arduino-IDE;ESP8266开发板网址:http://arduino.esp8266.com/stable/package_esp8266com_index.json

再在开发板管理器添加ESP8266系列

再选择开发板即可

到这开发板就添加完成,但是如果没安装“aJSON”库的小伙伴是编译不过的;上一个帖子里的附件包含源代码和一个库文件,其实很简单,把库文件整个“aJSON”文件放到你的Arduino安装文件下的“libraries”文件夹内即可

要源码要库文件的伙伴到我上一个帖子:ESP8266远程遥控开关,可联网天猫精灵
如果添加过程中有什么问题可以留言,我会看的,如果没及时回复可以百度,很多教程的!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 1家元 +20 收起 理由
家睦 + 20

查看全部打赏

本帖被以下淘专辑推荐:

  • · MCU|主题: 24, 订阅: 19
发表于 2022-10-24 05:23:19 | 显示全部楼层
感谢分享,  下来看看。
回复 支持 反对

使用道具 举报

发表于 2022-10-22 05:15:02 来自手机浏览器 | 显示全部楼层
仿做了一个,没有成功,不知道那个环节出了问题!初次接触Arduino,感觉特难,操作特烦琐!
回复 支持 反对

使用道具 举报

发表于 2021-1-8 14:05:00 | 显示全部楼层
又学习了。多谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2020-6-4 11:40:56 | 显示全部楼层
8266-1的Flash是1m的,貌似选项里只有4M的,怎么办?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-29 09:56:35 | 显示全部楼层
satku 发表于 2020-4-28 15:56
如何增加断电记忆功能

开启EEPROM功能,开关一次写一次数据并保存,上电读取数据判断状态就好
回复 支持 反对

使用道具 举报

发表于 2020-4-28 15:56:25 | 显示全部楼层
如何增加断电记忆功能
回复 支持 反对

使用道具 举报

发表于 2020-3-12 20:34:33 | 显示全部楼层
:tongue: 选择正确的上网方式才是正途
回复 支持 反对

使用道具 举报

发表于 2020-2-19 20:47:49 | 显示全部楼层
sunnyquan 发表于 2019-8-15 09:17
感觉分享~

有空折腾,现在好像最没有的就是时间啊。。

xx终于有时间了,翻翻还刚好有个ESP8266模块,赶紧玩起来!

感谢分享~
回复 支持 反对

使用道具 举报

发表于 2019-11-25 16:52:32 | 显示全部楼层
netbeetle 发表于 2019-11-22 10:50
比如访问一个天气的API,就会发现SDK和Arduino速度上的巨大差距,用官方RTOS_SDK 开发的几乎是在访问命令 ...

8266对运行速度要求不高的话,nodemcu开发最快,前提是有需要的库,常见应用也够了,例如你说的ssid扫描,wifi密码设置,都是几行代码的事情。
arduino是各种奇怪的库都有,例如uwb芯片,rtos还要自己写一遍驱动,开发时间成本才是最高的。
至于你说访问天气api的速度问题,这种几十倍以上的差异肯定不是不同开发语言环境导致的,最大可能是某个库的写法有问题,没用事件响应,用延迟等待等等,或者用了个非常慢的dns服务器之类的。
回复 支持 反对

使用道具 举报

发表于 2019-11-22 15:55:39 | 显示全部楼层
mengfc 发表于 2019-11-20 20:19
那有比较过Arduino、NodeMcu、MicroPython三者的性能吗?

Arduino是Arduino UNO MEGA NONA三者的IDE 是AVR内核. 目前项目速度,精度,略差与C51.通过pi运算和ns延时
NodeMcu是万用板,自身既可以运行NO-RTOS,也可以RTOS.
可以用IDE做C编译运行,(ArduinoIDE就属于混合方式,直接采用乐鑫工具链编译一个IDE指定的RTOS)
也可以Rtos做LUA/PYTHON运行.
速度,No-RTOS优于RTOS,特别是代码大于2K,对时控严格的场合.
MicroPython也是介于RTOS下的,类似于LUA方式.
回复 支持 反对

使用道具 举报

发表于 2019-11-22 15:40:59 | 显示全部楼层
在Arduino添加NODEMCU(ESP8266EX)
1.在ArduinoIDE文件 - 首选项,添加:"http://arduino.esp8266.com/stable/package_esp8266com_index.json"
2.重启IDE,打开工具 - 开发板管理器 - 等待更新 -拉到最后 - ESP8266 by ESP8266 ***.选版本,安装
2.1 这里有点插曲,貌似是开发板编译工具是在墙外引起的,
解决办法:
  2.11 检查C:\Users\你的电脑用户名\AppData\Local\Arduino15\staging\packages下是否有
          [mkspiffs-xxx.zip/esptool-xxx.zip/python-xxx.zip/win32-xtensa-lx106-elf-xxx.tar.gz/以及IDE自带的i686-w64-mingw32.XXX.ZIP文件]缺一不可,前4个是ESP8266的编译工具,第五个是ESP工具链文件.
  2.12 如果没有就翻Q下载,或者降低IDE版本下载别人打包好的环境.
3.重启IDE.
下面废话,给懂的人.
Arduino是给Arduino的开发环境,用到的是AVR编译环境 IDE默认已经在安装时配置好,不用下载,只需要更新,包括NONA,MEGA,UNO等等.类似于C51的Keil之死S太T惨C配置
如果要增加改变其他开发板环境,就需要提供给IDE相关的编译工具.类似于C51Keil头文件.而ESP就属于不同于AVR系列的xtensa-lx106-elf系列.
xtensa-lx106-elf是什么?是乐鑫的ESP8266ex在Linux开发下的开发环境.要想xtensa-lx106-elf工作在IDE下,就需要IDE和xtensa-lx106-elf互通,这就是i686-w64-mingw32.xtensa-lx106-elf-(实现的).
向下配置,ESP的编译除了需要XTENSA和i686 XTENSA之外,还需要让IDE理解你在IDE的语句是什么指令.这一切都是在Python3下完成的,这是XTENSA能理解的转换方式,所以,还需要Python3解释器,(pythoxxxn-3.7.2.post1-embed-win32v2.zip).最后,因为ESP是SPIFF文件系统,所以还需要 MKSPIFF支持mkspiffs-x'x'x-windows.zip和烧录上传所需的esptool-xxx.zip支持.
...其实这些工具在开发板管理器索引文件内都是有记录的,可以很直观的看到C:\Users\你的电脑用户名\AppData\Local\Arduino15\package_esp8266com_index.json文件是ESP8266的开发板环境资源索引.在首选项添加开发板后第一次更新完成时生成.内部包含的工具并非全部必须,需对应开发板,ESP8266只有4个工具

package_index.json是默认的AVR开发板环境资源,毕竟是官方的,相对整齐有序一点.

library_index.json  库文件索引  用作更新下载.

其他的sig文件不要删除,这是JSON每次请求相关服务器的证书文件,保证工具安全合法性,如果删除有一定可能导致没办法获取JSON更新.包括库和开发板.


就这样,水表君,借楼了~
回复 支持 1 反对 0

使用道具 举报

发表于 2019-11-22 14:58:21 | 显示全部楼层
28674500 发表于 2019-11-18 18:16
已经成功上传并微信控制LED,
有个问题,就是如何多路控制,
目前将你程序的io口改到了16 ...

GPIO16能用?  IO16/0/2/4 在NODEMCU是复用端口,上拉到LED了,,,
回复 支持 反对

使用道具 举报

发表于 2019-11-22 10:50:22 | 显示全部楼层
spirndai 发表于 2019-11-21 14:51
同样的功能肯定比nodemcu快,之前用8266直接刷595显示时钟,nodemcu的delay怎么小,只要多跑几行程序就有 ...

比如访问一个天气的API,就会发现SDK和Arduino速度上的巨大差距,用官方RTOS_SDK 开发的几乎是在访问命令发出的同时就能获得API服务器返回的数据。Arduino至少得等上1~2秒。另外ESP8266的Arduino的好像是不支持定时器硬件中断的,这带来个严重问题,就是红外遥控。虽然有个红外遥控的库,但是那个库的键码是错误的,而且代码量多了后,这个库就挂了。为题还很多,最近做了个ESP自驱VFD时钟总结出来,开始就是用Arduino写的,光时钟显示问题是不大的。但做到后面功能部分,比如SSID扫描,Wifi密码设置后,太困难了(通过复杂的标识设置,应该也能完成,但是太复杂了),放弃了,改用官方RTOS_SDK 做了。光熟悉这个SDK是怎么设置和工作的,我都用了2个晚上(业余的没办法),但是一旦上手后,一个字,爽。
回复 支持 反对

使用道具 举报

发表于 2019-11-21 21:41:38 | 显示全部楼层
netbeetle 发表于 2019-8-19 17:21
Arduino严重降低了ESP8266的性能,访问同一个API,速度比AT命令都要慢,更加不用说比用官方SDK开发的了。 ...

怎么也抵不过方便啊。

我从Arduino Nano开始用,后来转ESP8266, 再到现在用ESP32, 环境不变。代码通用,很爽的。

就是编译时间成倍增长,Nano就几秒,8266要1-2分钟,32要7-8分钟,真要受不了了。
回复 支持 反对

使用道具 举报

发表于 2019-11-21 15:48:38 | 显示全部楼层
arduino库下载  极慢。。。。有没有好一点的办法。。
回复 支持 反对

使用道具 举报

发表于 2019-11-21 14:51:16 | 显示全部楼层
mengfc 发表于 2019-11-20 20:19
那有比较过Arduino、NodeMcu、MicroPython三者的性能吗?

同样的功能肯定比nodemcu快,之前用8266直接刷595显示时钟,nodemcu的delay怎么小,只要多跑几行程序就有一点点闪烁,换到arduino就完全没问题。至于上面说比直接调用api慢好多,估计是arduino的某些功能实现没用8266的api功能而是自己通用化做了一次,这种有可能会慢。否则同样的c++算法控制gpio,怎么会有速度差异。
回复 支持 反对

使用道具 举报

发表于 2019-11-20 20:19:11 | 显示全部楼层
netbeetle 发表于 2019-8-19 17:21
Arduino严重降低了ESP8266的性能,访问同一个API,速度比AT命令都要慢,更加不用说比用官方SDK开发的了。 ...

那有比较过Arduino、NodeMcu、MicroPython三者的性能吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-20 20:08:18 | 显示全部楼层
28674500 发表于 2019-11-19 18:25
楼主的四路代码,保存这里备用

if(C=="offon")//接收到的是全开指令
这里要改成: if(C=="offOn")//接收到的是全开指令
大小写错误
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-20 20:06:46 | 显示全部楼层
触景情伤 发表于 2019-11-19 10:49
记号一下我的始终读不到开发板……编译也老是出错不知道是不是这个问题……先睡觉晚点弄一下 ...

开发板添加不成功是编译不过去的,还有添加库文件
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-21 05:15 , Processed in 0.202801 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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