Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift on the Raspberry PI
Search
Simone Civetta
February 09, 2017
Programming
0
120
Swift on the Raspberry PI
Simone Civetta
February 09, 2017
Tweet
Share
More Decks by Simone Civetta
See All by Simone Civetta
2021: CI for Mobile: State of The Art
viteinfinite
0
380
MVI : une architecture robuste et moderne pour vos applications mobiles
viteinfinite
2
520
Cross-Platform Modules with Kotlin/Native (v. 2018.10)
viteinfinite
0
100
Face Recognition with Vision & Core ML
viteinfinite
1
1.1k
Shared Cross-Platform Modules with Kotlin/Native
viteinfinite
1
310
Server-Side Swift @ Devoxx FR
viteinfinite
0
110
Server-Side Swift
viteinfinite
0
78
Be the Quality You Want to See in Your App [Swift Edition]
viteinfinite
1
420
Swift : Nouvelles du front
viteinfinite
0
96
Other Decks in Programming
See All in Programming
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
120
組織で育むオブザーバビリティ
ryota_hnk
0
170
Vibe codingでおすすめの言語と開発手法
uyuki234
0
220
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
CSC307 Lecture 02
javiergs
PRO
1
770
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
5
1.6k
CSC307 Lecture 01
javiergs
PRO
0
680
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
230
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.4k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
160
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
180
Featured
See All Featured
For a Future-Friendly Web
brad_frost
182
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
410
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Building Applications with DynamoDB
mza
96
6.9k
Designing for Performance
lara
610
70k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
Swift on the Raspberry PI
None
TOC 1. Why 2. Building 3. GPIO 4. Tools
Why?
Just another language
Just another good language
Advantages 4 Expressive 4 Fast 4 Memory-efficient 4 C-compatible
Downsides 4 Not a real platform (such as Android Things)
4 Not many drivers 4 ARM Linux not officially supported by Apple (yet)
Building
Requirements 4 Raspberry PI 3 4 Micro-SD Card (8 or
16 GB) 4 Ubuntu Core (+ Ubuntu SSO Account) or Raspbian 4 External Screen (just for first booting) 4 HDMI Cable !
1. Ubuntu Core 1. Create an Ubuntu SSO Account 2.
Read https://developer.ubuntu.com/core/get- started/raspberry-pi-2-3 3. Install on the micro-SD card 4. ssh <USERNAME>@<RASPBERRY-IP>
2. The "Classic" mode 1. sudo snap install classic --edge
--devmode 2. sudo classic
3. Building Swift 6 Hours From sources
3. (not) Building Swift (The I've-just-got-30-minutes way) $ http://swift-arm.ddns.net/job/Swift-3.0-Pi3-ARM-Incremental/ lastSuccessfulBuild/artifact/
swift-3.0-2016-12-21-RPi23-ubuntu16.04.tar.gz or $ wget https://www.dropbox.com/s/cah35gf5ap22d11/swift-3.0.2-RPi23-1604.tgz Courtesy of @uraimo
4. Dependencies $ sudo apt-get install -y libpython2.7 libxml2 libicu-dev
clang-3.6 libcurl3 $ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.6 100 $ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 100
5. All set! $ swift --version > Swift version 3.0.1-dev
(LLVM a922364e5b, Clang 968470f170, Swift 0cca6668a2)
Resources 4 http://viteinfinite.com/2017/02/swift-on-the- raspberry-pi-part-1/ 4 http://dev.iachieved.it/iachievedit/building- swift-3-0-on-an-armv7-system/ 4 https://www.uraimo.com/2016/12/30/Swift-3-0-2- for-raspberrypi-zero-1-2-3/
GPIO
4 https://github.com/uraimo/SwiftyGPIO
let package = Package( name: "MyProject", dependencies: [ .Package(url: "https://github.com/uraimo/SwiftyGPIO.git",
majorVersion: 0), ] )
None
A basic example import SwiftyGPIO func run() { let gpios
= SwiftyGPIO.GPIOs(for:.RaspberryPi2) guard let gpio2 = gpios[.P2], let gpio3 = gpios[.P3] else { return } gpio2.direction = .IN gpio3.direction = .OUT gpio2.onChange{ gpio in gpio3.value = gpio.value } _ = readLine() } run()
None
None
Tools
None
SourceKitten
SwiftKitten + rsub
SwiftKitten + rsub ssh -R 52698:localhost:52698 <user@remoteHost> $ rsub file.swift
Resources 4 https://github.com/johncsnyder/SwiftKitten 4 https://github.com/Drarok/rsub
That's (almost) all!
None
None