Тип работы:
Предмет:
Язык работы:


Реализация кроссплатформенного доступа веб-приложения к системным интерфейсам

Работа №61789

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы23
Год сдачи2016
Стоимость4350 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
46
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор предметной области 7
2.1. Способы взаимодействия веб-приложения с системными
интерфейсами 7
2.1.1. Универсальные технологии 7
2.1.2. Google Chrome и Chromium 8
2.1.3. Mozilla Firefox 8
2.1.4. Microsoft IE 9
2.1.5. Вывод 9
2.2. Системы автоматической трансляции 9
2.2.1. CrossBridge 9
2.2.2. Mandreel 10
2.2.3. Emscripten 10
2.2.4. Cheerp 10
2.2.5. Вывод 11
2.3. Использование libusb прикладными
Linux-приложениями 12
2.4. Существующие решения 13
3. Описание решения 14
3.1. Портирование libusb для работы в браузере 14
3.2. Внедрение libusb в Emscripten 18
3.3. Демонстрационное приложение на базе mspdebug .... 19
Заключение 20
Список литературы 21


По мнению аналитического агентства Gartner [7], к 2020 году интернет вещей объединит 26 миллиардов устройств, а доход поставщиков продуктов и услуг рынка интернета вещей составит к этому времени 300 миллиардов долларов. При таком росте отрасли требуется все больше квалифицированных специалистов [4] для разработки решений, объединяющих программные комплексы высокого уровня и программное обеспечение встраиваемых систем.
Одна из основных сложностей с привлечением молодых специалистов в эту область - это высокий порог входа. Даже для самых элементарных экспериментов требуется как аппаратная, так и программная части. Если в последние годы аппаратные решения, позволяющими создавать достаточно сложные робототехнические системы или решения для интернета вещей без специализированных знаний и умений, активно развивались и получили достаточно широкое распространение. То в области программного обеспечения, для работы со встраиваемыми системами, принципиальных изменений нет. Это по прежнему отдельные прикладные приложения, требующие установки на компьютер. Что не всегда возможно, в силу ограничений прав пользователя, это часто встречается в образовательных учреждениях, либо ограничений операционных систем таких как Chrome OS [19].
С современным развитием веб-технологий становится возможным создавать удобные и простые веб-приложения для разработки программного обеспечения для встраиваемых систем, доступ к котором осуществляется с помощью браузера. Но задача доставки программного обеспечения до аппаратной платформы остается актуальной, так как веб-приложения не могут напрямую взаимодействовать с системными интерфейсами (такими как USB и последовательный порт), так как это запрещено политиками безопасности практически всех браузеров. Пользователю требуется скачать на компьютер прошивку и затем используя специализированное программное обеспечение загрузить ее на аппаратную платформу. При такой системе все преимущества веб-приложения не актуальны, так как все равно требуется установка каких-либо специальных приложений-загрузчиков. Таким образом возникает задача в реализации возможности доступа веб-приложения к системному интерфейсу USB, для автоматической загрузки прошивки на аппаратную платформу.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы была реализована возможность автоматической трансляции прикладных Linux-приложений, использующих только системные вызовы USB, в веб-приложения. Были выполнены следующие задачи:
• портирована libusb для работы в браузере через Chrome USB API;
• внедрена портированная версия libusb в систему автоматической трансляции Emscripten;
• разработано демонстрационное веб-приложение на базе mspdebug.



[1] Adobe. CrossBridge.— 2016.— URL: http://adobe-flash.github.io/crossbridge/ (дата обращения: 24.05.2016).
[2] CC Codebender. Codebender App page.— 2016.— URL:
https://chrome.google.com/webstore/detail/codebender-app/magknjdfniglanojbpadmpjlglepnlko (дата обращения: 21.05.2016).
[3] Cheerp. Official site.— 2016.— URL: http://leaningtech.com/cheerp/ (дата обращения: 24.05.2016).
[4] Cisco. Cisco loT press realese.— 2014.— URL: http://www.cisco.com/web/RU/news/releases/txt/2014/10/102014e.html (дата обращения: 11.04.2016).
[5] Emscripten. Official site.— 2016.— URL: http://kripken.github.io/emscripten-site/ (дата обращения: 24.05.2016).
[6] Foundation Mozilla. WebAPI/WebUSB. 2016.- URL: https://wiki.mozilla.org/WebAPI/WebUSB (дата обращения: 16.05.2016).
[7] Gartner. Gartner, loT reasearch.— 2016.— URL: http:
//www.gartner.com/technology/research/internet-of-things/(дата обращения: 07.04.2016).
[8] Google. Chrome APP API.— 2016.— URL: https://developer.chrome.com/apps/api_index(дата обращения: 16.05.2016).
[9] Google. Chrome USB API.— 2016.— URL: https://developer.chrome.com/apps/usb (дата обращения: 11.04.2016).
[10] Google. Native client.— 2016.— URL: https://developer.chrome.com/native-client (дата обращения: 16.05.2016).
[11] Google. Native messaging.— 2016.— URL: https://developer.chrome.com/extensions/nativeMessaging (дата обращения: 16.05.2016).
[12] Halverson Casey. ChromeDuino page.— 2016.— URL:
https://chrome.google.com/webstore/detail/chromeduino/dmkincdpchiadkhhocmbpjljebfifgbl (дата обращения: 21.05.2016).
[13] Instrument Texas. Official site. — 2016. — URL: http://www.ti.com/(дата обращения: 11.04.2016).
[14] MSP430. Official page.— 2016.— URL: http://www.ti.com/ww/en/launchpad/launchpads-msp.html (дата обращения: 11.04.2016).
[15] Plaisted David A. Source-to-Source Translation and Software Engineering // Journal of Software Engineering and Applications, 2013, 6, 30-40.- 2013.
[16] W3C. HTML5 specification.— 2016.— URL: https://www.w3.org/TR/html5 (дата обращения: 16.05.2016).
[17] W3C. WebUSB API Specification. - 2016.- URL: https://wicg.github.io/webusb/ (дата обращения: 16.05.2016).
[18] Wikipedia. ActiveX.— 2016.— URL: https://en.wikipedia.org/wiki/ActiveX(дата обращения: 16.05.2016).
[19] Wikipedia. Chrome OS.— 2016.— URL: https://en.wikipedia.org/wiki/Chrome_OS (дата обращения: 11.04.2016).
[20] Wikipedia. Make (build automation tool).—2016.— URL:
https://en.wikipedia.org/wiki/Make_(software) (дата обращения: 11.04.2016).
[21] Wikipedia. NPAPI.— 2016.— URL: https://en.wikipedia.org/wiki/NPAPI (дата обращения: 16.05.2016).
[22] Wikipedia. Software porting.— 2016.— URL: https://en.
wikipedia.org/wiki/Porting (дата обращения: 11.04.2016).
[23] libusb. Official site.— 2016.— URL: http://www.libusb.org/ (дата обращения: 11.04.2016). 

mspdebug/ (дата обращения: 11.04.2016).


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