Задать вопрос
Nerwin
@Nerwin
И ни капельки я не тупой...просто ленивый

Как узнать алгорит расчета контрольной суммы?

Пытаюсь подключить беспроводной датчик от noname метеостанции к компьютеру с помощью arduino. Подключился к базовой станции на выход приемника 433Мгц, но в силу зашумленности диапазона получаю много лишнего.
Пакет передачи почти разобрал, осталось понять, как crc считается, чтобы точно находить свой пакет.
Пример пакета передачи (пакет шлется 2 раза, второй раз без последних 8 бит):
111111110111 0111011100 1010101010 00111000 01 01 1111 1100100011110100
что удалось выяснить:
первые 12 бит всегда одинаковые, затем 10 бит меняются после перезагрузки датчика, 10 бит температуры, 8 бит влажности, 2 бита сигнал низкой батареи, 2 бита номер канала, 4 бита 1111, 16 бит случайные числа (логично должно быть crc). Как узнать, как считаются эти 16 бит?
пробовал искать пакет по первым битам и 4 единицам в конце, но все равно много левых пакетов.
  • Вопрос задан
  • 3132 просмотра
Подписаться 3 Оценить Комментировать
Ответ пользователя Виталий Перетятько К ответам на вопрос (2)
есть статья про реверс-инжиниринг CRC, можете попробовать. www.cosc.canterbury.ac.nz/greg.ewing/essays/CRC-Re...

еще там упоминается программа pycrc, которая умеет считать crc по распространенным алгоритмам - можете попробовать подобрать
Ответ написан