Jump to content

    

Stm32 MQTT

Необходимо сделать пример программы, способной подписываться и публиковать топики по MQTT через Ethernet на плате Nucleo F207ZG без использования ОС.

Edited by sn65

Share this post


Link to post
Share on other sites
19 minutes ago, sn65 said:

Необходимо сделать пример программы, способной подписываться и публиковать топики по MQTT через Ethernet на плате Nucleo F207ZG без использования ОС.

TCP стек тоже писать с нуля предлагается?
TLS уровень для шифрации трафика нужен? 
Если TLS, то сертификаты самоподписанные или реальные предлагается использовать?  
 

Share this post


Link to post
Share on other sites
34 minutes ago, AlexandrY said:

TCP стек тоже писать с нуля предлагается?
TLS уровень для шифрации трафика нужен? 
Если TLS, то сертификаты самоподписанные или реальные предлагается использовать?  
 

TCP предлагаю lwip взять.

Я проверю, вроде TLS не нужен. Мне нужно соединить STM32 с платой, которая поддерживает связь только по MQTT (при этом на ней брокер крутится), думаю, что она способна работать без шифрования.

Share this post


Link to post
Share on other sites
1 hour ago, sn65 said:

TCP предлагаю lwip взять.

Без RTOS работа будет в 2-а раза дороже. 

Share this post


Link to post
Share on other sites

Без RTOS и TLS  на PIC32MX  делается без проблем, особенно если только MQTT нужно, плюс настройка через ВЕБ

 

Share this post


Link to post
Share on other sites
3 minutes ago, smart_pic said:

Без RTOS и TLS  на PIC32MX  делается без проблем, особенно если только MQTT нужно, плюс настройка через ВЕБ

 

PIC32MX это хорошо, но под рукой у меня его нет

Share this post


Link to post
Share on other sites
3 hours ago, smart_pic said:

Вот пара девайсов на PIC32 , и там намного посложнее MQTT накручено http://cvg.ru/tovar_list/diga/ 

 

PIC... Я вас умоляю! У него нет нормальной поддержки TCP. TCP а-ля UDP.
Ethernet иногда "на ура" подвисает в произвольные моменты выремени по непонятным причинам. Писанное в еррата - как мертвому примочки.
Только ресет МК.

Share this post


Link to post
Share on other sites
2 hours ago, leocat said:

PIC... Я вас умоляю! У него нет нормальной поддержки TCP. TCP а-ля UDP.
Ethernet иногда "на ура" подвисает в произвольные моменты выремени по непонятным причинам. Писанное в еррата - как мертвому примочки.
Только ресет МК.

Давайте не будем начинать "священные войны", любителей STM32 побольше чем пиководов.

Share this post


Link to post
Share on other sites
49 minutes ago, smart_pic said:

Давайте не будем начинать "священные войны", любителей STM32 побольше чем пиководов.

Та какие там войны... Полноте. Микрочип купимши атмегу практически полностью свернул разработку AVR (привет, дурина!), активно сокращает разработку PIC32. В то же время линейка ARM от Microchip активно расширяется, от Cordex-M0 до Cortex-A7 (драсте, Linux!)

Share this post


Link to post
Share on other sites

А такой вариант как МК попроще + W5500? Физику Ethernet всё равно паять прийдётся, вместо чипа физики чип w5500.

Edited by leocat

Share this post


Link to post
Share on other sites
9 hours ago, sn65 said:

Давайте упростим задачу. С ОС без TLS.

Вопрос про TLS не столько из-за сложности сколько из-за памяти. 
Все дополнительные протоколы требуют дополнительной памяти.
Реальные интернетные сертификаты могут быть очень большими по объему.
А их надо принимать, хранить и парсить, да еще цепочками. А еще им нужен парсер ASN.1, он тоже памяти просит. 
Кстати с MQTT очень часто используют кодирование JSON, а это еще больше требует памяти. 
Потом  требуемое быстродействие стоит упомянуть. 

Share this post


Link to post
Share on other sites

Если мне не изменяет память, то под эту плату есть готовые примеры на https://www.mbed.com/en/ с LWIP и MQTT (см. раздел Comiler; придется зарегестрироваться). Еще можете посмотреть библиотеку WolfMQTT (в ней тоже были примеры под STM32). С TLS точно будут проблемы с нехваткой памяти, но связка FreeRTOS+LWIP+MQTT должна заработать на этой плате. Кстати у ST был пример для Ethernet+FreeRTOS+LWIP. Для JSON можно использовать библиотеку Parson (см. GitHub).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this