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
https://dfimg.dfrobot.com/wiki/19341/DFR1184_2-ch-15bit-0-10v-adc_schematics_1.0.pdf

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


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:
AT, zapis rejestru przez 0xCC i odczyt
przez 0xBB;/dev/serial0, 9600 8N1;ai01–ai03;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.
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.
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
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:
DFR1184_SERIAL_PORT — domyślnie /dev/serial0;DFR1184_BAUDRATE — wymagane 9600;DFR1184_UART_TIMEOUT — domyślnie 1.0 s;DFR1184_API_HOST i DFR1184_API_PORT — domyślnie 127.0.0.1:8213.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.
0,01 mV jest jednostką raportowania protokołu, nie fizyczną rozdzielczością.
Producent podaje około 0,3125 mV dla 15 bitów..venv/bin/pytest
.venv/bin/ruff check .
.venv/bin/mypy src/usb_adc_dfr1184