Было бы неплохо порекомендовать авторам ПО SIM900 ввести в наборе команд относящихся к "TCP/IP application toolkit" команду противоположную AT+CIPRXGET=3,... -- то-есть чтоб AT+CIPSEND, или другая команда, позволяла передавать данные не в бинарном виде, а в HEX (по-аналогии с CIPRXGET=3).
И, кроме того, неплохо было бы иметь возможность непосредственного приёма данных (без AT+CIPRXGET=1) тоже в HEX. Точно также, например, как сообщение +CUSD содержит в себе данные в HEX. А не как сейчас сделано, когда данные передаются в бинарном виде (+IPD<длин>:данные...)
Сейчас практически невозможно надёжно разделить поток данных и команд модему, если данные передаются в бинарном виде (нет возможности отличить сообщения модема от принятых данных). Если не использовать AT+CIPRXGET или AT+CIPMODE=1. Что неудобно. Но в "прозрачном режиме" (AT+CIPMODE=1) трудно работать с некоторыми UDP-протоколами (например, TFTP), потому, что нет информации о размере данных в пакете. A при отправке данных в бинарном виде (AT+CIPSEND сейчас подразумевает только этот вариант) тоже возникают трудности с уже имеющимся ПО, лучше HEX (строки в языке C и код 0).
Сообщение отредактировал Frolov Kirill - Sep 8 2011, 11:36
|