Prepare a RaspiOS SD card.
I used the official RaspPi imager tool. Use 64-bit Bookwom (legacy). The Trixie distro has a massive wpa-supplicant bug that breaks initialisation of access points.
(optional) Install waveshare touchscreen drivers/ config
Add the following lines to the config.txt file
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
hdmi_drive=1
dtoverlay=waveshare-ads7846,penirq=25,xmin=200,xmax=3900,ymin=200,ymax=3900,speed=50000
Download the waveshare-ads7846.dtbo file . Copy the .dtbo file to the overlays directory (/boot/overlays/).
Waveshare wiki page LINK
sudo apt update
sudo apt upgrade
sudo apt install bluez bluetooth
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
Open the bluetooth config file.
sudo nano /etc/bluetooth/main.conf
Find the line with :
#ControllerMode = dual
Replace with:
ControllerMode = le
rfkill list bluetooth
If any are blocked, run :
sudo rfkill unblock bluetooth
Restart Bluetooth.
sudo systemctl restart bluetooth
sudo nmcli con add type wifi ifname wlan0 mode ap con-name "AssetManAP" ssid "AssetManAP"
sudo nmcli con modify "AssetManAP" wifi-sec.key-mgmt wpa-psk
sudo nmcli con modify "AssetManAP" wifi-sec.psk "12345678"
sudo nmcli con modify "AssetManAP" 802-11-wireless.band bg
sudo nmcli con modify "AssetManAP" 802-11-wireless.channel 6
sudo nmcli con modify "AssetManAP" ipv4.method shared
sudo nmcli con modify "AssetManAP" ipv4.address 192.168.4.1/24
sudo nmcli con modify "AssetManAP" ipv6.method disabled
sudo nmcli con up "AssetManAP"
sudo nmcli con modify "RaspberryHotspot" connection.autoconnect yes
python3 -m venv ble_env
source ble_env/bin/activate
pip install "qrcode[pil]"
pip install bleak