Onewire: PaulStoffregen/OneWire: Library for Dallas/Maxim 1-Wire Chips

Содержание

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.

OneWire.search([command])

Осуществляет поиск устройств и возвращает массив, где каждый элемент — 64-х битный адрес ROM. Для поиска используется команда command. Если параметр command не передан или равен 0x00 — используется команда 0xF0.

Выбирает устройство для последующего обмена данными. Параметр rom — 64-х битный адрес ROM.

OneWire.write(data, [power])

Передает по протоколу 1-Wire один или несколько (массив) байт. Если необходимо запитать устройства — передается параметр true в качестве значения параметра power.

Возвращает полученные по протоколу 1-Wire данные. Если параметр count не передан, функция возвращает один байт, иначе —

Uint8Array.

Ошибка компиляции Onewire.h |

radioengineer сказал(а): ↑

Другая плата есть? Пробуй ее прошить, может убил фьюзы как то нечайно.

Нажмите, чтобы раскрыть…

тот же х…р только в другой руке.
Arduino: 1.6.3 (Windows 7), Плата»Arduino Uno»

Изменена опция сборки, пересобираем все

Sketch uses 13 364 bytes (41%) of program storage space. Maximum is 32 256 bytes.

Global variables use 543 bytes (26%) of dynamic memory, leaving 1 505 bytes for local variables. Maximum is 2 048 bytes.

avrdude: stk500_loadaddr(): (a) protocol error, expect=0x14, resp=0x8a

avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0xfc

avrdude: stk500_recv(): programmer is not responding

Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .

Это сообщение будет содержать больше информации чем

«Отображать вывод во время компиляции»
включено в Файл > Настройки

— Сообщения объединены, 17 июл 2015 —
avrdude: Version 6.0.1, compiled on Mar 30 2015 at 14:56:06
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is «C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf»

Using Port : COM12
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25

SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
———— —- —— —— —- —— —— —- —— —— —— ———
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00

signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: reading input file «C:\Users\6046~1\AppData\Local\Temp\build4982266022063771115.tmp/sketch_jul17a.cpp.hex»
avrdude: writing flash (13364 bytes):

Writing |
avrdude: stk500_paged_write(): (a) protocol error, expect=0x14, resp=0x88
avrdude: stk500_cmd(): programmer is out of sync
Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .

Onewire библиотека для ардуино

Черновик

Содержание

Библиотека OneWire в настоящий момент поддерживается Полом Стоффрегеном (Paul Stoffregen). Если вы нашли баг или разработали улучшение, можете связаться с ним по почте [email protected]. Кроме того, убедитесь, что используете самую последнюю версию библиотеки.

Протокол 1-Wire

Протокол 1-Wire – это протокол, используемый для управления устройствами, которые производятся компанией Dallas Semiconductor (ныне Maxim). Хотя 1-Wire является приприетарным протоколом и торговой маркой Dallas, программисты, использующие драйверы 1-Wire, не обязаны делать за это никаких выплат.

Сеть 1-Wire, которую Dallas называет MicroLan (торговая марка), состоит из одного ведущего устройства, к которому при помощи единственной линии передачи данных подключено одно или несколько ведомых устройств. Эту линию, помимо прочего, можно использовать для электропитания ведомых устройств (ситуацию, когда устройства подпитываются через шину

1-Wire, называют «паразитным питанием»).

Более подробно о 1-Wire можно почитать в руководствах (этом и этом) Тома Бойда.

Среди прочих устройств, работающих через протокол 1-Wire, особенно популярны температурные датчики – они недороги, просты в использовании и позволяют напрямую считывать откалиброванные цифровые температурные данные. Кроме того, они терпимы к длинным проводам, которыми часто приходится пользоваться при создании цепи с Arduino. Один из примеров ниже демонстрирует, как работать с 1-Wire на примере цифрового термометра DS18S20. Многие чипы 1-Wire могут работать и через паразитное, и через нормальное питание.

Интерфейсы 1-Wire

Управление шиной при помощи специальных устройств

Шина 1-Wire может управляться посредством специальных устройств – их называют «хозяевами шины» или «контроллерами шины». Такие устройства производит, к примеру, та же

Dallas, а также ряд других компаний-производителей. Большинство «хозяев шин» перечислены здесь.

Эти устройства специально созданы и оптимизированы для того, чтобы максимально эффективно осуществлять операции записи/считывания с устройствами типа 1-Wire. Будучи похожими на UART/USART, они управляют тактовыми операциями при помощи буфера, тем самым увеличивая точность и высвобождая вычислительные ресурсы главного процессора (к примеру, микроконтроллера). Внешние подтягивающие резисторы тоже не требуются.

Многие из этих чипов осуществляют также исправление ошибок, которые возникают при использовании шин данных (к примеру, потери целостности сигнала, колебания уровня сигнала, отражений и т.д.) и способны повлечь различные проблемы, особенно с крупными сетями. Кроме того, многие из этих девайсов обладают дополнительными функциями и могут работать с большим количеством интерфейсов. Их цена варьируется от 1 до 30 долларов.

Другим важным преимуществом является поддержка owfs – это файловая система для считывания/записи, совместимая с большим количеством устройств для управления шиной

1-Wire.

Управление шиной при помощи UART/USART

Большинство UART/USART идеально подходят для того, чтобы работать со скоростями свыше 15,4 Кбит/сек – скорости, требуемой для стандартного режима шины 1-Wire. Но важнее то, что частота и буфферизация управляются ими раздельно, что, опять же, позволяет разгрузить главный процессор микроконтроллера. Более подробно о реализации этого метода можно почитать тут.

Управление шиной при помощи технологии Bit-Banging

Если управление буфферизацией/частотой при помощи контроллера или UARTUSART по какой-то причине невозможно, шину 1-Wire можно настроить на GPIO-контакте. То есть это, по сути, программная эмуляция UARTUSART с ручным переключением состояния контакта и реконструкцией сигнала от присланных данных. Однако поскольку это программный процесс, на него будут напрямую влиять другие системные процессы, выполняемые в процессоре, что может негативно сказаться на его работе.

На Arduino и прочих совместимых чипах это можно выполнить как раз при помощи библиотеки OneWire – она позволяет реализовать эту технологию на любом цифровом контакте.

На одноплатных компьютерах вроде Raspberry Pi имеется встроенная поддержка протокола 1-Wire, реализованная при помощи драйверов ядра. В частности, очень популярны w1-gpio, w1-gpio-therm и w1-gpio-custom, которые включены в большинство последних дистрибутивов Raspbian. С их помощью можно настроить коммуникацию с устройствами типа 1-Wire, не используя при этом никакого дополнительного оборудования. На данный момент, однако, поддерживается ограниченное количество устройств, а на программном уровне есть ограничение на размер шины.

Питание устройств типа 1-Wire

Питание чипа можно обеспечить двумя способами. Первый (его называют «паразитическим» питанием) – это когда к чипу подключено всего два провода. Второй – это когда к этим двум проводам добавляется еще один, через который, собственно, и осуществляется питание. В ряде случаев второй способ более надежен. Однако новичкам (особенно в ситуациях, когда расстояние между

Arduino и чипом составляет не более 6 метров) лучше начать с использования паразитического питания. Код ниже работает с обоими способами.

Паразитическое питание

В этом режиме для питания чипа нужно только два провода – один для передачи данных, а другой для заземления. То есть, согласно даташиту, заземляется как раз линия, которая обычно используется для питания.

Со стороны ведущего устройства к шине 1-Wire должен быть подключен подтягивающий резистор на 4,7 кОм. Когда эта линия будет переключена в состояние HIGH, устройство начнет тянуть ток, чтобы зарядить внутренний конденсатор.

Сила тока, передаваемого таким способом, как правило, невелика, но при температурной конверсии или записи на EEPROM может достигать 1,5 миллиампер. Когда ведомое устройство выполняет одну из этих операций, контроллер шины должен держать шину в состоянии HIGH, пока эта операция не будет выполнена. При температурной конверсии для DS12S20 требуется задержка в 750 миллисекунд, причем контроллер в течение этого времени не может делать ничего – ни давать команды другим устройствам, ни опрашивать ведомое устройство о выполнении команды. В библиотеку OneWire тоже встроена поддержка этой особенности – она позволяет держать шину в состоянии HIGH после записи данных.

Обычное питание (с использованием внешнего источника)

Если вы хотите запитать чип от внешнего источника, для этого потребуется три провода: один для передачи данных, один для заземления и один для, собственно, питания. Для этого способа по-прежнему нужен подтягивающий резистор на 4,7 кОм, подключенный к шине 1-Wire. Поскольку теперь шина свободна для передачи данных, микроконтроллер может постоянно опрашивать девайс на предмет того, как происходит процесс конверсии. Таким образом, запрос на конверсию можно выполнить сразу после того, как устройство отчитается о выполненной операции – в отличие от паразитического питания, когда вам приходится ждать, пока будет выполнена конверсия (продолжительность этой задержки зависит от функции устройства и его разрешения).

Примечание по резисторам

Согласно даташиту ATmega328/168, для этого микроконтроллера нужны резисторы от 1,6 кОм, однако несколько пользователей обнаружили, что для больших сетей лучше использовать резисторы меньшего номинала.

Другими словами, для больших сетей имеет смысл попробовать резисторы поменьше.

Обращение к устройствам типа 1-Wire

Каждое устройства типа 1-Wire обладает уникальным 64-битным ROM-адресом, который состоит из 8-битного кода, обозначающего семейство, 48-битного серийного кода и 8-битного CRC. CRC используется для проверки целостности данных. К примеру, код ниже проверяет, является ли устройство, к которому обращается скетч, температурным датчиком DS18S20 – путем проверки кода, обозначающего семейство, т.е. «0x10». Чтобы использовать этот скетч с более новым DS18B20, вам нужно будет указать проверку по коду «0x28», а если с DS1822, то по коду «0x22».

Команды к одному устройству

Перед тем, как отправлять команду к одному устройству, ведущее устройство должно выбрать адресата при помощи его уникального ROM-адреса. Если это устройство будет обнаружено, то все последующие команды тоже будут отправлены к нему.

Команды к нескольким устройствам

Вы также можете отправить команду сразу всем ведомым устройствам, воспользовавшись командой 0xCC (она означает «Skip ROM» или «пропустить ROM-адрес»). Впрочем, перед использованием важно знать, какие эффекты это может повлечь. Иногда это очень удобный метод – к примеру, если дать команду 0xCC, а следом за нею 0x44 (она означает «Convert T» или «выполнить температурную конверсию»), то все устройства в сети начнут выполнять, собственно, температурную конверсию. То есть в данном случае использование 0xCC может сберечь вам немного времени. С другой стороны, если воспользоваться командой 0xBE (она означает «Read Scratchpad» или «прочитать данные из оперативной памяти»), то все девайсы в сети начнут одновременно передавать эти данные ведущему устройству. Также при использовании «Skip ROM» нужно учитывать энергопотребление всех устройств, подключенных к сети (это актуально, к примеру, в случае температурной конверсии).

Более подробную информацию читайте, пожалуйста, в даташитах DS18S20 и DS18B20.

Считывание данных с устройства типа 1-Wire

Чтобы прочесть данные с устройства типа 1-Wire, нужно выполнить несколько шагов. Каких именно шагов – зависит от самого устройства, т.к. разные устройства могут отсылать разные значения. Популярный DS18B20, к примеру, считывает данные о температуре, а DS2438 – о напряжении, силе тока и температуре.

Два основных этапа при считывании данных

Конверсия

Эта команда шлется устройство, чтобы оно начало выполнять операцию конверсии. В случае DS18B20 этой командой будет байт 0x44 (команда «Convert T»). В библиотеке OneWire за это отвечает функция ds.write(0x44), где ds – это экземпляр класса OneWire. После получения этой команды устройство начинает считывать данные с внутреннего АЦП, а затем копирует их в регистры оперативной (scratchpad) памяти.

Длительность процесса конверсии варьируется в зависимости от разрешения и указана в даташите устройства. Согласно даташиту, у датчика DS18B20 конверсия температуры может занимать от 94 (разрешение 9 бит) до 750 (разрешение 12 бит) миллисекунд. Во время выполнения конверсии девайс можно опрашивать, то есть использовать, к примеру, функцию ds.read(), чтобы проверить успешность выполнения конверсии.

Чтение оперативной (scratchpad) памяти

Конвертированные данные копируются в оперативную (scratchpad) память, откуда их можно прочитать. Причем эту команду можно вызывать и без команды конверсии – это может пригодиться, к примеру, если вы забыли, какие данные были прочитаны в прошлый раз (поскольку они по-прежнему хранятся в оперативной памяти). Кроме того, с помощью этой команды можно прочитать данные о разрешении устройства и конфигурационные настройки (зависят от устройства).

Синхронные и асинхронные запись/считывание

Большинство программ и скетчей для девайсов типа 1-Wire (в особенности те, что написаны для Arduino) используют простой алгоритм «конверсия, ожидание, считывание» – даже при использовании нескольких устройств. Это может стать причиной ряда проблем:

Синхронизация с другими функциями

Если в скетче жестко прописано время ожидания, то ведущее устройство во время конверсии должно просто остановиться и ждать (за исключением случаев, когда используется многопоточность). Это влечет серьезную проблему и в том случае, если в скетче есть другие процессы, привязанные к времени, и в том случае, если их нет – многим программам нужно ждать ввода данных, обработки данных и выполнения многих других операций, которые не терпят задержек, необходимых для конверсии температурных данных. Как упоминалось выше, 12-битная конверсия в DS18B20 требует задержки в 750 миллисекунд. Поэтому в использовании ожидания, пока датчик выполнит процесс конверсии, никакого смысла нет. Гораздо разумнее будет послать команду конверсии, а за ее результатом вернуться позже, когда конверсия уже будет завершена – прочитав этот результат при помощи команды «Read Scratchpad».

Скорость опроса нескольких устройств

Еще одна проблема метода «конверсия, ожидание, считывание» – время, затрачиваемое на считывание данных с нескольких устройств. То есть, если ничего не менять, то эти три действия будут выполняться для каждого устройства по отдельности. Но гораздо эффективней было бы сначала отправить запрос на конверсию (или всем устройствам сразу, или по отдельности), затем сделать одну единственную задержку (сразу для всех), а потом по очереди считывать данные с каждого из этих устройств. Более подробно читайте тут.

Подгонка времени ожидания ко времени конверсии

Самый эффективный и быстрый способ считывания информации с девайса типа 1-Wire – это учитывать еще и время конверсии, что можно делать при помощи функции ds.read(). К примеру, в одном из скетчей ниже указана в задержка в 1000 миллисекунд, тогда как в даташите максимальным временем конверсии указано 750 миллисекунд, а фактически это происходит за 625 миллисекунд или меньше. Но важнее то, что это значение должно соответствовать разрешению, с которым происходит конверсия. Конверсия с разрешением 9 бит, например, занимает до 94 миллисекунд, поэтому ожидание в течение 1000 миллисекунд просто не имеет смысла.

Как упоминалось выше, самый эффективный способ опроса девайса – делать это во время считывания. Благодаря этому вы всегда будете знать, готов ли результат, а если готов, то сможете в тот же момент его прочитать.

Обсуждение и примеры кода, затрагивающие эту тему, можно посмотреть здесь.

История

Оригинальная версия OneWire была разработана в 2007 году Джимом Стадтом (Jim Studt), и ее целью было упростить работу с девайсами типа 1-Wire. Эволюцию библиотеки можно наблюдать в этом форумном посте. Первая версия OneWire работала только с arduino-0007 и требовала большой (256-байтной) таблицы поиска для выполнения CRC-вычислений. Позже библиотека была обновлена и получила совместимость с arduino-0008 и более поздними релизами. В самой последней версии таблицы поиска для CRC-вычислений больше нет, и эта версия тестировалась только для arduino-0010 и ниже.

В библиотеке OneWire есть баг, из-за которого при использовании функции поиска запускается зацикливание. О том, как его исправить, можно прочесть в этом посте – разные способы можно найти в ответах #3, #17, #24, #27.

В версии 2.0 объединены улучшенная функция поиска от Робина Джеймса (Robin James) и улучшенные I/O функции Пола Стоффрегена (исправлены случайные ошибки подключения). Кроме того, добавлено несколько небольших оптимизаций.

Версия 2.1 добавляет совместимость с бетой Arduino 1.0 и chipKit (Джейсон Дэнжел), вспомогательные функции, CRC16, а также улучшенный температурный пример (Пол Стоффреген), пример для считывания с PROM-чипа DS250x (Гильермо Ловато) и пример для работы с PIO-чипом DS2408(Гленн Тревитт).

Функции

Фрагменты кода

Более компактную версию этого кода, а также описание командного интерфейса смотрите тут.

Преобразование HEX-кода во что-то осмысленное (температуру)

Чтобы преобразовать HEX-код в температурные данные, сначала нужно определить, датчик какой серии вы используете – DS18S20 или DS18B20. Код, считывающий температуру с DS18B20DS1822), будет слегка отличаться, поскольку возвращает 12-битное температурное значение (точность 0,0626 градуса), а DS18S20DS1820) – 9-битное (точность 0,5 градуса).

Во-первых, вам нужно задать несколько переменных и пометить их прямо под loop() из примера выше.

Для датчиков серии DS18B20 ниже Serial.println() нужно поместить следующий код:

Этот фрагмент кода конвертирует температуру в градусы Цельсия и выводит ее через монитор порта.

Фрагмент кода для DS1820 с разрешением 0,5 градуса

Пример выше работает только с B-типом DS1820. Пример ниже демонстрирует, как работать с более низким разрешением DS1820 и множеством других сенсоров, выводящих значения на LCD.

Пример работает с 9-ым контактом Arduino, но для удобства можно воспользоваться каким-то другим. Учтите, впрочем, что 1-ый и 3-ий контакты DS1820 должны быть подключены к «земле». В этом примере резистор на 5 кОм подключен ко 2-ому контакту DS1820 и Vcc (+5V). О том, как подключить LCD к Arduino, читайте документацию к библиотеке LiquidCrystal.

Access 1-wire temperature sensors, memory and other chips.

Downloads

Filename Release Date File Size
OneWire-2.3.5.zip 2019-09-16 21.56 KiB
OneWire-2.3.4.zip 2018-03-15 20.14 KiB
OneWire-2.3.3.zip 2017-02-07 18.37 KiB
OneWire-2.3.2.zip 2016-01-05 17.62 KiB
OneWire-2.3.1.zip 2015-12-06 17.06 KiB
OneWire-2.3.0.zip 2015-03-26 16.78 KiB

This website is Open Source, please help improve it by submitting a change on GitHub:
https://github.com/njh/arduino-libraries

The content on this site was last updated: 2019-11-21 13:36:18 +0000

Черновик

Содержание

Библиотека OneWire в настоящий момент поддерживается Полом Стоффрегеном (Paul Stoffregen). Если вы нашли баг или разработали улучшение, можете связаться с ним по почте [email protected]. Кроме того, убедитесь, что используете самую последнюю версию библиотеки.

Протокол 1-Wire

Протокол 1-Wire – это протокол, используемый для управления устройствами, которые производятся компанией Dallas Semiconductor (ныне Maxim). Хотя 1-Wire является приприетарным протоколом и торговой маркой Dallas, программисты, использующие драйверы 1-Wire, не обязаны делать за это никаких выплат.

Сеть 1-Wire, которую Dallas называет MicroLan (торговая марка), состоит из одного ведущего устройства, к которому при помощи единственной линии передачи данных подключено одно или несколько ведомых устройств. Эту линию, помимо прочего, можно использовать для электропитания ведомых устройств (ситуацию, когда устройства подпитываются через шину 1-Wire, называют «паразитным питанием»).

Более подробно о 1-Wire можно почитать в руководствах (этом и этом) Тома Бойда.

