JSON文件如何放入树莓派中
在树莓派项目中,JSON文件常用于存储配置信息、传感器数据、API响应等结构化数据,将JSON文件放入树莓派是开发过程中的基础操作,但不同场景下可能有多种实现方式,本文将详细介绍几种常用方法,从基础操作到进阶技巧,帮助你轻松搞定JSON文件传输。
准备工作:了解JSON文件与树莓派环境
在操作前,需明确两点:
- JSON文件:一种轻量级的数据交换格式,以
.json为后缀,内容为键值对结构(如{"name": "树莓派", "temp": 36.5})。 - 树莓派环境:默认系统为Raspberry Pi OS(基于Linux),支持文件管理命令和图形界面操作,可通过SSH远程连接或直接操作本地系统。
方法一:通过SD卡直接拷贝(适合离线操作)
这是最基础的方式,适合没有网络或树莓派未联网的场景。
操作步骤:
- 弹出树莓派SD卡:关闭树莓派电源,取出SD卡(通过卡槽或直接拔出,注意安全弹出)。
- 连接读卡器:将SD卡插入电脑的读卡器(或通过USB转接器)。
- 找到文件系统:电脑识别SD卡后,通常会显示两个分区:
boot(FAT32格式):存放系统启动文件,容量较小;rootfs(EXT4格式):主要文件系统,存放用户数据和系统文件。
JSON文件建议存放在rootfs分区的home目录(用户目录)或自定义文件夹中。
- 拷贝JSON文件:将电脑中的JSON文件直接拖拽或复制到SD卡的指定目录(如
/home/pi/)。 - 装回SD卡并启动树莓派:将SD卡插入树莓派,开机后即可通过命令行或文件管理器找到JSON文件。
优点:操作简单,无需网络;
缺点:需物理接触树莓派,适合一次性传输。
方法二:通过SSH远程传输(适合网络环境)
若树莓派已连接网络(通过WiFi或有线),可通过SSH(Secure Shell)远程登录,再使用命令行工具传输文件。
前提条件:
- 树莓派已开启SSH服务(默认在Raspberry Pi OS中已开启);
- 树莓派与电脑在同一局域网内,或树莓派配置了公网IP;
- 知道树莓派的IP地址(可通过路由器管理界面或命令
hostname -I查看)。
操作步骤:
(1)SSH登录树莓派
电脑终端(Windows用PowerShell/CMD,macOS/Linux用Terminal)输入:
ssh pi@树莓派IP地址 # 默认用户名为"pi",密码为系统初始密码(如"raspberry")
登录成功后,进入树莓派命令行界面。
(2)传输JSON文件
使用scp命令(从电脑上传到树莓派)
scp /本地/JSON文件路径 pi@树莓派IP地址:/树莓派目标路径
示例:将电脑D:\data\config.json上传到树莓派/home/pi/目录下:
scp D:\data\config.json pi@192.168.1.100:/home/pi/
使用rsync命令(适合大文件或增量同步)
rsync -avz /本地/JSON文件路径 pi@树莓派IP地址:/树莓派目标路径
-a归档模式,-v显示详情,-z压缩传输,提高效率。
(3)验证文件是否上传成功
树莓派命令行中进入目标目录,查看文件:
cd /home/pi/ && ls -l # 查看文件列表及权限
优点:无需物理接触,支持远程操作;
缺点:需树莓派联网,且需基础命令。
方法三:通过Python脚本动态生成(适合程序化场景)
若JSON文件是程序运行中动态生成的(如传感器数据实时写入),可直接在树莓派上通过Python脚本创建。
操作步骤:
-
编写Python脚本:使用
json模块生成或写入JSON文件。
示例:在树莓派上创建data.json,写入温度和湿度数据:import json import os # 目标路径(建议存放在用户目录或项目目录) file_path = "/home/pi/data.json" # 示例数据(可替换为传感器采集的实时数据) sensor_data = { "timestamp": "2023-10-01 12:00:00", "temperature": 25.3, "humidity": 60.2, "device": "DHT22" } # 写入JSON文件(若文件不存在会自动创建,存在则覆盖) with open(file_path, "w") as f: json.dump(sensor_data, f, indent=4) # indent=4格式化缩进,便于阅读 print(f"JSON文件已生成:{file_path}") -
运行脚本:保存为
create_json.py,执行命令:python3 create_json.py
-
验证文件:检查目标目录是否生成
data.json如下:{ "timestamp": "2023-10-01 12:00:00", "temperature": 25.3, "humidity": 60.2, "device": "DHT22" }
进阶:追加数据而非覆盖
若需持续写入数据(如日志记录),可使用"a"模式打开文件,并手动拼接JSON数组:
import json
file_path = "/home/pi/log.json"
new_data = {"time": "12:01:00", "value": 26.1}
# 读取现有数据(若文件为空则初始化为空列表)
try:
with open(file_path, "r") as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
data = []
# 追加新数据
data.append(new_data)
# 写回文件
with open(file_path, "w") as f:
json.dump(data, f, indent=4)
优点:适合自动化场景,无需手动传输文件;
缺点:需编程基础,适合开发者使用。
方法四:通过网页或API下载(适合在线资源)
若JSON文件存储在远程服务器(如GitHub、API接口),可直接在树莓派上通过命令行或浏览器下载。
操作步骤:
(1)使用wget或curl命令下载
# wget下载(适合直接下载文件) wget -O /home/pi/config.json https://example.com/data/config.json # curl下载(适合从API获取数据) curl -o /home/pi/api_data.json https://api.example.com/data
-O参数指定保存的文件名,路径需写完整(如/home/pi/)。
(2)通过浏览器下载
- 树莓派连接显示器和键盘,打开浏览器(如Chromium);
- 访问JSON文件URL(如
https://raw.githubusercontent.com/user/repo/main/data.json); - 右键点击页面,选择“另存为”,保存到树莓派指定目录(如
/home/pi/)。
优点:无需本地传输,适合获取在线资源;
缺点:依赖网络,需目标文件可公开访问。
方法五:使用图形界面文件管理器(适合新手)
若树莓派已启用图形界面(Raspberry Pi OS with Desktop),可通过文件管理器直接拖拽操作。
操作步骤:
- 连接树莓派显示:通过HDMI连接显示器,键鼠操作;或使用VNC远程桌面(需先安装VNC服务)。
- 打开文件管理器:点击主菜单的“文件管理器”(Files)。
- 传输文件:
- 从U盘拷贝:将JSON文件存入U盘,插入树莓派USB口,文件管理器中找到U盘盘符,拖拽文件到树莓派目标目录(如
/home/pi/); - 从网络共享拷贝:若电脑开启了文件共享(如Windows的SMB、macOS的AFP),可在文件管理器中通过地址栏访问
\\电脑IP\共享文件夹
- 从U盘拷贝:将JSON文件存入U盘,插入树莓派USB口,文件管理器中找到U盘盘符,拖拽文件到树莓派目标目录(如



还没有评论,来说两句吧...