Альтернативна середовище програмування для Arduino - FLProg

Добрий день.
Хочу представити Вам черговий проект на ниві програмування поширених плат Arduino.
Спочатку трохи історії. З самого моменту появи контролерів розвиток принципів роботи з ними йде по шляху зростання абстракції. Перший етап являв програмування безпосередньо в машинних кодах. Програмування було складним, довгим і вимагало дуже специфічного складу розуму. Тому програмістів було дуже мало.



Але людина істота лінива, а лінь, як відомо двигун прогресу. Придумали перший рівень абстракції — асемблер. Писати програми стало простіше і веселіше. Кількість програмістів зросла. Але все одно асемблер не дуже сильно відрізнявся від машинних кодів.



Тому з'явився наступний рівень абстракції. Мови високого рівня. Основною метою цих мов бала можливість пояснити машині, що від неї хочуть мовою максимально наближеному до людського. Це дозволяло займатися програмуванням людям з менш специфічним складом. Тому з розвитком мов високого рівня кількість програмістів зростало, і відповідно зростала кількість корисних програм, які вони створювали.



Проект FLProg пропонує новий рівень абстракції з досить сміливою заявою — «Що б програмувати мікроконтролери, так і комп'ютери не обов'язково знати мови програмування».
Заява може здатися надто сміливим, але це можливо і вже доведено в суміжній з комп'ютерами області. Це область програмування промислових систем автоматизованого управління. Практично з самого початку виробники промислових контролерів пішли по цьому шляху. Зараз стандартом для середовищ програмування в основних виробників є мови FBD і LAD. Власне кажучи, як такими мовами вони не є. Це скоріше графічні середовища для малювання принципових йди логічних схем.



Такий підхід виявився дуже зручним для легкого входження в розробку систем АСУ інженерів електриків та електронників. Розробляючи проекти установок, вони могли легко прив'язати роботу цих установок до алгоритмів роботи контролера. В обслуговуванні цих установок на об'єкті так само краще коли існуючий обслуговуючий персонал може легко перевірити роботу системи АСУ, знайти проблему. І при цьому немає необхідності викликати по кожній дрібниці програміста з «Центру». І це підхід себе виправдав. На сьогоднішній день майже всі системи промислової автоматики створені за допомогою таких засобів розробки.



Така середовище розробки є у Siemens, ABB, Schneider, так і практично у всіх виробників. Але існує й проблема. Всі вони прив'язані до своїх контролерів. А ціни на ці контролери дуже важко назвати демократичними.



І ось з'явилися плати Arduino. Дешеві, з великим набором периферії і шилдов розширень. З інтерфейсами сумісними з дисплеями, датчиками, і іншими пристроями. З можливістю прямого підключення до комп'ютера, підключення до мережі Ehernet і WiFI.



Ці плати ідеально підходять для самодельщиков і кулібіних, на яких наша країна завжди була, є і буде багата. Але, як завжди є але. Програмуються ці плати на мові C. Для більшості цих розумних людей, з дуже прямими руками, що ростуть з потрібного місця, це китайська абетка. Вони можуть придумати, намалювати, зібрати налагодити і запустити складні схеми, але IF, FOR, Case, Void і т.п. це не для них. Звичайно, можна почитати інструкції в інтернеті, погратися якийсь час, помигати світлодіодом з допомогою прикладу. Але для більш серйозного застосування необхідно детальне вивчення мови. А навіщо їм це? Вони не збираються бути професійними програмістами. У них інший шлях. Вони щось придумали. Та це простіше і красивіше зібрати за допомогою мікроконтролера, але стає для цього програмістом, витративши місяці на вивчення мови? Ні, звичайно. Збирають по старинці, простіше звичайно, але у своїй галузі.



Ідея проекту FLProg в тому, що б поєднати принципи промислового програмування з дешевизною і зручністю Arduino. У результаті повинна вийде інструмент, що дозволяє створювати свої проекти на ардуїнов кожному, знайомому з електрикою людині.
В наступному пості я розповім про проект, його розвиток і перспективи докладніше.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.