Вот есть цифровые термометры на 1-wire.
http://pdfserv.maximintegrated.com/en/ds/DS18B20.pdf
Такой девайс цепляется на GPIO-ногу и с этой ноги в программе я считываю уровни. А как это физически выглядит? С какой частотой девайс выставляет эти уровни на шину? Где там клок?
Вот чё нашёл: http://www.maximintegrated.com/en/images/appnotes/126/522Fig01.gif
Т.е. коммуникация устроена как импульсный набор в телефоне почти? Обмен идёт заземлением на ноль? Если мне надо сбросить девайс, я заземляю надолго. Если мне надо прочитать, я заземляю ногу ненадолго, а потом отпускаю и смотрю осталась она на земле или нет. Если осталась - значит это девайс притянул к земле и таким образом шлёт мне 1. Если не осталась - значит девайс шлёт мне 0.
Так примерно?
(вот это я не понял, там же 1 нога блин: https://upload.wikimedia.org/wikipedia/commons/1/12/1-Wire-Protocol.png )