33 sensors supported. Zero code required. Just plug in and breathe 33 sensorer understøttet. Ingen kode kræves. Bare tænd og træk vejret Du kender boringen: du får denne skinnende nye PM2.5 sensor, tråd det op til en USB-UART-adapter, og så ... mareridt begynder. Du har brug for Python. Du har brug for drivere. Du har brug for at finde ud af, om det er eller Du bruger 20 minutter i en terminal bare for at se, om tingene er levende. og halvdelen af tiden, du skriver kastet scripts bare for at kontrollere, at din $ 12 sensor faktisk fungerer. /dev/ttyUSB0 COM3 Jeg blev træt af det, så jeg byggede noget dumt simpelt. "Hvorfor har ingen gjort dette?" øjeblik For et par måneder siden testede jeg en masse Plantower-sensorer til et projekt. PMS7003, PMS5003, de sædvanlige mistænkte. Hver gang jeg ønskede at tjekke læsninger, måtte jeg starte et Python-script, installere pyserial, håndtere virtuelle miljøer, yada yada. Og jeg tænkte: Chrome kan nu tale med USB-enheder. Web Serial API har eksisteret siden Chrome 89. Det er faktisk ret moden. så hvorfor bruger alle stadig desktop apps til dette? Jeg hackede sammen en enkelt HTML-side. Threw i Chart.js for visualisering. Tilføjede en JSON config loader. Og pludselig kunne jeg tilslutte en sensor, trykke på "Connect," og se real-time diagrammer i min browser. Nej ikke Nej Nej Ingen elektroniske apps spiser 500 MB RAM. pip install sudo Bare en hjemmeside. Hvordan det rent faktisk virker Du går til Du vælger din sensor fra en dropdown (vi er på Du klikker på "Connect", vælg din USB-port, og bam - live data streaming i diagrammer. Håndværker.pages.dev 33 supported models Den hemmelige sauce er en JSON-konfigurationsfil, der beskriver hver sensors protokol: Baud rate, data bits, stop bits Frame struktur (start bytes, længde, checksum position) JavaScript-udtryk til at udtrække værdier fra rå byte Enheder og displaynavne (Du vil finde mange eksempler på JOSON på min Læs mere om sensors.json og readme GitHub repo Det er det. Ingen kompilerede drivere. Ingen firmware blinker. Browseren gør alt. Nu er vi på i standard JSON, der dækker: 33 sensors Plantower (PMS1003 gennem PMSA003-S, plus den industrielle PS3003A) Sensirion (SPS30, SCD30 for CO2) Honeywell (HPMA serien) SenseAir (S8, K30, K33 - CO2-sensorer) Nova PM (den klassiske SDS011) af Panasonic (SN-GCJA5) Og en masse mere fra mindre producenter Tilføjelsen af en ny sensor kræver ikke, at du rører koden. Du skriver bare en JSON-konfiguration. Hvis du har en UART-sensor, der spytter ud binære rammer, kan du sandsynligvis understøtte det i 10 minutter. Real Talk: Web Serial API er undervurderet Jeg føler, at Web Serial API er en af de browserfunktioner, som udviklere sover på. Alle ved om WebRTC, WebGL, hvad som helst. Men direkte hardwareadgang fra en webside? Ja, det virker kun i Chromium browsere (Chrome, Edge, Brave). Firefox og Safari trækker deres fødder. Sikkerhedsmodellen er faktisk sund: browseren beder om tilladelse til hver seriel forbindelse. Du kan ikke bare stille sniffe en persons USB-enheder. Og da alt kører klient-side, når dine sensordata aldrig min server. Det er dit. Funktioner, der virkelig betyder noget Jeg ønskede ikke at opbygge en anden opblåst IoT-platform. Jeg ønskede et værktøj, jeg faktisk ville bruge. Flere parametre, tilpasselige farver og justerbare. Du kan få vist diagrammer for forskellige sensorgrupper (PM-værdier vs. CO2 vs. VOC'er). Live Charts: En knap, fuld session data med tidsstempler. Fordi i sidste ende skal du åbne dette i Excel eller fodre det til din faktiske analyse rørledning. CSV Export: Hex dump af indgående rammer med checksum pass/fail indikatorer. Vigtigt, når du debuggerer en ny sensorkonfiguration. Raw Packet Inspection: HTTP POST/GET/PUT til eksterne slutpunkter med skabelonerede JSON-organer. Jeg bruger dette til at pipe data ind i InfluxDB eller Home Assistant uden nogen mellemprogrammer. Webhook Streaming: Sende initialiseringssekvenser eller periodiske spørgeundersøgelseskommandoer.Nogle sensorer har brug for en wake-up byte; andre vil have en bestemt forespørgselsramme. Custom Commands: Filosofien om “det virker” Her er mit varme tag: hardware tools should be as easy as software tools. Når du tilslutter et USB-kamera, compilerer du ikke en driver. Når du tilslutter Bluetooth-hovedtelefoner, redigerer du ikke konfigurationsfiler. Men af en eller anden grund er UART-sensorer stadig fast i 1998. PolluSensWeb er mit forsøg på at løse det for mit lille hjørne af hardwareverdenen. Det er ikke perfekt. brugergrænsefladen er funktionel, ikke smuk. Koden er vanille JS, fordi jeg ikke ønskede at bygge trin. lowering the barrier to seeing your data. Prøv det eller fork det Det hele er open source: på github.com/WeSpeakEnglish/polluSensWeb Du kan bruge den hostede version på Eller bare og køre det lokalt. Ingen server kræves. ingen afhængigheder at installere. Håndværker.pages.dev Download af Synes du det er nyttigt? stjerne Så kan andre også finde den. Repo Du er velkommen til at bidrage til en fungerende JSON-konfiguration for det - eller bare teste det på hardware, og jeg vil hjælpe dig med at skrive JSON. drop mig en besked eller åbne en PR. Vi er på 33 sensorer og tælle, og jeg vil elske at ramme 50 næste år. Bygget med koffein, Chart.js og den stædige tro på, at hardware ikke bør kræve en CS-grad for at fungere.