Getting Started

ここではkonashi 5の基本的な使い方を紹介します。 Python SDK、ビジュアルプログラミングを使ったやり方を順番に説明します。

1. Python SDK

Python SDKでkonashi 5を動かす手順とLEDを点滅させるコードを説明します。

1-1. SDKのインストール

まず、konashi 5のPython-SDKをインストールします。

$ pip install konashi

1-2. プログラム作成

次に以下のPythonプログラムをblink.pyという名前で作成します。

from konashi import *
from konashi.Io.GPIO import *
import asyncio

# 接続するkonashiの名前
KONASHI_NAME = "ksXXXXXX"

async def main():
    k = Konashi(KONASHI_NAME)
    # 接続する(タイムアウト5秒)
    await k.connect(5)

    # GPIO1-4を出力として設定
    pin = 0b00011110
    await k.io.gpio.config_pins([
        (pin,
        GPIOPinConfig(
            GPIOPinDirection.OUTPUT,
            GPIOPinPull.NONE, 
            send_on_change = False
        ))
    ])

    # 点灯パターン ■□■□ ->□■□■
    onled = 0b00010100
    while True:
        await k.io.gpio.control_pins([
            (onled, GPIOPinControl.HIGH),   # ONにするLED
            (onled^pin, GPIOPinControl.LOW) # OFFにするLED
        ])
        onled = onled^pin
        await asyncio.sleep(0.5)

main_task = None
try:
    # main関数を実行
    main_task = asyncio.run(main())
except KeyboardInterrupt:
    # Ctrl+Cで終了
    main_task.cancel()

プログラムの流れは

  1. konashiに接続する.

  2. 使用するGPIO(1-4)を出力として設定する。

  3. 点灯パターンに従ってON-OFFを繰り返す。

となります。

1-3. 実行

そしてblink.pyを実行するとLED1-4が点滅します。

python blink.py

konashi 5

プログラムはCtrl+Cで終了します。

2. ビジュアルプログラミング

ビジュアルプログラミングでkonashi 5を動かす手順を説明します。

2-1. ビジュアルプログラミング環境を起動

以下のURLにアクセスして、ビジュアルプログラミング環境を起動します。

https://kurikit.ux-xu.com/play/

ビジュアルプログラミング環境についてはこちらのnote記事を参考にしてください。

起動できたら、拡張機能からkonashi5を選択します。

konashi 5 app

左上の「接続する」にチェックを入れます。

konashi5 scratch

デバイスを選んでペア設定をすればkonashi5との接続が完了します。

2-2. Lチカ

まずは赤色LEDを一つ光らせてみましょう。 赤色LEDはGPIOの1-4に当たるので、画像のように1番を出力に設定し、HIGHにするプログラムを作成します。

konashi5 blink

ブロックをクリックすると赤色LEDが光ります。

konashi5 led

2-3. タクトスイッチ+Lチカ

次はタクトスイッチを押した時に赤色LEDが光るようにしてみましょう。 タクトスイッチはGPIO0に当たるので、0番を入力に設定します。 画像のように、タクトスイッチが押された時に赤色LED(1番)が光るプログラムを作成します。

konashi5 switch

右上の緑の旗のマークを押すと、konashi5のタクトスイッチを押したときだけ赤色LEDが光るようになります。

参考

Python SDKを用いたサンプルコード

Python SDKを用いた作例

ビジュアルプログラミングを用いたサンプルコード