Lチカ編Gobotは、Go言語で書かれたロボティクス開発・IoTフレームワークです。ラズパイやArduino、Microbitといったマイコンから、ドローンやトイロボットまで約35種類ののプラットフォームに対応しています。本稿では、ラズパイ内にGoの環境を整備した上で、Gobotをもちいて、電子工作の基礎であるLチカを実行してみす。GobotについてGobotは、Go言語で書かれたロボティクス/ドローン/IoT開発フレームワークです。こちらのページからGobotが対応しているプラットフォームを参照できます。こちらのページにあるような、GPIOやI2C、SPIといった規格で通信、制御するセンサやモータを、提供されているAPIを用いて簡単に操作できます。Piには標準だとGo言語が入っていないため、インストールしていきます。OS)にgo1.12.7を圧縮形式でダウンロードし、scpでラズパイに転送して、展開する手順をとります。go1.12.7のダウンロードこちらのページから、goを圧縮形式でダウンロードします。なんかで先に確認しておいたください。B+を使用しているため、LinuxのARMv8版のgo1.12.7.linux-arm64.tar.gzをダウンロードします。Startedを参照。Piに上でインストールしたGoを転送します。PIを同一のLANに接続しSSHでやり取りできることを確認しておいてください。Pi上で実行していきます。go1.12.7.linux-arm64.tar.gzこれで、/usr/lacal以下にgoがインストールされたはずです。srcgoがあるのが確認できます。パスを通すこれだけだと、goの実行ファイルと在りかをコンピュータが特定できないので、パスを通してあげます。PATH=$PATH:/usr/local/go/bin読み込みんで、パスが通っているのか確認します。Worldをしておきます。ホームディレクトリ以下にgoのワーキングディレクトリを作成して、以下にsrcディレクトリを配置します。hello.gohello.goを次のように編集しましょう。world\n")}実行します。次のような出力が得られれば成功です。world注)もし、実行した際に、バイナリ形式が違うと怒られた時には、1に戻ってgo1.12.7.linux-armv6l.tar.gzをインストールし直して実行してみてください。ARMv6版じゃないと動きませんでした。Lチカ最後にLチカです。Goのインストールが完了したので、Gobotをインストールしておきます。gobot.io/x/gobotLEDを点灯するソースファイルled.goを作成します。led.goソースファイルを以下のように編集してください。ラズパイの7番ピンをもちいて、LEDを2秒おきに点滅させるコードになります。}回路図を載せておきます。7番ピンを使用しています。ついでに、写真も載せときます。実行して、LEDが点滅すれば成功です。getしてあげると、エラーが解消されるはずです。以下のコマンドで実行。work...ledドライバーのソースコード自体はそんなに大きくないので、読んでみると全体像を把握できて良さそうです。最後にGobotを触ってみた感想を述べると、公式ドキュメントも簡潔で分かりやすく、使いやすい印象を受けました。効率的にセンサやモータを制御できそうです。処理速度がC++やPythonと比較した時、どうなっているのか気になるところではあります。