Конструктор для программирования микроконтроллеров

Обновлено: 05.05.2024

Микроконтроллер STM32 – популярная и очень востребованная платформа, позволяющая создавать профессиональные решения для автоматизации в самых различных областях. В отличие от доступного Arduino, STM32 требует более глубокого погружения в детали, она сложнее для начинающих, для нее меньше учебников на русском. В этой статье мы постараемся дать базовую информацию о платформе, ее истории, подскажем, где можно скачать программы и библиотеки, как написать первый скетч.

Что такое STM32

STM32 – это платформа, в основе которой лежат микроконтроллеры STMicroelectronics на базе ARM процессора, различные модули и периферия, а также программные решения (IDE) для работы с железом. Решения на базе stm активно используются благодаря производительности микроконтроллера, его удачной архитектуре, малом энергопотреблении, небольшой цене. В настоящее время STM32 состоит уже из нескольких линеек для самых разных предназначений.

История появления

Серия STM32 была выпущена в 2010 году. До этого компанией STMicroelectronics уже выпускались 4 семейства микроконтроллеров на базе ARM, но они были хуже по своим характеристикам. Контроллеры STM32 получились оптимальными по свойствам и цене. Изначально они выпускались в 14 вариантах, которые были разделены на 2 группы – с тактовой частотой до 2 МГц и с частотой до 36 МГц. Программное обеспечение у обеих групп одинаковое, как и расположение контактов. Первые изделия выпускались со встроенной флеш-памятью 128 кбайт и ОЗУ 20 кбайт. Сейчас линейка существенно расширилась, появились новые представители с повышенными значениями ОЗУ и Flash памяти.

Достоинства и недостатки STM32

  • Низкая стоимость;
  • Удобство использования;
  • Большой выбор сред разработки;
  • Чипы взаимозаменяемы – если не хватает ресурсов одного микроконтроллера, его можно заменить на более мощной, не меняя самой схемы и платы;
  • Высокая производительность;
  • Удобная отладка микроконтроллера.
  • Высокий порог вхождения;
  • На данный момент не так много литературы по STM32;
  • Большинство созданных библиотек уже устарели, проще создавать свои собственные.

Минусы STM32 не дают пока микроконтроллеру стать заменой Ардуино.

Сравнение STM32 с Arduino

Сравнение STM32 с Arduino

По техническим характеристикам Ардуино проигрывает STM32. Тактовая частота микроконтроллеров Ардуино ниже – 16 МГц против 72 МГц STM32. Количество выводов GRIO у STM32 больше. Объем памяти у STM32 также выше. Нельзя не отметить pin-to-pin совместимость STM32 – для замены одного изделия на другое не нужно менять плату. Но полностью заменить ардуино конкуренты не могут. В первую очередь это связано с высоким порогом вхождения – для работы с STM32 нужно иметь базис. Платы Ардуино более распространены, и, если у пользователя возникает проблема, найти решение можно на форумах. Также для Ардуино созданы различные шилды и модули, расширяющие функционал. Несмотря на преимущества, по соотношению цена/качество выигрывает STM32.

Семейство микроконтроллеров STM32 отличается от своих конкурентов отличным поведением при температурах от -40С до +80 С. Высокая производительность не уменьшается, в отличие от Ардуино. Также можно найти изделия, работающие при температурах до 105С.

Обзор продуктовых линеек

Семейство STM32 имеет широкий ассортимент изделий, различающихся по объему памяти, производительности, потреблению энергии и другим характеристикам.

Серии STM32F-1, STM32F-2 и STM32L полностью совместимы. Каждая из серий имеет десятки микросхем, которые можно без труда поменять на другие изделия. STM32F-1 была первой линейкой, ее производительность была ограничена. Из-за этого по характеристикам контроллеры быстро догнали изделия семейства Stellaris и LPC17. Позднее была выпущена STM32F-2 с улучшенными характеристиками – тактовая частота достигала 120 МГц. Отличается высокой процессорной мощностью, которая достигнута благодаря новой технологии производства 90 нм. Линейка STM32L представлена моделями, которые изготовлены по специальному технологическому процессу. Утечки транзисторов минимальны, благодаря чему приборы показывают лучшие значения.

