Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Mathias Gottschlag bdb2e5fac6 base-station: Move radio code into module. vor 5 Jahren
base-station/software base-station: Move radio code into module. vor 5 Jahren
display display: Fix visibility of reference labels. vor 5 Jahren
documentation Description of the basic synchronized network protocol. vor 5 Jahren
kicad-library Add a footprint for a reverse-mounted BME module. vor 5 Jahren
weather-sensor Add digikey link for a part vor 5 Jahren
.gitignore base-station: Create empty software project. vor 5 Jahren
README.md Add compiling instructions for Ubuntu. vor 5 Jahren
cern_ohl_w_v2.txt Readme and licenses. vor 5 Jahren
gpl-3.0.md Readme and licenses. vor 5 Jahren

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.