はじめに
Twitter で Swift でも L チカができるらしいと聞いたので実践してみました!
Swift インストール
- SSH 接続する。
-
下記コマンドで Swift をインストールする。
12345# Swift-Armのインストール$ curl -s https://packagecloud.io/install/repositories/swift-arm/release/script.deb.sh | sudo bash# Swift のインストール$ sudo apt-get install swift5
Swift-Arm のスクリプトで OS の判別、curl のチェック、gpg のチェック等色々やってくれてるらしいです。
参考:Raspberry Pi で Swift を使えるようにする【Swift 5】 - Swift-Arm の入手
Lチカ
Swift で L チカをします。
配線
配線はこれと同じです。
- ブレッドボードの j30 にジャンバ線1のオスを挿す。
- ブレッドボードの j26 にジャンバ線2のオスを挿す。
- 抵抗をブレッドボードの h30 と h27 に挿す。
- LED の + をブレッドボードの f27 に挿す。
- LED の - をブレッドボードの f26 に挿す。
- ジャンバ線1のメスをラズパイの GPIO2 に挿す。
- ジャンバ線2のメスをラズパイの 5V 横の GND に挿す。
Swift コード
Swift で L チカのコードを書いていきます。
-
SSH 接続する。
-
下記コマンドで必要なものを準備する。
1234567891011// ディレクトリ作成$ mkdir SwiftLchika// ディレクトリに移動$ cd SwiftLchika// プロジェクト初期化$ swift package init --type executable// Package.swift編集$ vim Package.swift -
i と入力し入力モードにする。
-
下記ソースをコピペする。
1234567891011121314// swift-tools-version:5.1// The swift-tools-version declares the minimum version of Swift required to build this package.import PackageDescriptionlet package = Package(name: "SwiftLchika",dependencies: [.package(url: "https://github.com/uraimo/SwiftyGPIO.git", from: "1.0.0")],targets: [.target(name: "SwiftLchika", dependencies: ["SwiftyGPIO"])]) -
下記コマンドを実行する。
1$ vim Sources/SwiftLchika/main.swift -
i と入力し入力モードにする。
-
下記ソースをコピペする。
1234567891011import Foundationimport SwiftyGPIOlet gpios = SwiftyGPIO.GPIOs(for: .RaspberryPi3)var gp = gpios[.P2]!gp.direction = .OUTrepeat {gp.value = (gp.value == 0) ? 1 : 0Thread.sleep(forTimeInterval: 0.1)} while(true) -
下記コマンドで起動する。
12345# SwiftyGPIOインストール$ swift build# 実行$ swift run
これで L チカができます!(終了する場合は ctrl + C)
おわりに
ラズパイ側も Swift で実装できると遊びの幅が広がる気がします(でもライブラリがあるかはわからない。。。)。 iOS 端末と BLE 接続できれば両方 Swift になってすてきな気がする。
コメント
[…] Swift のインストールはこちらを参考。 […]