Важно отметить, что контроллеры линейки STM32W не имеют pin-to-pin совместимости с STM32F-1, STM32F-2 и STM32L. Причина заключается в том, что линейку разрабатывала компания, которая предоставила радиочастотную часть. Это наложило ограничения на разработку для компании ST.

Микросхема STM32F100R4 имеет минимальный набор функций. Объем флэш памяти составляет 16 Кбайт, ОЗУ – 4 Кбайт, тактовая частота составляет 12 МГц. Если требуется более быстрое устройство с увеличенным объемом флэш-памяти до 128 Кбайт, подойдет STM32F101RB. USB интерфейс имеется у изделия STM32F103RE. Существует аналогичное устройство, но с более низким потреблением – это STM32L151RB.

Программное обеспечение для работы с контроллером

Keil Uvision 4

Keil Uvision 4

Для ARM архитектуры разработано множество сред разработки. К самым известным и дорогостоящим относятся инструменты фирм Keil и IAR System. Программы этих компаний предлагают самые продвинутые инструментарии для оптимизации кода. Также дополнительно существуют различные системы – USB стеки, TCP/IP-стеки и прочие. Применяя системы Keil, пользователь получает хороший уровень технической поддержки.

Также для STM32 используется среда разработки Eclipse и построенные на ней системы Atollic TrueStudio (платная) и CooCox IDE (CoIDE) (бесплатная). Обычно используется последняя. Ее преимущества перед другими средами разработки:

  • Свободно распространяемое программное обеспечение;
  • Удобство использования;
  • Имеется много примеров, которые можно загрузить.

Единственный недостаток среды разработки CooCox IDE – сборка есть только под Windows.

STM32 Discovery

STM32 Discovery

STM32 Discovery

Начать изучение микроконтроллера STM32 лучше с платы Discovery. Это связано с тем, что на этой плате есть встроенный программатор. Его можно подключить к компьютеру через USB кабель и использовать как в качестве программируемого микроконтроллера, так и для внешних устройств. Плата Discovery имеет полную разводку пинов с контроллера на пины платы. На плату можно подключать различные сенсоры, микрофоны и другие периферийные устройства.

Что потребуется для подключения STM32 к компьютеру

Чтобы начать работу, потребуются следующие компоненты:

  • Сама плата STM32 Discovery;
  • Datasheet на выбранную модель;
  • Reference manual на микроконтроллер;
  • Установленная на компьютер среда разработки.

В качестве примера первая программа будет рассмотрена в среде CooCox IDE.

Первая программа

Обучение следует начинать с простейшего – с Hello World. Для начала нужно установить CooCox IDE на компьютер. Установка стандартная:

  • Скачивается программа с официального сайта;
  • Там нужно ввести адрес своей электронной почты и начать загрузку файла с расширением .exe;
  • Нужно открыть CooCox IDE вкладку Project, Select Toolchain Path;
  • Указать путь к файлу;
  • Снова открыть среду разработки и нажать View -> Configuration на вкладку Debugger;
  • Теперь можно записывать программу.

Когда программа установлена, ее нужно открыть. Следует перейти во вкладку Browse in Repository и выбрать ST – свой микроконтроллер.

Далее на экране появится список библиотек, которые можно подключить. Для первой программы потребуются системные CMSIS core и CMSIS Boot, библиотека для работы с системой тактирования RCC, GPIO для работами с пинами.

Сама программа пишется как и для Ардуино, нужно знать основы языка Си.

В окошке Project следует открыть main.c. В коде в самом начале следует подключить библиотеки кроме CMSIS (они уже автоматически подключены). Добавляются они следующим образом:

Затем добавляется тактирование порта в главной функции main. Какой контакт за что ответственен, можно просмотреть в даташите к микроконтроллеру.

