3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GoでCLIツールを作成してRaspberryPiで実行する

Last updated at Posted at 2019-09-03

やりたいこと

GoのCLIツールを作成してRaspberryPi上でとりあえず動かす。

IoT的な仕事が今後増えそうなので、クロスコンパイルが簡単なGoで手順を確立しておけばいろんな環境で動くツール作成に役立つのではないかという思い。

使う環境

<ビルド環境>
 Windows  :Windows10
 WSL    :ubuntu18.04 LTS(転送に使うrcp用)

<実行環境>
 ハード   :Raspberry pi 3 Model B
 OS     :2019-07-10-raspbian-buster-full

<前提>
 WindowsとRaspberryPi間でSSH接続できる環境であること

手順

  1. 使うパッケージをインストールする
  2. ツールを作成する
  3. ビルドする
  4. RaspberryPiに転送する

1. 使うパッケージをインストールする

今回は初心者かつ勉強用なので深く考えずにググってすぐに出てきたものを使う。
spf13/cobraというパッケージが有名そうなので、これを使う。

go get github.com/spf13/cobra

#最近はcobraが人気っぽいけど、他にもフレームワークはいっぱいあるみたいなので、時間があったらいろいろ試してみる。

2. ツールを作成する

下記のサイトを参考にとりあえず動くものを作る。
わかりやすくまとめていただいて感謝。
https://qiita.com/usk81/items/df68a00c898b145faee5

3. ビルドする

(1) RaspberryPiのアーキテクチャを確認する(RaspberryPi上)

$ uname -m
armv7l

(2) クロスコンパイル設定を行う(Windows コマンドプロンプト上)

set GOOS=linux
set GOARCH=arm
set GOARM=7

(3) ビルドする(Windows コマンドプロンプト上)

go build -o [バイナリ名]

(例) go build -o test_cli_tool

4. RaspberryPiに転送する

WSL上で下記コマンドを投入する。

rcp [バイナリ名] [ラズパイのユーザ名]@[RaspberryPiのIPアドレス)]:[RaspberryPi上のディレクトリ]

(例) rcp test_cli_tool hogeuser@192.168.0.1:~/work

何も考えずに実行したら
(サブコマンドを"HelloCli"にしました)

~/work/test_cli_tool HelloCli

動いた!簡単だ~~

HelloCli was executed

参考サイト

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?