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

Swift on the Raspberry PI

Swift on the Raspberry PI

Avatar for Simone Civetta

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()