Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Инженерный раздел > Микроконтроллеры, робототехника, схемотехника, 3D принтеры
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.03.2018, 17:04   #1
sbhx
Новичок
 
Регистрация: 11.03.2018
Сообщений: 1
Репутация: 10
По умолчанию bluetooth usb хаб

Доброго времени суток.

Немного оффтопа:
Прекрасное время – последний курс института. Диплом начинается. Просто восхитительно, когда при этом еще и особо не шаришь в теме своего диплома. В общем, к концу апреля мне нужно уже доделать эту работу хотя бы на процентов так 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. Это оптимальный вариант? Или есть какие-нибудь предложения получше? Если есть готов выслушать. Если нет, хотелось бы тогда узнать есть ли на русском полноценная о нем информация? (на английском много нашлось, но если возможно упрощение, я бы хотел им воспользоваться в любом случае :D) Или может быть лучше использовать встроенные в МК возможности использования USB? Если последний вариант лучше, то как это сделать? Мне не удалось понять. Особенно на отладочной плате, в которой нет возможности подключиться дополнительно к этим портам, но если купить отдельно МК, то возможно и получится. Как я понял USB у АТ90USB162 нужен только для программирования, но если я не прав, буду рад поправкам
4. Для bluetooth я нашел, что вроде протоколы общения есть, но они все разные для разных нужд, получается если я соберу полный набор команд, которые мне нужно передавать между телефоном и устройством я могу и сам составить свой, более приспособленный к моим навыкам программирования протокол общения?
5. Есть ли возможность писать программы на андроид на Си? Или тут только ява, только хардкор? (пока я ее не знаю, для меня это какая-то дичь, все через классы и объекты делать, это слишком мощно для меня, возможно именно поэтому я на С++ не перешел полноценно, а тут это похоже еще больше внедрено в структуру программирования)
sbhx вне форума   Ответить с цитированием
Старый 20.03.2018, 15:39   #2
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 399
Репутация: 85
По умолчанию

Ха-ха-ха!!!!! Я сам делал подобное устройство на микроконтроллере AT90USB162 - хороший микроконтроллер всем рекомендую. Тут даже по-моему где тема есть на этом форуме, а вообще я все делал по статье - находится с полпинка. Там все расписано что и как надо делать.
Вот эта статья:
http://avr-start.ru/?p=3064
Только там опечатка, программа, в которой работаешь называется CVAVR - хорошая вещь.:D
Ответы на вопросы:
3)USB у этого микроконтроллера может использоваться и для программирования и для всего подряд. Чистый USB порт использовать очень сложно. Там используется виртуальный COM-порт, с ним легче.
5) Ну сейчас все на классах и объектах делается. Это мода времени и ничего с этим не поделаешь. Там все легко и не нужно этого боятся.
Объекты сейчас везде используются, но в микроконтроллерах их меньше всего - так что нормально.:D
Если будут какие-нибудь вопросы - обращайтесь. Желательно небесплатно.:D
По Bluetooth я не специалист, там по-моему какая-то микросхема используется и связь с ней по SPI интерфейсу. Может быть кто-нибудь здесь и подскажет.

Последний раз редактировалось Cuprum5; 20.03.2018 в 15:57.
Cuprum5 вне форума   Ответить с цитированием
Старый 20.03.2018, 15:58   #3
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,790
Репутация: 2126
По умолчанию

Цитата:
Сообщение от sbhx Посмотреть сообщение
1. Правильно ли я понимаю саму структуру этого проекта?
В первом приближение сойдет. Только где-то потерялся слой файловой системы.

Цитата:
Сообщение от sbhx Посмотреть сообщение
2. Реализуемо ли это в принципе за данные сроки?
Зависит от суммы. Кто знает может вы наймете людей на 20 часов в сутки.

Цитата:
Сообщение от sbhx Посмотреть сообщение
3. Для usb можно попытаться нашаманить что-то при помощи библиотеки v-usb. Это оптимальный вариант? Или есть какие-нибудь предложения получше?
Странно брать софтварную реализацию для медленного усб, когда у вас есть железная поддержка усб и надо работать с дисками.

Цитата:
Сообщение от sbhx Посмотреть сообщение
получается если я соберу полный набор команд, которые мне нужно передавать между телефоном и устройством я могу и сам составить свой, более приспособленный к моим навыкам программирования протокол общения?
Нк да. Можете даже rest поверх синегозуба организовать.

Цитата:
Сообщение от sbhx Посмотреть сообщение
5. Есть ли возможность писать программы на андроид на Си? Или тут только ява, только хардкор?
Теоретически есть, но если вам надо быстро и нет знаний, то лучше Java. И примеров побольше, и книжки есть, и интерфейс быстро наклепать можно.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 20.03.2018, 16:27   #4
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 399
Репутация: 85
По умолчанию

А, тут, UART - ну тогда тут вообще все легко:
http://mkprog.ru/avr/bluetooth-modul...-dlya-avr.html
SBHX, нарисуйте, пожалуйста структурную схему этого устройства, я что-то не совсем представляю как микроконтроллер будет общаться с винтом? И какие там вообще винты: IDE, SATA или по USB?
По поводу COM-порта: библиотека V-USB - по-моему, она и есть.:D
Железяка вообще будет делаться в дипломном проекте или ограничитесь теорией?
Cuprum5 вне форума   Ответить с цитированием
Старый 20.03.2018, 16:33   #5
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,790
Репутация: 2126
По умолчанию

Cuprum5, что вы несете? У него USB и жесткие диски/флешки через него. А про либу с офф сайта:
Цитата:
V-USB is a software-only implementation of a low-speed USB device for Atmel’s AVR® microcontrollers, making it possible to build USB hardware with almost any AVR® microcontroller, not requiring any additional chip.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
распайка с usb на micro usb Terikon Железо 5 07.02.2015 23:05
Возможно ли соединить 2 компа кабелем USB-USB? Ghost3 Железо 21 06.08.2014 09:22
Bluetooth USB Dongle (БЮД) Black-Man1993 Софт 16 29.10.2010 14:33
комп-хаб-модем BaiAs Железо 3 27.08.2010 07:57
BlueTooth subsonic Общие вопросы Delphi 4 24.07.2008 16:19


09:26.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru