【DigiKey好物畅享】3.BealgBone+BealgBoneY-AI+串口通信

【DigiKey好物畅享】3.BealgBone+BealgBoneY-AI+串口通信

串口在资源受限的场合大有用处,BeagleBoneY-AI默认终端登录用的UART0,对应J13处3Pin SH1.0串口是/dev/ttyS2,还有另外一处UART1在40pin的8脚GPIO14(UART TX)和10脚GPIO15(UART RX),挂载在/dev/ttyS3,又映射到/dev/ttyAMA0,可以通过输入“ls -al /dev/tty*”来查看,本文会从配置、串口shell测试、modbus应用读取电力数据等层层展开。

一、 配置

UART1默认没开启,在/boot/firmware/overlays/和/boot/dtbs/6.1.83-ti-arm64-r72/ti/默认都有串口驱动设备树k3-am67a-beagley-ai-uart-ttyama0.dtbo,

Upload failed

原来需要修改配置文件/boot/firmware/extlinux/extlinux.conf,但这个由于我开启摄像头IMX219就没法开启UART,所以暂时关掉摄像头,打开UART,

Upload failed

二、串口shell

然后重启,再接一串口模块到GPIO14和GPIO15,依次输入“stty -F /dev/ttyS3 115200”、“echo “Hello BeagleBoneY-AI” > /dev/ttS3”就能看到打印字符,

Upload failed

三、modbus应用

modubs协议在电力、数控等多行业应用较多,它能对遥信、遥控、遥测量进行简单化描述并返回,这里接入一互感器模块套到插座火线上(电磁感应),串口接到BeagleBoneY-AI上,然后调用Linux接口write发送遥测指令,read获取遥测数据,

Upload failed

成功读到插座没插电器时的电力数据包括电压=223.4V,电流=0A,有功功率=0W,有功电能=0.01kWh,功率因数=0.999,二氧化碳消耗=0.0099kg,温度=14℃,电网频率=49.98Hz。相应源码如下:

Upload failed

四、总结

     这次试用BeagleBone确实体验到开源社区的益处,能在多处能找到参考和思路,缺点也很明显,BeagleBoneY-AI使用的人寥寥无几,且官方给的资料有限,很多东西需要自己摸索,和树莓派比还是生态逊色不少。常见的应用暂时没发现有兼容性问题,能直接从树莓派切到BeagleBone比如常见外设GPIO、Timer、UART等等。AI方面的应用需要再花时间弄一下,感谢这次得捷电子给的机会,我会继续在上面开发一些东西,让这块卡片小电脑也能给我提高效率。