Files
parking_solution/wiki/sources/dingtian-dt008.md
T
julian f6e35bbebf
Build desktop / desktop (push) Successful in 4m16s
Build & push images / images (push) Successful in 2m46s
CI / check (push) Successful in 38s
fix(reader): correct the QR reader's identity — Dingtian DT-008, not "GEE"
An early wrong assumption named the QR/RFID access reader "GEE" /
"GEE/Fondvision" / "GEE-QR-ER80" (and summarized a raw GEE PDF as its
datasheet). There is no GEE device — it's the Dingtian DT-008
(dingtian-tech.com/en_us/qr_code_reader.html), the same vendor as the relay
board, which is why it integrates the identical HTTP-GET-push way.

Code:
- Driver symbol geeQrReaderDriver → dingtianQrReaderDriver; label →
  "Dingtian DT-008 QR/RFID reader (HTTP push)"; comments/description rewritten
  to the real DT-008 facts (Wiegand 26/34, TCP/IP, USB, RS485 — not RS-232;
  QR/barcode + ID/IC/NFC — not DataMatrix/1D).
- Persisted driverId "gee-qr-reader" → "dingtian-qr-reader" (the registry
  lookup key + the row created on assign in qr-reader.ts).
- Migration 0015 rewrites existing devices.driver_id rows so configured readers
  keep resolving (applied to the dev DB — 2 rows; the booth applies it on boot).
  Behaviour is unchanged: naming + the persisted id only.

Wiki + memory:
- Renamed entities/gee-qr-er80.md → dingtian-dt008-reader.md and
  sources/gee-qr-er80.md → dingtian-dt008.md; rewrote both to the real DT-008
  product-page specs while KEEPING all the verified-on-hardware protocol facts
  (cjihao serial, .jsp path, Connection: close). Fixed every cross-reference +
  "GEE" mention in 6 other pages. Memory gee-reader-serial-binding →
  dingtian-reader-serial-binding. The only surviving "GEE" mentions are
  deliberate naming-correction notes, the raw PDF filename, and the
  append-only log history.

Full workspace build/lint/test green; dev DB readers verified resolving to the
registered dingtian-qr-reader driver.

Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V
2026-06-28 17:39:15 +02:00

2.1 KiB
Raw Blame History

type, tags, sources, updated
type tags sources updated
source
parking
hardware
readers
qr
dingtian
datasheet
dingtian-dt008
2026-06-28

Source: Dingtian DT-008 QR Code Reader (product page)

Vendor product page for the Dingtian DT-008 QR/barcode/RFID access reader — https://www.dingtian-tech.com/en_us/qr_code_reader.html. This is the reader the project actually has on hand for the ticket-encoding / RFID-subscription paths. Entity: dingtian-dt008-reader. Same vendor as the dingtian-relay.

Supersedes a mis-identified source. The project originally summarized raw/GEE-QR-ER80 QR Code Access Control Reader.pdf as if the reader were a "GEE-QR-ER80" (GEE NFC LIMITED). That was a wrong early assumption — the device is the Dingtian DT-008. Several facts in that PDF (RS-232, DataMatrix/1D, a Linux SDK) do not match the real hardware and were dropped. The HTTP-push protocol facts, however, were later verified on the actual device (see dingtian-dt008-reader "Verified on hardware").

Key takeaways (DT-008 product page)

  • Scans: QR / barcode (simple) and ID/IC/NFC cards. Read ~0.2 s, range 0–10 cm.
  • Interfaces: Wiegand 26/34, TCP/IP, USB, RS485. (For our integration: HTTP over TCP/IP.)
  • Power: 9–16 V DC, 800 mA. Size: 86×86×42 mm. Temp: −30…70 °C.
  • Wiegand pinout: Red(power), Black(GND), Green(D0), White(D1), Blue(LED), Yellow(BEEP).
  • Reporting: "QR Code HTTP GET" — the reader HTTP-GETs a configured host on each scan; the host replies the verdict (drives beep/output). Vendor ships a QR Code config tool + HTTP-GET demo code (C++/C#/PHP) and an SDK (QRCode_sdk.zip). See qrcode-sdk for the protocol we implement.

How we use it

Host-in-the-loop, synchronous HTTP: reader GETs /qa/mcardsea.<ext> with its serial (cjihao); our endpoint (apps/server/src/routes/qr-reader.ts) decides and replies the SDK verdict, and emits a read event for the access flows. Full integration + the on-hardware findings (the .jsp path extension, Connection: close requirement, serial resolution) are in dingtian-dt008-reader.