2 марта 2015 в 09:57

FLProg выходит в интернет, и начинает дружбу с пингвинами



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


Прежде всего в программе появились новые блоки отвечающие за работу с Ethernet шилдами. Теперь очень просто организовать обмен данными между несколькими платами по сети, поднять на своей Ардуинке Web server или Web Client. Так же теперь как говорится “из коробки” доступна отправка данных на популярный сервис narodmon.ru.

Проект подружился с лабораторией Интернета вещей при СПб ГУТ им. проф.М.А.Бонч-Бруевича. Руководителем лаборатории мне была предоставлена плата Intel Galileo Gen 2 Development Board и начиная с версии 1.6.3 в программе реализована поддержка этой платы.



Эта плата оказалась очень интересной по возможностям, но с ней возникли и некоторые проблемы. Главная – при снятии питания или общем сбросе скетч, залитый через Arduino IDE, не сохраняется. Данная проблема была проверена в лаборатории на четырех платах и везде она повторилась. Интересно что в посте Практикум «Intel IoT». Galileo Gen2 — Первое знакомство avstepanov ничего об этом не упоминал. Ну и вторая неприятность. Библиотека One Ware отказалась работать. Почему – понятно. Для создания GPIO используется отдельная микросхема, работающая по SPI, соответственно ни о каких правильных таймингах речь идти не может. Непонятно пока что делать, поскольку мы лишаемся возможности работать со многими датчиками, работающими по этой шине.

И буквально сегодняшняя новость. Создана beta версия программы для Linux.
Мне как старому пользователю ОC Windows это далось нелегко. Было произнесено много “ласковых” слов в отношении линукса, но надо, значит надо. Версия рассчитана на установку на 32 битную ОС. Работа программы проверена на Xubuntu 32 и Ubuntu 32. Архив программы можно скачать по ссылке: FLProg-1.6.3.tar.gz. Инструкция по установке в файле ReadMe.rtf в архиве. Следующие версии программы FLProg будут выпускаться уже вместе с версией под Линукс.
Какие остались проблемы:
1. Мне не удалось запустить программу в Ubuntu 64 и openSUSE 64. Насколько я знаю, есть способы запуска 32-х битных приложений под 64-х битной ОС. Но у меня не получилось.
2. Ubuntu 32 не хочет видеть файл сценария FLProg как исполняемый, так что по двойному клику его запустить не удается. Только из консоли командой :
./FLProg
хотя в Xubuntu 32 этот файл по двойному клику открывается как приложение.
Буду рад помощи от спецов по Линуксу в решении этих проблем. Так же Возможно кто-то поможет создать нормальный инсталятор под Линукс, который сам произведет действия, описанные в файле ReadMe.rtf.

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


Передача данных о температуре на сайт http://narodmon.ru/ через WIFI




Контроль заряда аккумуляторных батарей от 230в при отсутствии солнечной энергии.



Симуляция проекта в Proteus




Новогодняя мигалка



Небольшой проект. Кухня- датчик движения- свет.



Промышленный станок на на Uno и FLProg от dimaspec




Малая автоматизация выращивания цветов и рассады



Контроллер заряда от солнечной батареи
Автор: @totuin
FLProg
рейтинг 33,46
Графическая среда программирования Arduino

