Appearance
Linux SBC quick start
Connect a Raspberry Pi (or Orange Pi, Radxa ROCK, BeagleBone, Debian gateway) to Autoconnecto with the installable Python package. Same MQTT and HTTPS device contract as the ESP32 quick start — telemetry, shared attributes, client attributes, and RPC — plus GPIO for digital outs/ins and dashboard Switch channels.
This is a device client. It is not a local copy of the Autoconnecto platform.
What you need
- A supported board (see Compatible hardware): Raspberry Pi 5 / 4 / 3 / Zero 2 W, Orange Pi 5, Radxa ROCK 5, BeagleBone, or a Debian/Ubuntu gateway
- Python 3.9+
- Network access to
mqtt.autoconnecto.in(MQTTS) and/orapi.autoconnecto.in(HTTPS) - A free Autoconnecto account at app.autoconnecto.in
- The autoconnecto-sdk repo (or a PyPI install when published)
Install (full — includes GPIO)
bash
git clone https://github.com/autoconnecto/autoconnecto-sdk.git
cd autoconnecto-sdk/python
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[gpio,dotenv]"On an x86 gateway with no pins, you can omit gpio and use .[dotenv] only; GPIO calls then simulate in the log.
Steps
- In the app, open Devices → create a device → Reveal the access token and copy it.
- Copy
raspberrypi/env.exampletoraspberrypi/.envand setAUTOCONNECTO_DEVICE_TOKEN. - Run an example:
bash
cd ../raspberrypi
python3 examples/BasicTelemetry_mqtt/basic_telemetry_mqtt.py- On Devices, the device should go online and show telemetry keys.
- Create a dashboard, add a Latest value (or Switch / Slider), and bind the same keys.
- For GPIO:
from autoconnecto import gpiothengpio.write(pin, True),gpio.read(pin), or runSwitchControl_mqtt(channels 1–4 → pins fromAUTOCONNECTO_RELAY_PINS, default2,4,5,18on Raspberry Pi BCM).
After a power cycle
Call request_shared_attributes() after MQTT connect (the MQTT client does this on connect by default). Apply shared attributes in your handler and confirm with client attributes so the dashboard stays aligned.
Readings and attributes are stored by the platform. You do not add a rule-engine “save” node. Drop is the only way a reading is not stored.
Run on boot
See the systemd unit under raspberrypi/systemd/ in the SDK repo. Install the package into a stable venv, then enable the unit.
Next
- Compatible hardware — ESP32, STM32, Linux SBC, DR154, XY-MD02, Modbus meters
- ESP32 quick start — Arduino path
- Device connectivity — ports and topics
- OTA updates — ESP32 Arduino OTA (not this Python client)
