AAT Software Development Group

Genie & Abby Kiosk Application Downloads




Genie

Change Summary




Abby 2.0

AAT ABBY v22


AAT ABBY v21

Notes

Abby Kiosk Mode

AAT ABBY Kiosk v22.1

AAT ABBY Kiosk v21.1

Notes

AAT ABBY Kiosk v22.1 (RFID)

Notes




Abby ARM64

Targets Raspberry Pi

Abby.tar.zst

  • Friday April 17, 2026
  • Services.tar.zst

  • Wednesday April 15, 2026
  • CefBase.tar.zst

  • Wednesday April 15, 2026

  • Configuration




    Abby v3.0

    Abby 3.0




    Abby Utilities

    Media Uploader

    Saturday Sept 27, 2025

    ABBY v21 Migation Tool

    Wednesday December 4, 2024

    Beacon Monitor

    Friday March 3, 2023

    Phidget Monitor

    Friday March 3, 2023




    How To Test A New Activity




    Cross-compiling Abby For ARM64

    This document outlines the required libraries, sysroot preparation steps, and build procedures for the ARM64 development environment and Raspberry Pi (RPi) target system.

    Last updated: Tuesday April 14, 2026 7:15PM

    1. Build Machine Required Libraries

    Install the following packages on the development machine:


    2. Raspberry Pi Required Libraries

    Install the following libraries on the Raspberry Pi prior creating a sysroot image or building curl/curlpp for ARM64:
    Alternatively, a premade rpi-sysroot image can be downloaded here:
    rpi-sysroot.tar.gz (Last updated: Thursday Febrary 26, 2026 7:15PM)

    3. Create the RPi Sysroot Image

    The folder /opt/rpi-sysroot/ is used as the location to store the image.

    rsync -avz --rsync-path="sudo rsync" <hostname>@<ipaddress>:/lib /opt/rpi-sysroot
        rsync -avz --rsync-path="sudo rsync" <hostname>@<ipaddress>:/usr/include /opt/rpi-sysroot/usr
        rsync -avz --rsync-path="sudo rsync" <hostname>@<ipaddress>:/usr/lib /opt/rpi-sysroot/usr

    4. Build Curl and Curlpp (On Raspberry Pi)

    Note: Prebuilt curlpp headers and libraries for both Linux-x64 and ARM64 can be downloaded here:
    curlpp.tar.gz (Last updated: Thursday Febrary 26, 2026 7:15PM)

    4.1 Build Curl

    mkdir $HOME/source
        cd ~/source
        
        # Download curl source from https://curl.se/download.html
        # Decompress curl-8.14.1.tar.xz
        
        # Create a folder to store the built binaries
        mkdir $HOME/libs/curl
        
        cd curl-8.14.1
        ./configure --with-ssl --prefix=$HOME/libs/curl
        make

    4.2 Build Curlpp

    cd ~/source
        git clone https://github.com/jpbarrette/curlpp.git
        cd curlpp
        mkdir build
        cd build
        
        cmake ..
          -D CURL_INCLUDE_DIR=$HOME/libs/curl/include
          -D CURL_LIBRARY=$HOME/libs/curl/lib/libcurl.a
          -D CMAKE_INSTALL_PREFIX=$HOME/libs/curlpp
          -D CURL_ROOT=$HOME/source/curl-8.14.1
        
        make

    Note: several harmless warnings will be displayed during this build.


    5. Third-Party Library Location

    The folder /usr/src/ is used as the location for third-party libraries.

    Clone nlohmann/json

    cd /usr/src
        git clone https://github.com/nlohmann/json.git

    Sync curlpp headers and shared objects from the RPi

    mkdir /usr/src/curlpp-arm64
        
        sudo rsync -ar <hostname>@<ipaddress>:/home/<hostname>/source/curlpp/include /usr/src/curlpp-arm64/include
        sudo rsync -ar <hostname>@<ipaddress>:/home/<hostname>/source/curlpp/lib /usr/src/curlpp-arm64/lib

    6. Build Projects

    All projects use the following build pattern:

    cmake --preset arm64-release
        cmake --build --preset arm64-release

    6.1 CreateDatabase

    cd ~/source
        git clone https://aatgegit clone git@ssh.dev.azure.com:v3/aatgenie/aat.abby.createdatabase.arm64/aat.abby.createdatabase.arm64
        cd aat.abby.createdatabase.arm64
        
        mkdir third_party
        cd third_party
        git clone https://github.com/SRombauts/SQLiteCpp.git
        
        cd..
        cmake --preset arm64-release
        cmake --build --preset arm64-release

    Note: a harmless warning will be displayed as SQLiteCpp gets linked.


    6.2 DataAccess (Shared Object)

    cd ~/source
        git clone git clone git@ssh.dev.azure.com:v3/aatgenie/aat.abby.dataaccess.arm64/aat.abby.dataaccess.arm64
        cd aat.abby.dataaccess.arm64
        
        mkdir third_party
        cd third_party
        git clone https://github.com/SRombauts/SQLiteCpp.git
        
        cd..
        cmake --preset arm64-release
        cmake --build --preset arm64-release

    Note: a harmless warning will be displayed as SQLiteCpp gets linked.


    6.3 TokenGenerator (Shared Object)

    Note: Prebuilt DataAccess.so exists in:
    ~/aat/data_access/lib/arm64

    cd ~/source
        git clone git@ssh.dev.azure.com:v3/aatgenie/aat.abby.tokengen.arm64/aat.abby.tokengen.arm64
        cd aat.abby.tokengen.arm64
        
        cmake --preset arm64-release
        cmake --build --preset arm64-release

    6.4 Optional (For Production Mode Operation)

    Copy shared objects to /usr/lib
        cp ~/source/aat.abby.dataaccess.arm64/build/arm64/Release/DataAccess.so /usr/lib/
        cp ~/source/aat.abby.tokengen.arm64/build/arm64/Release/TokenGenerator.so /usr/lib/

    6.5 MediaSync

    Note: Prebuilt DataAccess.so and TokenGenerator.so exist in their respective lib/arm64 folders.

    cd ~/source
        git clone git@ssh.dev.azure.com:v3/aatgenie/aat.abby.mediasync.arm64/aat.abby.mediasync.arm64
        cd aat.abby.mediasync.arm64
        
        cmake --preset arm64-release
        cmake --build --preset arm64-release

    6.6 Controller

    cd ~/source
        git clone git clone git@ssh.dev.azure.com:v3/aatgenie/aat.abby.controller.arm64/aat.abby.controller.arm64
        cd aat.abby.controller.arm64
        
        cmake --preset arm64-release
        cmake --build --preset arm64-release

    6.7 Abby

    Note: Prebuilt DataAccess.so exists in:
    ~/abby/aat/data_access/lib/arm64

    cd ~/source
        git clone git@ssh.dev.azure.com:v3/aatgenie/aat.abby.arm64/aat.abby.arm64
        cd aat.abby.arm64
        
        cmake --preset arm64-release
        cmake --build --preset arm64-release


    Unblocking all files in all sub directories under C:\Deployments using Powershell

    get-childitem "C:\Deployments" -recurse | unblock-file