Igaz, Raspberry-vel, de én a következőképpen csináltam:
Egy script folyamatosan kérdezgette le a hőmérők adatait és let RAMdiskre írkálta az eredményt egy-egy fájlba.
Amikor a programnak szüksége volt egy (vagy akár az összes) hőmérő mért értékeire, akkor kiolvasta a hőmérőnek megfelelő fájlt.
Ez innentől történhet másodpercenként több ezerszer is, a hőmérsékleti adatok max. 750 ms (millisecundum) régiek. Maximum ennyi idő lekérdezni a DS18B20-at, ha a legnagyobb pontossággal használom.
Nálad is érdemes lenne elgondolkozni, hogy ne akkor kérdezze le a hőmérőt, amikor az USB vár a válaszra, hanem adja oda neki az utolsó mért hőmérsékletet, közben folyamatosan kommunikálhat a hőmérővel.