Среди прочих устройств, работающих через протокол 1-Wire, особенно популярны температурные датчики – они недороги, просты в использовании и позволяют напрямую считывать откалиброванные цифровые температурные данные. Кроме того, они терпимы к длинным проводам, которыми часто приходится пользоваться при создании цепи с Arduino. Один из примеров ниже демонстрирует, как работать с 1-Wire на примере цифрового термометра DS18S20. Многие чипы 1-Wire могут работать и через паразитное, и через нормальное питание.

Интерфейсы 1-Wire

Управление шиной при помощи специальных устройств

Шина 1-Wire может управляться посредством специальных устройств – их называют «хозяевами шины» или «контроллерами шины». Такие устройства производит, к примеру, та же Dallas, а также ряд других компаний-производителей. Большинство «хозяев шин» перечислены здесь.

Эти устройства специально созданы и оптимизированы для того, чтобы максимально эффективно осуществлять операции записи/считывания с устройствами типа 1-Wire. Будучи похожими на UART/USART, они управляют тактовыми операциями при помощи буфера, тем самым увеличивая точность и высвобождая вычислительные ресурсы главного процессора (к примеру, микроконтроллера). Внешние подтягивающие резисторы тоже не требуются.

Многие из этих чипов осуществляют также исправление ошибок, которые возникают при использовании шин данных (к примеру, потери целостности сигнала, колебания уровня сигнала, отражений и т.д.) и способны повлечь различные проблемы, особенно с крупными сетями. Кроме того, многие из этих девайсов обладают дополнительными функциями и могут работать с большим количеством интерфейсов. Их цена варьируется от 1 до 30 долларов.

Другим важным преимуществом является поддержка owfs – это файловая система для считывания/записи, совместимая с большим количеством устройств для управления шиной 1-Wire.

Управление шиной при помощи UART/USART

Большинство UART/USART идеально подходят для того, чтобы работать со скоростями свыше 15,4 Кбит/сек – скорости, требуемой для стандартного режима шины 1-Wire. Но важнее то, что частота и буфферизация управляются ими раздельно, что, опять же, позволяет разгрузить главный процессор микроконтроллера. Более подробно о реализации этого метода можно почитать тут.

Управление шиной при помощи технологии Bit-Banging

Если управление буфферизацией/частотой при помощи контроллера или UARTUSART по какой-то причине невозможно, шину 1-Wire можно настроить на GPIO-контакте. То есть это, по сути, программная эмуляция UARTUSART с ручным переключением состояния контакта и реконструкцией сигнала от присланных данных. Однако поскольку это программный процесс, на него будут напрямую влиять другие системные процессы, выполняемые в процессоре, что может негативно сказаться на его работе.

На Arduino и прочих совместимых чипах это можно выполнить как раз при помощи библиотеки OneWire – она позволяет реализовать эту технологию на любом цифровом контакте.

На одноплатных компьютерах вроде Raspberry Pi имеется встроенная поддержка протокола 1-Wire, реализованная при помощи драйверов ядра. В частности, очень популярны w1-gpio, w1-gpio-therm и w1-gpio-custom, которые включены в большинство последних дистрибутивов Raspbian. С их помощью можно настроить коммуникацию с устройствами типа 1-Wire, не используя при этом никакого дополнительного оборудования. На данный момент, однако, поддерживается ограниченное количество устройств, а на программном уровне есть ограничение на размер шины.

Питание устройств типа 1-Wire

Питание чипа можно обеспечить двумя способами. Первый (его называют «паразитическим» питанием) – это когда к чипу подключено всего два провода. Второй – это когда к этим двум проводам добавляется еще один, через который, собственно, и осуществляется питание. В ряде случаев второй способ более надежен. Однако новичкам (особенно в ситуациях, когда расстояние между Arduino и чипом составляет не более 6 метров) лучше начать с использования паразитического питания. Код ниже работает с обоими способами.

Паразитическое питание

В этом режиме для питания чипа нужно только два провода – один для передачи данных, а другой для заземления. То есть, согласно даташиту, заземляется как раз линия, которая обычно используется для питания.

Со стороны ведущего устройства к шине 1-Wire должен быть подключен подтягивающий резистор на 4,7 кОм. Когда эта линия будет переключена в состояние HIGH, устройство начнет тянуть ток, чтобы зарядить внутренний конденсатор.

Сила тока, передаваемого таким способом, как правило, невелика, но при температурной конверсии или записи на EEPROM может достигать 1,5 миллиампер. Когда ведомое устройство выполняет одну из этих операций, контроллер шины должен держать шину в состоянии HIGH, пока эта операция не будет выполнена. При температурной конверсии для DS12S20 требуется задержка в 750 миллисекунд, причем контроллер в течение этого времени не может делать ничего – ни давать команды другим устройствам, ни опрашивать ведомое устройство о выполнении команды. В библиотеку OneWire тоже встроена поддержка этой особенности – она позволяет держать шину в состоянии HIGH после записи данных.

Обычное питание (с использованием внешнего источника)

Если вы хотите запитать чип от внешнего источника, для этого потребуется три провода: один для передачи данных, один для заземления и один для, собственно, питания. Для этого способа по-прежнему нужен подтягивающий резистор на 4,7 кОм, подключенный к шине 1-Wire. Поскольку теперь шина свободна для передачи данных, микроконтроллер может постоянно опрашивать девайс на предмет того, как происходит процесс конверсии. Таким образом, запрос на конверсию можно выполнить сразу после того, как устройство отчитается о выполненной операции – в отличие от паразитического питания, когда вам приходится ждать, пока будет выполнена конверсия (продолжительность этой задержки зависит от функции устройства и его разрешения).

Примечание по резисторам

Согласно даташиту ATmega328/168, для этого микроконтроллера нужны резисторы от 1,6 кОм, однако несколько пользователей обнаружили, что для больших сетей лучше использовать резисторы меньшего номинала.

Другими словами, для больших сетей имеет смысл попробовать резисторы поменьше.

Обращение к устройствам типа 1-Wire

Каждое устройства типа 1-Wire обладает уникальным 64-битным ROM-адресом, который состоит из 8-битного кода, обозначающего семейство, 48-битного серийного кода и 8-битного CRC. CRC используется для проверки целостности данных. К примеру, код ниже проверяет, является ли устройство, к которому обращается скетч, температурным датчиком DS18S20 – путем проверки кода, обозначающего семейство, т.е. «0x10». Чтобы использовать этот скетч с более новым DS18B20, вам нужно будет указать проверку по коду «0x28», а если с DS1822, то по коду «0x22».

Команды к одному устройству

Перед тем, как отправлять команду к одному устройству, ведущее устройство должно выбрать адресата при помощи его уникального ROM-адреса. Если это устройство будет обнаружено, то все последующие команды тоже будут отправлены к нему.

Команды к нескольким устройствам

Вы также можете отправить команду сразу всем ведомым устройствам, воспользовавшись командой 0xCC (она означает «Skip ROM» или «пропустить ROM-адрес»). Впрочем, перед использованием важно знать, какие эффекты это может повлечь. Иногда это очень удобный метод – к примеру, если дать команду 0xCC, а следом за нею 0x44 (она означает «Convert T» или «выполнить температурную конверсию»), то все устройства в сети начнут выполнять, собственно, температурную конверсию. То есть в данном случае использование 0xCC может сберечь вам немного времени. С другой стороны, если воспользоваться командой 0xBE (она означает «Read Scratchpad» или «прочитать данные из оперативной памяти»), то все девайсы в сети начнут одновременно передавать эти данные ведущему устройству. Также при использовании «Skip ROM» нужно учитывать энергопотребление всех устройств, подключенных к сети (это актуально, к примеру, в случае температурной конверсии).

Более подробную информацию читайте, пожалуйста, в даташитах DS18S20 и DS18B20.

Считывание данных с устройства типа 1-Wire

Чтобы прочесть данные с устройства типа 1-Wire, нужно выполнить несколько шагов. Каких именно шагов – зависит от самого устройства, т.к. разные устройства могут отсылать разные значения. Популярный DS18B20, к примеру, считывает данные о температуре, а DS2438 – о напряжении, силе тока и температуре.

Два основных этапа при считывании данных

Конверсия

Эта команда шлется устройство, чтобы оно начало выполнять операцию конверсии. В случае DS18B20 этой командой будет байт 0x44 (команда «Convert T»). В библиотеке OneWire за это отвечает функция ds.write(0x44), где ds – это экземпляр класса OneWire. После получения этой команды устройство начинает считывать данные с внутреннего АЦП, а затем копирует их в регистры оперативной (scratchpad) памяти.

Длительность процесса конверсии варьируется в зависимости от разрешения и указана в даташите устройства. Согласно даташиту, у датчика DS18B20 конверсия температуры может занимать от 94 (разрешение 9 бит) до 750 (разрешение 12 бит) миллисекунд. Во время выполнения конверсии девайс можно опрашивать, то есть использовать, к примеру, функцию ds.read(), чтобы проверить успешность выполнения конверсии.

Чтение оперативной (scratchpad) памяти

Конвертированные данные копируются в оперативную (scratchpad) память, откуда их можно прочитать. Причем эту команду можно вызывать и без команды конверсии – это может пригодиться, к примеру, если вы забыли, какие данные были прочитаны в прошлый раз (поскольку они по-прежнему хранятся в оперативной памяти). Кроме того, с помощью этой команды можно прочитать данные о разрешении устройства и конфигурационные настройки (зависят от устройства).

Синхронные и асинхронные запись/считывание

Большинство программ и скетчей для девайсов типа 1-Wire (в особенности те, что написаны для Arduino) используют простой алгоритм «конверсия, ожидание, считывание» – даже при использовании нескольких устройств. Это может стать причиной ряда проблем:

Синхронизация с другими функциями

