Китайцы в своем репертуаре

На сайте продавца 0 информации по протоколу, но в интернетах нашел документацию на китайском (правда, там на железке не ch340, а pl2303) и даже готовый баш-скрипт. Только этот скрипт надо переделать: во-первых, убрать проверку на рута (бред какой!); во-вторых, убрать одиночные кавычки вокруг переменных (странно, как это работало у автора); в-третьих, добавить еще один запуск через паузу в полсекунды, т.к. не всегда с первой попытки срабатывает; в-четвертых, автор скрипта лоханулся и 0/1 местами перепутал.
Протокол забавный. Я поначалу думал, что этот МК (точно такой же у меня на втором модуле - на ублюдском модбасе) — "универсальный", то бишь по USB тоже модбасовскую команду надо отправлять. А вот фигвам! Что пишут на китайском (сволочи натыкали в даташит "водяных знаков", поэтому пришлось переводить, наведя на экран лопатофон при помощи яндопереводчика):
- первый байт - 0xA0 ("инициализация обмена");
- второй байт - 1 ("номер устройства" - возможно исключительно "АДЫН", на другие номера не отзывается);
- третий байт - 0 (выключить) или 1 (включить);
- четвертый байт - сумма всех предыдущих (как я понял).
В случае удачи получаешь эхо-ответ, иначе - молчание.
В общем, очередной протокольный бред. Вместо того, чтобы просто принимать "1"/"0" или даже в hex 1/0, китайцы учудили какой-то идиотизм - как бы модбас, но с однобайтовой кривой контрольной суммой (которая - именно сумма).
Жесть!
Ах, да: этот микроконтроллер не имеет встроенного UART'а, т.е. китайцы еще и софтовый на нем замутили! Вот, что значит гнаться за каждой копейкой!!!
Однако, штука интересная. Самоделка будет намного дороже, чем 170 рублей (30 рублей релюшка, 40 рублей ch340, микроконтроллер какой-нибудь минимум за 40р, USB разъем 10р + немного пассивки + изготовление платы + пайка). Заказал еще две штуки таких - пригодится.
Теперь на очереди тестирование двухрелейного на модбасе.
|
</> |