查看: 5125|回复: 9

[未解决] 通过ESP8266给Arduino板子下载程序

[复制链接]

该用户从未签到

发表于 2017-12-25 11:09 | 显示全部楼层 |阅读模式

各个大神,

有个关于ESP8266下载程序到Aruino板子的问题,一直无法解决,是这样的:我将需求简要描述如下:
APP图形化编程 -》 云端编译 -》将编译好的hex文件送至wifi芯片ESP8266 -》ESP8266将其下载到Aruidno板子中,实现无线编程。

目前的问题是:ESP8266如何将程序下载到Arduino板子,ESP8266需要实现一个下载的功能,相当于电脑端Arduino IDE的下载功能。

该过程需要知道ESP8266是如何与Arduino UNO中Atemga328P的BootLoader是如何通信的,也就是需要知道Aduino atmega328p中BootLoader的通信协议。

目前已做了如下努力:
1、乐鑫和安信可均无法解决该问题,因为这是ESP8266于下位机通信,起决定作用的是Arduino UNO板子。
2、与Atmega328P的厂家microchip交互,他们也无法解决该问题,因为Arduino 在atmega上已经做了再次开发,开发了Arduino自己的BootLoader。

因此,请问哪位大神知道Arduino的BootLoader的通信协议?如果知道,麻烦请联系我哦,万分感谢。
联系方式:wangcheng201202@126.com   手机:18616173156。


系统框图.png

该用户从未签到

发表于 2017-12-25 12:16 | 显示全部楼层
最近我在玩 kittenbot 的小圆车,据说他们家的可以实现。他家有自己定制的一个esp8266 。从 pc看过去,看到的是支持  telnet 协议的一个设备,从 arduino 看过去是一个串口而已。

你可以和卖家聊一下,如果能用,建议你买一个,然后看看你自己的 8266如何实现同样的功能

https://item.taobao.com/item.htm ... amp;id=551380787824

该用户从未签到

 楼主| 发表于 2017-12-25 14:24 | 显示全部楼层
Zoologist 发表于 2017-12-25 12:16
最近我在玩 kittenbot 的小圆车,据说他们家的可以实现。他家有自己定制的一个esp8266 。从 pc看过去,看到 ...

你好,谢谢你的回答。

该用户从未签到

 楼主| 发表于 2017-12-25 14:30 | 显示全部楼层
本帖最后由 Victory-wang 于 2017-12-25 14:31 编辑
Victory-wang 发表于 2017-12-25 14:24
你好,谢谢你的回答。

你好,谢谢你的回答。
小喵科技是用PC端的Kittenblock,配合ESP8266给Arduino板子做无线下载。手机端APP不可以。因此,可以确定他们的下载功能不是在ESP8266实现的,而是在电脑端软件实现的。wifi只是做透传功能

我现在需要的是在ESP8266实现下载功能。

该用户从未签到

发表于 2017-12-25 14:51 | 显示全部楼层
Victory-wang 发表于 2017-12-25 14:30
你好,谢谢你的回答。
小喵科技是用PC端的Kittenblock,配合ESP8266给Arduino板子做无线下载。手机端APP不 ...

你要实现的是什么功能?
  • TA的每日心情
    慵懒
    2018-11-12 08:58
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2017-12-25 15:27 | 显示全部楼层
    Zoologist 发表于 2017-12-25 14:51
    你要实现的是什么功能?

    他想实现用8266做脱机下载吧,做个无线的脱机下载器
  • TA的每日心情
    慵懒
    2018-11-12 08:58
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2017-12-25 15:31 | 显示全部楼层
    解决方法两种
    1.用8266做透传,通过电脑avrdude软件直接给8266发送数据,透传给avr,相当于无线串口。工作量较少。
    2.做脱机下载,在8266里实现avr下载协议,需要熟悉avr下载协议,网上有stm32实现的离线下载器,可以参考移植

    该用户从未签到

     楼主| 发表于 2017-12-25 15:59 | 显示全部楼层
    跑龙套的保 发表于 2017-12-25 15:31
    解决方法两种
    1.用8266做透传,通过电脑avrdude软件直接给8266发送数据,透传给avr,相当于无线串口。工作 ...

    你好,谢谢你的回答。
    1、avrduder软件是PC端的,该项目是用APP编程,云端实现编译,通过8266实现下载。
    2、找过avrduder软件代码,在几百KB以上,移植到ESP8266,很复杂,也就是您说的在8266中实现avr下载协议。。avrdude之所以能够实现下载功能,我认为是avrdude本身实现的就是电脑端Arduino IDE中的upload功能。avrdude只是做了一个UI
    最后,要从avrdude中抽取出整个下载协议,目前来看极其复杂。。。所以才想到如果能够直接联系到Arduino官方,知道其BootLoader的通信协议,就可以较为容易的实现。
  • TA的每日心情
    慵懒
    2018-11-12 08:58
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2018-1-4 09:17 | 显示全部楼层
    Victory-wang 发表于 2017-12-25 15:59
    你好,谢谢你的回答。
    1、avrduder软件是PC端的,该项目是用APP编程,云端实现编译,通过8266实现下载。
    ...

    这个还是挺复杂的,去github上看看avrdude的源码
  • TA的每日心情
    慵懒
    2018-11-12 08:58
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2020-1-15 16:11 | 显示全部楼层
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    为开发板 Generic ESP8266 Module 编译时出错
    为开发板 Generic ESP8266
    第一次尝试Arduino UNO软串口通信,编译一直通不过,错误信息 “开发板 generic (平
    请问L298N能不能驱动这种电机呀
    请问L298N能不能驱动这种
    小白不太敢确定orzz电机是30W,10转,12V的直流减速电机 谢谢大家了!
    ws2812灯带求助,求大佬。。
    ws2812灯带求助,求大佬。
    刚才那个求助帖我说的可能有点模糊,所以我这次弄详细一点。小弟第一次接触这个灯带,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表