onewire — 1-Wire busz protokoll¶
A onewire modul az 1-Wire busz mester protokollt valósítja meg, amelyet olyan eszközök használnak, mint a DS18x20 hőmérséklet-érzékelő. Egyetlen, nyitott kollektorúként (open-drain) konfigurált machine.Pin lábat használ a megosztott buszon lévő egy vagy több alárendelt (slave) eszközzel való kommunikációhoz.
Példa:
from machine import Pin
from onewire import OneWire
ow = OneWire(Pin("P7"))
devices = ow.scan()
for rom in devices:
print(rom)
Osztályok¶
- class onewire.OneWire(pin: machine.Pin)¶
1-Wire busz mester létrehozása az adott
machine.Pinlábon. A láb automatikusan nyitott kollektorúként (open-drain) konfigurálódik felhúzással.ROM parancs konstansok:
- SEARCH_ROM: int¶
Search ROM parancs (
0xF0). Ascan()belsőleg használja a buszon lévő eszközök felderítéséhez.
- MATCH_ROM: int¶
Match ROM parancs (
0x55). Aselect_rom()belsőleg használja egy adott eszköz megcímzéséhez a 64 bites ROM kódja alapján.
- SKIP_ROM: int¶
Skip ROM parancs (
0xCC). A buszon lévő összes eszközt egyszerre címzi meg, kihagyva a ROM egyeztetést.
Busz visszaállítás:
- reset(required: bool = False) bool¶
Visszaállító impulzus küldése a buszra.
Trueértéket ad vissza, ha legalább egy alárendelt eszköz jelenléti impulzussal válaszolt, egyébkéntFalseértéket. Ha a required értékeTrueés egyetlen eszköz sem válaszol,OneWireErrorkivételt vált ki.
Bit/bájt I/O:
- readinto(buf: bytearray) None¶
len(buf)darab bájt beolvasása a buszról a megadott, előre lefoglalt pufferbe.
Eszközcímzés:
- select_rom(rom: bytes | bytearray) None¶
Visszaállítás küldése, majd egy MATCH ROM parancs annak az eszköznek a megcímzéséhez, amelynek 64 bites ROM kódja a rom (egy 8 bájtos puffer) tartalma.
- scan() list[bytearray]¶
A busz átvizsgálása és a 8 bájtos ROM kódok listájának visszaadása (egy
bytearrayminden észlelt eszközhöz). Üres listát ad vissza, ha nincs jelen eszköz.
Ciklikus redundancia-ellenőrzés:
Kivételek¶
- exception onewire.OneWireError¶
Akkor váltódik ki, ha egy 1-Wire művelet meghiúsul. Jelenleg a
OneWire.reset()váltja ki, amikor a required értékeTrueés egyetlen alárendelt eszköz sem válaszol a visszaállító impulzusra.