33 sensors supported. Zero code required. Just plug in and breathe 33 de senzori susținuți. cod zero necesar. Pur și simplu conectați și respirați Cunoașteți burghiul: obțineți acest senzor PM2.5 nou strălucitor, îl cablați la un adaptor USB-UART și apoi... începe coșmarul. Aveți nevoie de Python. Aveți nevoie de drivere. Trebuie să aflați dacă este sau Petreci 20 de minute într-un terminal doar pentru a vedea dacă lucrul este chiar viu.Și jumătate din timp, scrii scripturi aruncate doar pentru a verifica dacă senzorul de 12 dolari funcționează de fapt. /dev/ttyUSB0 COM3 M-am săturat de asta, așa că am construit ceva prost. Momentul „De ce nu a făcut nimeni asta?” Acum câteva luni, am testat o grămadă de senzori Plantower pentru un proiect. PMS7003, PMS5003, suspecții obișnuiți. De fiecare dată când am vrut să verific citirile, a trebuit să lansez un script Python, să instalez pyserial, să se ocupe de medii virtuale, yada yada. Și m-am gândit: Chrome poate vorbi acum cu dispozitivele USB. API-ul Web Serial a existat de la Chrome 89. Este de fapt destul de matur.De ce toată lumea încă folosește aplicații desktop pentru acest lucru? Am hackat o singură pagină HTML. Am aruncat în Chart.js pentru vizualizare. Am adăugat un încărcător de configurare JSON. Și dintr-o dată am putut să conectez un senzor, să ating "Conectare" și să văd graficele în timp real în browser-ul meu. nu nu Nu există aplicații electronice care să mănânce 500 MB de RAM. pip install sudo Doar o pagină web. Cum funcționează de fapt Te duci la Alegeți senzorul dintr-o descărcare (suntem la Acum, mai multe despre asta într-o sec). Faceți clic pe "Conectare", alegeți portul USB și bam - date live streaming în diagrame. Cărți. pagini.dev 33 supported models Sosul secret este un fișier de configurare JSON care descrie protocolul fiecărui senzor: Rata Baud, biți de date, biți de oprire Structura cadrului (byte de început, lungime, poziție checksum) Expresii JavaScript pentru a extrage valori din byte brute Unități și nume de afișare (Veți găsi o mulțime de exemple JOSON pe Verificați sensors.json și readme. GitHub repo Asta e. Fără drivere compilate. Fără flash-uri de firmware. Browser-ul face totul. Acum, suntem în în JSON implicit, care acoperă: 33 sensors Plantower (PMS1003 prin PMSA003-S, plus PS3003A industrial) Sensirion (SPS30, SCD30 pentru CO2) Honeywell (seria HPMA) SenseAir (S8, K30, K33 - senzori de CO2) Nova PM (clasicul SDS011) Panasonic (SN-GCJA5) este o companie Și o grămadă mai mult de la producătorii mai mici Adăugarea unui nou senzor nu necesită atingerea codului. Pur și simplu scrieți o configurație JSON. Dacă aveți un senzor UART care scoate cadre binare, probabil că îl puteți susține în 10 minute. Real Talk: API-ul Web Serial este subevaluat Simt că API-ul Web Serial este una dintre acele caracteristici ale browserului pe care dezvoltatorii dorm. Toată lumea știe despre WebRTC, WebGL, orice. Da, funcționează numai în browserele Chromium (Chrome, Edge, Brave). Firefox și Safari își trag picioarele. Modelul de securitate este, de fapt, sănătos: browserul cere permisiunea pentru fiecare conexiune serială. Nu poți pur și simplu să snifzi în tăcere dispozitivele USB ale cuiva. Și din moment ce totul rulează pe partea clientului, datele senzorului nu ating niciodată serverul meu. Caracteristici care contează cu adevărat Nu am vrut să construiesc o altă platformă IoT umflată. Am vrut un instrument pe care l-aș folosi de fapt. Mai mulți parametri, culori personalizabile și redimensionabile. Puteți afișa diagrame pentru diferite grupuri de senzori (valori PM vs CO2 vs VOCs). Live Charts: Un buton, date de sesiune completă cu timestamps. Pentru că, în cele din urmă, trebuie să deschideți acest lucru în Excel sau să-l alimentați la conducta dvs. de analiză reală. CSV Export: Depozitarea hexadecimală a cadrelor de intrare cu indicatorii checksum pass/fail.Esențial atunci când debuggeți o nouă configurație a senzorului. Raw Packet Inspection: HTTP POST/GET/PUT către terminale externe cu corpuri JSON șablonate. folosesc acest lucru pentru a conduce datele în InfluxDB sau Home Assistant fără niciun middleware. Webhook Streaming: Unele senzori au nevoie de un byte de trezire; altele doresc un cadru de interogare specific. Custom Commands: Filosofia „doar funcționează” Iată căldura mea: hardware tools should be as easy as software tools. Când conectați o cameră web USB, nu compilați un driver. Când conectați căști Bluetooth, nu editați fișierele de configurare. PolluSensWeb este încercarea mea de a repara acest lucru pentru micul meu colț al lumii hardware. Nu este perfect. UI-ul este funcțional, nu frumos. Codul este vanilie JS pentru că nu am vrut să construiesc pași. lowering the barrier to seeing your data. Încearcă sau forge-o Totul este open source: pe github.com/WeSpeakEnglish/polluSensWeb Puteți utiliza versiunea găzduită la Sau doar și rulați-l local. Nu este necesar niciun server. Nu există dependențe pentru a instala. Cărți. pagini.dev Descărcare Este util pentru tine? star Și alții o pot găsi. Repo Ai un senzor ciudat care nu este pe listă? sunteți bineveniți să contribuiți la o configurație JSON care funcționează pentru ea - sau doar să o testați pe hardware și vă voi ajuta să scrieți JSON. Construit cu cafeină, Chart.js și credința încăpățânată că hardware-ul nu ar trebui să necesite un grad CS pentru a funcționa.