【第20篇博客】使用NodeJs进行树莓派串口使用
目前搜到的大多数描述树莓派 4 串口的文章,大多数开头都是禁用下蓝牙,这个做法针对树莓派0-3 是必须的,因为本身串口不够用,但对树莓派 4 来说并不需要,因为有额外 4 个串口可以利用,默认配置好的两串口一个用于蓝牙(UART0)另一个是 miniUART 可以保留设置。此方面的文章大多都是一个流程,原因是参考的最初版本是树莓派 3 的设置;树莓派 4 的额外串口设置在树莓派论坛中可以看到相关的介绍,外面的文章不太多。除此之外,还有USB的4个口可以使用,也就是说,树莓派4将有10个串口可以使用。
树莓派正确识别CH340
https://lightningleader.github.io/posts/4.html
首先正常开启树莓派,不要插入CH340,然后进入树莓派桌面,打开命令行,输入命令lsusb,可以查看本机的USB设备列表,以及USB设备的详细信息。
然后插入CH340,再次运行lsusb命令,这个时候再看界面。可以明显看出多了一个设备,后面的设备详情也明确表示这个是CH340,这就表明树莓派正确识别到了插入的CH340。
接着在命令行输入命令 ls -l /dev/tty*
不出意外的话最后一个就是你插入的ch340,然后就记住这个黄色字体即/dev/ttyUSB0。这里的USB0也可能是USB1,这个是不确定的。
到了这里就代表你的树莓派可以正常识别CH34,下面就是写代码来验证效果了。
树莓派4B如何使用串口与外部进行通信
https://blog.csdn.net/weixin_42108484/article/details/104039992
硬件串口 (PL011) | mini串口 |
---|---|
/dev/ttyAMA0 | /dev/ttyS0 |
硬件串口有单独的波特率时钟源,性能好,稳定性强 | mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响 |
分配给蓝牙模块使用的 | 性能较差的mini串口是分配给GPIO串口 TXD0(GPIO14)、RXD0(GPIO15) |
相比树莓派零、1、2 以及 3 的双串口 UART0(PL011)和 UART1(mini UART),树莓派 4 中新增了 4 个 PL011 串口共计有 6 个 UART,整理此笔记用作记录和配置参考。
树莓派 4 UART 多串口配置通信
https://blog.csdn.net/weixin_40796925/article/details/107907991
展示所有串口命令
$ dtoverlay -a | grep uart |
GPIO14 = TXD0 -> ttyAMA0
GPIO0 = TXD2 -> ttyAMA1
GPIO4 = TXD3 -> ttyAMA2
GPIO8 = TXD4 -> ttyAMA3
GPIO12 = TXD5 -> ttyAMA4
GPIO15 = RXD0 -> ttyAMA0
GPIO1 = RXD2 -> ttyAMA1
GPIO5 = RXD3 -> ttyAMA2
GPIO9 = RXD4 -> ttyAMA3
GPIO13 = RXD5 -> ttyAMA4
NodeJs示例程序
const SerialPort = require('serialport') |
这里的/dev/ttyUSB0
还可以替换成/dev/ttyAMA1
。