Если в скетче жестко прописано время ожидания, то ведущее устройство во время конверсии должно просто остановиться и ждать (за исключением случаев, когда используется многопоточность). Это влечет серьезную проблему и в том случае, если в скетче есть другие процессы, привязанные к времени, и в том случае, если их нет – многим программам нужно ждать ввода данных, обработки данных и выполнения многих других операций, которые не терпят задержек, необходимых для конверсии температурных данных. Как упоминалось выше, 12-битная конверсия в DS18B20 требует задержки в 750 миллисекунд. Поэтому в использовании ожидания, пока датчик выполнит процесс конверсии, никакого смысла нет. Гораздо разумнее будет послать команду конверсии, а за ее результатом вернуться позже, когда конверсия уже будет завершена – прочитав этот результат при помощи команды «Read Scratchpad».

Скорость опроса нескольких устройств

Еще одна проблема метода «конверсия, ожидание, считывание» – время, затрачиваемое на считывание данных с нескольких устройств. То есть, если ничего не менять, то эти три действия будут выполняться для каждого устройства по отдельности. Но гораздо эффективней было бы сначала отправить запрос на конверсию (или всем устройствам сразу, или по отдельности), затем сделать одну единственную задержку (сразу для всех), а потом по очереди считывать данные с каждого из этих устройств. Более подробно читайте тут.

Подгонка времени ожидания ко времени конверсии

Самый эффективный и быстрый способ считывания информации с девайса типа 1-Wire – это учитывать еще и время конверсии, что можно делать при помощи функции ds.read(). К примеру, в одном из скетчей ниже указана в задержка в 1000 миллисекунд, тогда как в даташите максимальным временем конверсии указано 750 миллисекунд, а фактически это происходит за 625 миллисекунд или меньше. Но важнее то, что это значение должно соответствовать разрешению, с которым происходит конверсия. Конверсия с разрешением 9 бит, например, занимает до 94 миллисекунд, поэтому ожидание в течение 1000 миллисекунд просто не имеет смысла.

Как упоминалось выше, самый эффективный способ опроса девайса – делать это во время считывания. Благодаря этому вы всегда будете знать, готов ли результат, а если готов, то сможете в тот же момент его прочитать.

Обсуждение и примеры кода, затрагивающие эту тему, можно посмотреть здесь.

История

Оригинальная версия OneWire была разработана в 2007 году Джимом Стадтом (Jim Studt), и ее целью было упростить работу с девайсами типа 1-Wire. Эволюцию библиотеки можно наблюдать в этом форумном посте. Первая версия OneWire работала только с arduino-0007 и требовала большой (256-байтной) таблицы поиска для выполнения CRC-вычислений. Позже библиотека была обновлена и получила совместимость с arduino-0008 и более поздними релизами. В самой последней версии таблицы поиска для CRC-вычислений больше нет, и эта версия тестировалась только для arduino-0010 и ниже.

В библиотеке OneWire есть баг, из-за которого при использовании функции поиска запускается зацикливание. О том, как его исправить, можно прочесть в этом посте – разные способы можно найти в ответах #3, #17, #24, #27.

В версии 2.0 объединены улучшенная функция поиска от Робина Джеймса (Robin James) и улучшенные I/O функции Пола Стоффрегена (исправлены случайные ошибки подключения). Кроме того, добавлено несколько небольших оптимизаций.

Версия 2.1 добавляет совместимость с бетой Arduino 1.0 и chipKit (Джейсон Дэнжел), вспомогательные функции, CRC16, а также улучшенный температурный пример (Пол Стоффреген), пример для считывания с PROM-чипа DS250x (Гильермо Ловато) и пример для работы с PIO-чипом DS2408(Гленн Тревитт).

Функции

Фрагменты кода

Более компактную версию этого кода, а также описание командного интерфейса смотрите тут.

Преобразование HEX-кода во что-то осмысленное (температуру)

Чтобы преобразовать HEX-код в температурные данные, сначала нужно определить, датчик какой серии вы используете – DS18S20 или DS18B20. Код, считывающий температуру с DS18B20DS1822), будет слегка отличаться, поскольку возвращает 12-битное температурное значение (точность 0,0626 градуса), а DS18S20DS1820) – 9-битное (точность 0,5 градуса).

Во-первых, вам нужно задать несколько переменных и пометить их прямо под loop() из примера выше.

Для датчиков серии DS18B20 ниже Serial.println() нужно поместить следующий код:

Этот фрагмент кода конвертирует температуру в градусы Цельсия и выводит ее через монитор порта.

Фрагмент кода для DS1820 с разрешением 0,5 градуса

Пример выше работает только с B-типом DS1820. Пример ниже демонстрирует, как работать с более низким разрешением DS1820 и множеством других сенсоров, выводящих значения на LCD.

Пример работает с 9-ым контактом Arduino, но для удобства можно воспользоваться каким-то другим. Учтите, впрочем, что 1-ый и 3-ий контакты DS1820 должны быть подключены к «земле». В этом примере резистор на 5 кОм подключен ко 2-ому контакту DS1820 и Vcc (+5V). О том, как подключить LCD к Arduino, читайте документацию к библиотеке LiquidCrystal.

Onewire Driver

В этом руководстве объясняется, как подключать и считывать данные с датчика температуры DS18x20. Библиотека onewire также доступна в репозитории pycom-libraries на GitHub.

  #! / Usr / bin / env python3

"" "
Библиотека OneWire для MicroPython
"" "

время импорта
импортная машина

класс OneWire:
    CMD_SEARCHROM = const (0xf0)
    CMD_READROM = const (0x33)
    CMD_MATCHROM = const (0x55)
    CMD_SKIPROM = const (0xcc)

    def __init __ (self, pin):
        self.pin = булавка
        себя.pin.init (pin.OPEN_DRAIN, pin.PULL_UP)

    def сброс (сам):
        "" "
        Выполните функцию однократного сброса.
        Возвращает True, если устройство заявило импульс присутствия, в противном случае - False.
        "" "
        sleep_us = время.sleep_us
        disable_irq = machine.disable_irq
        enable_irq = machine.enable_irq
        pin = self.pin

        булавка (0)
        sleep_us (480)
        я = disable_irq ()
        булавка (1)
        sleep_us (60)
        status = not pin ()
        enable_irq (я)
        sleep_us (420)
        статус возврата

    def read_bit (сам):
        sleep_us = время.sleep_us
        enable_irq = machine.enable_irq
        pin = self.pin

        pin (1) # половина устройств не соответствует CRC без этой строки
        я = machine.disable_irq ()
        булавка (0)
        sleep_us (1)
        булавка (1)
        sleep_us (1)
        значение = штифт ()
        enable_irq (я)
        sleep_us (40)
        возвращаемое значение

    def read_byte (сам):
        значение = 0
        для i в диапазоне (8):
            значение | = self.read_bit () << i
        возвращаемое значение

    def read_bytes (self, count):
        buf = bytearray (количество)
        для i в диапазоне (количество):
            buf [i] = себя.read_byte ()
        вернуть буф

    def write_bit (self, value):
        sleep_us = время.sleep_us
        pin = self.pin

        я = machine.disable_irq ()
        булавка (0)
        sleep_us (1)
        штифт (значение)
        sleep_us (60)
        булавка (1)
        sleep_us (1)
        machine.enable_irq (я)

    def write_byte (self, значение):
        для i в диапазоне (8):
            self.write_bit (значение & 1)
            значение >> = 1

    def write_bytes (self, buf):
        для b в buf:
            self.write_byte (б)

    def select_rom (self, rom):
        "" "
        Выберите конкретное устройство, с которым хотите поговорить.0x18
                crc = (crc >> 1) & 0x7f
                если fb_bit == 0x01:
                    crc = crc | 0x80
                байт = байт >> 1
        вернуть crc

    def сканирование (себя):
        "" "
        Вернуть список ПЗУ для всех подключенных устройств.
        Каждое ПЗУ возвращается как байтовый объект размером 8 байтов.
        "" "
        устройства = []
        разн = 65
        rom = Ложь
        для i в диапазоне (0xff):
            ром, разница = self._search_rom (ром, разница)
            Я из:
                устройства + = [rom]
            если diff == 0:
                ломать
        вернуть устройства

    def _search_rom (self, l_rom, diff):
        если не сам.перезагрузить():
            return None, 0
        self.write_byte (CMD_SEARCHROM)
        если не l_rom:
            l_rom = массив байтов (8)
        ром = байтовый массив (8)
        next_diff = 0
        я = 64
        для байта в диапазоне (8):
            r_b = 0
            для бита в диапазоне (8):
                b = self.read_bit ()
                если self.read_bit ():
                    if b: # устройств нет или на шине произошла ошибка
                        return None, 0
                еще:
                    если не b: # коллизия, два устройства с разным битовым значением
                        если diff> i или ((l_rom [byte] & (1 << bit)) и diff! = i):
                            б = 1
                            next_diff = я
                себя.write_bit (б)
                если b:
                    r_b | = 1 << бит
                я - = 1
            ром [байт] = r_b
        вернуть ром, next_diff

класс DS18X20 (объект):
    def __init __ (self, onewire):
        self.ow = onewire
        self.roms = [rom для rom в self.ow.scan (), если rom [0] == 0x10 или rom [0] == 0x28]

    def isbusy (сам):
        "" "
        Проверяет, занято ли одно из устройств DS18x20 на шине
        выполнение преобразования температуры
        "" "
        не возвращать себя.ow.read_bit ()

    def start_conversion (self, rom = None):
        "" "
        Запустите временное преобразование на одном устройстве DS18x20.
        Передайте 8-байтовый объект с ПЗУ конкретного устройства, которое вы хотите прочитать.
        Если к шине подключено только одно устройство DS18x20, параметр rom можно не указывать.
        "" "
        rom = rom или self.roms [0]
        ow = self.ow
        ow.reset ()
        ow.select_rom (ром)
        ow.write_byte (0x44) # Конвертировать температуру

    def read_temp_async (self, rom = None):
        "" "
        Считайте температуру одного устройства DS18x20, если преобразование завершено,
        в противном случае верните None."" "
        если self.isbusy ():
            return None
        rom = rom или self.roms [0]
        ow = self.ow
        ow.reset ()
        ow.select_rom (ром)
        ow.write_byte (0xbe) # Прочитать царапину
        данные = ow.read_bytes (9)
        вернуть self.convert_temp (rom [0], data)

    def convert_temp (self, rom0, data):
        "" "
        Преобразуйте необработанные данные о температуре в градусы Цельсия и верните их как фиксированную точку с двумя десятичными знаками.
        "" "
        temp_lsb = данные [0]
        temp_msb = данные [1]
        если rom0 == 0x10:
            если temp_msb! = 0:
                # преобразовать отрицательное число
                temp_read = temp_lsb >> 1 | 0x80 # обрезать бит 0 сдвигом, заполнить старший бит 1.temp_read = - ((~ temp_read + 1) & 0xff) # теперь конвертируем из двух дополнений
            еще:
                temp_read = temp_lsb >> 1 # обрезать бит 0 сдвигом
            count_remain = данные [6]
            count_per_c = данные [7]
            temp = 100 * temp_read - 25 + (count_per_c - count_remain) // count_per_c
            возвратная температура
        elif rom0 == 0x28:
            return (temp_msb << 8 | temp_lsb) * 100 // 16
        еще:
            утверждать ложно
  

