Скачиваний:
117
Добавлен:
23.01.2020
Размер:
3 Мб
Скачать
☆

Что нужно программировать в КФС?

●Оконечные устройства

●Шлюзы

●Облачные сервисы

●Клиентские приложения ???

Язык программирования С

●Нестареющая классика от Брайана Кернигана и Денниса Ричи (since 1972)

●Очень простой синтаксис, который не меняется.

●Стандартизован, документирован, проверен годами

●Прямой доступ к железу => высокая производительность

●Можно легко выстрелить себе в ногу…

●Без него не обойтись при программировании МК

Язык программирования С++

●Не имеет отношение к С, Страуструп задумывал его как отдельный язык

●Можно написать все от игры крестики-нолики до операционной системы

●Чрезвычайно сложен и запутан в последних версиях

●Стандартизирован, но новые стандарты появляются слишком часто

●Доступ к железу и высокая производительность никуда не делась

●ООП, функциональные возможности, миллионы библиотек

●Отличная документация, книги, курсы и т.д. – даже больше, чем по С

●Тоже можно выстрелить себе в ногу, но не так больно

●Абсолютная кроссплатформенность

Язык программирования JAVA

●Все любят JAVA (кроме меня)

●Почти настоящее ООП

●Не работает с железом напрямую, только через ВМ

●Поэтому будет работать медленнее С++ и, тем более С

●Зато не требует перекомпиляции под новую программу

●Сложный многословный синтаксис

●Есть противоречия и возможность писать по-старому в новых версиях

●Нет единого международного стандарта

●Потому что не является свободным ПО, а принадлежит Oracle

●Раньше была основой программирования под Android (Dalvik)

Язык программирования Python

●Проще него только язык Logo

●Очень компактный код (предмет споров)

●Титанический массив уже написанного кода, только бери и пользуйся

●Язык и почти все к нему является Open Source

●Может быть интегрирован с кодом на С и С++

●В чистом виде не может напрямую взаимодействовать с железом (ВМ)

●Тоже не обладает высокой производительностью (почти всегда медленее JAVA)

●Катастрофически сложно выстрелить себе в ногу

●Идеален для быстрого прототипирования кода

А что насчёт промышленности?

Языки программирования (графические)

●LD (Ladder Diagram) — Язык релейных схем — самый распространённый язык для PLC

●FBD (Function Block Diagram) — Язык функциональных блоков — 2-й по распространённости язык для PLC

●SFC (Sequential Function Chart) — Язык диаграмм состояний — используется для программирования автоматов

●CFC (Continuous Function Chart) — Не сертифицирован IEC61131-3, дальнейшее развитие FBD

Языки программирования (текстовые)

●IL (Instruction List) — Ассемблеро-подобный язык

●ST (Structured Text) — Паскале-подобный язык

●C-YART — Си-подобный язык (YART Studio)

Интересные проекты для IoT и КФС

●MicroPython, CircuitPython

●Espruino (JavaScript)

●JArduino

●NanoVM (Java для AVR)

●TinyGo

Фреймворки и платформы

KAA IoT

https://www.kaaproject.org/

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

Соседние файлы в папке Лекции