Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Swift on the Raspberry PI
Search
Simone Civetta
February 09, 2017
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift on the Raspberry PI
Simone Civetta
February 09, 2017
More Decks by Simone Civetta
See All by Simone Civetta
2021: CI for Mobile: State of The Art
viteinfinite
0
410
MVI : une architecture robuste et moderne pour vos applications mobiles
viteinfinite
2
570
Cross-Platform Modules with Kotlin/Native (v. 2018.10)
viteinfinite
0
130
Face Recognition with Vision & Core ML
viteinfinite
1
1.1k
Shared Cross-Platform Modules with Kotlin/Native
viteinfinite
1
370
Server-Side Swift @ Devoxx FR
viteinfinite
0
140
Server-Side Swift
viteinfinite
0
110
Be the Quality You Want to See in Your App [Swift Edition]
viteinfinite
1
460
Swift : Nouvelles du front
viteinfinite
0
130
Other Decks in Programming
See All in Programming
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
210
phperだってパンチカードでコーディングしたい
o0h
PRO
0
460
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.3k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.4k
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
11
9.4k
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.4k
Jetpack Compose Mechanisms
skydoves
3
870
Performance Optimization With LLMs
xleitix
0
210
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
370
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
150
残高管理から台帳サービスへの進化
artoy
1
210
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3k
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Typedesign – Prime Four
hannesfritz
42
3.2k
エンジニアに許された特別な時間の終わり
watany
109
250k
Become a Pro
speakerdeck
PRO
31
6.3k
Side Projects
sachag
456
43k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
530
Building AI with AI
inesmontani
PRO
1
1.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
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