gpt4 book ai didi

C RbPi UART 远程控制 socket

转载 作者:太空宇宙 更新时间:2023-11-04 04:36:20 29 4
gpt4 key购买 nike

我想在我的房间手册中远程控制 socket ,而无需在我的树莓派上安装额外的库。我想在 C 中使用 UART 接口(interface)。 socket 有 433 Mhz 接收器,我使用 433 Mhz 发射器。在其他库中,您可以键入如下内容:send 11111 1 1.(套接字代码、套接字编号、条件)。但是如何使用 write() 函数在 C 语言中格式化这个命令呢? 10 是字符数。我在下面使用这段代码。我通过 minicom 测试了输出,效果很好。但是接收者现在如何知道它被寻址了呢?

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>

int main(int argc, char ** argv) {
int fd;
// Open the Port. We want read/write, no "controlling tty" status, and open i$
fd = open("/dev/ttyAMA0", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd == -1) {
perror("open_port: Unable to open /dev/ttyAMA0 - ");
return(-1);
}

// Turn off blocking for reads, use (fd, F_SETFL, FNDELAY) if you want that
fcntl(fd, F_SETFL, 0);

// Write to the port
int n = write(fd,"11111 1 1",10);
if (n < 0) {
perror("Write failed - ");
return -1;
}

// Don't forget to clean up
close(fd);
return 0;
}

最佳答案

我没听错吗:您通过 UART 发送命令以通过 radio 发射器传输消息。嗅探 UART 输出证明您的代码在 TX 线发送您希望它在软件中发送的内容的意义上是正确的,实际问题是“rx 模块如何获取该消息/如何使 rx 模块获取它?”

如果是这样,主要问题是您实际使用哪种 radio TX/RX 或 TRX(我指的是芯片/模块代码,如 CC1120、NRF2401 等)?有很多可用的 433MHz radio 模块,我想首先查阅他们的数据表或至少在此处发布零件号是正确的方法。

关于C RbPi UART 远程控制 socket ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30231982/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com