Pull to refresh
100
0
Алекс @CyberBot

Инженер электронщик

Send message

Как правильно читать объявления в Си

Reading time7 min
Views47K
Даже совсем зеленые программисты на Си, не испытывают проблем с чтением таких объявлений:
int foo[5]; // foo массив из 5 элементов типа int
char *foo; // foo указатель на char
double foo(); // foo функция возвращающая значение типа double

Но как только объявления становятся немного сложнее, проблематично точно сказать что это. Например:
char *(*(**foo[][8])())[];

Как же научиться их читать?

Wolfram Alpha научился описывать содержимое любых картинок и фото

Reading time2 min
Views17K


Разработчики сайта Wolfram Alpha добавили в копилку уникальных возможностей системы ещё одну удивительную функцию – распознавание любых фотографий. Каждый желающий может опробовать ImageIdentify в работе. Достаточно загрузить картинку на демонстрационный сайт и через несколько секунд вы получите ответ. Как утверждают сами разработчики – почти всегда правильный.

Стивен Вольфрам, основатель и главный идеолог компании, подробно описывает работу системы в записи в своём блоге. Стивен говорит, что 40 лет ждал момента, когда компьютеры научатся распознавать изображения, и был уверен в том, что этот момент настанет. Задача распознавания – одна из самых базовых для человека, и одна из самых сложных – для компьютерных систем и алгоритмов.

Стивен пишет, что хотя алгоритм и не всегда распознаёт изображения верно, даже его ошибки сильно напоминают человеческие.

Распознавание изображений теперь работает не только на демонстрационном сайте, но и в самом Wolfram Language. Можно задать изображение, получить его описание, а потом использовать уже само описание – получить, например, определение предмета из словарной статьи, или построить облако слов из статьи в Википедии.
Читать дальше →

Чтобы распознавать картинки, не нужно распознавать картинки

Reading time18 min
Views237K
Посмотрите на это фото.



Это совершенно обычная фотография, найденная в Гугле по запросу «железная дорога». И сама дорога тоже ничем особенным не отличается.

Что будет, если убрать это фото и попросить вас нарисовать железную дорогу по памяти?

Если вы ребенок лет семи, и никогда раньше не учились рисовать, то очень может быть, что у вас получится что-то такое:
Осторожно, тяжелые гифки

Особенности создания программ в NODEMCU ESP8266 для «интернета вещей»

Reading time3 min
Views140K
К изучению возможностей микросхемы ESP8266 я приступил пару месяцев назад. Первоначально приобрел, как и большинство, модуль ESP-01, но почти сразу нашел новое на тот момент решение на основе модуля ESD-12 в виде DEVKIT и прошивкой nodeMCU, в которую встроена VM LUA версии 5.1.4(без debug и OS*модулей).

image

Есть несколько способов приобщиться к миру прекрасного — «интернета вещей». Можно взять модуль ESP-01, в котором 512 Кбайт флеш, есть UART интерфейс, пара контактов ESP, добавить к нему интерфейс на USB в последствии перепаять флеш на больший объем. Для тех, у кого нет желания, либо умения заниматься доработкой модуля, но хочется приобщиться и начать сразу программировать, есть другой способ — это указанная выше плата DEVKIT.

Если учесть разность цен решения в 10 долларов — выбор за вами.
Читать дальше →

IScan Air — беспроводной портативный Wi-Fi сканер: обзор, характеристики, принцип работы

Reading time2 min
Views11K
От умных розеток я двинулся дальше по складу и нашел еще один беспроводной Wi-Fi гаджет — сканер IScan Air — о котором, как всегда коротко, я поделюсь в нашем блоге.



Читать дальше →

Собираем Wi-Fi робота

Reading time4 min
Views101K


Давно мечтал сделать Wi-Fi робота, которым можно было бы управлять удаленно. И вот наконец настал тот день когда я смог управлять роботом через интернет, видеть и слышать все что происходит вокруг него.
Заинтересовавшихся приглашаю под кат
Читать дальше →

Маленький сетевой одноплатный компьютер за 20 USD

Reading time2 min
Views42K
Ну вот, наконец-то, у меня в руках первый полноценно работающий экземпляр нашего одноплатного компьютера.

Полгода разработки, два месяца ожидания (пока изготовят первых 20 экземпляров и доставят в Москву), неделя непрерывного секса (чтобы запустить)… И вот оно — наше маленькое чудо!

image

Это не «самый маленький в мире компьютер». И не самый дешевый. И уж конечно не самый мощный. Но он достаточно маленький, довольно дешевый и не такой уж медленный. Чип Qualcom Atheros AR9331, 64 Мб DDR2, 16 Мб NOR flash. WiFi, один гигабитный Ethernet и до пяти 100мбитных, USB, UART, SPI, I2S, 20+ GPIO, OpenWrt на борту — что еще нужно для счастья? Зажечь в первый раз светодиод по команде со смартфона — ни к этому ли мы все стремимся?

Ну а в качестве приятного бонуса — возможность сделать свою собственную плату с лото и курсистками, т.к. всю документацию мы откроем, а в изготовлении прототипов и тиража — поможем.

Первые подробности — под катом.
Читать дальше →

Приём радиофаксов и прочих цифровых передач с помощью обычного приёмника и компьютера

Reading time3 min
Views72K

Один из неудачных радиофаксов

С чем у нас обычно ассоциируется слово «факс»? Большинство представят гибрид принтера и телефона, с помощью которого передают документы в отдаленные уголки планеты. Но знаете ли вы, что факсом пользуются моряки при отсутствии интернета? По факсу японское новостное агентство Kyodo передаёт новости на двух языках, а различные метеоцентры — погоду на несколько дней вперед. И мы тоже можем все это получить и раскодировать — нужен лишь компьютер и подходящий приемник.
И как все это выглядит?

Робот на RaspberryPi, Arduino и RaspiCam + OpenCV. Часть 1 Обзорная

Reading time5 min
Views127K
Очень часто на хабре появляются статьи о том как использовать Raspberry Pi как медиацентр, передвижную видеокамеру, удаленную web камеру и… собственно все. Очень странно, что в такой большой IT тусовке — довольно мало информации о том — как его программировать и использовать одноплатный компьютер там, где он действительно довольно полезен — во всяких встраиваемых системах, где есть ограничения по размеру и стоимости, но также есть потребность в производительности. В нескольких статьях постараюсь описать на примере создания мобильного колесного робота с компьютерным зрением — как можно использовать малинку для создания роботов(штук с интеллектом на борту, а не управляемых с андроида машинок с веб камерой).
image
Читать дальше →

Елочка, зажгись! Часть 3: веб-интерфейс и приложение для Android

Reading time7 min
Views20K
Этим текстом мастер Гамбс завершает описание своей новой ёлочной гирлянды. 2015 г. Москва

Привет, Хабр!

Итак, мы добрались до финального этапа: раз у нас есть гирлянда, которой управляет нанокомпьютер Black Swift со встроенным Wi-Fi, то логично сделать для неё веб-интерфейс и смартфонное приложение, чтобы помигать светодиодом, если вы понимаете, о чём я.

  1. Гирлянда, подключение Black Swift и среда сборки под OpenWRT на C/C++
  2. Софт на C, работа с GPIO и программная ШИМ
  3. Веб-интерфейс и приложение для Android

Но сначала — по просьбам читателей публикуем видео работающей ёлочной гирлянды. Не думаю, что кто-то не видел ёлочных гирлянд, думаю, что просто не все верят, что я правда 28-29 декабря пошёл за светодиодами, чтобы украсить ёлку…
Читать дальше →

Елочка, зажгись! Часть 2: софт на C, работа с GPIO и программная ШИМ

Reading time8 min
Views15K
Привет, Хабр!

В прошлый раз я написал о том, как можно несложно подключить наш нанокомпьютер к чему-нибудь исполнительному (ёлочной гирлянде, например) и развернуть среду для сборки под него программ на C/C++. Сегодня — вторая часть, о том, как написать программу на C для OpenWRT и, соответственно, Black Swift.

  1. Гирлянда, подключение Black Swift и среда сборки под OpenWRT на C/C++
  2. Управляющая программа на C и прямая и быстрая работа с GPIO
  3. Веб-интерфейс и приложение для Android


Отмечу два момента. Во-первых, я не буду рассказывать о роли функции main и директивы #include — как я говорил раньше, сейчас я пишу в расчёте на людей, в принципе знакомых с программированием, но не знающих, с какой стороны подступиться к такой штуке, как компьютер для встраиваемого применения. Точнее, сегодняшний текст будет скорее для уже подступившихся — так что я остановлюсь на паре интересных моментов, таких как работа с логическими линиями ввода-вывода (GPIO) и микросекундными временами.



Во-вторых, конечно, писать именно на C не обязательно. Под OpenWRT есть Perl, Python и даже Node.js — с ними вам не нужна, очевидно, никакая среда для сборки софта, только заливай@запускай.

Читать дальше →

И ещё раз про распознавание номеров

Reading time6 min
Views48K
Весной администрация хабра любезно предоставила нам блог, чтобы мы рассказали о нашем экзерсисе с распознаванием номеров. Всё поддержание этой системы делалось просто из интереса и на энтузиазме, зато позволило пообщаться с интересными людьми, некоторым людям помочь, а самим найти подработку по совершенно другим тематикам.



В любых задачах обработки изображений 90% успеха — хорошая база данных. Репрезентативная и большая. Весной мы обещали выложить полную базу изображений того, что нам придёт. Подписка блога заканчивается, поэтому время выполнить обещание (блог может продлят, а может и нет). Наш сервер работал 95% времени, начиная с первого поста. Всё что пришло теперь доступно + мы сделали отдельные базы по вырезанным номерам и нарезанным символам.

Под катом ссылки на базу + её анализ + немного кода + небольшой рассказ о том, что будет сделано дальше с нашим сервером/жизнью проекта.
Читать дальше →

Не соблаговолите ли больше не нарушать, сэр (мэм)?

Reading time4 min
Views67K
Примерно неделю назад Vasyutka опубликовал пост про распознавание номеров и обещал, что мы выложим софт, который можно будет опробовать. Мы немножко схитрили, не рассказав все подробнее. Ну, а то бы никакой интриги не было! Ядро алгоритма распознавания мы сделали с полгода назад, но тот проект, для которого оно было сделано, не двинулся. Он остановился где-то на альфа-версии. Подумав, и посовещавшись с заказчиком, мы решили, что это нехорошо, когда такой алгоритм пылится на полке и не приносит пользу обществу. С другой стороны выкладывать все исходники распознающей части не хотелось. Тогда и родилась идея, о которой пойдёт речь в этой статье.
image
Решили мы, собственно, сделать открытый сервер, который бы распознавал номера, приходящие http-запросами. Так как вся идея некоммерческая, то сервер, конечно, слабенький, но на то, чтобы народ игрался, надеюсь, его хватит.
А вот тут крутой поворот сюжета. Пост этот не про протокол обращения к серверу. Об этом будет следующий пост. Этот пост о программе, которую мы начали делать как пример работы с сервером, но которая вылилась в интересную на наш взгляд концепцию. В статье будет рассказано про Android-приложение, которым можно сфотографировать номер автомобиля… И обругать владельца бранным словом! Ну, или посмотреть статистику того, сколько раз сего автомобилиста обругали.
Те, кому невтерпёж, смогут расковырять работу с сервером из исходников в конце статьи. Остальных подержим пару дней в напряжении, а потом выложим законченный мануал.
Заинтриговал?

Многозадачность в ядре Linux: workqueue

Reading time7 min
Views36K
Продолжаем тему многопоточности в ядре Linux. В прошлый раз я рассказывала про прерывания, их обработку и tasklet’ы, и так как изначально предполагалось, что это будет одна статья, в своем рассказе о workqueue я буду ссылаться на tasklet’ы, считая, что читатель уже с ними знаком.
Как и в прошлый раз, я постараюсь сделать мой рассказ максимально подробным и детальным.

Статьи цикла:
  1. Многозадачность в ядре Linux: прерывания и tasklet’ы
  2. Многозадачность в ядре Linux: workqueue
  3. Protothread и кооперативная многозадачность


Читать дальше →

Работа с ESP8266: Собираем компилятор и пишем первую прошивку

Reading time15 min
Views188K
В прошлой статье мы рассмотрели первоначальную настройку и работу модуля ESP-01 с базовой AT-прошивкой. Возможности данной прошивки достаточно ограничены и использовать её для каких-то повседневных задач достаточно сложно. Как я писал в первой статье, для ESP8266 можно написать свою прошивку с нужным функционалом и тем самым сделать плату ESP-01 самодостаточным устройством. Всем кому это интересно, прошу под хабракат.
Подробности

Многозадачность в ядре Linux: прерывания и tasklet’ы

Reading time6 min
Views77K
Котейка и младшие братьяВ предыдущей своей статье я затронула тему многопоточности. В ней речь шла о базовых понятиях: о типах многозадачности, планировщике, стратегиях планирования, машине состояний потока и прочем.

На этот раз я хочу подойти к вопросу планирования с другой стороны. А именно, теперь я постараюсь рассказать про планирование не потоков, а их “младших братьев”. Так как статья получилась довольно объемной, в последний момент я решила разбить ее на несколько частей:
  1. Многозадачность в ядре Linux: прерывания и tasklet’ы
  2. Многозадачность в ядре Linux: workqueue
  3. Protothread и кооперативная многозадачность

В третьей части я также попробую сравнить все эти, на первый взгляд, разные сущности и извлечь какие-нибудь полезные идеи. А через некоторое время я расскажу про то, как нам удалось применить эти идеи на практике в проекте Embox, и про то, как мы запускали на маленькой платке нашу ОС с почти полноценной многозадачностью.

Рассказывать я постараюсь подробно, описывая основное API и иногда углубляясь в особенности реализации, особо заостряя внимание на задаче планирования.
Читать дальше →

Недорогие, маленькие, сетевые компьютеры — небольшой обзор

Reading time6 min
Views96K
«Чтоб ты жил в интересные времена!» — якобы старинное китайское проклятие.
Да, нам с вами повезло или «повезло» жить в действительно интересные времена (вариант — «в эпоху перемен»). Возможно, это на самом деле проклятие, особенно с точки зрения мифических древних китайцев. Однако факт остается фактом: то, что еще пара десятков лет назад казалось невозможным, сейчас доступно практически каждому. Особенно это заметно в нашей отрасли — информационные технологии и цифровая электроника развиваются просто какими-то совершенно фантастическими темпами. Функциональные возможности, быстродействие, миниатюрность и (относительная) дешевизна современных цифровых решений поражает воображение.
Еще совсем недавно сетевой компьютер размером меньше кредитки и стоимостью в несколько сотен рублей, пригодный для создания на его базе интересных самостоятельных проектов энтузиастами-одиночками с относительно невысоким уровнем знаний в области электроники и программирования, казался весьма отдаленной перспективой. И вот уже мы можем смело выбирать из десятка (как минимум) альтернатив! Давайте посмотрим, что сейчас можно приобрести буквально за несколько десятков долларов, чтобы построить вокруг этого нечто впечатляющее и даже, может быть, полезное.
Итак, поехали.

Хакспейс в столице Китая, что там?

Reading time4 min
Views80K


Начинаются выходные — время отдохнуть от работы и поработать в свое удовольствие — то есть заняться любимым делом. Для кого-то это создавать роботов, прошивать микроконтроллеры, кодировать коптеры, и многое другое — это всё можно осуществить в хакспейсах — открытых клубах технического и IT творчества, которые созданы энтузиастами, в сотнях городах по всему миру.

Продолжая нашу серию публикаций про хакспейсы — сегодня мы совершим экскурсию по хакспейсу в одном из самых больших мегаполисов мира в Пекине.

А в конце поста озвучим победителей конкурса по проектам по VoCore.
Читать дальше →

EyeCare — снятие усталости глаз, лечение миопии, спазма аккомодации

Reading time2 min
Views84K
иконка приложения для лечения миопии и спазма аккомодации EyeCareВ России от 30 до 100 процентов населения имеют проблемы со зрением. При этом около 28% процентов детей страдают близорукостью (миопией). В государственных и частных клиниках нашей страны практикуют различные методы лечения близорукости у взрослых и детей — от выписывания витаминов для глаз или капель до лазерных операций. В последнее время врачи стали назначать комбинированное лечение на основе препаратов и работы в специальных сертифицированных медицинских программах-тренажёрах. Такое лечение не способно полностью восстановить зрение, но оно его временно улучшает за счёт снятия зрительного напряжения. Я сама в детстве проходила курс такого лечения. Существующие программы, используемые в таком лечении, стоят очень дорого, в государственных больницах их как-правило бесплатно нет, посещение сеансов в частных клиниках стоит ещё дороже, чем покупка программы.
Мы решили разработать собственную программу для лечения миопии, спазма аккомодации, снятия усталости с глаз и выложить её бесплатно.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity