树莓派系列(一)-——————树莓派usb串口的使用

写在前面:笔者对于树莓派是一个新人,主要是用来进行opencv的图像识别,因此,笔者的文章可能有许多错误,但笔者会把自己能用的都写出来。

笔者之前用的一直是树莓派3B+的自带TXRX串口,也着实出现了不少问题,比如和单片机进行通信的时候要不就是发一些乱码,要不就是不能通信,能连接上并正常通信的几率很低,这样虽然能通信,但你并不保险,尤其是树莓派开机的时候,那个串口还会发送一堆奇怪的东西。
在和学长(某大佬)说了我们的困扰之后,学长当即指出他们用的一直是usb串口,用一个ch340连着,这样数据就不会有错误。我们试了一下,效果奇佳,因而写这篇文档来记录一下。(注:有些图片来源于fhqlongteng的csdn博客)

我们ch340选用的是市面上十分普遍的一款,这样式的:
在这里插入图片描述
连接上我们的树莓派之后,在命令行输入
lsusb
即可出现所有的串口,看自己的设备是否连接上ch340,有的话就会显示;
接着输入ls -l /dev/tty*
形如
在这里插入图片描述
这里可以看到自己的ch340模块被识别成什么,可能是0,也可能是1;
接着,输入stty -F /dev/ttyUSB1(若识别为0则写0)
即可看到目前USB串口的波特率。

到这里,如果都可以用,说明USB串口可以正常使用,接着就是怎么应用。由于作者一直用的是python,下面具体写python的应用方法,用C++的话应该也不难。
python首先要有一个serial的包,在命令行输入pip list即可看到具体的包是否安装(一般来说树莓派默认安装了python3.5.3和pyserial)
在这里插入图片描述
像这样,版本可能更高一些,如果没有的话安装一下就好。
下面,在树莓派中有两个python,Linux系统自带的python2和树莓派已经安装好的python3,笔者这里用python3来写,即在ide中写,代码为:

import serial
ser=serial.Serial('/dev/ttyUSB0',9600)#如果是1就写1
ser.write('12345'.encode())#这里发的时候要有encode(),不然系统会报错格式不对

其他serial库的使用方法自行了解即可。

  • 20
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
树莓派连接NB-IoT可以使用Quectel BG96模块,该模块支持NB-IoT和LTE Cat M1网络,并提供UART和USB接口。以下是连接步骤: 1. 购买Quectel BG96模块并将其连接到树莓派上。 2. 下载并安装模块的驱动程序,可以从Quectel官方网站上下载。 3. 编写一个程序来控制模块。可以使用AT指令来控制模块,AT指令可以通过UART或USB接口发送和接收。以下是一个简单的示例代码: ```c #include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <termios.h> #define SERIAL_PORT "/dev/ttyUSB0" int main(void) { int fd; char buf[256]; struct termios tio; // 打开串口 fd = open(SERIAL_PORT, O_RDWR | O_NOCTTY | O_NONBLOCK); if (fd < 0) { perror("open"); return -1; } // 配置串口参数 memset(&tio, 0, sizeof(tio)); tio.c_cflag = B115200 | CS8 | CLOCAL | CREAD; tio.c_iflag = IGNPAR; tio.c_oflag = 0; tio.c_lflag = 0; tio.c_cc[VTIME] = 10; tio.c_cc[VMIN] = 0; tcsetattr(fd, TCSANOW, &tio); // 发送AT指令 write(fd, "AT\r\n", 4); // 等待响应 usleep(100000); memset(buf, 0, sizeof(buf)); read(fd, buf, sizeof(buf)); // 输出响应 printf("%s", buf); // 关闭串口 close(fd); return 0; } ``` 这段代码可以打开串口并发送AT指令到模块,然后等待响应并输出响应。将AT指令替换为相应的NB-IoT指令即可连接到NB-IoT网络。注意,需要将串口参数设置为模块支持的波特率和数据位等参数。 4. 将程序编译并运行即可连接到NB-IoT网络。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值