Для настройки параметров выводов следует прописать ее название и поставить точку. Во всплывающем меню будут указаны все характеристики. Их можно исправлять.

После этого нужно сделать зацикливание в while, чтобы светодиод мигал, пока не отключится питание.

Когда программа написана, ее можно загружать в контроллер. Если есть отладочная плата, ее нужно подключить через USB кабель и нажать Download Code To Flash. Если плата отсутствует, потребуется переходник, который нужно подключить к порту компьютера. Контакт BOOT 0 подключается к плюсу питания контроллера, а затем включается само питание МК. После этого начнется прошивка.

Чтобы загрузить программу в микроконтроллер, нужно следовать указаниям от приложения. Сначала прописывается код порта, к которому подключен микроконтроллер. Также указывается скорость. Советуется брать небольшое значение, чтобы не было сбоев. Программа найдет микроконтроллер, и нужно будет нажать кнопку «далее». Во вкладке Download to device нужно в поле Download from file выбрать написанную программу и нажать «далее».

После этого нужно отключить питание контроллера STM32, закрыть Flash Loader Demonstrator, выключить переходник. Теперь можно снова включить микроконтроллер в обычном режиме. Когда программа будет загружена, светодиод начнет мигать.

Работа в других программах проходит подобным образом. Также выбираются нужные библиотеки, и прописывается код. У платных утилит функционал больше, и можно создавать более сложные проекты.

Всех приветствую! Представляю вашему вниманию подборку программируемых электронных конструкторов. Программирование — один из самых перспективных направлений наших дней, так как человечество идет к автоматизации любого процесса, для чего нужно написать отлично работающую программу на эти самые устройства. Но чтобы стать отличным программистом нужно отчетливо понимать каждый шаг и иметь четкое пошаговое представление как будет работать его проект. Конструктор отлично подходит для взрослых и особенно для детей, которые хотят научиться программировать, поскольку дает представление и наглядную работу выполнения той или иной заданной функции при работе с датчиками и исполнительными устройствами.

Колесный робот с всенаправленными колесами


Данная модель конструктора демонстрирует работу всенаправленных колес, они же колеса Илона. Отличительная особенность данного вида колес, по сравнению с обычными, это то, что на колесе закреплены ролики под углом 45°, что позволяет любому транспортному средству передвигаться в любом направлении (или совершать оборот вокруг своей оси) путем подачи напряжения на определенные электродвигателя, в зависимости от выполняемой задачи транспортного средства. Данная моделька колесного робота имеет дистанционное управление через пульт (который идет в комплекте) или приложение на смартфон

Умная солнечная панель с возможностью подзарядки смартфона


Очень интересная модель, так как это полноценная солнечная панель, которая способна адаптироваться к углу солнца, чтобы максимально эффективно принимать солнечные лучи и конвертировать их в энергию. Из дополнительных возможностей следует выделить зарядку встроенного аккумулятора и возможность заряжать устройство напряжением 5 Вольт. Базируется это все на всем известном микроконтроллере Ардуино.

Умный дом


Полноценная мини модель реального умного дома. Конструктор дает представление об автоматизации системы в целом, что необходимо предпринять для удержания комфортных условий нахождения человека в этом доме. Дополнительно следует отметить то, что нет необходимости в паяльнике, так как используется коннекторы и провода.

Вы преподаватель? Хотите организовать кружок робототехники или проводить занятия с детьми в школе, но не знаете с чего начать, какое оборудование потребуется и как построить занятия? Набор «Амперка» познакомит школьников с программированием на С++ и подарит возможность собрать собственного мобильного робота. Образовательный набор включает микроконтроллер Arduino Uno, более 150 радиодеталей и учебник «Основы программирования микроконтроллеров». Конструкторы Амперка считаются одними из лучших на рынке робототехники для детей в России. Амперка: собирай, программируй, управляй!

Электроника

