はじめに
以前、Raspberry PiのデータをPCへ移動させたり、クラウド上のgoogleスプレッドシートで読み書きする方法を紹介しましたが、今回はpythonのParamikoモジュールを使って、Raspberry Piのローカルファイルからデータを取得し、分析する手法を紹介します。
メカエレ Blog | 電子工作とライフ…


初心者必見!WinSCPでRaspberry PiとWindows PC間のファイル共有を実現する方法
はじめに RealVNC Viewerではファイル転送できません(有料)。そんなときにおすすめなのが、WinSCPというファイル転送ツールです。この記事では、WinSCPを使ってRaspberry P…
メカエレ Blog | 電子工作とライフ…


Raspberry PiとGoogleスプレッドシートの連携方法 データ記録と制御の実践ガイド
はじめに Raspberry PiとGoogleスプレッドシートを連携させることで、データの記録やグラフ化、プログラムの制御変更をスマホのアプリから手軽に実現でき、非常におすすめ…
Paramikoとは何か?
Paramikoはpython用のSSH2モジュールです。SSH (Secure Shell)は、ネットワーク上でセキュアな通信を実現するためのプロトコルで、Raspberry Piなどのリモートデバイスに接続してファイルの操作やコマンド実行が可能になります。
Paramikoの基本機能
- SSH接続の作成、認証
- リモートコマンドの実行
- SFTP (SSH File Transfer Protocol)によるファイル操作
Paramikoを使った流れ
- SSH接続を作成し、Raspberry PiとPCの接続を確立させます。
- SFTPを使用してファイルをRaspberry Piから取得します。
- 取得したデータをPCのpython内で解析します。
手順
STEP
Raspberry PiでSSHを有効化
Raspberry Piのデスクトップ画面で、左上の「Raspberry Piメニュー」 > 「設定」 > 「Raspberry Piの設定」をクリック。インターフェース」タブを選択し、「SSH」を「有効」に設定

STEP
Raspberry PiのIPアドレス、ユーザー名、パスワードを確認する
IPアドレスはTerminalに以下を入力するか、wifiマークにカーソルを当てると表示されます
ユーザー名は /home/ユーザー名 となっていますので忘れた方は確認ください。
ifconfg
STEP
取得したいRaspberry PiのCSVファイルのパスを確認する
"/home/pi/data.csv"
STEP
PCに必要なモジュールをインストールし、実行
pip install paramiko pandas
paramikoでRaspberry Pi上のデータを取得する
paramikoを使ってRaspberry PiのCSVファイルを取得し、pandasを使って分析するコードです。
import paramiko
import pandas as pd
from io import StringIO # 文字列データの対応
# Raspberry Piの設定
HOST = "raspberrypi.local" # Raspberry PiのIPアドレス
USERNAME = "pi" # Raspberry Piのユーザー名
PASSWORD = "raspberry" # Raspberry Piのパスワード
# Paramikoを使ったSSH接続
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(HOST, username=USERNAME, password=PASSWORD)
# CSVファイルをRaspberry Piから取得
sftp = ssh.open_sftp()
remote_file_path = "/home/pi/data.csv" # ファイルのパス
with sftp.open(remote_file_path, "r") as file:
csv_data = file.read()
# Paramiko接続を開放
sftp.close()
ssh.close()
# pandasでCSVを解析
# 文字列データの場合の対応
csv_buffer = StringIO(csv_data)
df = pd.read_csv(csv_buffer)
# データ分析
print("\n--- Dataframe ---")
print(df)
print("\n--- 値の合計 ---")
print(df["value"].sum())
まとめ
Raspberry PiのファイルをParamikoを使って取得し、Pythonでデータ分析する方法を解説しました。これはローカルに放置されたログファイルや実況データの分析に役立つ手順です。ぜひチャレンジしてみてください。
コメント