树莓派实战项目
时间: 2025-05-11 19:21:17 浏览: 27
### 树莓派实战项目示例教程
#### 基础 GPIO 控制
树莓派的基础功能之一是对通用输入/输出 (GPIO) 的控制。通过学习这些基本技能,可以实现简单的硬件交互任务,例如点亮 LED 或读取按钮状态。这种基础能力是许多复杂项目的起点[^1]。
```python
import RPi.GPIO as GPIO
import time
# 设置 GPIO 模式
GPIO.setmode(GPIO.BCM)
# 定义引脚编号
led_pin = 18
# 配置为输出模式
GPIO.setup(led_pin, GPIO.OUT)
try:
while True:
# 点亮 LED
GPIO.output(led_pin, GPIO.HIGH)
time.sleep(1)
# 关闭 LED
GPIO.output(led_pin, GPIO.LOW)
time.sleep(1)
finally:
GPIO.cleanup()
```
---
#### 物联网应用开发
利用树莓派的强大计算能力和丰富的外设接口,可以轻松搭建物联网设备。这类项目通常涉及传感器数据采集、无线通信以及云端同步等功能。
##### 温湿度监控系统
以下是一个基于 DHT11 温湿度传感器的简单 IoT 应用实例:
```python
import Adafruit_DHT
from time import sleep
sensor = Adafruit_DHT.DHT11
pin = 4
while True:
humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
if humidity is not None and temperature is not None:
print(f"温度: {temperature}°C, 湿度: {humidity}%")
else:
print("无法获取温湿度数据")
sleep(2)
```
---
#### 网络编程实际案例
简易聊天程序是一种经典的网络编程练习,能够帮助开发者深入理解 TCP/IP 协议的工作原理及其在 Python 中的应用[^2]。
##### 聊天服务器端代码
```python
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = '0.0.0.0'
port = 9999
server_socket.bind((host, port))
server_socket.listen(5)
print("等待客户端连接...")
client_socket, addr = server_socket.accept()
with client_socket:
print(f"已连接来自{addr}的客户端")
while True:
data = client_socket.recv(1024).decode('utf-8')
if not data:
break
print(f"收到消息: {data}")
response = f"服务端响应: {data}"
client_socket.sendall(response.encode('utf-8'))
```
##### 聊天客户端代码
```python
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost' # 替换为目标主机 IP 地址
port = 9999
client_socket.connect((host, port))
message = input("请输入要发送的消息:")
client_socket.sendall(message.encode('utf-8'))
response = client_socket.recv(1024).decode('utf-8')
print(f"接收到的服务端回复: {response}")
client_socket.close()
```
---
#### Web 接口嵌入式路由器
此高级项目展示了如何使用 Raspberry Pi 4 和 OpenWrt 构建支持 Web 界面管理的嵌入式路由器。这不仅提升了家庭网络的安全性和灵活性,还提供了自定义扩展的可能性[^3]。
以下是设置静态路由的一个简化 Shell 脚本例子:
```bash
#!/bin/bash
# 添加静态路由规则
ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
echo "静态路由配置完成"
```
---
#### 总结
上述几个方向——从基础 GPIO 到复杂的物联网解决方案再到网络编程实践,均体现了树莓派作为多功能开发平台的优势。无论是初学者还是有经验的技术人员都可以找到适合自己的挑战领域。
阅读全文
相关推荐



















