【飞凌OK-MX9596-C开发板试用】③云端AI拍照识别 - 飞凌嵌入式 - 电子技术论坛 - 广受欢迎的专业电子论坛!
https://bbs.elecfans.com/jishu_2504144_1_1.html
书接上回,玩转了基于云端的AI(感谢版主给加精),本篇咱们再回到现实。

回顾开发板的硬件,可谓功能丰富,端口多样。
但回过头一看,没有配置类似树莓派那样的40pin接口。
也就是说没有GPIO,UART,SPI(倒是有一个SPI3),IIC等常用嵌入式底层接口。
CAN、RS485等工业互联接口倒是不少(CAN有 5个; RS485有 2个)
USB常用于高级硬件接口(摄像头等)
如果要驱动较为底层的硬件,如传感器、OLED、电机等,就略有不便。
这里我想到用RS485——UART(TTL)的方式扩展接口:
隔离型TTL转RS485,当然了因为都是双向接口,所以也是支持RS485转TTL的。

硬件连接方面
开发板的RS485_1的AB端接 TTL转RS485模块的 AB端。
TTL转RS485模块的 Vin TX RX GND 分别接 USB转串口TTL 的 Vin RX TX GND(注意TX和RX是交叉的)

USB转串口TTL 主要方便调试
在嵌入式系统和物联网开发中,串口通信是一项常见且重要的技术。Python 提供了一个名为 pySerial 的第三方模块,使得串口通信变得简单而灵活。
安装方式
pip install pyserial
下面是简单的串口发送和接收的例子
其中/dev/ttyLP7就对应RS485_1
485.py
import serial
import time
# 打开串口
ser = serial.Serial(
port='/dev/ttyLP7', # 串口号,根据实际情况修改
baudrate=115200, # 波特率,根据实际情况修改
bytesize=8, # 数据位,通常为8位
parity='N', # 奇偶校验,通常为None或'N'
stopbits=1, # 停止位,通常为1位
timeout=1 # 超时时间,单位为秒
)
# 发送数据
def send_data(data):
ser.write(data)
# 接收数据
def receive_data():
if ser.in_waiting:
data = ser.read_all()
return data
return None
# 主函数
if __name__ == '__main__':
while True:
# 发送数据
send_data(b'Hello, RS485 to TTL!')
time.sleep(3)
# 接收数据
data = receive_data()
if data:
print('Received:', data.decode('gbk'))
else:
print('No data received')
time.sleep(1)
# 关闭串口
ser.close()
break
执行结果:
SSH端:收到10个“Hello,TTL to RS485!”

在PC端串口助手:

收到了“Hello, RS485 to TTL!”
另外,刚刚在SSH端收到的数据,来自串口助手的配置:
每0.3秒发送一次“Hello,TTL to RS485!”
我们的源程序里,发送完数据后有个 time.sleep(3)
也就是延时3秒,所以在这3秒里一共收到了10个数据。
另外需注意,串口助手发送的文字要设置为GBK编码,这样在源程序里接收数据部分:print('Received:', data.decode('gbk'))
才能正确解析。

本次分享就到这里。
最后是一个引子,引入下一帖
如图:


更多回帖