Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.67.48] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток.
Немного оффтопа: Скрытый текст Прекрасное время – последний курс института. Диплом начинается. Просто восхитительно, когда при этом еще и особо не шаришь в теме своего диплома. В общем, к концу апреля мне нужно уже доделать эту работу хотя бы на процентов так 90, поэтому очень надеюсь на Вашу помощь в разборе материала. Я далее изложу задание и то, к чему я пока пришел. Хотелось бы не только ответы на вопросы получить, но и может какие-то комментарии или полезные ссылки, если таковые имеются. Заранее спасибо за помощь. Задание: Создание программного обеспечения для устройства и мобильника. Суть устройства проста это своего рода usb хаб, только с некоторыми особенностями. Это автономное устройство, которое через Bluetooth подключается к мобильнику и в приложении на телефоне производятся операции с файлами – удаление, перемещение, копирование. Данная задача актуально поскольку половина телефонов не поддерживают работу с usb накопителями, и поэтому создать некое универсальное устройство (в меру универсальное, не надо нам через него мышки, клавиатуры, жесткие диски и прочее подключать, только обычные флешки) Некоторые дополнения к заданию (дополнительные условия): Скрытый текст По условиям задачи мобильник на платформе android. Устройство на основе микроконтроллера семейства AVR. Принципиалки в данный момент нет, поскольку физическое исполнение проекта поручено другому человеку. Мне исключительно программная составляющая поручена. С товарищем ответственным за железо сошлись пока на том, что будем делать на AT90USB162, а для экспериментов и постепенного решения задач используем отладочную плату AVR USB 162. Также были куплены два обычных USB type А и Bluetooth модуль НС-06. Мое понимание задачи: Скрытый текст Есть устройство и мобильник. Соответственно нужно рассматривать две отдельные системы, которые через bluetooth будут взаимодействовать между собой. Система для устройства представляет собой переходник по своей сути от usb к bluetooth, поэтому в моем представлении ее можно разбить на три основные элемента: 1. «Ядро» программы 2. Модуль usb 3. Модуль bluetooth Соответственно модули позволяют производить инициализацию устройства, отключение, чтение данные поступающих с него, и отправку данных на него. И они в отличии от драйверов будут просто закомпилены вместе с условным ядром в цельную программу. Система для телефона представляет собой своеобразный файловый менеджер, который в моем представлении можно разбить на три составляющие: 1. Пользовательский интерфейс 2. «Ядро» программы 3. Модуль bluetooth, аналогичный тому, что будет на МК Для исправной работы всего этого комплекса необходимо, чтобы usb модуль соответствовал стандартам. А протокол общения по bluetooth можно выбрать любой (вплоть до разработки своего на коленке), главное, чтобы он был одинаков на обоих устройствах. Основные вопросы на данном этапе разбитые по темам: Скрытый текст 1. Правильно ли я понимаю саму структуру этого проекта? 2. Реализуемо ли это в принципе за данные сроки? Если нет, как можно упростить данную задачу? Учитывая, что я знаю только Си с щепоточкой С++, и имел небольшой опыт работы с МК на Си и ассемблере, думаю проблема не так велика, но хотелось бы узнать мнение людей, более просвещенных в данной области, если таковые читают этот длиннопост (попытаться договориться на счет упрощения думаю получится, если не урезать задачу в разы) 3. Для usb можно попытаться нашаманить что-то при помощи библиотеки v-usb. Это оптимальный вариант? Или есть какие-нибудь предложения получше? Если есть готов выслушать. Если нет, хотелось бы тогда узнать есть ли на русском полноценная о нем информация? (на английском много нашлось, но если возможно упрощение, я бы хотел им воспользоваться в любом случае ) Или может быть лучше использовать встроенные в МК возможности использования USB? Если последний вариант лучше, то как это сделать? Мне не удалось понять. Особенно на отладочной плате, в которой нет возможности подключиться дополнительно к этим портам, но если купить отдельно МК, то возможно и получится. Как я понял USB у АТ90USB162 нужен только для программирования, но если я не прав, буду рад поправкам 4. Для bluetooth я нашел, что вроде протоколы общения есть, но они все разные для разных нужд, получается если я соберу полный набор команд, которые мне нужно передавать между телефоном и устройством я могу и сам составить свой, более приспособленный к моим навыкам программирования протокол общения? 5. Есть ли возможность писать программы на андроид на Си? Или тут только ява, только хардкор? (пока я ее не знаю, для меня это какая-то дичь, все через классы и объекты делать, это слишком мощно для меня, возможно именно поэтому я на С++ не перешел полноценно, а тут это похоже еще больше внедрено в структуру программирования) |