2016-02-03 11 views
3

У меня есть малина Pi, работающая под управлением Windows IOT Core, и она запускает мое приложение для домашней автоматизации. Теперь мне нужно настроить связь между пирогом RB и ESP8266.MQTT брокер для Windows IOT Core?

Я рассматривал протокол MQTT, но я не хочу, чтобы внешний сервер работал с брокером MQTT, и я не могу найти брокера для Win IOT. Существует ли брокер MQTT для Windows IOT Core? Если нет, какой коммуникационный протокол вы бы рекомендовали для этой цели?

+0

Какой из них вы выбрали? Есть ли больше отзывов, которые вам нужны? Если нет, я предлагаю вам принять правильный ответ, чтобы SO мог отметить этот вопрос как закрытый, http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work. –

ответ

2

Антонио есть несколько вариантов, доступных для вас на Windows, IoT ядра

Если вы создаете приложение, используя узел.JS есть Mosca (http://www.mosca.io)

Если вы создаете приложение с помощью Python, вы можете проверить hbmqtt (https://github.com/beerfactory/hbmqtt)

Конечно для .NET приложений, которые вы можете искать NuGet. GnattMQ (www.nuget.org/packages/GnatMQ) кажется довольно популярным. NET библиотека

+0

Я изучил GnatMQ, но я не могу найти документацию о том, как его запустить и запустить. Или я ищу не в том месте? –

+1

Это сейчас на https://m2mqtt.wordpress.com/ –

+1

Я использую GnattMQ, и он кажется твердым. Для всех целей целей нет документации (единственная страница в Wiki - это производительность! Действительно?) Однако код очень прост. Я провожу событие, которое запускается каждый раз, когда вы публикуете сообщение, и используйте его как данные, которые будут переданы в остальное приложение. Существует также метод отправки в классе брокеров, который я опубликовал. Я не знаю, правильно ли это, но, похоже, мне хорошо помогают месяцы. –

2

является GnatMQTT который написан на C#, так что я думаю, должна опираться на Window IoT

1

Возможно, существуют некоторые MQTT библиотеку или другой протокол. Но я предполагаю, что следующая ситуация и собирается предложить решение:

допущениях:

  • ИРЦ в ядре системы.
  • ESP работает как спутник, датчик и т.д.
  • Так ESP докладывает данные в RPI
  • Они (RPI и электрофильтры) все находятся в одной и той же подсети.

Решение:

  • На RPI стороне реализовать простой UDP Bcast слушателя и слушать какой-то конкретный порт на ВЕЩАТЕЛЬНОМУ ф. (например: 8889)
  • На стороне ESP реализуется клиент UDP для отправки данных в IP-адрес BROADCAST и на конкретный порт. (например: 8889)
  • Внесите формат сообщения и сделайте ESP для его отправки и Rpi для его анализа.

Пример Сообщение Формат:

Сообщение может быть строкой (ASCII, закодированный).

ABBBEEECCCDDDD.....DDD 
A: Start Header 
BBB: Sender ID 
EEE: Receiver ID 
CCC: Payload Byte Count 
D..: Payload 

OR 

A|BBB|EEE|DDDDD..DDDDDD|F 
A: Start Header 
|: Seperator 
BBB: Sender ID 
EEE: Receiver ID 
D..: DATA payload 
F: End Header. 

Эта конфигурация позволит использовать DHCP, а не для записи любого IP-адреса клиентов и дешево реализовать (по барану ресурсов, центральный процессор и т.д.). Примечание: Я не знаю, как MQTT использует ресурсы.

+2

Я не понимаю, почему я хотел бы сделать это, если бы были стандартизованные легкие протоколы, такие как MQTT или CoAP. –

-2

Имеются ton of MQTT brokers. ActiveMQ построен с Java и может быть установлен на любой платформе, поддерживающей Java. Mosquitto и RabbitMQ есть установщики для Windows.

Однако, если вы хотите что-то еще более легкое, чем MQTT, вы также можете посмотреть в CoAP.

+0

Я думаю, что они ищут брокеры на базе C#, поэтому эти брокеры не помогут. CoAP интересен, но есть ли хорошая реализация вокруг? –

+0

«они ищут брокеры на базе C#» - ну, как бы это узнать? Вопрос не так прямо говорит. Windows IoT может запускать как Python, так и Java. Даже принятый ответ упоминает брокеров Node.js и Python. Кроме того, ОП также просил альтернативные протоколы, почему я упомянул CoAP. –