亚搏电子

良好的软件协议,用于在Arduino和Raspberry PI之间进行沟通?

Papabravo

Papabravo

加入2006年2月24日
15731年
arduino和raspberry PI之间的通信有好的软件协议吗,有一些教程吗?
在过去50年中,计算机通信有许多软件协议。有些人简单而简单,而其他人则非常复杂。您可能希望以简单和简单的方式开始,而不是复杂,特别是如果您没有任何特定要求。说到要求,我猜你忘了提到任何东西。

andrewmm

加入2011年2月25日
1228年
arduino和raspberry PI之间的通信有好的软件协议吗,有一些教程吗?
数据率是什么?
距离是多少?
你可以使用电缆吗?
数据是单向的还是双向的?
如果丢失数据会发生什么?这是关键吗?

偏离头部的建议

I2C.
SPI
的RS422
串行RS232
无线网络
以太网

你可能需要一个这样的板有快速Arduino wifi /以太网
https://www.pjrc.com/store/teensy41.html.
Papabravo

Papabravo

加入2006年2月24日
15731年
至少有两种总体的高层范式:
  1. 如果协议用于控制操作,那么您可以参加<名词> <动词>方法。例如Apollo指导计算机。
  2. 如果协议是用于数据交换的,那么可能会指定一个
    协议。如设备网
可能有其他人。低水平的物理层的东西可以看出任何东西;这很难很重要。
m

螺纹启动器

Meowsoft.

2021年2月27日加入
345
你想在他们之间发送什么?
信号数据,非常原始,只有模拟和数字引脚值,但在实时和非常高速,以太网很好,但我们必须使用载波级开关,因为通过开关发送的数据有延迟(微秒)

Raspberry PI需要读取多个Arduino模拟和数字引脚值ASLO一些I2C数据实时,每个秒,并决定Arduino需要哪些操作(发送某些模拟,也不数字值),然后再次循环

在树莓编程方面,我们使用多线程java和upstart(当应用程序停止或失败时,它会自动重启)
nsaspook

nsaspook

2009年8月27日加入
8255年
所有您需要的是一个8位透明二进制数据接口,其在两个设备之间的原始字节序列串行协议中最基本的频道外频带带外信令。我使用了9位UART协议(数据或控制切换的第9位),嵌入式32位CRC从一个程序二进制C结构(包含数字和模拟值)直接传输数据(从处理器内存)到32位和8位控制器之间的另一个远程程序二进制C结构
m

螺纹启动器

Meowsoft.

2021年2月27日加入
345
所有您需要的是一个8位透明二进制数据接口,其在两个设备之间的原始字节序列串行协议中最基本的频道外频带带外信令。我使用了9位UART协议(数据或控制切换的第9位),嵌入式32位CRC从一个程序二进制C结构(包含数字和模拟值)直接传输数据(从处理器内存)到32位和8位控制器之间的另一个远程程序二进制C结构
一些论文/详细的解释?视频吗?

所有您需要的是一个8位透明二进制数据接口,其在两个设备之间的原始字节序列串行协议中最基本的频道外频带带外信令。我使用了9位UART协议(数据或控制切换的第9位),嵌入式32位CRC从一个程序二进制C结构(包含数字和模拟值)直接传输数据(从处理器内存)到32位和8位控制器之间的另一个远程程序二进制C结构
也许那不是我的需要

所有您需要的是一个8位透明二进制数据接口,其在两个设备之间的原始字节序列串行协议中最基本的频道外频带带外信令。我使用了9位UART协议(数据或控制切换的第9位),嵌入式32位CRC从一个程序二进制C结构(包含数字和模拟值)直接传输数据(从处理器内存)到32位和8位控制器之间的另一个远程程序二进制C结构
不是这样的事情……你不了解我的问题
C

click_here

2020年9月22日加入
94
物理上RS485或RS232是一个很好的开端

然后你想制作一个框架 - 即开始/停止字节

如果要稍后展开网络(放入和来自),则设备地址

数据在这里

然后进行错误检查(crc,或所有字节之和)

如果发送错误(重新发送/忽略/修复错误),您需要考虑您想要做的操作

我有时不得不发送数据非常糟糕的链接,我也放入一个滚动整数,可以检测重复,或检测时,它是无序的…它还有助于确定需要重发的数据。

我也喜欢使用可打印的特征,这样我就可以调试

我发现研究OSI层让我很好地掌握了在通过链接发送数据时应该考虑的事情
nsaspook

nsaspook

2009年8月27日加入
8255年
一些论文/详细的解释?视频吗?
滚动自己协议的一个例子。

传输的数据结构。
https://github.com/nsaspook/mbmc/blob/master/tcpip演示应用程序/ mbmc.h

说明:PIC32 RS232例程。-
https://github.com/nsaspook/mbmc/blob/master/tcpip演示应用程序/ mbmc.c

PIC18串行转移例程。
https://github.com/nsaspook/mbmc/blob/master/swm8722/solar18f8722/mbmc_vector.c.

https://forum.allaboutcircuits.com/...ic-controlled-battery-array.32879/post-352486

最终的结果是一个基于web的32位网络系统,它监视和控制一个收集/传输数据(模拟和数字)的8位系统,并控制一个太阳能系统。
上次编辑:
Papabravo

Papabravo

加入2006年2月24日
15731年
信号数据,非常原始,只有模拟和数字引脚值,但在实时和非常高速,以太网很好,但我们必须使用载波级开关,因为通过开关发送的数据有延迟(微秒)
有多种以太网。你有哪一个?
为什么需要在RPI和Arduino之间进行运营商成绩开关。这似乎有很多矫枉过正。

andrewmm

加入2011年2月25日
1228年
@meowsoft

你说

“不是这样的事……你不了解我的问题”

可能是你可以提供更多细节来帮助我们,


也许是一张如何布置的图,
什么样的环境,是商业或爱好。
你考虑过什么和拒绝为什么?

谢谢你!
班

2019年1月27日加入
2,896
@meowsoft不幸的是,你的描述相当分散。带有功能元素、运行长度的一些尺寸以及要交换的实际数据示例的绘图将会有很大帮助。

此外,一个程序使用数据的流程图,即使是方框图形式,也会有帮助。

你对我的多个帖子困惑了我,我甚至无法开始帮助。
m

螺纹启动器

Meowsoft.

2021年2月27日加入
345
@meowsoft不幸的是,你的描述相当分散。带有功能元素、运行长度的一些尺寸以及要交换的实际数据示例的绘图将会有很大帮助。

此外,一个程序使用数据的流程图,即使是方框图形式,也会有帮助。

你对我的多个帖子困惑了我,我甚至无法开始帮助。
好的...
dickcappels.

dickcappels.

加入2008年8月21日
7,252
分布式软件在您真正需要它的情况下是一个好主意,否则最好坚持使用最简单的Protocal,这将完成这项工作。

你有一半想要帮助你的人,但你没有提供细节。你真的有一个考虑的申请吗?你只是在尝试奥森的想法吗?

请停止删除您的回复。如果此线程不冷静下,则可能会关闭。
上次编辑:
螺纹启动器 类似的线程 论坛 答案 日期
Pushkar1 编程和语言 4.
一种 PCB布局,EDA和仿真 3.
D. 编程和语言 0.
R. 微控制器 32.
兰博基尼Av 工作与职业建议 8.