Компоненты, входящие в состав набора — это тщательно подобранные и сбалансированные элементы мини-лаборатории. Их достаточно, чтобы пройти все уроки по учебному пособию и провести собственные эксперименты и дополнительные задания.

В практичной пластиковой коробке вы найдете всё необходимое для прохождения всех глав учебника: от базовых электронных компонентов вроде резисторов, светодиодов и транзисторов до моторов, сенсоров, LCD-экрана и мобильной платформы для построения роботов.

А еще в наборы входят макетные доски (breadboard) и макетные провода. Они позволяют собирать любые электрические цепи за считанные минуты без всякой пайки. Компоненты просто вставляются в отверстия с защёлками и соединяются проводами.

Программирование

Сердцем набора является популярная плата с микроконтроллером Arduino. Программы для неё пишутся на языке C++ в специальной среде разработки ArduinoIDE, которая работает на любом компьютере с Windows, MacOS или Linux.

Учебник

Учебник «Основы программирования микроконтроллеров» включает 17 параграфов, которые поэтапно разъясняют как строятся электронные устройства. К началу его проведения достаточно лишь самых элементарных знаний об электричестве и информатике.

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

Для кого

Набор будет интересен начинающим инженерам от 12 лет. По окончании курса юный технарь:

  • получит навыки сборки электрических схем;
  • научится создавать собственные цифровые устройства и даже соберёт робота;
  • на практике применят знания о законах электричества;
  • освоят прикладное программирование на C++.

Набор подходит для индивидуальных занятий, проведения уроков информатики и технологии в 7-9 классах и организации работы кружков робототехники.



Отзывов (12) | Оставить отзыв

Мастер Arduino XXL - это новый уровень в образовательных электронных конструкторах серии СМАЙЛ. В его основе лежит плата микроконтроллера Arduino Uno. Комплектация конструктора МАСТЕР ARDUINO XXL позволит создать проекты с беспроводной связью IR и Bluetooth. Вы освоите работу датчиков температуры.

Мастер Arduino XXL - это новый уровень в образовательных электронных конструкторах серии СМАЙЛ. В его основе лежит плата микроконтроллера Arduino U.




Отзывов (12) | Оставить отзыв

Комплект для создания и отладки проектов по автоматизации Вашего дома + Книга с проектами. Отличный комплект для того, кто продвинулся в этой работе — и для тех, кто планирует сразу начать не с нуля, но с набором узлов и программ, многократно проверенных, точных. Не надо себе усложнять приг.

Комплект для создания и отладки проектов по автоматизации Вашего дома + Книга с проектами. Отличный комплект для того, кто продвинулся в этой работ.




Отзывов (12) | Оставить отзыв

Комплект для создания и отладки проектов по автоматизации Вашего дома + Книга с проектами. Два подхода к строительству Умного дома: обычный, когда повсеместно проложены кабели связи, и беспроводной, когда данные между устройствами передаются в эфире. СМАЙЛ Набор для проектов на основе контроллера.

Комплект для создания и отладки проектов по автоматизации Вашего дома + Книга с проектами. Два подхода к строительству Умного дома: обычный, когда .



Отзывов (12) | Оставить отзыв

Набор "Умный дом" содержит всё необходимое для разработки полезных проектов по автоматизации вашего жилища с использованием платы Arduino: Arduino Uno, макетную плату, электронные компоненты и краткое руководство. В комплект входит популярная книга Джереми Блюма «Изучаем Arduino: инструмент.

Набор "Умный дом" содержит всё необходимое для разработки полезных проектов по автоматизации вашего жилища с использованием платы Arduino: Arduino .



Отзывов (12) | Оставить отзыв



Отзывов (12) | Оставить отзыв

Конструктор «Эксперименты с программированием» поможет освоить юному программисту основы программирования микроконтроллеров, познакомиться с языками программирования.Основным элементом электронного конструктора является МАКЕТНАЯ ПЛАТА и контроллер, совместимый с Arduino Uno R3. Платф.

