Шина 1-Wire
предназначена для взаимодействия на больших расстояниях. Устройства подключаются двумя проводами — Vcc
и Gnd
, при этом передача данных осуществляется по линии Vcc
.
Пример работы с шиной и датчиком температуры DS18B20:
// Новый экземпляр шины 1-Wire на пине P3 var oneWire = new OneWire(P3); // Находим подключенные устройства на шине 1-Wire и отображаем массив var devices = oneWire.search(); print(devices); // Все дальнейшие дейстия осуществляем с первым найденным // на шине устройством devices[0]; // Сброс, выбор устройства и передача команды на получение температуры oneWire.reset(); oneWire.select(devices[0]); oneWire.write(0x44); // Сброс, выбор устройства и передача команды на считывание регистров oneWire.reset(); oneWire.select(devices[0]); oneWire.write(0xBE); // Считываем 9-ть регистров и отображаем его var regs = oneWire.read(9); print(regs);
Возвращает объект, для работы с протоколом 1-Wire на пине pin
.
Отправляет сигнал сброса на все устройства. При обнаружении хотя бы одного устройства возвращает true
, в противном случае — false
.
Осуществляет поиск устройств и возвращает массив, где каждый элемент — 64-х битный адрес ROM. Для поиска используется команда command
. Если параметр command
не передан или равен 0x00
— используется команда 0xF0
.
Выбирает устройство для последующего обмена данными. Параметр rom
— 64-х битный адрес ROM.
Передает по протоколу 1-Wire один или несколько (массив) байт. Если необходимо запитать устройства — передается параметр true
в качестве значения параметра power
.
Возвращает полученные по протоколу 1-Wire данные. Если параметр count
не передан, функция возвращает один байт, иначе — Uint8Array
.