В более ранних постах было рассказано про многопоточность в Windows при помощи CreateThread и прочего WinAPI, а также многопоточность в Linux и других *nix системах при помощи pthreads. Если вы пишите на C++11 или более поздних версиях, то вам доступны std::thread и другие многопоточные примитивы, появившиеся в этом стандарте языка. Далее будет показано, как с ними работать. В отличие от WinAPI и pthreads, код, написанный на std::thread, является кроссплатформенным.

Сегодня поговорим о GSM-модуле Neoway M590. С его помощью можно делать и принимать звонки, посылать и принимать SMS, а также выходить в интернет по GPRS. Цена модуля на AliExpress составляет всего лишь 140 рублей с доставкой в Россию (~ 2.3$). Для сравнения, ближайшие аналоги в лице модулей SIM800C и SIM800L обойдутся вам в 290 и 460 рублей соответственно.

В плане идеи осциллограф является достаточно простым устройством. Осциллограф измеряет напряжение, часто сразу в нескольких точках цепи, и отображает результаты измерений в виде графиков. То есть, это что-то вроде очень навороченного вольтметра. Это что касается идеи, а вот внутреннее устройство осциллографа намного сложнее. В сущности, современные осциллографы являются специализированными компьютерами, и цены на них соответствующие. На сегодняшний день оптимальным в плане отношения цена / качество осциллографом начального уровня является Rigol DS1054Z.

Мне лично в языке C++ всегда казалась довольно сложной для понимания тема всех эти copy assignment’ов, move constructor’ов, perfect forwarding’а и вот этого всего. Поскольку без этих знаний в современном C++ далеко не уедешь, решил попробовать во всем разобраться. Не могу сказать, что теперь владею материалом в совершенстве, но на небольшую заметку-введение вроде наскреблось. Авось кому будет интересно.

Существует немало GPS-модулей и шилдов для Arduino, но многие из них довольно недешевы. Если вам в вашем проекте по каким-то причинам нужен GPS, самым дешевым (не в ущерб качеству!) из известных мне вариантов будет модуль на базе чипа NEO-6M. На AliExpress такие модули продаются за 230 рублей (4 $) с учетом доставки в Россию. Давайте же попробуем разобраться, как с ними работать.

Необходимость написания многопоточных приложений возникает весьма и весьма часто. В мире C/C++ эту задачу можно решать по-разному. Так в стандарте C++11 и старше есть std::thread и другие примитивы. Также поддержка трэдов есть в стандарте C11 (threads.h). Однако если эти стандарты вам по каким-то причинам не доступны, или ваше приложение не планируется в обозримом будущем портировать под Windows, можно воспользоваться старой-доброй библиотекой pthreads.

Ранее в заметке Научился выводить текст на ЖК-индикатор из Arduino мы с вами разобрались, как работать с текстовыми экранчиками 1602. Всем-то эти экранчики хороши, но требуют для подключения больно уж много проводов. Поэтому на практике их часто используют через адаптер с I2C интерфейсом. Адаптеру нужно всего лишь 2 провода, не считая питания. Всего к I2C шине может быть подключено до 127 устройств, используя все те же 2 провода. Давайте же разберемся, как работать с такими адаптерами.

Подготавливая заметку Основы полнотекстового поиска в PostgreSQL, я столкнулся с необходимостью взять где-то много текстовых данных для индексирования. Первой мыслью было индексировать списки рассылок. Но собрать достаточное количество писем за разумное время было не так-то просто, поэтому в итоге я остановился на индексировании дампа Википедии. И хотя задача была успешно решена, мне захотелось разобраться, как можно было бы написать поисковик по мейлинг листам.

Хочется думать, что объяснять, что такое класс-синглтон, или он же паттерн «одиночка», читателям данного блога не требуется. Если вдруг это не так, вам поможет, например, соответствующая статья на Википедии. Мне же хотелось бы поделиться кое-какими мыслями касательно неоднозначного отношения к данному паттерну, следует ли его вообще использовать, и если да, то когда.

Радиомодулями с UART-интерфейсом в наше время никого не удивишь. Но главная проблема с такими модулями заключается в их цене. Так, например, в России XBee стоит порядка 3000 рублей (~50$) за один модуль, а модулей обычно нужно два. Еще есть APC220, который стоит 1500 рублей за пару. Это уже намного лучше, но все равно дороговато. Так вот, а модуль HC-12, о котором пойдет речь в этой заметке, предлагает полностью такой же функционал, но стоит всего лишь 150 рублей. Слишком хорошо, чтобы быть правдой? Давайте проверим!