Конструктор «Эксперименты с программированием» поможет освоить юному программисту основы программирования микроконтроллеров, познакомит.



Отзывов (12) | Оставить отзыв

Этот набор дополнен жидкокристаллическим графическим дисплеем Nokia 5110, модулем . LCD дисплей позволяет выводить графическую и текстовую информацию. Собрав схему с ультразвуковым датчиком и дисплеем, можно получить измеритель расстояния с выводом полученного результата на дисплей. ЛАРТ — .

Этот набор дополнен жидкокристаллическим графическим дисплеем Nokia 5110, модулем . LCD дисплей позволяет выводить графическую и текстовую информац.




Отзывов (12) | Оставить отзыв

В наборе установкой дополнительной макетной платы увеличено поле для экспериментов до 1200 точек. Добавлены соединительные проводники, переменные и постоянные резисторы, динамический громкоговоритель. ЛАРТ — довольно сложные, но надёжные, конструкторы отечественного производства, предназнач.

В наборе установкой дополнительной макетной платы увеличено поле для экспериментов до 1200 точек. Добавлены соединительные проводники, переменные и.



Отзывов (12) | Оставить отзыв

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

Наборы предназначены для занятий школьниками на уроках информатики и технологии, в учреждениях дополнительного образования на занятиях электронике.



Отзывов (12) | Оставить отзыв

МАСТЕР ARDUINO Light. Образовательный конструктор с книгой "Практическая энциклопедия Arduino" МАСТЕР ARDUINO Light - это образовательный электронный конструктор серии СМАЙЛ. В его основе лежит плата микроконтроллера Arduino UNO R3.

МАСТЕР ARDUINO Light. Образовательный конструктор с книгой "Практическая энциклопедия Arduino" МАСТЕР ARDUINO Light - это образовательный электронн.



Отзывов (12) | Оставить отзыв

МАСТЕР ARDUINO XXL. Образовательный конструктор с книгой "Практическая энциклопедия Arduino" МАСТЕР ARDUINO XXL - это новый уровень в образовательных электронных конструкторах серии СМАЙЛ. В его основе лежит плата микроконтроллера Arduino UNO R3.

МАСТЕР ARDUINO XXL. Образовательный конструктор с книгой "Практическая энциклопедия Arduino" МАСТЕР ARDUINO XXL - это новый уровень в образовательн.



Отзывов (12) | Оставить отзыв

МАСТЕР ARDUINO СТАРТ. Образовательный конструктор с книгой "Практическая энциклопедия Arduino" МАСТЕР ARDUINO СТАРТ - это образовательный электронный конструктор серии СМАЙЛ. В его основе лежит плата микроконтроллера Arduino UNO R3.

МАСТЕР ARDUINO СТАРТ. Образовательный конструктор с книгой "Практическая энциклопедия Arduino" МАСТЕР ARDUINO СТАРТ - это образовательный электронн.



Отзывов (12) | Оставить отзыв

Стенд предназначен для изучения основ электроники и программирования. ЛАРТ — довольно сложные конструкторы отечественного производства, предназначенные для продвинутого пользователя.

Стенд предназначен для изучения основ электроники и программирования. ЛАРТ — довольно сложные конструкторы отечественного производства, предн.



Отзывов (12) | Оставить отзыв

Если вы хотите не только изучить основы использования популярной микроконтроллерной платформы Arduino для разработки электронных проектов, но и получить первичные практические навыки, то этот комплект для вас. В него входит популярная книга Джереми Блюма "Изучаем Arduino: инструменты и методы тех.

Если вы хотите не только изучить основы использования популярной микроконтроллерной платформы Arduino для разработки электронных проектов, но и пол.

nanoframework

