30 окт. 2010 г.

Acer представит несколько планшетных компьютеров


     Тайваньская компания Acer планирует выпустить несколько планшетных компьютеров, основанных на базе разных операционных систем. Новинки будут представлены 23 ноября на мероприятии в Нью-Йорке. Глава компании Acer Джанфранко Ланци (Gianfranco Lanci) сообщил, что покупатели ждут планшетов, основанных на базе операционной системы Google Android 3.0, но не уточнил, планируется ли установка именно этой версии. Он с оптимизмом смотрит на объем продаж новинок и прогнозирует его на уровне от 40 до 50 миллионов в следующем году. Он также считает, что устройства Acer смогут занять от 15 до 20 процентов доли рынка планшетных компьютеров.

В последние время с выходом Apple iPad и ряда продуктов-аналогов, которые используют сенсорные экраны, других компаний, к примеру, Samsung Galaxy Tab, рынок планшетных компьютеров демонстрирует стабильный рост. С ростом спроса на таблетки рынок нетбуков показывает резкий спад продаж, но господин Ланци не беспокоится о влиянии на продажи нетбуков Acer. “Тенденция, что планшеты вытесняют нетбуки с рынка электроники, наблюдается только в США”, - сказал он. Джанфранко Ланци также прокомментировал, как снижение цен на компьютерные комплектующие влияет на стоимость устройств для конечных пользователей. Цены на ряд компонентов, которые стоили дороже большую часть года, в том числе оперативная память и жидкокристаллические панели, упали в стоимости за несколько последних недель, также ожидается дальнейшее снижение цен. Как результат, покупатели рады видеть более мощные компоненты в своих новых устройствах. "Покупатели, скорее всего, не увидят снижение цены, но, несомненно, заметят рост производительности компонентов", - сказал господин Ланци.

Ранее руководство компании Samsung, крупнейшего в мире производителя оперативной памяти и жидкокристаллических экранов, предсказало, что избыток обоих продуктов, поможет поставщикам персональных компьютеров подписать выгодные контракты в четвертом квартале текущего года. Samsung считает, что снижение цен на компоненты уничтожит дефицит, который царил в индустрии компьютеров в текущем году. Компания Acer также говорила о запуске универсального магазина приложений для всех типов устройств, которые она продает, от десктопов до ноутбуков и смартфонов, которые основаны на базе операционных систем Windows, Meego и Android. Магазин получил название New Generation Store (сокращено - NGS). Компания Acer планирует раскрыть более подробную информацию о магазине на пресс-конференции, которая будет проходить в Нью-Йорке 23 ноября.

Читать весь пост

Машинка с дистанционным Bluetooth-управлением



      С самого первого раза, когда я увидел машинку, дистанционно управляемую через Bluetooth, мне захотелось сделать такую же своими руками. Для тех, кто не видел ничего подобного, поясняю: конструкция состояла из модуля с последовательным Bluetooth портом ( стоимостью около $200), платы сервоуправления «Mini SSC II» (ориентировочно $50) и довольно старенькой машинки с ДУ. Вот зеркальная ссылка на этот проект. Она была баснословно дорогой, что собственно и оттолкнула меня от ее покупки. Прошли долгие годы, пока я не наткнулся на действительно дешевые Bluetooth-модули марки GP-GC021 на eBay. Это были УАПП, полностью совместимые с ТТЛ-схемами. Мало того, что я смог бы сэкономить кучу денег, так еще и отпадала необходимость использовать RS-232 интерфейс с его высоким уровнем напряжения. Я решил использовать ДУ машинку с моих предыдущих попыток реализации радиочастотного управления, доработав сервоуправление для большего интереса и практичности. Учитывая то, что в своей предыдущей работе я проектировал лазерную головку через COM-порт, управлять мотором через последовательный не представляло особой сложности, тем более что все необходимое программное обеспечение было уже написано. Единственная задача, которую предстояло решить – реализация сервоуправления через последовательный порт.


