설명 없음
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Bernd Gottschlag 5ee6bbbf1a Add SPI interface functions 5 년 전
base-station/software base-station: Broadcast weather data via MQTT. 5 년 전
display display: Fix visibility of reference labels. 5 년 전
documentation Description of the basic synchronized network protocol. 5 년 전
kicad-library Add a footprint for a reverse-mounted BME module. 5 년 전
weather-sensor Add SPI interface functions 5 년 전
.gitignore base-station: Create empty software project. 5 년 전
.gitmodules Add reading from the BME280 using the official API 5 년 전
README.md Add compiling instructions for Ubuntu. 5 년 전
cern_ohl_w_v2.txt Readme and licenses. 5 년 전
gpl-3.0.md Readme and licenses. 5 년 전

README.md

Smart Home

This repository contains the description of a number of smart home devices as well as the source code for the corresponding firmware.

Compiling

Compiling the display firmware requires a rust toolchain for ARMv6m:

rustup target add thumbv6m-none-eabi

Compiling the base station software depends on the targeted board. The following steps can be used to cross-compile the software for an ARMv7 target running Armbian from a Fedora host:

  1. Install the toolchain:

    sudo dnf copr enable lantw44/arm-linux-gnueabi-toolchain
    sudo dnf install arm-linux-gnueabi-gcc.x86_64
    rustup target add arm-unknown-linux-gnueabi
    
  2. Configure Rust to use the ARM GCC:

    cat > ~/.cargo/config <<_EOF
    [target.arm-unknown-linux-gnueabi]
    linker = "arm-linux-gnueabi-gcc"
    rustflags = ["-Clink-args=-Wl,--dynamic-linker=/lib/ld-linux-armhf.so.3"]
    _EOF
    
  3. Compile the software using the newly installed toolchain:

    cargo build --target=arm-unknown-linux-gnueabi
    

For an Ubuntu host, the following steps can be used:

  1. Install the toolchain:

    sudo apt-get install gcc-arm-linux-gnueabihf
    rustup target add arm-unknown-linux-gnueabihf
    
  2. Configure Rust to use the ARM GCC:

    cat > ~/.cargo/config <<_EOF
    [target.arm-unknown-linux-gnueabihf]
    linker = "arm-linux-gnueabihf-gcc"
    _EOF
    
  3. Compile the software using the newly installed toolchain:

    cargo build --target=arm-unknown-linux-gnueabihf
    

License

The hardware contained in this repository is licensed under the CERN Open Hardware Licence Version 2 - Weakly Reciprocal, and the software is licensed under the GNU General Public License v3.