树莓派RPi B+系统安装及串口登录

本文介绍了树莓派的启动过程,包括镜像文件的下载与烧录、通过串口连接及基本配置等内容。

http://www.eeboard.com/bbs/forum.php?mod=viewthread&tid=39329

http://davidrobot.com/2014/11/raspberry_pi_model_b_plus_startup.html

http://www.cnblogs.com/abel/p/3441175.html

http://blog.youkuaiyun.com/xukai871105/article/details/23115627

http://davidrobot.com/2014/11/raspberry_pi_model_b_plus_startup.html

http://www.52pi.net/forum.php?mod=viewthread&tid=755

一、下载树莓派镜像文件

首先下载树莓派镜像文件RASPBIAN,下载地址:http://www.raspberrypi.org/downloads/
这里选择最新的2014-09-09版本,选择Download ZIP,文件大小900MB+,使用迅雷下载,速度还是挺快的。
1.png 
二、刷入镜像文件
在windows环境下下载最新的镜像,15+MB/s的写入速度,对这张microSD还是挺满意的。
2.png 
三、开机
我使用的是小米电源,最大输出2.1A,对树莓派来说足够了。
3.png 

四、通过串口连接树莓派
由于手头上没有独立显示器,这里我们直接通过串口连接树莓派,后面通过网线和电脑共享上网,安装远程桌面,这样完全可以在不需要显示器的情况下感受树莓派的魅力。
我们先来看看老版Model B的GPIO引脚说明:
4.png 
新版Model B+和B的串口引脚位置一致,只是多了一些引脚。
5.png 

五、使用TTL串口线连接树莓派,登录,波特率115200
6.png 
我使用的是FPGA开发板自带的TTL-USB转换线,其他的也可以,里面的芯片用的基本都是一样的。
9.png 
上电,登录树莓派
用户名:pi
密码:raspberry
7.png 

登录成功,可以发现树莓派使用的linux内核为3.12.28+,版本比较新。
查看SD卡使用情况:
df -h
注意,我的SD卡是16GB,但这里只识别了2.9GB。下一篇学习笔记我们会对SD卡进行处理,让树莓派识别出SD卡剩余的空间。
8.png 
### 实现树莓派4B在Ubuntu系统上通过UART与ESP32通信的Python程序 以下是基于用户需求设计的一个完整方案,用于实现在树莓派4B运行的Ubuntu系统中,通过UART接口与ESP32设备进行串行通信的功能。 #### 设置硬件连接 首先确认树莓派4B和ESP32之间的UART连线方式。通常情况下会遵循以下映射关系[^2]: | **Tree Pi 4B Pin** | **ESP32 Pin** | |---------------------|---------------| | TXD (Pin 8) | RX | | RXD (Pin 10) | TX | | GND | GND | #### 安装依赖项 确保已经安装了必要的库文件来操作串口通讯。可以通过pip工具轻松获取pyserial包: ```bash sudo apt-get update && sudo apt-get install python3-pip pip3 install pyserial ``` #### Python 示例代码 下面提供了一段简单的Python脚本来演示如何配置并使用PySerial库来进行基本的数据传输过程: ```python import serial from time import sleep def uart_communicate(port='/dev/ttyS0', baudrate=9600): ser = None try: # 初始化串口对象 ser = serial.Serial( port=port, baudrate=baudrate, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) if not ser.is_open: raise IOError('Failed to open the specified serial port.') while True: message_to_send = 'Hello ESP32!' # 向ESP32发送消息 num_written_bytes = ser.write(message_to_send.encode()) print(f'Sent {num_written_bytes} byte(s): "{message_to_send}"') # 给予时间让对方处理接收数据后再继续下一步动作 sleep(1) # 检查是否有来自ESP32的消息返回 incoming_data = ser.readline().decode().strip() if len(incoming_data)>0: print(f'Received reply: "{incoming_data}"') finally: if isinstance(ser, serial.Serial) and ser.is_open: ser.close() if __name__ == '__main__': uart_communicate('/dev/serial0') # 默认对于RPi模型来说'/dev/serial0'指向物理RS-232头 ``` 以上代码片段展示了怎样建立一个持续循环往复地向相连的目标装置发送问候语句的同时也尝试读取任何可能存在的回应信息的过程。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值