Задача: в Linux получить через USB-UART данные с 4-6 датчиков Dallas DS18B20, они сейчас висят на 4 разных шлейфах, 4 отдельных датчика (когда делал ремонт в квартире заложил 4 датчика и витую пару к ним метров по 10 до каждого, но питание можно подать из центра, не пассивное вообщем).
Логику работы можно сделать простую без запросов. Раз в секунду опрашиваются все датчики и температура отдается в градусах цельсия с долями в UART, вероятно какую то условную метку времени стоит добавить к каждой строке. Перенос строки новый датчик.
НАПРИМЕР:
12 28.4F70F7030000 18.175
12 28.6CBA9A030000 -8.175
12 28.861778030000 -8.0
12 28.F31E78030000 -10.675
13 28.4F70F7030000 18.175
13 28.6CBA9A030000 -8.175
13 28.861778030000 -8.0
13 28.F31E78030000 -10.675
где 12 и 13 это условные секунды со старта контроллера могут быть не точные совсем (без кварца понимаю)
второе поле адрес датчика
третье температура
Пожелания и рац предложения приветствуются! Мне главное решить задачу как можно проще. Ранее делал RS232 (обязательно полный) в OWFS (в Linux есть готовый модуль), но работает только на RS232 настоящем. А через USB-TTL нет.
На фото железки которые в наличии + есть ST link_v2.
Нужно:
1. дать рекомендации какие пины соединить USB-TTL c STM8 шилдом чтоб последний питался от USB и имел UART
2. Дать рекомендацию как подключать к STM8 шилду DS18B20 (параллельно или на каждый шлейф отдельный вход), нужно ли подтяжки какие то делать и куда... и тп.
3. написать прошивку (дать исходники и бинарную и/или HEX версию)
нашёл вроде готовые куски, просто с STM8 я не знаком совсем, а нужно быстро решить задачу и не вникать.
Опубликован 27.02.2019 в 13:13 Последнее изменение: 25.02.2019 в 13:14