OneWire
Шина 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.