Archive | Бред

Что еще есть в моем ежедневнике

Я продолжаю рассказывать про свой ежедневник.

На самом деле он не ограничивается только планированием и заметками, поэтому я решил написать еще один пост.

В этот раз это будет смесь из рассказа про систему ежедневника и «крутые штуки». Вообще — я уже писал про свой ежедневник в одном из прошлых постов. Но решил написать в этот раз подробнее.

Continue Reading →
0

Как не сойти с ума

Я решил рассказать о системе, которой я пользуюсь в своем ежедневнике. Эта система не претендует на полноту, и уж тем более я не намерен ее рекламировать и продавать всякие блокноты.

Я просто решил рассказать о том, что работает для меня и как это мне помогает.

Главный вопрос — почему я веду все это в бумажном виде? Ответ простой — электронные устройства слишком перегружают мозг, отвлекают и не дают сосредоточиться. Это все можно было бы вести и в телефоне например. И я пытался. Для меня это не сработало. Ниже я расскажу о программах которые можно использовать для тех же самых целей, но в первую очередь этот пост про то как я организую все на бумаге.

Continue Reading →
0

Рашша-биз в полный рост

Акт первый — оптимистический

Вы наверное помните мой недавний пост про сравнение 3D-принтеров. В общем я решил заказать к своему недавнему приобретению кое каких деталей. Если быть совсем точным — расходников. Столик с специальным покрытием для печати. Чтобы не терять время а просто менять столик, запускать печать и спокойно отковыривать напечатанную деталь пока новая деталь печатается на сменном столике.

Заказал в той же самой конторе где и заказывал принтер. Заказал — 24-го марта, оплатил — 26-го марта. Тут то мои приключения и начались.

Continue Reading →

Generic-функции и имена классов

Столкнулся недавно на работе… Возможно это очевидная вещь, но мне показалось не очевидным. По этому оставлю это тут — на всякий случай.

Предположим у нас есть функция:

public void SomeFunction()
{
    // Нам нужно вывести имя класса-шаблона T здесь
    // Самым очевидным будет сделать
    Console.WriteLine(nameof(T));
}

И это будет не верным — в консоль будет выведено «T».

Но как же нам получить имя пришедшего класса ?

public void SomeFunction()
{
    Console.WriteLine(nameof(typeof(T)));
    // или
    Console.WriteLine(typeof(T).Name);
}

Как то так.

Работа с GSM-модулем SIM900

Для одного небольшого домашнего проекта мне понадобилась работа с GSM и DTMF-кодами.

Если кто не знает — DTMF-коды, это именно тот писк, который генерируется, когда ты нажимаешь клавиши в тональном наборе и используется в всяких IVR сценариях. («Ваш звонок очень важен для Вас, оставайтесь на линии, чтобы побеспокоить нашего очень занятого оператора нажмите клавишу # и ждите ответа«).

Выбор пал на GPRS-shield от Амперки. Который на самом деле оказался клоном шилда от Adafruit (как и многие другие шилды от амперки).

По началу я думал использовать с ним отдельно стоящий декодер DTMF. Но относительно не долгое гугление показало, что GSM-модуль SIM900 поддерживает аппаратное декодирование DTMF.

Для того, чтобы модуль начал понимать DTMF-сигналы — достаточно подать AT+ команду:

 AT+DDET=1 

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

В целом, модуль хороший, но не без заковык. Например — чтобы набрать номер нужно дать команду

 ATD79030000000; 

Причем, обратите внимание, последняя точка с запятой — обязательна. Без нее набора номера не произойдет.

В целом довольно интересно получается. Почувствовал себя на заре интернета — модемы, AT-команды.

Буду ковыряться дальше.

 

За сим раскланиваюсь,

Всегда Ваш

Powered by WordPress. Designed by WooThemes