The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обеспечена возможность запуска MicroPython в web-браузере

29.05.2017 11:58

Разработчики MicroPython, адаптированной для микроконтроллеров реализации языка Python 3 c урезанным набором библиотек, сообщили о подготовке варианта проекта, который может работать в web-браузере. MicroPython примечателен возможностью применения на системах с ограниченными ресурсами, например, его можно запустить на плате с 256 Кб Flash и 16 Кб ОЗУ. В том числе на базе MicroPython может быть создано окружение, напрямую работающее поверх оборудования без прослоек в виде операционных систем, что позволяет создавать для плат встроенные обработчики и средства автоматизации на языке Python.

В рамках проекта MicroPython on Unicorn разработчики пошли дальше и попытались адаптировать MicroPython для запуска Python-кода в браузере. Выполнение MicroPython организовано с использованием фреймворка unicorn.js, позволяющего создавать эмуляторы различных аппаратных архитектур (ARM, ARM64, M68K, MIPS, SPARC и x86), реализованные на языке JavaScript (по сути это вариант QEMU скомпилированный в JavaScript при помощи Emscripten). Для запуска MicroPython в браузере задействован эмулятор микроконтроллера ARM Cortex-M3.

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

  1. Главная ссылка к новости (https://forum.micropython.org/...)
  2. OpenNews: Корпорация BBC передала сообществу проект micro:bit
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46614-micropython
Ключевые слова: micropython
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (33) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 12:53, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –11 +/
    Ну есть же Руби как стандарт для встраиваемых систем ISO/IEC 30170:2012.... Ну что они питон тащат....
     
     
  • 2.5, Аноним (-), 12:57, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ЯП не под задачу, а на вкус!
     
  • 2.7, Аномномномнимус (?), 13:02, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Можно пруфы? А то что-то впервые вижу такое странное мнение
     
  • 2.10, XoRe (ok), 13:26, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +17 +/
    Руби и встраиваемые системы? Куда катится мир...
     
     
  • 3.24, Crazy Alex (ok), 14:57, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да этих стандартов там - на все случаи жизни, нежизни и антижизни, половина - исключительно бумажных, которые в реальности не применяются вообще.
     
  • 3.28, Аноним Анонимович Анонимов (?), 15:31, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Java таковой изначально планировалась быть. Мир как-то пережил это, переживёт и Руби на кофеварке.
     
     
  • 4.31, _ (??), 16:22, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Не переживёт кофеварка :)
     
  • 4.41, XoRe (ok), 21:54, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Java таковой изначально планировалась быть. Мир как-то пережил это, переживёт и Руби
    > на кофеварке.

    Java, кстати, вполне успешно какое-то время там была в виде J2ME.
    На старых телефонах были приложения и даже 3d игрушки, которые занимали сотню килобайт кб.
    Был даже браузер opera mini на java.
    А сейчас вряд-ли кто-то на ruby будет делать браузер.

     
     
  • 5.42, Аноним (-), 22:31, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >какое-то время

    Лихо вы целую эпоху завернули.

    >вряд-ли кто-то на ruby будет делать браузер.

    Challenge, как говорится, accepted. =) Поживём — увидим.

     
  • 3.43, Аноним (-), 07:56, 30/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть связка "Python и встраиваемые системы" вас ничуть не смущает, да?
     
  • 2.25, Аноним (-), 14:59, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    И где там сказано про встраиваемые системы?
     
  • 2.30, анонимус (??), 15:58, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это если бы художники спорили, про то из чего лучше рукоять кисти из красного дерева или дуба, что лучше круглая рукоять в разрезе или эпилептическая...
     
     
  • 3.39, Аноним (-), 20:54, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > или эпилептическая...

    шизофреническая

     
  • 2.35, Аноним84701 (ok), 17:14, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну есть же Руби как стандарт для встраиваемых систем ISO/IEC 30170:2012....

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

    Во-вторых, если уж на то пошло, то есть тот же:
    https://tools.ietf.org/rfc/rfc2549.txt
    >   "A Standard for the Transmission of IP
    >   Datagrams on Avian Carriers", with Quality of Service information.

    Причем, успешно применен на практике:
    http://www.blug.linux.no/rfc1149
    http://www.blug.linux.no/rfc1149/pinglogg/



    vegard@gyversalen:~$ ping -i 900 10.0.3.1
    PING 10.0.3.1 (10.0.3.1): 56 data bytes
    64 bytes from 10.0.3.1: icmp_seq=0 ttl=255 time=6165731.1 ms
    64 bytes from 10.0.3.1: icmp_seq=4 ttl=255 time=3211900.8 ms
    64 bytes from 10.0.3.1: icmp_seq=2 ttl=255 time=5124922.8 ms
    64 bytes from 10.0.3.1: icmp_seq=1 ttl=255 time=6388671.9 ms


    Но это же не означает, что все на полном серьезе кинулись мастерить голубятни :)

     

  • 1.8, Аноним (-), 13:06, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Потесним жабу питоном..
     
  • 1.12, Аноним_oyc (?), 13:43, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну вот зачем для тестирования решений нужно в браузер пихать, Oemu в JavaScript при помощи Emscripten? Почему нельзя тестировать просто в Qemu без необходимости наличия реального оборудования?
     
     
  • 2.13, Crazy Alex (ok), 13:46, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Если уж людей не смущает вопрос "зачем в контроллер пихать питон"... Не, я зная, что он относительно распространён, но странное решение.
     
     
  • 3.22, 231 (?), 14:54, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лампочками помигать хватит, а больше от него и не требуется. Для желеянщиков-любителей в самый раз.
     

  • 1.15, Аноним (-), 14:11, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем JavaScript прослойка в виде питона?
     
     
  • 2.17, Антон (??), 14:34, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    так это не прослойка.
    Это интерпретатор питона, который работает в виртуальной машине, которая написана на джаваскрипте, который работает в окружении браузера.
    Теперь нужно на этом питоне написать веббраузер.
     
     
  • 3.23, Crazy Alex (ok), 14:55, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Допуская, что в контроллер зачем-то вообще надо пихать питон - вариант-то нормальный для ряда ситуаций - получаешь среду, которую легко кому-то показать/передать, а производительности уж как-нибудь хватит, чтобы Cortex-M изобразить.

    Другой вопрос - на кой там питон нужен? Если уж хочется простоты - есть ардуино, который портирован на все мыслимые МК, имеет кучу библиотек, прост для освоения и имеет порядка на три большую распрстранённость.

     
     
  • 4.26, anon3000 (?), 15:09, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    [quote]Другой вопрос - на кой там питон нужен? [/quote]

    На выбор:
    а) Банальный NIH
    б) Нужно больше платформ!
    в) JFF.

     
     
  • 5.37, Iaaa (ok), 19:09, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    г) Не осилили С.
     

  • 1.16, trolleybus (?), 14:24, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > на плате с 256 Кб Flash и 16 Кб ОЗУ

    256 килобайтов хватит на всех!

     
  • 1.18, Аноним (-), 14:34, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://pypyjs.org/
    http://www.skulpt.org/
    же есть
     
     
  • 2.21, бедный буратино (ok), 14:47, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    это вааще нето

    > http://www.skulpt.org/

    о, чёбо

     

  • 1.19, бедный буратино (ok), 14:44, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    оно заметно быстрее brython?
     
     
  • 2.20, бедный буратино (ok), 14:46, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    MicroPython c7b93f5-dirty on 2017-05-25; unicorn with Cortex-M3
    >>> import time

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ImportError: no module named 'time'

    ясно, спасибо, brython вполне устраивает

     

  • 1.32, Rodegast (ok), 16:24, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > теперь можно обойтись обычным браузером, без необходимости наличия реального оборудования

    А раньше можно было обойтись обычным QEMU. И в чём профит?

     
     
  • 2.38, Crazy Alex (ok), 20:34, 29/05/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в том, что ссылочку приятелю послать можно, например. И у него поднимется точно такое же окружение и он увидит то же, что и ты.
     

  • 1.40, Аноним (-), 21:07, 29/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не пойму, а чего байт код уже для браузера запилили? Можно было бы компилить Python в код для браузера. А то подташнивает от JavaScript.
     
     
  • 2.44, J.L. (?), 11:38, 30/05/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Не пойму, а чего байт код уже для браузера запилили? Можно было
    > бы компилить Python в код для браузера. А то подташнивает от
    > JavaScript.

    фишка видимо именно в "не надо ставить и настраивать qemu"-тестовой среде для запуска MicroPython и питонскриптов вместо реального микроконтроллера

     

  • 1.45, Аноним (-), 04:21, 31/05/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отличная новость. MicroPython очень интересный проект. Я правда с Python почти полностью пересел на Kotlin, но все равно иногда использую Python для различных задач.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру