Usando o Swift para exibir a temperatura e a umidade de um módulo DHT11
Raspberry Pi 2+ ou Raspberry Pi 3 Model B Model DHT11 ou DHT22
Para usar os binários pré-construídos fornecidos, você precisará instalar as seguintes dependências:
sudo apt-get install clang libicu-dev libcurl4-nss-dev
SwiftyGPIO faça o Download da ultima versão compátivel com sua placa.
Veja a tabela: Build Swift On ARM prebuilt-binaries e baixe.
wget https://github.com/uraimo/buildSwiftOnARM/releases/download/4.2.3/swift-4.2.3-RPi23-RaspbianStretch.tgz
Descompacte os arquivos para uma pasta de sua escolha. Por exemplo: /home/michel/swift-4.2.3/ após descompactar, execute um export path:
export PATH=/home/michel/swift-4.2.3/usr/bin:"${PATH}"
Teste se está tudo certo com o combando:
swift --version
A saída no terminal de ve ser algo como isso:
Swift version 4.2.3 (swift-4.2.3-RELEASE)
Target: armv7-unknown-linux-gnueabihf
$ git clone https://github.com/micheltlutz/DHT-SwiftyGPIO
$ cd DHT-SwiftyGPIO
$ swift run
Waiting output should be like this:
Temperatura: 25.0 Umidate: 41.0
O DHT.swift foi baseado no projeto dhtxx Mas com modificações.
A DHT class init permite selecionar o sensor e o tipo de conversão de dados que por padrão é Celcius.
swift public enum SupportedSensor {
case dht11, dht22
}
public enum ConversionType {
case Fahrenheit, Celsius
}
init(pin: GPIO, for sensor: SupportedSensor, conversion: ConversionType = .Celsius) { }
...
let dht = DHT(pin: gpios[.P4]!, for: .dht11)
Espero que este projeto ajude a começar com a criação de projetos de IoT com o Swift