Я просто подсоединил УАПП Bluetooth-модуля ко встроенному УАП в ATTiny2313, так чтобы они сообщались друг с другом напрямую. PORTB используется, чтобы управлять различными функциями машинки. Встроенное ПО ATtiny2313 считывает УАПП, затем формирует выходные сигналы и положение сервопривода. Сначала устанавливаются все выходные сигналы, кроме сигнала сервопривода. Сигнал представляет собой простую последовательность битов, в котором шесть старших определяют команды управления машинкой. Один означает «да», 0 – «нет», начиная с самого старшего бита, последовательность означает: | Передние фары | Стоп-сигналы | Вперед | Назад | Влево | Вправо | Не используется | Не используется |. В зависимости от значений бит «Влево» и «Вправо» переменная положения колес принимает установленное значение, представляющее собой крайнее левое или крайнее правое. После того, как значение позиции серво определено, оставшиеся биты просто отсылаются на PORTB, зажигая фары или заводя мотор. После этого вызывается функция, которая позиционирует серво. Согласно тому, как я написал программу, машина может откликаться на импульсы управления каждые 15 мс. В сравнении со временем стандартной человеческой реакции в 200 мс, этот промежуток времени незначителен. Встроенное ПО было написано на MikroC Pro от Mikro Elektronica. Я также подумываю о том, чтобы сделать ПО получше, с использованием AVR-GCC, который на сегодняшний день являются моим выбором номер один среди компиляторов. После пары других проектов, мои навыки в программировании на AVR значительно улучшились. Я еще поработаю над добавлением сенсоров, широтно-импульсного преобразователя и улучшеннием сервоуправления.



Вдобавок ко встроенному ПО для ATtiny2313 понадобилась еще программа для управления Bluetooth-устройством. Я написал небольшую программку на Visual Basic, которая может управлять машинкой через любой последовательный порт, аппаратный или виртуальный. Я добавил пользователям возможность управлять машинкой посредством клавиатуры, которая обеспечивает гораздо более легкое управление, чем любой, даже самый навороченный пульт ДУ, как по мне. Использована стандартная игровая раскладка: W – прямо, S - назад, A – влево D – вправо.
Java приложение

Управление машинкой через ПК по Bluetooth – это отличное изобретение, но мобильные телефоны также поддерживают Bluetooth. Для проекта с лазерной головкой я использовал Java, чтобы посылать последовательные команды на ПК через Bluetooth. Я нашел вот этот учебник по подключению GPS-модулей по Bluetooth. Я взял исходный программный код, разобрался что и как должно работать и, упростив его несколько, получил нужную мне программу. После этого формирование меню управления и отправка команд по Bluetooth с телефона казались легкой задачей.Программка отлично работает на моем k750i, не совсем идеально на телефоне моего отца k810i, и только способна принимать команды на N73 моей мамы. Так что за универсальность такого решения ручаться не могу. Я думаю, что проблема кроется в антивирусе смартфона N73 и некоторыми ограничительными настройками мобильного оператора на k810i, которые не позволяют использовать последовательный порт java-апплетами. Некоторые прошивки наверняка даже не позволяют java-приложениям использовать Bluetooth. Само java-приложение было написано на бесплатном и полностью открытом Netbeans. Я присоединил файлы с исходным кодом с моими комментариями, чтобы вам было понятно, что к чему.
Загрузите полный пакет, включая схемы, ПО, приложение для мобильного телефона и исходный код.

Приложение для Android


Поскольку последним моим приобретением стал HTC Hero, восхищения которому нет предела, я разработал приложение по управлению машинкой и под Android. Конечно, Android Market – полный отстой, но это все аргументы против самого Android. Их Dev Guide (руководство разработчика) оказался действительно полезным, с ним учиться программировать под Android очень легко. В любом случае, чтобы мой Android-смартфон оправдал свою ценность, он просто обязан был уметь управлять этой машинкой. Первая программа, которую я создал для тренировки, была маленьким приложением для звуковой карты. Затем, когда я уже понял основы, единственной трудностью для меня была реализация самого управления посредством Bluetooth. В конечном итоге мне пришлось взять за основу один из примеров (Bluetooth Chat). У меня получилось приложение, которое использует встроенный акселерометр телефона для управления рулем, а две большие кнопки – для управления направлением движения (вперед и назад). Куда более легкое устройство управления, чем на k750i.Что касается самого приложения, поиск Bluetooth-устройств осуществляется благодаря «DeviceListActivity.java», взятого с примера с чатом. Оно просто ищет парные устройства и те, которые находятся поблизости, отображает их в меню. Экранные кнопки формируют состав битовой последовательности, которая отсылается к машинке. Если интересно, вот исходный код этого приложения – blu_car.java. Опять же, надеюсь, моих комментариев будет достаточно, чтобы его понять. Если вы хотите откомпилировать исходный код, вам понадобиться DeviceListActivity.java вместе с графикой для иконок и текстовыми элементами. При необходимости, могу предоставить доступ к этому проекту. Готовая к установке программа есть здесь: blu_car.apk. Использование Bluetooth требует Android версии 2.0 и выше. Наверное, многие из вас удивятся, как же я тогда использовал свой Hero? Ответ найдете здесь: VillainROM 10.0




Добавление сервопривода

Конструирование новой системы рулевого сервоуправления было главной частью этого проекта, не имеющей прямого отношения к микроконтроллерам или Bluetooth. Следующая информация может быть полезной для тех, кто попытается воссоздать этот проект. Я немного расскажу о том, что именно я сделал. Изначально система рулевого управления машинки была сделана так, что машинка могла ехать строго прямо вперед, а на заднем ходе еще и поворачивать влево. Такая двухканальная структура управления рулем значительно упрощает электронику. Если учесть, что изначальная схема состояла только из дискретных компонентов, то решение конструкторов вполне объяснимо! Мне повезло, поскольку нужно было сделать несложную модификацию имеющейся схемы, чтобы обеспечить машинке возможность ехать во всех направлениях.На первой картинке изображена оригинальная система рулевого управления и сервосистема, которую я планировал использовать (см. фото слева). На eBay мне удалось найти четыре небольших любительских сервомеханизма марки 9G, которые вполне подходили для моей машинки. Так как мне не хотелось слишком портить ее вид в случае неудачи с системой сервоуправления, я смастерил новую ось для передней колесной пары из черного пластика от простой коробочки из-под CD-ROM. По толщине этот пластик был почти такой же, как оригинальная деталь, так что выглядело все почти одинаково. Я просто вырезал деталь, используя оригинальную ось как шаблон, чтобы колеса точно встали как нужно, на одной линии друг с другом. Вобщем, получилась деталь нужной формы, я приклеил к ней толстый штифт (взял от 5A диода) эпоксидной смолой, который будет служить как направляющий элемент. Сама сервосистема была также прикреплена к машинке с помощью эпоксидной смолы позади колес, куда она идеально вписалась после пары минут работы с дрелью. Я опасаюсь, что когда-нибудь мое сервоуправление накроется, и я не смогу вытащить его оттуда из-за обилия эпоксидной смолы, которой я слегка переборщил в спешке. Как видно по фото внизу, штифт моей сервосистемы обеспечивает движение колес в горизонтальном направлении, как вправо, так и влево.


 



 






Читать весь пост

29 окт. 2010 г.

Появилась фотография второго смартфона Google

   
     В Сети появилась фотография смартфона Google Nexus 2. Ее разместил техноблог Gizmodo, редактор которого утверждает, что телефон подлинный и не является подделкой.
Отмечается, что аппарат будет выпускаться компанией Samsung. Причем внешне Nexus 2 будет напоминать Android-смартфон Galaxy S, который является флагманом линейки "гуглофонов" южнокорейской компании.

Лицевая панель смартфона незначительно изменится по сравнению с Galaxy S. Так, в нижней части панели будут размещаться четыре сенсорные клавиши управления, а также Google откажется от шара прокрутки, использовавшегося в Nexus One.

Также в отличие от предыдущей версии собственного смартфона Google, на лицевой панели появится камера для видеозвонков. Задняя панель смартфона, в отличие от Galaxy S, будет изогнутой.

Отметим, что пока неизвестны официальные характеристики смартфона, в частности, размер экрана. Ожидается, что новинка будет работать на базе новой мобильной ОС Google Android Gingerbread, которая должна быть представлена до конца года.

При этом Google пока официально не подтвердил информацию о выходе смартфона. В июле гендиректор компании Эрик Шмидт заявлял, что на тот момент компания отказалась от выпуска новой модели смартфона под собственной маркой.

Google Nexus One был официально представлен в январе 2010 года. Он собирался для американской компании на заводах тайваньской HTC.





Читать весь пост

Countdown Widget. “Напоминалки”

   
     Бывает, что нужно сделать себе простое напоминание, а все программы, предназначенные для этого и доступные для скачивания в Маркете, сложны и тяжелы. Конечно, есть много инструментов, чтобы вывести на экран напоминание или заметку, но вот чтобы простых и понятных – совсем немного. Countdown Widget одна из таких утилит. Написали напоминание, указали дату и готово.
После установки и запуска программа любезно сообщает, все что вам нужно – это добавить виджет на рабочий стол при помощи стандартных инструментов. Добавляем.


Когда размер виджета выбран, нужно указать, о чем, собственно, он будет. Пишите какое-нибудь ключевое слово, ведь нам нужно просто напоминание или таймер до какого-то события. Далее указываем время срабатывания и цвет подложки виджета. Все готово.


После того как все выбрано жмем OK и видим аккуратный виджет на одном из рабочих столов вашего “робота”, а также фонарь в системной панели, когда время до события уже оттикало . Все очень просто и без претензий, но, на мой вкус, это как раз то, что бывает нужно. Простой виджет, минимум функций и настроек, максимум пользы.







Читать весь пост

YouTube on Android !

  Компания Google выпустила обновление своего стандартного приложения YouTube, которое, к сожалению, доступно только для владельцев устройств с операционной системой Android 2.2 (и которое, по всей видимости, будет уже предустановлено в будущую версию, чей анонс не за горами). Исправить такую несправедливость в отношении своих смартфонов, которые еще не получили (или не получат совсем) обновление с Eclair, взялся пользователь rolle3k с сайта XDA-Developers, который решил, как он пишет, помочь своему брату с подобной проблемой. В результате проделанной им работы, все Мы можем воспользловаться всеми преимуществами новой версией мобильного приложения YouTube для Android.
Читать весь пост

Hello Android !


     Эта статья посвящена разработке простой программы языке Java для ОС Android, которая выводит на экран слова «hello world». Совсем недавно Google представил новую среду программирования App Inventor, предназначенную для новичков. Я, к сожалению, не успел ее опробовать, поэтому мы воспользуемся старой проверенной средой Eclipse IDE, с которой вы уже познакомились в одном из предыдущих постов. В создании этого проекта с текстовым интерфейсом есть два важных момента. Процесс будет включать в себя разработку XML-файлов (1) и Java-файла (2), а также подготовку проекта к запуску. Требования к проекту просты: знание основ XML (если вы новичок и не знаете основ XML, ничего страшного, обучитесь в процессе), а также знание языка Java (самый базис, вы улучшите свои знания в ходе разработки нашего проекта, так как нам придется повозиться с фрагментами Java-кода).










Начнем с запуска Eclipse, кликаем меню File, New и затем Project. Выбираем папку Android, в ней выбираем Android Project, и идем дальше (кликаем next). Если вы корректно обновили свой Android SDK, на экране вы увидите что-то вроде этого. В этом появившемся окне от нас требуется ввести корректные данные в графах Project Name (название проекта), Build Target (версия билда), Application Name (название приложения), Package Name(название пакета), поставить галочку и заполнить поле Create Activity, и указать Min SDK Version (минимально допустимая версия SDK).Эти важные термины нужно знать, потому что они определяют будущий вид и возможности вашего приложения. Вот краткие описания этих граф:

Project Name: Здесь нужно указать название нового проекта, какое бы вам хотелось дать. В нашем случае мы введем простое и понятное «HelloWorld» (в принципе, без разницы как вы его назовете у себя)

Build Target: В этом поле указывается, какой API будет использоваться в вашем проекте. К выбору надо подойти с умом, иначе можно потерять большое количество потенциальных пользователей будущего приложения. Всегда полезно продумать, что придется использовать в программе и проверять, поддерживает ли нужные функции билд более низкой версии, перед тем как сделать выбор в пользу более поздней. Для этой программы мы выберем Android 1.5.

Application Name: Ваша программа будет называться так, как вы укажете в этом поле. Название можно потом поменять, а пока мы назовем ее Hello World.

Package name: Название пакета будет состоять из стандартного названия вашей компании, или, как в моем случае, я использовал название моего частного предприятия - com.gregrjacobs.helloworld. Вообще package name определяет уникальное название вашего проекта среди всех программ для ОС Android. Убедитесь, что вы вводите информацию в нижнем регистре, это хороший тон в программировании.

Create Activity: Вы должны убедиться, что перед Create Activity стоит галочка, так как эта опция делает основную часть работы, вам нужно только дать ей название. ПРИМЕЧАНИЕ: не называйте ее «Activity», так как ваш проект не будет работать и придется заново проходить через заполнение или исправление всех полей. Я ввел HelloMain, а вы можете выбрать что-то другое.

Min SDK Version: Введенное в этой графе число определяет, для какой версии платформы вы создаете свою программу и в каких устройствах оно будет поддерживаться, если доберется до Android Marketplace. После того, как вы указали Android 1.5 в Build Target , в поле Min SDK Version будет стоять цифра 3. Это и есть наша минимальная версия SDK. После этого можно нажать кнопку Finish.


Тем самым мы создадим ядро нашего проекта, начиная с Android 1.5 JAR файла и заканчивая файлами XML. Самые важные объекты сейчас – это файлы директории src/com.gregjacobs.helloworld/ и res/. Для начала просмотрим файл main.xml, который находится в res/layout/. Этот файл будет содержать макет вашего приложения, включая текстовые окна, метки, элементы dateTimePicker и так далее. В файле main.xml можно увидеть, что мы используем LinearLayout (линейный макет), который формирует элементы в одну сплошную строку или колонку. Иногда это может быть довольно удобный способ (но чаще не очень), и для этого примера он вполне подходит, так что его можно оставить без изменений, потому что при простом выводе текста особой разницы нет. Далее идет файл strings.xml, который содержит все строковые массивы, используемые в приложении. Это очень удобный способ держать весь символьный беспорядок вне файлов Java и main.xml. Нам нужно изменить строку под названием “hello” с Hello World, HelloMain! на Hello Android, Hello World! Строка под названием app_name может остаться без изменений.


После этого, используя навигационное меню слева, мы открываем вкладку с названием пакета (com.gregrjacobs.helloworld) и открываем файл HelloMain.java, в котором содержится код запуска XML-файлов, которые мы только что просматривали. Первая строка файла содержит название нашего пакета, относящееся к java файлу. Далее (см. картинку выше), мы импортировали комплект ОС и функцию, которая будет запускать приложение. Когда мы освоим добавление текстовых окон и меток, мы займемся импортом виджетов в наши файлы. Следующим в коде указывается наш класс (HelloMan), и макет пользовательского интерфейса, определенный с помощью аргумента R.layout.main. Можно создавать множество разных макетов интерфейса, в зависимости от самого приложения. Для нашей программы вывода «hello world» достаточно этого одного макета, но вы можете легко поэкспериментировать с этой опцией.
Когда мы покончили с настройкой всего необходимого, наконец можно перейти к компоновке самого приложения и запуске его с помощью эмулятора, создание которого описано в предыдущем посте. Для этого вверху окна Eclipse находим кнопку с изображением зелёной стрелки и нажимаем ее. Далее надо указать какой тип проекта мы собираемся запускать. Выбираем Android Application и жмем «OK».
Эмулятор загрузится всплывающим окном. Время первого запуска эмулятора будет довольно долгим, но потом с этим не будет никаких проблем. Когда эмулятор полностью запустится, он может попросить вас нажать Menu для разблокировки. Для этого нажмите на кнопку меню под экраном аппарата. Не надо ничего делать для запуска вашего приложения, все запустится автоматически. В конечном счете, вы получите что-то вроде этого:


С использованием таких инструментов как Eclipse IDE и AndroidSDK создание простых текстовых программ не представляет никакой трудности. В следующем посте мы будем дорабатывать и усложнять нашу программку «Hello World». Если в сегодняшнем проекте у вас возникли трудности с выполнением тех или иных шагов, оставьте комментарий, и мы постараемся выяснить, что было не так. Если вам не терпится продвинуться вперед в разработке интерфейса под Android-приложение, или если вы хотите влезть в базы данных, вот две отличные ссылки для самообразования: Хранение данных и Пользовательский интерфейс.

Материал взят с сайта sdelano.org/

Читать весь пост