Комментарии (19)

  • +6
    Скачал пакет. Проблемы:
    1. Зачем Readme в rtf? А если у меня нет фильтра для конвертации rtf в текст? Прикажете опенофис ставить?
    2. Имена с заглавными буквами не приветствуются
    3. Все свалено в виндовозном стиле в одну папку — посмотрите организацию файловой структуры linux. Бинарники идут в bin, прочие данные — в share, документация — в share/doc. Или вы предлагаете пользователю распаковать это дело в /home/username и запускать оттуда?
    4. Полный швах — тащить с собой avrdude, компилятор ARM и так далее. Извольте изучить работу с пакетными менеджерами и зависимостями.


    Главный вопрос — где исходники?
  • +2
    Рассады, говоришь! ;-)
    • 0
      Я уверен что там только помидоры)))
  • –1
    Спасибо за комментарий. Постараюсь ответить на Ваши вопросы. Но сначала небольшое отступление.
    Я НИКОГДА не работал с линуксом. И не собираюсь в дальнейшем. Можете меня забрасывать помидорами, но мне нравится винда и я люблю в ней работать. Это был мой первый эксперимент в связи с острой необходимостью. Я очень уважаю людей работающих в этой ОС но она не для меня. Пользователи программы очень просили сделать версию для линукса (даже исследования по этому поводу), и к тому же под рукой оказался друг, не программист но сисадмин который разбирается в ней, и мог время от времени выкроить секундочку и ответить на некоторые вопросы. Но все равно за четыре дня что я делал портирование космос услышал от меня много нецензурных слов))).
    Теперь вернёмся к вопросам.
    1. Честно говоря я думал что в любом дистрибутиве Линукс есть офис, а там удобно делать форматирование и выделение цветом. В принципе проблем нет, сделаю в тхт в следующей версии.
    2. Имена с заглавными буквами — привычка из смолтолка. Там так именуются классы. Если это проблема — то исправлю. Но все не получится. Имена внутренних папок и файлов прошиты в программе.
    3.Да я в принципе так и планировал, Я не думаю что лучше распаковавать пакет а потом раскладывать по папкам. Так же наверное проще. Распаковал архив, и запустил исполняемый файл. Обычная портативная версия. В принципе запустится даже с флешки. К сожалению я не знаю как сделать инсталятор который раскидает файлы по папкам. Именно поэтому я и попросил помощи у специалистов. В программе сделать перенапраление на нужные папки если программа запущенна из линукса — не проблема.
    4. Arduino IDE я тащу с собой по просьбе пользователей. Я уже несколько раз предлагал на сайте избавиться от него, но ребята просят оставить. Ну раз пользователи хотят — надо тащить.
    Ну и главный вопрос — исходники. Что вы подразумеваете под исходниками? Программа написана на языке SmallTalk. Она представляет собой виртуальную машину (файл flp), и файл имиджа (flp.im). Исходники виртуалки у компании Cincom. а образ представляет собой бинарник. Больше никаких файлов нет. Остальные файлы либо картинки, текстовики. У меня комплект разработчика точно такой же. Только файл имиджа немного другой, но принцип тот же. Так что при всем желании мне больше предоставить нечего.

    Я и попросил помощи от специалистов потому что я подошёл к тому что либо мне надо долго изучать линукс (и приостановить проект на длительное время), либо обратиться за помощью.

    • +2
      Длительное потакание желанием пользователей грозит вечным сентябрем пользовательскому комьюнити.

      А компания Cincom вам разрешила раздавать ее виртуалку направо и налево? Как насчет GNU Smalltalk?

      Откровенно говоря, портативные программы — некое виндовозное изобретение для скучающих офисных работников, которым надо растянуть фотку (джпег 128x128 из фотобанка, а растянуть — для печати на бигборд), а злой админ запретил им устанавливать софт — а значит, фотошопа им не видать. Под линуксом же такой ситуации как правило нет — пользователь компьютера одновременно и является его владельцем. Если же он владельцем не является, а у админа все в порядке с головой, существование любых «портативных» поделок легко пресекается запретом иметь файлы с правом на выполнение вне папок /bin /usr/bin /opt.

      Так вот, легитимный способ поставить чужеродный самопал/проприетарное изделие в Linux — это поместить его в отдельную подпапку в /opt.
      • 0
        Используется версия с лицензией для не коммерческого применения. Проект не коммерческий, поэтому все нормально.
        С переносом в папки проблем нет, в коде при выполнении из под линукса перенаправить рабочие папки легко. Вот только вопрос, как сделать установщик который положит эти файлы в нужную папку. Если распаковать архив в папку /opt то программа заработает и оттуда. Принцип портативной версии «Работаем из любой разрешенной директории». Кстати очень удобный принцип. На нем построен и смолтолк. Моё рабочее окружение находится на внешнем диске, и при работе на вахте или дома я просто подтыкаю его к компу и спокойно работаю ничего не устанавливая и не перенося.
        • 0
          Я клоню к тому, что под линуксом есть свой Smalltalk и хорошо бы задействовать его.
          • 0
            Я так понимаю GNU Smalltalk только под линукс. Напрямую пакеты программы в его образ не загрузятся, да и распространяется он только в виде исходников. Моя версия (классический Smalltalk) имеет виртуальные машины под винду, линукс, мас, солярис. Образ во всех случаях используется один. То есть нет необходимости поддерживать несколько веток пакетов. Необходимо только на нижнем уровне сделать обертки для вызова API для разных OC. Причем для большинства функций они уже есть. И в коде используются родительские классы не задумываясь о используемой ОС. Мне кажется так проще и продуктивнее.
            • 0
              C GNU-версией — аналогично. Она есть на Mac, Windows, Linux
              • 0
                Честно говоря я от Вас первый раз о нем услышал и сейчас изучаю информацию. Посмотрим что это за птица.
                • 0
                  Не знаю, что с GNU Smalltalk, но esug и rsug хвалили pharo.
                  • 0
                    Я внимательно смотрю на pharo и потихоньку его изучаю. Но пока еще не готов перевести на него проект. Хотя скорее всего со временем на него перееду.
                  • 0
                    GUI-bindings в GNU Smalltalk незрелы, а GUI в Pharo слишком замкнут на себя и неудобен конечному пользователю. Кстати, gnu smalltalk — file based, там даже class browser'a нет, если не ошибаюсь. VisualWorks — нормальный вариант, что в нем плохого?
      • 0
        «Откровенно говоря, портативные программы — некое виндовозное изобретение для скучающих офисных работников»

        Я просто для информации :) 99% программ для Мака распространяются таким образом. Установка сводится к перетаскиванию в папку Applications, удаление — перетаскиванием в корзину.
  • 0
    На Slackware-64 у меня ваша IDE запустилась. Проект создаётся, схему можно создать, но вместо русских букв везде непонятные символы. Здесь нужны ещё отзывы от тех, кто запустил её на других дистрибутивах. Возможно какой-то баг Slackware. Arduino у меня нет, поэтому проверить вашу IDE в деле не могу.

    Ваши проблемы с запуском на 64-разрядной системе вероятно связаны с отсутствием в последней ia32-libs. Это комплект библиотек, который дублирует 64-разрядные библиотеки. Без него соответственно 32-разрядное ПО не запустится. Гуглите ia32-libs ubuntu.
    • 0
      Я читал про эту библиотеку. Но к сожалению репозиторий на убунте говорит что такой нет, но есть ее упоминания. В общем загрузить ее мне не удалось. Кстати у Вас версия русскоязычная? На винде на некоторых сборках то же были подобные проблемы. Долго мчался, но почти все случаи решил.
      • 0
        Убунты у меня никогда не было, поэтому про неё дальше не подскажу. В Debian на котором основана Ubuntu нужно предварительно делать

        dpkg --add-archtecture i386


        Ищите более подробную инструкцию.

        В openSUSE, который вы упоминали, нужно установить пакеты, которые имеют суффикс 32bit. Нужно их устанавливать используя пакетный менеджер zypper:

        zypper install libraryname-32bit


        Вместо libraryname подставить имя нужной библиотеки. Её можно узнать через zypper search.
        • 0
          Спасибо. Поэксперементирую. Все таки с виндой проще жить)))))
  • 0
    del

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разное