Привет, о могущественное сообщество StackOverflow.com.Беспроводной обмен между Arduino и Raspberry Pi: выбор протокола
Это вопрос, который я занимаюсь некоторое время. У меня есть (будет) Arduino 2560, разговаривающий с RPi, используя пару передатчиков/приемников 388 RF - так эффективно это будет последовательная связь. Хуже того, будет много передатчиков (Arduinos) и одного приемника (RPi). Два вопроса, которые я не могу достаточно фигурирующий ответ на:
Протокола является чрезвычайно примитивно - так что, если я хочу какие-либо коррекции ошибок, я должен выбрать сам. Я думал использовать что-то чрезвычайно простое, как бит четности, чтобы начать и посмотреть, как это происходит. Мысли?
Говоря о самом протоколе - как мы будем кодировать данные? Эффективно будет один номер, который я собираюсь передать - идентификатор передатчика, - сопровождается булевым флагом (датчик активен/неактивен). Каким будет лучший способ кодирования данных для последовательной передачи RF? Все в текст? Я также могу передать это как поток байтов, сколько бы это было не так, но это затрудняло бы дальнейшую портирование (Big/Little Endian, размер слова и т. Д.). Также попытался рассмотреть некоторые экзотики, такие как NanoPB, независимо от того, насколько протокольные буферисты великолепны, они, вероятно, слишком велики для этой задачи. Я понимаю, что моя позиция очень шаткая здесь, поэтому я буду благодарен за ваши идеи.
Наконец, я знаю, что это звучит слабо, но я уверен, что кто-то это сделал раньше, и может быть какая-то кросс-платформенная библиотека, которую я могу использовать для обмена. Если это действительно так, было бы здорово - я могу делать то, что хочу, вместо того, чтобы изобретать колесо.
В любом случае, вот где я стою. Поблагодарили бы за любые ответы.
Это transmitter Я использую и это receiver.
Спасибо большое всем!
Спасибо, я рассматривал VirtualWire, но не нашел готовых к использованию портов (если честно, я даже не найти источник код) – sgzmd