Help us understand the problem. What is going on with this article?

PC使ったRaspberry Pi開発手順

なるべくGUIをRaspberry Piに入れたくない.
クロスコンパイルの環境構築もしたくない.
でも開発は,使い慣れたエディタでやりたい.

そしてどうせgitで管理している.

で,以下のような開発を行っているので,一応紹介.

cloud_pc_raspberrypi.png

前提

  • PC(Ubuntu Desktop)上のホームディレクトリに関する情報
    • サーバ名
      • home
    • ユーザ名
      • user1
    • プログラムのあるディレクトリ
      • /home/user1/ros2/test_program

準備

raspberry pi上

raspberry piにログインし以下を実行.

$ ssh-keygen

~/.ssh/id_rsa.pubをPCにコピー.ファイルコピーでもいいし,中身を表示(cat ~/.ssh/id_rsa.pub)し,文字列をコピーして貼り付けてもいい.

PC上

上記のraspberry pi上のid_rsa.pubの中身をPC上の~/.ssh/authorized_keysに追加.ファイルがなければ作成.

文字列をコピーした場合,エディタなどで最後に追加.ファイルをコピーした場合はid_rsa.pubのある場所で以下を実行.

$ cat id_rsa.pub >> ~/.ssh/id_rsa.pub

最初のclone

PC上でプログラム作成.それをraspberry pi上でclone.
以下はraspberry pi上で実行.

$ git clone ssh://user1@home/home/user1/ros2/test_program

構文は以下のとおり

git clone ssh://[ユーザ名]@[コンピュータ名][対象ディレクトリを絶対パスで指定]

運用

  1. PC上で作業
  2. PC上でgit commit -a -m "message"
  3. raspberry pi上でgit pull
  4. raspberry pi上でビルド・実行・テスト
  5. 問題なければgithub, gitlabにpush

branchの活用

PC上でbranchをきって開発する場合の手順.
branch名はdevelop-user1とする.

  1. PC$ git checkout -b develop-user1
    • develop-user1の作成
  2. PC上で作業・編集
  3. PC$ git commit -a -m "message"
  4. raspberry$ git pull origin develop-user1:master
  5. raspberry pi上でビルド・実行・テスト.
  6. 問題がある or 一段落ついていないならば2.に戻り作業.一段落ついてれば7.へ
  7. PC$ git merge master
    • コンフリクトがあれば修正
  8. PC$ git checkout master
  9. PC$ git merge develop-user1
  10. masterブランチをgithubやgitlabにpush

欠点

commitしてraspberry pi上にてpullするので,commit間隔が短くなる.もしくはraspberry pi上でビルドするまでビルドに成功したか否かが分からないので,ビルド不成功のものもcommitしてしまう.

参考

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away