Jump to content
rmatveev

Подходит ли малинка для такой вот задачки?

Recommended Posts

Всем привет!

Задумано следующее: на малинку ставится веб-сервер (именно веб, а не HTTP, т.к. подразумевается тонкий клиент, но возможно я с терминами немного путаю), который обеспечивает управление через тонкий клиент по Ethernet, по Modbus RTU поверх RS-485 малинка должна будет управлять объектом.

Т.е. задача такая: на удаленном рабочем месте визуализация объекта и его управление по Modbus.

Изначально я хотел под это дело использовать какой-нибудь NUCLEO на процессоре STM32. Но почитал немного о подробностях установки TCP-IP стека и веб-сервера на STM32 и понял, что эту задачу они выполняют, но как-то сложновато. Вроде как Raspberry Pi намного лучше с этим должна справиться. Да и комьюнити намного больше.

Ваши мнения, господа?

Share this post


Link to post
Share on other sites

Вполне справится, даже избыточно будет. Наверняка хватит самого простого варианта малинки c ethernet.

Веб- сервер - это обычно и есть HTTP/HTTPS.

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

31 минуту назад, Vascom сказал:

Вполне справится, даже избыточно будет. Наверняка хватит самого простого варианта малинки c ethernet.

Веб- сервер - это обычно и есть HTTP/HTTPS.

Да я чувствую, что избыточно. Может есть другие более подходящие платформы?

PS. Еще рассматриваю фотки RPi 3b и что-то не вижу ничего что было бы похоже на WiFi модуль. А он там, вроде, заявлен.

Share this post


Link to post
Share on other sites

Безмостовые ККМ для 99% КПД!

Схема коррекции коэффициента мощности (ККМ) на основе так называемого «тотемного столба» (Totem Pole) обладает минимально возможными потерями и потенциально может обеспечить самые жесткие требования к энергоэффективности источников питания. Компания Wolfspeed представляет референсную разработку – плату ККМ CRD-02AD065N на базе собственных карбид-кремниевых MOSFET и диодов с наилучшими в отрасли характеристиками.

Подробнее

13 минуты назад, rmatveev сказал:

другие более подходящие платформы

Антенна в левом верхнем углу, а Wi-Fi модуль на задней стороне рядом с разъёмом для SD-карточки.

Я бы взял Распберри Пай 3 однозначно для такой задачи! Очень удобно, подключаете HDMI монитор, клаву с мышкой и начинаете программировать в Питоне прямо на малинке. И сам код программы и результат её работы видно сразу на экране. Веб-сервер создаётся парой строк. Всякие диагностические сообщения, типа клиент подключился к серверу, пакет отправлен, что-то там включено/выключено, всё это выводится на монитор без проблем.

 

Share this post


Link to post
Share on other sites

Гибридные IGBT - сила Si и SiC в одном корпусе!

Компания Infineon представила новые гибридные IGBT-транзисторы на 650 В, которые сочетают в себе преимущества технологий TRENCHSTOP и CoolSiC. Использование SiC-диода Шоттки позволяет значительно расширить возможности IGBT и снизить уровень энергии, необходимой для включения транзистора (Eon), а также уменьшить потери на переключение.

Подробнее

1 час назад, Yurkin2015 сказал:

Антенна в левом верхнем углу

Это вот она, что ли?

2018-12-17_14-28-39.png

Share this post


Link to post
Share on other sites

Вебинар «Параметры выше, цена ниже. Обновление в линейке AC/DC- и DC/DC-преобразователей MORNSUN» (26.01.2021)

Приглашаем 26 января на бесплатный вебинар, посвящённый преимуществам и отличиям новых источников питания и DC/DC-преобразователей Mornsun. На вебинаре будут рассмотрены изолированные и неизолированные DC/DC-преобразователи последнего, четвертого, поколения (R4) и компактные модульные источники питания второго и третьего поколений (семейства LS/R3 и LD/R2) на плату. Рассмотрим новую группу продукции – встраиваемые источники питания в кожухе.

Подробнее

13 минуты назад, Vascom сказал:

Возможно тебе хватит Raspberry Pi Zero W.

Это уже вряд ли. Мне же хардверный Ethernet нужен...

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Все попробовал, ни по SPI ни по I2C не отдает данные магнитометр. Надо еще что то смотреть. Буду искать.
    • Приму заказ на сборку двух каналов ПараФинна, Никитин+ или  Япончик. Также возможна сборка и настройка на заказ других транзисторных усилителей из моих деталей или деталей заказчика. Также в наличии на продажу один комплект пустых плат.
    • Разряженный литий.  2.7 Вольт.  Совершенно практичный пример.  Ну и если не пропускать слова ТС,  то  Только вот для БП защита от КЗ, а для зарядки защита от переполюсовки. Так что надо?  
    • Русско-немецкая дружба зачиналась гораздо раньше. Но почему то эта дружба всегда заканчивалась кровавыми соплями. С уважением, Сергей
    • Пять часов гоняю на ПК 4K видео ))))   Разогнал проц, до 1,91 ГГц, тоже весьма странно, что процессор с тактовой частотой в 1,8 ГГц на этой плате, по умолчанию работал на 1,4ГГц.   Для него это ой какой стресс ))))   Пока полёт нормальный.   Есть одно НО, почему-то нет звуковой карты в диспетчере устройств. В BIOS (AWARD v6.00PG) есть только одна настройка - Azalia codec [Auto or Disable]. Поставил в Auto, ничего не поменялось. Драйвера на звук скачал с сайта Gigabyte. Тоже ничего... Как не причем ? Во всех видео о ремонте мат. плат после проверки всех напряжений обязательно проверяют кварц, иначе запуску не быть ! Только проверять его нужно осцилографом, которого у меня увы нет... И вообще, читал, что если принудительно стартануть мат. плату с неисправным кварцом - можно запросто спалить процессор.

  • Уличный светодиодный светильник на солнечных батареях

  • Similar Content

    • By Стальной
      Доброго времени суток!
      Неделю не могу запустить DCMI на STM32F407VET6. 
      Работаю через HAL, инициализация кубом. К МК подключена камера OV7670. Камера дает картинку 640х480, и такое изображение мне негде хранить. Поэтому через фичу CROP хочу вырезать картинку 160х128 из центра под имеющийся экран.
      Ниже примерный код, без настройки камеры. Камера тактируется от 16 МГц MCO. Сигналы поступают на выводы МК, посмотрел осциллографом. У камеры есть некоторые настройки, которые тут в коде не показал, так как они влияют только на представление данных, но не на алгоритм захвата данных.
      /* USER CODE BEGIN PV */ uint16_t DCMI_data[20480] = {0}; //128*160=20480 words uint32_t ptr; /* USER CODE END PV */ //тут еще код куба, пропущу его int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_DCMI_Init(); /* USER CODE BEGIN 2 */ HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //снять ресет с матрицы ptr = (uint32_t)(&DCMI_data[0]); HAL_Delay( 500 ); //начать резать с 512 клока строки (256 пиксель), начать резать с 160 строки //захватить 256 клоков (128 пикселей), захватить 160 строк HAL_DCMI_ConfigCrop(&hdcmi, 512, 160, 256, 160); HAL_DCMI_EnableCrop(&hdcmi); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT, ptr, 10240); //однократный захват, 10240 тетрад, 20480 слов, 160*128=40960 пикселей HAL_Delay(1500); } /* USER CODE END 3 */ } В результате в буфере ничего не появляется, DMA туда ничего не кладёт, проверил. Если не вызывать функцию EnableCrop, но какие-то данные появляются, но на экран их корректно отобразить не получается. Также пытался в камере обрезку включить, а не в МК - снова нет данных. Пробовал разные частоты тактирования матрицы давать - без разницы. Отладчиком увидел, что бит EN в регистре конфигурации потока  DMA не снимается, как будто DMA не получал запросов на транзакции. Помогите, пожалуйста, разобраться.
      Проект на яндексДиске
    • By Карен Григорян
      Здравствуйте, товарищи форумчане!
      У меня вот такая проблемка: есть такая схема:

      По сути тут stm32 на который подаётся некоторое постоянное напряжение, а именно на вход PA1. МК получает его, приводит в цифровую форму (разрядность АЦП равна восьми) и выводит их при помощи восьми GPIO выводов, а именно PB0-PB7. Эти выводы соединены со схемой ЦАП, которая преобразует значение, полученное от stm32 обратно в аналоговую форму и выводит в пробнике R2(1).
      Проблема в том результат выводится не верный. Точнее говоря не всегда верный. Когда я подаю 1В, то на выходе получаю 0,99В, что верно. Но когда, например, подаю 300мВ, то получаю 1.8В, что совсем не верно. Код прошивки предельно прост:
        while (1)
        {
              HAL_ADC_Start_IT(&hadc1);
              HAL_Delay(10);
      }
      Код колбека прерывания:
      void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
      {
          if(hadc->Instance == ADC1) //check if the interrupt comes from ACD1
          {
            int adc = HAL_ADC_GetValue(&hadc1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,(adc>>0)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,(adc>>1)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,(adc>>2)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_3,(adc>>3)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,(adc>>4)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(adc>>5)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_6,(adc>>6)&1);
                  HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,(adc>>7)&1);
          }
              }
      На всякий случай вот настройка АЦП в stm32:

      Вот пример неправильного вычисления:

    • By Vladimir Rubtsov
      Здраствуйте) Подскажите мне балбесу что я делаю не так. Хочу сделать чтобы при нажатии кнопки (PB13) срабатывал светодиод (PE1), но не работает, я как понял что я не правильно инициализирую режим работы порта кнопки, должен быть режим Input mode, но я не пойму как это сделать. У меня просто горит светодиод, но при нажатии кнопки ничего не происходит. Плата у меня stm32h743zi. Подскажите пожалуйста что я делаю не так, все сайты прочекал, но так ничего и не нашел. p.s. Пробовал через HAL писать тоже самое, там естественно все работает, но я хочу понять как работать с кнопкой без HAL.
      #include "stm32h7xx.h" void GPIO_Init(void); int main(void) { GPIO_Init(); if((GPIOC->IDR & GPIO_IDR_ID13) != 0) { GPIOE->BSRR |= GPIO_BSRR_BR1; }else{ GPIOE->BSRR |= GPIO_BSRR_BS1; } } void GPIO_Init () { RCC->AHB4ENR |= RCC_AHB4ENR_GPIOEEN; RCC->AHB4ENR |= RCC_AHB4ENR_GPIOCEN; GPIOE->MODER = GPIO_MODER_MODE1_0; GPIOC->MODER &= ~GPIO_MODER_MODE13; }


    • By Денисов Никита
      Здравствуйте. Решил я таки попробовать перебраться с Arduino AVR на STM32 и для начала решил полностью скопировать Arduino проект, но появилась проблема. Код который на AVR занимал 7кбайт и свободно вмещался на Atmega8, на STM32 занимает 26кбайт. В проекте используется 2 канала ацп + прерывания по DMA, дисплей 1602 по i2c и 4 GPIO. Конечно это занимает только 42% памяти STM32F103C8T, но для такого проекта она избыточна и я хотел использовать STM32F030F4P, но там только 16 кб памяти и прошивка не влезает. Что я не так делаю? Может нужно какую-то оптимизацию включить или что-то подобное(выбран уровень оптимизации for size)? Или у меня просто код никчёмный? Но там так мало написано, что сомневаюсь что я мог где-то накосячить 
    • By Любовь Бертулите
      Компания производитель вендинговых автоматов для розлива питьевой воды в поисках инженера-системотехника/инженера электронщика.
      График 5/2 с 9 до 18, здесь удаленный формат не рассматриваем.
      Место работы – г. Екатеринбург.
      Мы ищем специалиста, который будет делать прототипы нового для контроллера, курировать производство, проверять, дорабатывать, перепаивать, а также:
      Переписывать текущие программы на С++; Создавать программу для Android для конфигурации параметров контроллера через bluetooth. (т.е. предлагать новые, современные идеи и подходы для развития имеющихся контроллеров, которыми вы владеете); Предлагать новые программные продукты, среды разработки. Будет в тренде мира микроэлектроники, китайского контрактного производства. Может предложить совершенно новую реализацию наших текущих задач, чтобы это было лучше и эффективнее. В идеале, нам нужен специалист, который имеет:
      Опыт программирования микроконтроллеров Atmega, STM32, ESP32; Опыт работы в Altium Designer; Опыт работы в c++ (IAR, QT); Опыт работы с modbus, rs485/232, SPI. Готовы рассматривать специалистов с разным опытом, поэтому пишите, задавайте вопросы.
      Резюме можно отправить на почту lb@ktekt.ru (да, мы кадровое агентство), позвонить можно по следующему тел. 89068001212 - Любовь. 
       
×
×
  • Create New...