Рекрутер.com на приобретение OneWire, ведущей финансовой компании

ХЬЮСТОН, 22 декабря 2020 г. (GLOBE NEWSWIRE) - Recruiter.com Group, Inc. (OTCQB: RCRT), платформа для найма с поддержкой искусственного интеллекта и видео с крупнейшей в мире сетью рекрутеров, рада объявить что он подписал обязательное письмо о намерении приобрести OneWire, ведущую платформу для найма и программного обеспечения на основе SaaS, ориентированную на сектор финансовых услуг. Приобретение будет включать в себя платформу OneWire SaaS ( www.onewire.com ), Matchbook software ( www.matchbook.io ) и бизнес подбора руководящих кадров OneWire.

«Миссия Recruiter.com - стать самой платформой для сотрудничества и взаимодействия для найма талантов», - сказал Эван Сон, генеральный директор Recruiter.com. «Приобретение OneWire компанией Recruiter.com добавляет инновационную платформу поиска талантов на основе подписки; невероятный набор клиентов в сфере финансов, банковского дела и бухгалтерского учета; а также сообщество профессионалов отрасли.Мы очень рады объединить наши компании и с нетерпением ждем возможности обеспечить их колоссальный рост в 2021 году ».

С 2008 года OneWire предоставляет передовой набор кадров для глобальных финансовых компаний, включая инвестиционные банки, хедж-фонды, частный капитал, венчурный капитал и корпоративный сектор. Фирмы, собирая базу данных высококвалифицированных и нишевых кандидатов из более чем 700 000 профессионалов индустрии финансовых услуг.Recruiter.com также приветствует Эрика Штутцке, генерального директора OneWire, в качестве рекрутера.com управленческая команда. Эрик имеет обширный опыт работы в отрасли и публичных компаниях; Ранее он занимался внешней финансовой отчетностью и отношениями с инвесторами для Monster Worldwide.

«Мы рады объединить усилия с Recruiter.com и расширить их комплексный набор решений по найму для наших клиентов в сфере финансовых услуг», - сказал Эрик Штутцке, генеральный директор OneWire. «OneWire будет в отличной позиции для увеличения охвата и распространения платформы Recruiter.com, привлечения значительных потенциальных клиентов и увеличения доходов от наших предложений продуктов и услуг.Наши клиенты будут по-прежнему получать отличное обслуживание и смогут в дальнейшем извлекать выгоду из видеоэкранов и программного обеспечения для поиска поставщиков с поддержкой ИИ через Recruiter.com ».

Recruiter.com, насчитывающий более 410 000 членов в сети финансовых директоров и финансовой группе руководителей в LinkedIn, немедленно расширит охват платформы OneWire SaaS для найма сотрудников в финансовой отрасли. Компании планируют интегрировать свои активы для предоставления унифицированных решений в области человеческого капитала на основе подписки, от младшего персонала и стажера до менеджеров и руководителей высшего звена.

Обязывающее письмо о намерениях обязывает стороны работать вместе для согласования, выполнения и доставки окончательного соглашения о покупке активов, регулирующего сделку, до 31 января 2021 года. Цена покупки должна быть указана в виде обыкновенных акций с ограниченным доступом на Recruiter.com. Приобретение требует должной осмотрительности и окончательного утверждения правлением Recruiter.com Group, Inc.

Recruiter.com Group, Inc.
Recruiter.com разрушает индустрию найма и найма персонала стоимостью 120 миллиардов долларов, объединяя Платформа для найма AI и видео с крупнейшей в мире сетью из более чем 27 500 небольших и независимых рекрутеров.Компании любого размера быстрее набирают таланты с помощью платформы Recruiter.com , которая основана на виртуальных командах рекрутеров по требованию, а также видео и технологиях подбора вакансий на основе искусственного интеллекта. Посетите https://www.recruiter.com .

Чтобы получить информацию для инвесторов, посетите https://www.recruiter.com/investors.html .

Следите за обновлениями в социальных сетях:

OneWire
OneWire - это платформа для набора персонала на основе SaaS, которая объединяет самое большое сообщество профессионалов в индустрии финансовых услуг.Кандидаты могут конфиденциально искать вакансии и подавать заявки на вакансии, в то время как работодатели могут рекламировать открытые возможности или выполнять поиск непосредственно из нашей базы данных кандидатов. Благодаря продукту компании Matchbook кандидаты проходят предварительный отбор и демонстрируются на рынке талантов, где работодатели могут напрямую отправлять запросы на собеседование и платить в случае успеха. Компания также предлагает услуги по поиску руководителей с технологией, адаптированные для каждой фирмы.

Контактное лицо компании:
Эван Сон, генеральный директор
Рекрутер.com Group, Inc.
Телефон: (855) 931-1500

Связи с инвесторами:
Дэйв Джентри
RedChip Companies, Inc.
Телефон: (407) 491-4498
[email protected]

Предостережение относительно прогнозных заявлений:

Этот пресс-релиз содержит прогнозные заявления в значении Закона о реформе судебных разбирательств по частным ценным бумагам 1995 года. «оценивать», «продолжать», «предполагать», «намереваться», «следует», «планировать», «может», «цель», «потенциал», «вероятно», «будет», «ожидать» и аналогичные выражения, поскольку они относятся к нам, предназначены для обозначения прогнозных заявлений.Мы основывали эти прогнозные заявления в первую очередь на наших текущих ожиданиях и прогнозах относительно будущих событий и финансовых тенденций, которые, по нашему мнению, могут повлиять на наше финансовое состояние, результаты деятельности, бизнес-стратегию и финансовые потребности. Важные факторы, которые могут привести к тому, что фактические результаты будут отличаться от тех, которые указаны в прогнозных заявлениях, включают постоянный спрос на профессиональный найм, точность опроса Recruiter Index®, влияние пандемии COVID-19 на рынок труда и экономику как вирус. уровни снова растут во многих штатах, и факторы риска, содержащиеся в наших документах, поданных в Комиссию по ценным бумагам и биржам, включая наш годовой отчет по форме 10-K за год, закончившийся 31 декабря 2019 года.Любое прогнозное заявление, сделанное нами здесь, действительно только на дату, когда оно было сделано. Факторы или события, которые могут привести к тому, что наши фактические результаты будут отличаться, могут время от времени появляться, и мы не можем предсказать их все. Мы не берем на себя никаких обязательств по публичному обновлению каких-либо прогнозных заявлений, будь то в результате получения новой информации, будущих событий или иным образом, за исключением случаев, когда это требуется по закону.


Инновации в интерфейсах :: OneWire Utilities

Мы разработали гибкий и универсальный инструментарий разработки приложений LabVIEW и набор приложения для использования однопроводных датчиков в любых среда, которую пользователь считает подходящей: приборы для сбора данных, хобби, общая среда мониторинг или иначе.Мы оптимизировали его для скорости на мультисенсорные сети и добавлены в примеры, чтобы помочь вам начать работу.

Мы использовали базовый инструментарий для создания самых разнообразных интерфейсов на протяжении многих лет в научные приложения, а также для хобби. Наш набор инструментов и автономный монитор OneWire исполняемые файлы используются в самых разных отраслях промышленности, включая производство полупроводников, развертывание удаленного мониторинга условий, а также для мониторинга технологий сушки.Наш инструментарий использует TMEX API и включает вызовы собственных функций, поэтому, если ваш датчик - 1Wire, он будет работать с Утилиты OneWire!

Галерея утилит OneWire

Мониторинг и настройка сетевых датчиков

Используйте нашу служебную программу ПЗУ или функции палитры для настройки своей сенсорной сети.Назначьте псевдонимы и группируйте датчики и сохраняйте их в локальный файл .ini для легкого извлечения нескольких конфигураций. Набор инструментов предварительно настроен для чтения ряда датчиков от обычных адаптеров, таких как DS9490 и адаптеры iButtonLink LinkUSB, и также позволяет получить доступ к базе TMEX API вызовы функций для индивидуальных приложений.См. Ниже для совместимые устройства.

Создавайте собственные приложения, используя включенные элементы управления и vis

Используйте наши элементы управления и определения типов для создания пользовательских приложений для ваша среда приобретения. Многие примеры включены в наш инструментарий, в том числе OneWire Приложение для мониторинга и настройки. Мы также рада помочь развить ваш обычай инструменты приобретения.

Исполняемые файлы автономного приложения

Ключевые приложения в нашем наборе инструментов, созданные в качестве примеров, были встроены в набор приложения, для работы которых требуется только среда разработки LabVIEW RunTime (бесплатно). Этот включает:

  • Монитор OneWire
  • Панель управления DS192X
  • Утилита для датчиков

Чтобы получить более подробную информацию об этих приложениях, прокрутите вниз до их описания.

Для каждого экземпляра требуется лицензия RunTime (доступна в нашем интернет-магазине), и ее можно легко установлен как описано здесь. 15-дневная пробная версия автоматически запускается при установке, так что вы можете попробовать!

Совместимые устройства

Адаптеры

