Подключил к малинке Arduino. Пытаюсь реализовать двухстороннюю связь. Принцип примерно такой: Ардуино шлет на малину по Serial пакет, который содержит показания нескольких датчиков. Малина этот пакет получает, переваривает, и формирует свой пакет, который отсылает на Ардуино. Этот пакет содержит команды для моторов, серв, диодов и другой периферии Ардуино. Ардуино эти команды выполняет, опять собирает показания с датчиков и цикл повторяется. Поковырялся я немного сам и встрял. В связи с чем всплыло несколько вопросов: 1) Как формировать пакеты и на Ардуино и на малине, так чтобы на другой стороне было понятно что с каких датчиков и какие моторы крутить. 2) Как реализовать передачу цифр в обе стороны. Вместо цифр приходят какие то каракули. 3) Как сделать чтобы оба скрипта запускались синхронно и если, например, Ардуино запустилась а малинка еще нет, то Ардуино ждет. и наоборот. Заранее благодарю всех за ответ!
1) Все просто... общий принцип как всегда общий..... пакеты у вас формируются Serial соединением, все остальное, а именно то, что вы туда вложите, зависит только от вас. Например: Пусть в Дуне за какими то адресами закреплена информация с/для датчиков, за какими то информация для моторов. 1. - отсылаете команду на чтение или запись из дуни; 2. - отсылаете адрес из которого или в который будет производиться чтение/запись в дуне; 3. - отсылаете команду, это может быть , чтение или запись в принципе (что бы дуня либо загружала данные в буфер из указанного адреса, либо готовилась их принимать и переписывать в указанный адрес); 4. - данные (под данными подразумеваются как в принципе сами данные, так и команды, которые будет выполнять дуня потом); 5. - проверка правильности приема; 6. переход в первоначальное состояние. Но это только как вариант(ни к чему не обязывающий).... 2) какие именно каракули ? в ASCII таблице цифры начинаются с '48', так что учитывайте это при оперировании с данными. не забывайте вычитать... 3)Что за два скрипта ? если вы имеете ввиду программы на малинке и дуне, то дуня у вас слейв по отношению к малине и должна вообще, что то делать только по запросом от мейна(малины) , даже если дуня будет накапливать данные у себя в памяти, то забирать их малина должна сама и ни о каком синхронизме в данном случае и речи нет, но это только из того, что вы написали... или напишите подробнее...