Подход использования языков программирования высокого уровня с сочетанием высокой абстракцией аппаратного обеспечения существенно расширяет круг потенциальных разработчиков и сильно снижает стоимость разработки устройства с точки зрения затрат человеко-часов и отсутствия необходимости долгого процесса обучения разработчика.

  • Доступен интерактивный отладчик при запуске кода на самом устройстве с точками останова.
  • Есть развитая и бесплатная среда программирования с Microsoft Visual Studio.
  • Поддержка большого количества недорогих плат от различных производителей, включая: платы Discovery и Nucleo от ST Microelectronics, Quail от Mikrobus, Netduino от Wilderness Labs, ESP32 DevKit C, Texas Instruments CC3220 Launchpad, CC1352 Launchpad и NXP MIMXRT1060-EVK.
  • Легко переносится на другие аппаратные платформы и устройства на ОС RTOS . В настоящее время совместимость обеспечивается в соответствие с CMSIS и ESP32 FreeRTOS.
  • Полностью бесплатное решение с открытым исходным кодом, никаких скрытых лицензионных отчислений. От основных компонентов до утилит, используемых для создания, развертывания, отладки и компонентов IDE.

Микроконтроллеры компании GHI Electronics

GHI Electronics Modules

FEZ Domino

FEZ Domino

Общая архитектура

nanoframework architecture

nanoframework architecture

ChibiOS/RT — компактная многозадачная операционная система реального времени (ОСРВ). Предназначена для встраиваемых приложений, работающих в реальном времени. Эта ОСРВ отличается высокой мобильностью, компактными размерами и, главным образом имеет свою собственную уникальную архитектуру, которая как никак подходит для быстрого и эффективного переключения контекста.

  • ARM7, ARM9
  • Cortex-M0, -M0+, -M3, -M4, -M7
  • PPC e200zX
  • STM8
  • MSP430
  • AVR
  • x86
  • PIC32
  • Автомобильная электроника.
  • Робототехника и промышленная автоматика.
  • Бытовая электроника.
  • Системы управления электроэнергией.
  • DIY.

Поддерживаемые устройства делятся на две категории: основные платы и поддерживаемые сообществом.

  • ESP32 WROOM-32, ESP32 WROOM-32D, ESP32 WROOM-32U, ESP32 SOLO-1
  • ESP-WROVER-KIT, ESP32 WROVER-B, ESP32 WROVER-IB
  • STM32NUCLEO-F091RC
  • STM32F429IDISCOVERY
  • STM32F769IDISCOVERY
  • OrgPal PalThree
  • CC1352R1_LAUNCHXL
  • CC3220SF_LAUNCHXL
  • MIMXRT1060 Evalboard
  • Netduino N3 WiFi
  • ESP32 ULX3S
  • STM32NUCLEO144-F746ZG
  • STM32F4DISCOVERY
  • TI CC1352P1 LAUNCHXL
  • GHI FEZ cerb40 nf
  • I2M Electron nf
  • I2M Oxygen
  • ST Nucleo 144 f439zi
  • ST Nucleo 64 f401re/f411re nf
  • STM NUCLEO144 F439ZI board
  • QUAIL

Примеры кода представлены в разделе nanoframework/Samples. Рассмотрим базовый пример, Blinky — пример программы позволяющей мигать встроенным светодиодом на плате ESP32-WROOM:


Программный код простой и понятный. Не требуется никаких детальных знаний аппаратной платформы, все что нужно знать, это распиновку платы. Вначале кода объявляется глобальный объект GpioController, затем устанавливается контакт с номером 4 на вывод, после этого в коде идет простое инверсное переключение состояния. Это все что требуется знать.

  • Windows.Devices.WiFi — работа с Wi-Fi сетью.
  • nanoFramework.Devices.Can — работа с CAN шиной. CAN (Controller Area Network) — стандарт промышленной сети, ориентированный, прежде всего, на объединение в единую сеть различных исполнительных устройств и датчиков. Используется прежде всего в автомобилях.
  • 1-Wire — 1-Wire интерфейс, используется для подключения одного/нескольких температурных датчиков DS18B20.
  • Windows.Devices.I2c, System.Device.I2c — I2C шина для подключения нескольких устройств.
  • Windows.Devices.Spi — SPI шина.
  • Windows.Devices.Adc — аналого-цифровой преобразователь (АЦП).
  • Windows.Devices.Pwm — широтно-импульсная модуляция (ШИМ).
  • System.Devices.Dac - цифро-аналоговый преобразователь (ЦАП).