Даллас / Максим DS9490, iButtonLink LinkUSB® Адаптеры и все другие устройства на базе DS9097E , DS9097U , DS1410 на USB, параллельный, и последовательные порты поддерживаются.См. Здесь, как найти и выберите свой адаптер с помощью набора инструментов или исполняемых программ.

Датчики

Собственный (с базовым пакетом OneWire Utilities)
  • DS18B20 : Температура
  • DS2408, DS2413 : Датчик и выходной переключатель
  • DS2438 : Температура, ток, напряжение
  • DS2401 (чип) , DS1990A (iButton): 64-битный серийный номер
  • DS1922 , DS1923 : Регистраторы температуры / влажности Thermochron / hygrochron (базовый пакет считывает только текущую температуру / влажность)
  • iButtonLink ® MultiSensor устройства (см. Примечания к приложению здесь):
    • MS-T : Датчик температуры
    • MS-TC : Датчик температуры и переменного тока
    • MS-TH : Датчик температуры и влажности
    • MS-TL : Датчик температуры и освещенности
    • MS-TPD : Датчик температуры и расхода
    • MS-TV : Датчик температуры и напряжения
С модулем DS192X Thermochron / Hygrochron (см. Модули и Модуль DS192X ниже)
  • DS1922 , DS1923 : Термохрон / гигрохрон температура / влажность регистраторы (полный набор функций регистрации данных и задач)
С модулем памяти OWU (см. Ниже и страница загрузок)
  • DS2430A (микросхема) , DS1971 (iButton) : 256-битная память чтения / записи iButton
  • DS2431 (микросхема) , DS1992 (iButton): 1 Кбайт памяти для чтения / записи iButton
  • MAX31826 : Датчик температуры с 1 КБ EEPROM (полное чтение датчика и чтение / запись EEPROM)
  • MAX31850 : Интерфейсный чип термопары
  • DS28EC20 : чтение / запись EEPROM 20 Кбайт EEPROM (полный набор команд чтения / записи EEPROM)
  • DS1996 (iButton): память чтения / записи 64 КБ
  • DS1982 : память iButton с последовательностью записи 12 В

Все (да, все) другие датчики поддерживаются с использованием собственных вызовов API с Open and Find Devices и другой утилитой vis.Отправьте нам электронное письмо, если вы хотите видеть расширенную поддержку устройств в вашем приложении. Скорее всего, у нас есть код, который мы можем заставить работать на вас.

Приложение монитора OneWire

Наше приложение 1Wire Monitor предлагает автономную исполняемую программу, которая позволяет контролировать столько датчиков, которые вы можете прочитать в сети 1Wire. Это то, что мы используем здесь, чтобы контролировать наши домашнее пиво, пока мы его варим и после того, как оно попадает в ферментеры! Это позволяет читать и группировать мультисенсорные устройства от iButtonLink, а также несколько значений с одного устройства, например Температура, напряжение и ток от устройств DS2438.

Группируйте и назначайте датчики для любого приложения мониторинга

Используйте наши функции управления датчиком ПЗУ, чтобы назначить псевдонимы вашим ПЗУ. Четное если вы переместите их, их уникальные аппаратные адреса и ваши сохраненные никнеймы позволят вам следить за ними. Сгруппируйте их вместе в своих приложениях, чтобы измерить вариацию положения и установите стандартную ошибку для отчетов.

Заданное значение и аварийные сигналы высокого / низкого уровня и звуковые предупреждения

Используйте наши настраиваемые ползунки высокого / низкого уровня для групповых измерений, чтобы предупредить визуально и с помощью звуковой сигнализации и / или преобразования текста в речь, если хотите.

Сохранение нескольких конфигураций для быстрого изменения приложений

Сохранение нескольких групп и описаний в нескольких файлах конфигурации для быстрые изменения и для переноса пользовательских конфигураций на несколько машин.

Модули датчиков

Мы разработали специальные модули для некоторых более сложных устройств 1Wire:

  • Модуль DS192X
  • Датчики

    DS1922 и DS1923 включают 8 КБ встроенной памяти и запрограммированные интервалы выборки температуры (DS1922L, DS1992T, DS1922E) и температуры и влажности (DS1923) с записью по принципу «первым пришел - первым обслужен» и с программируемым разрешением.

    Наш модуль DS192X позволяет записывать и экспортировать данные нескольких датчиков одновременно (в зависимости от закрепления кнопки), а также программировать для управления миссией. Встроенные примеры демонстрируют эту функциональность для создания пользовательских приложений. Автономный исполняемый файл находится в разработке для пользователей, не использующих LabVIEW, и может быть скомпилирован для пользователей с помощью LabVIEW.

  • Модуль памяти
  • Наш модуль памяти обеспечивает доступ к полному набору функций для памяти Dallas / Maxim и комбинированные устройства памяти / датчиков, перечисленные ниже.Модуль памяти также включает в себя нашу память Утилита, отдельное приложение для чтения / записи устройств памяти 1Wire.

    • DS2430A (микросхема) , DS1971 (iButton) : 256-битная память чтения / записи iButton
    • DS2431 (микросхема) , DS1992 (iButton): 1 Кбайт памяти для чтения / записи iButton
    • MAX31826 : Датчик температуры с 1 КБ EEPROM (полное чтение датчика и чтение / запись EEPROM)
    • DS28EC20 : чтение / запись EEPROM 20 Кбайт EEPROM (полный набор команд чтения / записи EEPROM)
    • DS1996 (iButton): память чтения / записи 64 КБ

Панель управления DS192X

Мы разработали модуль DS192X для клиент, который хотел прочитать / записать десять устройств одним нажатием кнопки, как для экспорта данных, устанавливать параметры устройства и отправлять устройства в миссии.Более того, приложение может выполнять все эти операции одновременно на нескольких устройствах DS1922 и DS1923, при необходимости преобразовывая элементы управления. Используйте одну панель управления для программирования, чтения / записи данных и управления всеми устройствами одновременно!

Мы создали приложение Control Panel поверх нашего набора инструментов LabVIEW, чтобы показать как его использовать, и решил, что это должен быть пример для тех, кто использует LabVIEW. Таким образом, вы можете войдите в блок-схему и посмотрите, как она работает и как вы можете ее изменить.Это отличный способ быстро начать работу с приложением для получения, просмотра и хранения - или просто используйте его как есть!

Мы также создали его как отдельный исполняемый файл, для которого требуется только LabVIEW RunTime. (бесплатно). Вы можете скачать его вместе с набором исполняемых файлов справа. Щелкните Red Download Trial Застегните кнопку и покрутите. Также см. Наше подробное описание на Раздел модуля DS192X ниже..

OneWire - Бинты | openHAB

Привязка OneWire объединяет устройства OneWire (также называемые 1-Wire). OneWire - это последовательная шина, разработанная Dallas Semiconductor. Он предоставляет дешевые датчики температуры, влажности, цифрового ввода-вывода и многого другого.

Начало работы

