Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swift on the Raspberry PI

Swift on the Raspberry PI

Simone Civetta

February 09, 2017
Tweet

More Decks by Simone Civetta

Other Decks in Programming

Transcript

  1. Downsides 4 Not a real platform (such as Android Things)

    4 Not many drivers 4 ARM Linux not officially supported by Apple (yet)
  2. 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 !
  3. 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>
  4. 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
  5. 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
  6. 5. All set! $ swift --version > Swift version 3.0.1-dev

    (LLVM a922364e5b, Clang 968470f170, Swift 0cca6668a2)
  7. 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()