亚搏电子

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

Papabravo.

Papabravo.

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

Andrewmm.

加入2011年2月25日
1,228
有没有良好的软件协议在Arduino和Raspberry PI之间进行沟通?,一些教程?
数据率是什么?
距离是什么?
你可以使用电缆吗?
数据是一个方向还是双向?
如果您松散数据会发生什么?这是关键吗?

偏离头部的建议

I2C.
spi.
RS422
串行RS232.
无线上网
以太网

您可能需要这样的电路板可以快速arduino wifi /以太网
https://www.pjrc.com/store/teensy41.html.
Papabravo.

Papabravo.

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

螺纹启动器

Meowsoft.

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

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

在Raspberry编程方面,我们使用多线程Java和Upstart(当应用程序如果停止时也没有失败,它会自动重启)
NSASPOOK.

NSASPOOK.

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

螺纹启动器

Meowsoft.

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

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

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

点击这里

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

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

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

数据在这里

然后一些错误检查(CRC或所有字节的总和)

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

我有时必须在非常糟糕的链接上发送数据,我也放入一个滚动整数,可以检测重复,或者检测它何时脱离顺序......它还有助于识别需要怨恨的数据。

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

我发现研究OSI层让我很好地掌握在通过链接发送数据时要考虑的事情
NSASPOOK.

NSASPOOK.

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

传输数据结构。
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

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

Papabravo.

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

Andrewmm.

加入2011年2月25日
1,228
@meowsoft.

你说

“不是这样的东西......你不知道我的问题”

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


可能是如何布局的图表,
什么样的环境,是商业或爱好。
你考虑过什么和拒绝为什么?

谢谢
Yaakov.

Yaakov.

加入2019年1月27日
2,896
@meowsoft.不幸的是,你的描述相当散落。具有功能元素的图形和运行长度的一些维度以及要交换的数据的实际示例将有助于很多。

此外,即使在框图表单中,也可以通过程序使用数据的流程图。

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

螺纹启动器

Meowsoft.

加入2月27日,2021年
345.
@meowsoft.不幸的是,你的描述相当散落。具有功能元素的图形和运行长度的一些维度以及要交换的数据的实际示例将有助于很多。

此外,即使在框图表单中,也可以通过程序使用数据的流程图。

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

dickcappels.

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

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

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