Skip to content

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/or api.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 ​

  1. In the app, open Devices → create a device → Reveal the access token and copy it.
  2. Copy raspberrypi/env.example to raspberrypi/.env and set AUTOCONNECTO_DEVICE_TOKEN.
  3. Run an example:
bash
cd ../raspberrypi
python3 examples/BasicTelemetry_mqtt/basic_telemetry_mqtt.py
  1. On Devices, the device should go online and show telemetry keys.
  2. Create a dashboard, add a Latest value (or Switch / Slider), and bind the same keys.
  3. For GPIO: from autoconnecto import gpio then gpio.write(pin, True), gpio.read(pin), or run SwitchControl_mqtt (channels 1–4 → pins from AUTOCONNECTO_RELAY_PINS, default 2,4,5,18 on 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 ​

support@autoconnecto.in · founder@autoconnecto.in · +91 92121 00555 · app.autoconnecto.in