nanoframework unit test architecture

Когда выполняется сборка проекта отрабатывает триггер интерфейс ITestExecutor. В случае, если вы работаете в контексте Visual Studio, передается список тестов (индивидуальный или полный список), и именно здесь запускается nanoFramework.nanoCLR.Win32.exe как процесс, передающий nanoFramework.UnitTestLauncher.pe, mscorlib.pe, nanoFramework.TestFramework.pe и, конечно же, тестовую библиотеку для исполняемого файла.

nanoFramework Unit Test загрузит тестовую сборку и выполнит тесты с начиная с первого — Setup, затем TestMethod и, наконец, тесты Cleanup.

Выходные данные этого процесса перенаправляются в TestAdapter, которые затем разбираются. Важное примечание: UnitTestLauncher необходимо собрать и развернуть при отладке! В противном случае он никогда не сможет ничего вывести в консоль. Чтобы запустить тест на реальном оборудование, нужно просто добавить строку ввода в файл runsettings, как указано выше.

По окончании выполнения тестов, возвращается статусы. Простой строковый вывод со статусом теста, имени метода и времени его выполнения и/или исключение. Тест пройден: MethodName, 1234 или Test failed: MethodName, подробное исключение. Это передается обратно в vstest, а затем отображается в Visual Studio.

Немного сложнее обстоит с лицензированием ChibiOS. Для персональных проектов ChibiOS бесплатна, при этом свой код не обязательно открыто публиковать, это может быть закрытый проект.

Для коммерческого использования ChibiOS, необходимо приобретать лицензию. Так же можно лицензировать отдельные компоненты.

Но если количество выпущенных коммерческих устройств с ChibiOS не превышает 500 ядер, то оплачивать лицензию не требуется. Свыше этого объема приобретаются пакеты лицензий на 500, 1000, 5000 ядер или неограниченно. При бесплатном коммерческом использование некоторые функции недоступны и в своем продукте необходимо «реализовать» рекламу ChibiOS.

Американская компания OrgPal.Iot специализируется на аппаратных и программных решениях для Интернета вещей (IOT), которые осуществляют сбор данных телеметрии для отдаленнейшего анализа, управление инфраструктурой через частное облако. Компания предоставляет конечные устройства и шлюзы для передачи данных на рабочие станции, сервера и мобильные устройства. Решения совместимы с Azure IoT.

Основные направление компании это мониторинг инфраструктуры:

  • Промышленного производства
  • Нефтяных месторождений
  • Панелей солнечных электростанций
  • Систем управления электропитанием

Как это работает

nanoframework palthree sensors cloud

nanoframework oil tank palthree

Цистерны для хранения нефтегазовых продуктов

nanoframework palthree close up

Шкаф с PalThree

Для использования Web-сервера необходимо просто указать порт и добавить обработчик запросов:


Так же, можно передать контроллер, например ControllerTest, и будет использоваться декоратор для маршрутизации и методов:


В следующем примере, определяется маршрут «test» и т.д., в котором определяется метод GET, и «test/any»:


Функция RoutePostTest будет вызываться каждый раз, когда вызываемый URL-адрес будет test, Test2, tEst42 или TEST, URL-адрес может быть с параметрами и методом GET. RouteAnyTest вызывается всякий раз, когда URL-адрес является test/any, независимо от метода. По умолчанию маршруты не чувствительны к регистру, и атрибут должен быть в нижнем регистре.

Если вы хотите использовать маршруты с учетом регистра, как в предыдущем примере, используйте атрибут CaseSensitive. Как и в предыдущем примере, вы должны написать маршрут так, как вы хотите, чтобы на него ответили.

Читайте также: