usb-adc-dfr1184

img.png https://kamami.pl/przetworniki-ac-i-ca/1201305-modul-adc-dfrobot-dfr1184-gravity-010-v-15-bit-dwukanalowy-do-arduino-raspberry-pi-esp32-5902186330115.html

img_1.png https://dfimg.dfrobot.com/wiki/19341/DFR1184_2-ch-15bit-0-10v-adc_schematics_1.0.pdf

img_2.png

https://www.arduitronics.com/product/4446/gravity-uart-i2c-nfc-module-%E0%B9%81%E0%B8%97%E0%B9%89%E0%B8%88%E0%B8%B2%E0%B8%81-dfrobot

img_3.png

img_4.png

Sterownik i lokalny adapter HTTP dla dwukanałowego modułu DFRobot DFR1184 Gravity 0–10 V, podłączonego bezpośrednio do UART Raspberry Pi 3.

Docelowy stos wejść OqlOS używa dwóch niezależnych transportów:

Wejście OqlOS Źródło Transport Zakres nominalny
ai01 MCP2221A G1 USB HID 0–3,3 V
ai02 DFR1184 AIN1 RPi3 UART 0–10 V
ai03 DFR1184 AIN2 RPi3 UART 0–10 V

Projekt zapewnia:

Instalacja na Raspberry Pi 3

cd ~/github/oqlos/usb-adc-dfr1184
python3 -m venv .venv
.venv/bin/pip install -e '.[api,dev]'

Użytkownik usługi musi mieć dostęp do UART, zwykle przez grupę dialout. Konsolę systemową na porcie szeregowym należy wyłączyć, a UART włączyć w raspi-config. Dokładna procedura jest w docs/HARDWARE.md.

Podłączenie

Przełącz DFR1184 do trybu UART przy wyłączonym zasilaniu.

Raspberry Pi 3 Pin DFR1184
3V3 1 VCC
GND 6 GND
GPIO14 / TXD 8 C/R / RXD
GPIO15 / RXD 10 D/T / TXD

TX i RX są skrzyżowane. Zasilanie 3,3 V utrzymuje poziomy UART bezpieczne dla GPIO Raspberry Pi; wejścia Pi nie tolerują logiki 5 V.

CLI

usb-adc-dfr1184 health
usb-adc-dfr1184 info
usb-adc-dfr1184 adc 1 --samples 16 --sample-delay 0.01
usb-adc-dfr1184 adc-all --samples 8
usb-adc-dfr1184 --serial-port /dev/serial0 adc 2

Samodzielne API DFR1184

usb-adc-dfr1184-api
curl http://127.0.0.1:8213/health
curl 'http://127.0.0.1:8213/api/v1/adc/1?samples=16'

Zmienne środowiskowe:

Wspólne API ai01–ai03

W produkcji oba lokalne pakiety mogą działać w jednej usłudze:

.venv/bin/pip install -e ../usb-adc-mcp2221
usb-adc-stack-api
curl http://127.0.0.1:8214/api/v1/adc

Wspólna usługa mapuje ai01 na USB MCP2221A oraz ai02–ai03 na UART DFR1184. Szczegóły zawiera docs/OQLOS_INTEGRATION.md. Nie uruchamiaj jednocześnie wspólnej i samodzielnych usług na tych samych fizycznych urządzeniach.

Gotowa jednostka użytkownika systemd dla BoardNet znajduje się w deploy/systemd/usb-adc-stack.service.

Ograniczenia

Źródła

Testy

.venv/bin/pytest
.venv/bin/ruff check .
.venv/bin/mypy src/usb_adc_dfr1184