Файловая система OneWire (OWFS, https://owfs.org (открывается в новом окне)) обеспечивает уровень абстракции между шиной OneWire и этой привязкой.Предполагается, что у вас уже есть работающая установка OWFS. Помимо датчиков вам потребуется устройство busmaster (например, DS9490R).

Поддерживаемые объекты

Мосты

В настоящее время поддерживается только один мост. owserver - это мост, который подключается к существующей установке OWFS.

Вещи

Существуют разные типы вещей: простые ( basic ), мультисенсоры на базе микросхемы DS1923 / DS2438 ( ms-tx ) и более продвинутые датчики от Elaborated Networks (www.wiregate.de (открывается в новом окне)) ( ams , bms ), Embedded Data System (www.embeddeddatasystems.com (открывается в новом окне)) ( edsenv ) и Brain4Home ( bae091x ).

Discovery

Discovery поддерживается для вещей. Придется добавлять мосты вручную.

Thing Configuration

Настоятельно рекомендуется добавлять объекты с помощью обнаружения и настраивать их с помощью пользовательского интерфейса. Обращаем ваше внимание на то, что:

  • Все вещи нуждаются в перемычке.
  • Параметр идентификатора датчика поддерживает только формат с точками, включая идентификатор семейства (например, 28.7AA256050000 ). Соединители DS2409 MicroLAN (концентраторы) поддерживаются путем добавления их идентификатора и ответвления ( main или aux ) в формате каталога перед идентификатором датчика (например, 1F.EDC601000000 / main / 28.945042000000 ).
  • Время обновления - это минимальное время в секундах между двумя проверками этого объекта. По умолчанию для аналоговых каналов установлено значение 300, а для цифровых каналов - 10.
  • Некоторые каналы требуют дополнительной настройки, см. Ниже в разделе каналов.

Мост OWFS (

owserver )

Нет никаких параметров конфигурации для owserver, кроме сетевого адреса. Он состоит из двух частей: адрес и порт .

Параметр адреса используется для обозначения местоположения экземпляра owserver. Он поддерживает как имя хоста, так и IP-адрес.

Параметр порт используется для настройки нестандартных установок OWFS.По умолчанию он равен 4304 , что является значением по умолчанию для каждой установки OWFS.

Мосты типа owserver могут быть расширены с помощью каналов типа owfs-number и owfs-string .

Generic (

basic )

Базовая модель поддерживает микросхемы iButton (DS1420, DS2401 / DS1990A), датчики температуры (DS18B20, DS18S20, DS1822), цифровые микросхемы ввода-вывода (DS2405, DS2406, DS2408, DS2413) и счетчиками (DS2423).

Он имеет два параметра: идентификатор датчика , идентификатор и время обновления , обновление .

В зависимости от микросхемы, добавляются каналы , представленные , температуры , digitalX или counterX . X - номер канала, начиная с 0 .

Мультисенсор (

ms-tx )

Мультисенсор построен на чипсете DS2438 или DS1923. Он всегда обеспечивает канал температуры .

В зависимости от самого датчика добавляются дополнительные каналы ( ток , влажность , свет , напряжение , напряжение питания ).Если вход напряжения DS2438 подключен к датчику влажности, поддерживаются несколько распространенных типов (см. Ниже).

Он имеет три параметра: идентификатор датчика идентификатор , время обновления , обновление и ручной датчик (расширенная опция).

Известные датчики на базе DS2438: iButtonLink (https://www.ibuttonlink.com/( открывается в новом окне)) MS-T (распознается как общий DS2438), MS-TH, MS-TC, MS-TL, MS- ТВ. Неизвестные мультисенсоры добавляются как общий DS2438 и имеют температуру , ток , напряжение и напряжение питания каналов.

В случае, если датчик не обнаружен должным образом (например, потому что это датчик самодельный), проверьте, совместим ли он с одним из датчиков, перечисленных выше. Вы можете использовать ручной датчик для отмены автоматически определяемого сенсорного типа, установив DS2438 , MS_TH , MS_TV , MS_TL или MS_TC .

Мультисенсоры проработанных сетей (

ams , bms )

Это сложные устройства из проработанных сетей.Они состоят из DS2438 и DS18B20 с дополнительной схемой на одной печатной плате. AMS дополнительно имеет на плате второй DS2438 и DS2413 для цифрового ввода / вывода. Аналоговые световые датчики могут быть дополнительно присоединены к обоим датчикам.

Эти датчики обеспечивают температуры , влажности и напряжения питания каналов. Если датчик освещенности присоединен и настроен, предоставляется канал light , в противном случае - канал current . AMS имеет дополнительный напряжения и два канала digitalX .

Имеет два ( bms ) или четыре ( ams ) датчиков. Параметр id ( id ) должен быть сконфигурирован с идентификатором датчика влажности.

Дополнительно можно настроить время обновления обновление . AMS поддерживает параметр digitalrefresh для времени обновления цифровых каналов.

Поскольку оба мультисенсора имеют два встроенных датчика температуры, параметр датчик температуры позволяет выбрать DS18B20 или DS2438 , которые будут использоваться для измерения температуры.По умолчанию для этого параметра установлено значение DS18B20 , так как это считается более точным. Канал temperature имеет тип temperature , если используется внутренний датчик, и канал типа temperature-por-res для внешнего DS18B20.

Последний параметр - это параметр lightsensor для настройки, если датчик внешней освещенности подключен. По умолчанию false . В этом режиме предоставляется текущий канал . Если установлено значение true , к объекту добавляется канал light .Правильная формула окружающего освещения автоматически определяется версией датчика.

Встроенная система данных Датчики окружающей среды (

edsenv )

Эта штука поддерживает датчики EDS0064, EDS0065, EDS0066 или EDS0067. Он имеет два параметра: идентификатор датчика , идентификатор и время обновления , обновление .

Все вещи имеют температурный канал . Дополнительные каналы ( свет , давление , влажность , точка росы , абсолютная влажность ) будут добавлены автоматически, если они доступны с датчика.

Brain4Home BAE091x (

bae091x )

В настоящее время эта штука поддерживает только датчики BAE0910. Все функциональные контакты этого датчика имеют несколько функций, которые можно настроить индивидуально. Подробную информацию о каждом режиме см. В официальной документации. Каждый вывод может быть настроен как отключен . Необходимые каналы добавляются автоматически.

Контакт 1 ( pin1 ) имеет только одну функцию счетчик (канал счетчик ).Контакт 2 ( pin2 ) может быть сконфигурирован как цифровой выход ( выход , канал digital2 ) или выход с широтно-импульсной модуляцией ( pwm , программный PWM 4, каналы freq2 , duty4 ). Контакт 6 ( pin6 ) может быть настроен как цифровой вход / выход ( pio , канал digital6 ) или выход с широтно-импульсной модуляцией ( pwm , программный PWM 3, каналы freq1 , duty3 ). Контакт 7 ( pin7 ) может быть настроен как аналоговый вход ( аналоговый ), цифровой выход ( выход , канал digital7 ) или выход с широтно-импульсной модуляцией ( pwm , аппаратный PWM 2, каналы freq2 , duty2 ).Контакт 8 ( pin8 ) может быть настроен как цифровой вход ( вход , канал digital8 ), цифровой выход ( выход , канал digital8 ) или выход с широтно-импульсной модуляцией ( pwm , аппаратный PWM 1, каналы freq1 , duty1 ).

Обратите внимание: поддержка этого сенсора считается экспериментальной.

Каналы

9065 ms-tx, ams, bms, edsenv owserver owserver owserver ElectricPotential -counter
Идентификатор типа Thing Элемент только для чтения Описание
абсолютная влажность ms-tx, ams, bms 907 Density 907 906 абсолютная влажность
ток ms-tx, ams Количество: ElectricCurrent да ток
счетчик counter2 счетчик Номер: Температура да точка росы
dio digitalX, ams Switch no цифровой ввод / вывод, можно настроить как вход или выход
влажность ms-tx, ams, bms, edsenv Номер: Размер sionless да относительная влажность
влажностьconf ms-tx Число: безразмерное да относительная влажность
свет ams, bms, edsen легкость
номер owfs owserver номер да прямой доступ к узлам OWFS
owfs-string да строка строка строка строка 9065
присутствует все Переключатель да датчик найден на шине (да = ВКЛ)
давление edsenv Количество: давление да давление окружающей среды ms-tx Номер: ElectricPo tential да напряжение питания датчика
температура температура, ms-tx, edsenv номер: температура да температура окружающей среды
температура-por температура температура температура да температура окружающей среды
температура-por-res температура, ams, bms номер: температура да температура окружающей среды
напряжение ms-tx, ams да вход напряжения
bae-pwm-frequency bae091x Number: Frequency no частота для режима PWM
-pwm
-bae-pwm-number Безразмерный нет рабочий цикл cle (0-100%) для выхода ШИМ
bae-di bae091x Переключатель да цифровой вход
bae-do bae06591x Цифровой выход Переключатель
bae-pio bae091x Переключатель да цифровой вход / выход
bae-аналоговый bae091x Количество: ElectricPotential
bae091x Номер yes countervalue

Digital I / O (

dio )

Каналы типа dio каналов, каждый имеет два параметра: mode и mode и mode .

Параметр mode используется для настройки этих каналов как входа или выхода .

Параметр логики можно использовать для инвертирования канала. В нормальном режиме канал считается ВКЛ для высокого логического уровня и ВЫКЛ для низкого логического уровня. В режиме инвертированного ON - низкий логический уровень, а OFF - высокий логический уровень.

Влажность (

влажность , влажность , абсолютная влажность , точка росы )

В зависимости от датчика может быть добавлен канал влажности или влажностьconf .Это актуально только для датчиков типа вещи ms-tx на базе DS2438. Каналы типа влажностьconf имеют параметр тип влажности . Возможные варианты: / влажность для датчиков HIH-3610, / HIh5000 / влажность для датчиков HIH-4000, / HTM1735 / влажность для датчиков HTM-1735 и / DATANAB / влажность для датчиков от Datanab.

Все датчики влажности также поддерживают абсолютную влажность и точку росы .

Прямой доступ к OWFS (

owfs-number , owfs-string )

Эти каналы обеспечивают прямой доступ к узлам OWFS. У них есть два параметра конфигурации: путь и обновление .

Параметр path является обязательным и содержит полный путь внутри OWFS (например, statistics / errors / CRC8_errors ).

Параметр обновления - это количество секунд между двумя последовательными (успешными) чтениями узла.По умолчанию это 300 секунд.

Температура (

temperature , temperature-por-res , temperature-por-res )

Существует три типа температурных каналов: temperature , temperature-por и temperature-por-res . Правильный тип канала выбирается автоматически обработчиком вещей в зависимости от типа датчика.

Если тип канала - , температура , настраивать больше нечего.

Некоторые датчики (например,г. DS18x20) сообщает о 85 ° C как о значении сброса при включении питания. В некоторых установках это приводит к ошибочным показаниям температуры. Если для параметра ignorepor установлено значение true , значения 85 ° C будут отфильтрованы. По умолчанию ложно , так как в противном случае правильное значение 85 ° C также будет отфильтровано. Обратите внимание, что значение параметра не должно быть заключено в кавычки (см. Пример ниже).

Канал типа temperature-por-res имеет один параметр: разрешение .Датчики температуры OneWire могут иметь разное разрешение: 9 , 10 , 11 и 12 бит. Это соответствует 0,5 ° C, 0,25 ° C, 0,125 ° C, 0,0625 ° C соответственно. Время преобразования обратно этому и составляет от 95 мс до 750 мс. Для достижения наилучших результатов рекомендуется устанавливать разрешение настолько высоким, насколько это необходимо.

BAE PWM (

bae-pwm-frequency , bae-pwm-duty )

Выходы PWM 1 и 3 (2 и 4) совместно используют частотный канал pwmfreq1 ( pwmfreq2 ).Каждый выход ШИМ имеет свой собственный рабочий цикл (от pwmduty1 до pwmduty4 ).

Частотный канал имеет два варианта конфигурации (предварительный делитель , reversePolarity ). Предварительный делитель устанавливает диапазон частот, который можно использовать. Допустимые значения: от 0 до 7 ( 0 => 245 Гц - 8 МГц, 1 => 123 Гц - 4 МГц, 2 => 62 Гц - 2 МГц, 3 => 31 Гц - 1 МГц, 4 => 16 Гц - 500 кГц, 5 => 8 Гц - 250 кГц, 6 => 4 Гц - 125 кГц, 7 => 2 Гц - 62.5 кГц). Значение по умолчанию - 0 . Опция reversePolarity используется для инвертирования выхода. Это может быть true или false . Значение по умолчанию - , ложь .

Рабочий цикл может быть установлен от 0 до 100%.

BAE PIO (

bae-pio )

Канал PIO (программируемый канал ввода-вывода) имеет два варианта конфигурации: режим и pulldevice . Режим может быть установлен на вход или выход .По умолчанию , вход .

Устройство извлечения актуально только для режима входа . Его можно настроить как отключено , pulllup , pulldown . По умолчанию отключено.

Полный пример

** Внимание: добавление каналов с UID, отличными от указанных в описании вещи, не будет работать и может вызвать проблемы. Используйте только предварительно определенные имена каналов. **

Это конфигурация для сети OneWire, состоящая из сервера owserver в качестве моста ( onewire: owserver: mybridge ), а также датчика температуры, BMS и 2-портового цифрового ввода-вывода ( onewire : basic: mybridge: mysensor , onewire: bms: mybridge: mybms , onewire: basic: mybridge: mydio ).

demo.things:

demo.items:

demo.sitemap:

Безопасность | Стеклянная дверь

Подождите, пока мы убедимся, что вы настоящий человек. Ваш контент появится в ближайшее время. Если вы продолжаете видеть это сообщение, напишите нам чтобы сообщить нам, что у вас проблемы.

Подвеска Veuillez Patient que nous vérifions que vous êtes une personne réelle. Votre contenu s’affichera bientôt. Si vous continuez à voir ce message, contactez-nous à l'adresse pour nous faire part du problème.

Bitte warten Sie, während wir überprüfen, dass Sie wirklich ein Mensch sind. Ihr Вдохните вирд в Kürze angezeigt. Венн Си weiterhin diese Meldung erhalten, informieren Sie uns darüber bitte по электронной почте и .

Даже geduld a.u.b. Terwijl, мы проверяем, что вы склонны. Uw content wordt binnenkort weergegeven. Als u dit bericht blijft zien, stuur dan een e-mail naar om ons te информирует о новых проблемах.

Espera mientras verificamos que eres una persona real.Tu contenido se mostrará en breve. Si Continúas recibiendo este mensaje, infórmanos del проблема enviando un correo electrónico a .

Espera mientras verificamos que eres una persona real. Tu contenido aparecerá en бреве. Si Continúas viendo este mensaje, envía un correo electrónico a para informarnos que tienes issues.

Aguarde enquanto confirmamos que Você é Uma Pessoa de Verdade. Сеу конеудо será exibido em breve. Caso continuerecebendo esta mensagem, envie um e-mail para para nos informar sobre o проблема.

Attendi mentre verifichiamo Che sei una persona reale. Il tuo contenuto verrà visualizzato a breve. Secontini a visualizzare questo messaggio, invia un'email all'indirizzo per informarci del проблема.

Пожалуйста, включите куки и перезагрузите страницу.

Это автоматический процесс. Ваш браузер в ближайшее время перенаправит вас на запрошенный контент.

Подождите до 5 секунд…

Перенаправление…

Заводское обозначение: CF-102 / 6c8fc6de6dd28fd9.

Onewire - Поддержка теплиц

OneWire - Часто задаваемые вопросы по интеграции теплицы

Если вы являетесь клиентом OneWire, эта интеграция будет автоматически публиковать любые общедоступные вакансии, размещенные в вашей учетной записи Greenhouse, в сообществе OneWire, состоящем из 500 000+ профессионалов.Кандидаты, а также любые кандидаты, которых вы добавляете на вакансию в результате поиска кандидатов OneWire, будут перетекать прямо из OneWire в вашу учетную запись Greenhouse.

Настройка этой интеграции займет всего несколько минут.

Часть 1: Отправьте OneWire свой токен платы

Напишите своему менеджеру по работе с клиентами в OneWire письмо с просьбой включить интеграцию OneWire-Greenhouse. Включите свой жетон доски, который можно найти в оранжерее, выполнив следующие действия:

  1. Войдите в свою учетную запись Greenhouse.
  2. Щелкните вкладку Configure и выберите Job Board слева.
  3. Ваш жетон платы - это выделенный раздел ниже (в данном случае это companyx ). Вы также можете найти его в разделе Настройки разработчика , если он включен.


Часть 2: Включение интеграции в OneWire

После того, как вы получили подтверждение от менеджера вашего аккаунта о том, что интеграция активна, выполните следующие действия, чтобы включить ее в своей учетной записи OneWire.*

  1. Войдите в свою учетную запись OneWire.
  2. Щелкните Настройки учетной записи на левой панели навигации.
  3. Щелкните ссылку внизу с надписью Подключиться к теплице .
  4. Введите учетные данные своей учетной записи Greenhouse на следующей странице и нажмите Авторизовать .

После того, как вы нажмете «Авторизоваться», вы должны увидеть зеленое сообщение в верхней части страницы настроек вашей учетной записи, подтверждающее, что вы подключены. Все вакансии, размещенные в вашей учетной записи Greenhouse, будут добавлены в вашу учетную запись OneWire в течение 24 часов.

* Примечание: Чтобы синхронизировать все вакансии, размещенные в вашей компании, каждому пользователю необходимо включить интеграцию в своей учетной записи OneWire (часть 2 приведенных выше инструкций).

Для получения дополнительной информации об интеграции, пожалуйста, просмотрите это демонстрационное видео:

Dallas Semiconductor 1-Wire API 1.00 Alpha: пакет com.dalsemi.onewire.container

Краткое описание класса
CommandAPDU CommandAPDU соответствует стандарту ISO 7816-4. Блок данных протокола приложения (APDU), отправленный на интеллектуальная карточка.
OneWireContainer A OneWireContainer инкапсулирует DSPortAdapter , сетевой адрес 1-Wire® и методы управления конкретным устройством 1-Wire.
OneWireContainer01 Контейнер 1-Wire®, который инкапсулирует функциональность 1-Wire тип семейства 01 (шестнадцатеричный), номер детали Dallas Semiconductor: DS1990A, Серийный номер .
OneWireContainer02 Контейнер 1-Wire®, который инкапсулирует функциональность 1-Wire тип семейства 02 (шестигранник), номер детали Dallas Semiconductor: DS1991, MultiKey .
OneWireContainer04 Контейнер 1-Wire для 512-байтовой памяти iButton Plus Time, DS1994 и 1-Wire Chip, DS2404.
OneWireContainer05 Контейнер 1-Wire® для одноадресного коммутатора DS2405.
OneWireContainer06 Контейнер 1-Wire для 512-байтовой памяти iButton, DS1993.
OneWireContainer08 Контейнер 1-Wire для 128-байтовой памяти iButton, DS1992.
OneWireContainer09 Контейнер 1-Wire для 128-байтной памяти Add-Only (EPROM) iButton, DS1982 и 1-Wire Chip, DS2502.
OneWireContainer0A Контейнер 1-Wire для iButton памяти 2048 байт, DS1995.
OneWireContainer0B Контейнер 1-Wire для 2048-байтной дополнительной памяти (EPROM) iButton, DS1985 и 1-Wire Chip, DS2505.
OneWireContainer0C Контейнер 1-Wire для 8192-байтовой памяти iButton, DS1996.
OneWireContainer0F Контейнер 1-Wire для 8192-байтовой памяти Add-Only (EPROM) iButton, DS1986 и микросхемы 1-Wire, DS2506.
OneWireContainer10 Контейнер 1-Wire для температуры iButton, который измеряет температуру от -55 ° C до + 100 ° C, DS1920 или DS18S20.
OneWireContainer12 Контейнер 1-Wire® для коммутатора с двойной адресацией, DS2406 или DS2407.
OneWireContainer13 Контейнер 1-Wire для 512-байтной дополнительной памяти (EPROM) iButton, DS1983 и микросхемы 1-Wire, DS2503.
OneWireContainer14 Контейнер 1-Wire для 32-байтовой памяти EEPROM iButton, DS1971 и микросхемы 1-Wire, DS2430A.
OneWireContainer16 Контейнер 1-Wire для iButton на базе Java, DS195X.
OneWireContainer18 Контейнер 1-Wire® для iButton транзакции SHA, DS1963S.
OneWireContainer1A Контейнер 1-Wire для 512-байтовой памяти iButton со счетчиками циклов записи, DS1963L.
OneWireContainer1D Контейнер 1-Wire для памяти на 512 байт с внешними счетчиками, DS2423.
OneWireContainer1F Контейнер 1-Wire® для соединителя 1-Wire (MicroLAN), DS2409.
OneWireContainer20 Контейнер 1-Wire®, который инкапсулирует функциональность 1-Wire тип семейства 20 (шестигранник), номер детали Dallas Semiconductor: DS2450, Четырехканальный аналого-цифровой преобразователь 1-Wire .
OneWireContainer21 Контейнер 1-Wire® для Thermocron iButton, DS1921.
OneWireContainer22 Контейнер 1-Wire для температуры iButton, который измеряет температуру от -55 ° C до + 125 ° C, DS1822.
OneWireContainer23 Контейнер 1-Wire для 512-байтовой EEPROM памяти iButton, DS1973 и 1-Wire Chip, DS2433.
OneWireContainer24 Контейнер 1-Wire для часов реального времени (RTC) iButton, DS1904 и микросхемы 1-Wire, DS2415.
OneWireContainer26 Контейнер 1-Wire®, который инкапсулирует функциональность 1-Wire тип семейства 26 (шестигранник), номер детали Dallas Semiconductor: DS2438, Интеллектуальный монитор батареи .
OneWireContainer27 Контейнер 1-Wire для часов реального времени с прерыванием, DS2417.
OneWireContainer28 Контейнер 1-Wire для температуры iButton, который измеряет температуру от -55 ° C до + 125 ° C, DS18B20.
OneWireContainer2C Контейнер 1-Wire®, который инкапсулирует функциональность 1-Wire тип семейства 2C (шестнадцатеричный), номер детали Dallas Semiconductor: DS2890, Цифровой потенциометр 1-Wire .
OneWireContainer30 Контейнер 1-Wire®, который инкапсулирует функциональность 1-Wire тип семейства 30 (шестигранник), номер детали Dallas Semiconductor: DS2760, Монитор литий-ионной батареи высокой точности .
OneWireContainer33 Контейнер 1-Wire® для 1-битной защищенной 1-Wire EEPROM с SHA-1 Тип семейства двигателей 33 (шестигранник), номер детали Dallas Semiconductor: DS1961S, DS2432 .
ResponseAPDU Ответ APDU представляет блок данных протокола приложения (APDU) получено со смарт-карты в ответ на предыдущую команду CommandAPDU .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *