完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我从事一个项目已经有一段时间了,遇到了一个非常不幸的问题。
简而言之: 我将我的旧 Arduino (nano) 项目移植到 ESP8266。该程序为任何 BMW E46 添加了一些功能,例如解锁汽车时的迎宾灯。基础(接收/发送)工作得很好,所以我决定从头开始,为 ESP 实现各种很酷的功能,例如异步网络服务器、OTA (www) 更新、websockets 等等。 在开发过程中,ESP 连接到一个简单的 canbus(准确地说是 kbus,它是一个单线网络)测试平台,并且一直在接收来自我的代码的旧版本的消息,该版本仍在 Arduino 上运行。这段时间一切正常! 但是...当我上周末最终将 ESP 连接到汽车时,汽车不会响应消息。 经过大量测试(和挫折)后,事实证明连接到 kbus 的原始 BMW 模块比 Arduino/ESP 对时序更敏感。一个很好的例子是我车上的 Android 主机,它取代了原厂收音机。它可以很好地响应 ESP 发送的消息,即当我按下 ESP 网络界面中的按钮时,它会增加/降低音量。 然后我决定用常规的非异步/同步网络服务器替换异步网络服务器,问题就消失了。 我的猜测是异步网络服务器导致通过 kbus 发送的位之间的间隔略有不同,导致汽车丢弃消息。收音机和 Arduino/ESP 似乎没什么大不了的,但 OEM BMW 模块却很重要。 kbus 通信是一个 9600 波特的串行网络,具有 8 位、偶校验和 1 个停止位。 我对串行通信的理解是有限的,但也许这里有人对此了解更多,甚至可以提出解决方案,这样我就可以继续使用异步网络服务器。它提供了更多的选项和功能,并且速度更快,更易于使用。 我尝试以 160mhz 模式(而不是 80mhz)运行 ESP,希望它能解决问题,但不幸的是它没有。 我还研究了非常短暂地暂停异步服务器,但没有找到任何东西。(这是有道理的..) 非常感谢与此有关的任何帮助和信息。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
470 浏览 0 评论
991 浏览 0 评论
1709 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1368 浏览 1 评论
1254 浏览 1 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1288浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
943浏览 3评论
2386浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2575浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1071浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 04:46 , Processed in 0.859455 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
503
