python

Microblog 4

Fri, 26/10/2012 - 14:31 -- observer

Доработал немного версию своего микроблог-клиента для Windows. Описание начала проекта тут.

Пришлось опять поупражняться PyQt чтобы чуть изменить старые функции и добавить новые. Решил добавить возможность публикации копии поста в twitter. После того как список подписчиков был существенно почищен, а доступ к твитеру ограничен - некоторые посты можно публиковать и в мир.

main_tags: 

RabbitMQ - pika - выход из цикла ожидания очереди

Sun, 05/02/2012 - 23:12 -- observer

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

Это необходимо если скрипт не висит в памяти постоянно (с этим нет проблем), а запускается периодически - обрабатывает очередь и выгружается (корректно) закрывая все открытые файлы и т.п.

На первый взгляд вопрос простой, но на практике все усложнилось из-за отсутствия информации по этой теме. Все или слишком продвинутое, для программеров или не имеет отношение к теме.

в общем код, на основе того что я нашел:

main_tags: 

Обмен сообщениями между скриптами, программами, сервисами и Arduino

Thu, 02/02/2012 - 16:09 -- observer

Новая схема взаимодействия подсистем между собой - система обмена сообщениями на базе RabbitMQ сервера.

RabbitMQ and Arduino

socket server и многопоточность

Mon, 16/01/2012 - 15:36 -- observer

ну вот началось ....

После того как был сделан модуль для общения с COM портом и Ардуиной, возник вопрос как этот модуль будет  получать данные от других программ. То есть выполнять вторую свою функцию.

Есть несколько вариантов. Это может быть socket server, который будет ждать подключения на каком-то порту и принимать/передавать данные. RPC сервер, который будет так же ждать подключения на каком-то порту и выполнять команды. Ну и чтобы пострелять из пушки по воробьям - вариант посложнее и как мне кажется, поинтереснее  это использование очередей сообщений, протокола AMQP и RabbitMQ сервера.

Но остановлюсь пока на socket сервере. Остальное, возможно позже...

Не буду объяснять сам принцип, просто отправлю на пост которым я пользовался сам http://www.demoriz.ru/post-19/  Там все предельно ясно описано, да и поднять отдельный soсket сервер на питоне оказалось не так уж сложно, если без извращений конечно.

Главная проблема, которая сразу возникает при добавлении сервера в уже существующую программу, это остановка основного цикла программы, так как добавленный сервер ждет соединения и держит весь цикл.  Для решения этой проблемы существуют потоки и многопоточность. Чтобы не рыть интернет, а информации по этой теме много и она в основном рассчитана на более подготовленных.  Можно воспользоваться тем что нашел я: http://www.uchi-it.ru/9/11/11.html  http://keysolutions.ru/articles/osnovy-raboty-s-potokami-v-python  Очень внятно написано и понятно начинающим.

Arduino - COM port - Python

Mon, 09/01/2012 - 17:24 -- observer

Если не считать мелких опытов с Arduino - мигание светодиодом и тому подобное. Первым, что я решил сделать это подружить Arduino UNO с Python. Чтобы далее управлять платой из своих программ, написанных на Питоне. Сделать это проще всего через COM порт. Небольшой опыт работы с PySerial - питоновской библиотекой для связи с последовательными портами, у меня есть. Ну очень небольшой...

Так как я собираюсь использовать Arduino как интерфейс к различному оборудованию, необходимо было освоить обмен командами и данными этого самого различного оборудования и компьютера через плату.  Причем обмен одновременный и каждое отдельное устройство или группу будет обслуживать отдельная программа.

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

Напрашивается какой-то протокол обмена. Стоит конечно поискать что-то стандартное, но пока необходимо отработать лишь общую схему.

SMS сервер

Tue, 13/09/2011 - 16:42 -- observer

я уже писал раньше про идею смс сервера .. Это телефон подключенный к серверу + софт, который принимает смс и публикует их в блог. Ну и вторая функция - выполнение удаленных команд.

Идея как-то заглохла немного, софт я написал, но не было телефона ненужного, да и надобности острой не было. Интернет постоянно доступен с телефона, клиент простой .. все было очень легко. Но вот во время поездки в Париж.. остро почувствовал необходимость. С интернетом были постоянные проблемы. Французы все позакрывали .. напрочь )) А то что было открыто - было очень извращено в плане подключения. И писать в микроблог  не было возможности. А очень хотелось, потому как много всего интересного происходило )) К тому же хотелось, чтобы это было максимально бытро и просто - находу, так сказать.

Так что думаю, скоро проект увидит свет.

Отправил смс - и оно автоматом запостилось в микроблог. Что может быть проще.

main_tags: 

Проект - микроблог

Sun, 03/07/2011 - 16:38 -- observer

Решил более подробно описать этот маленький проект - микроблог. Потому что в нем много решений, которые могут пригодится в реальных проектах. Ничего нового в нем нет, это всего лишь вариации различных систем для персонального и более полного использования.

мое знакомство с PyQt

Mon, 27/06/2011 - 16:57 -- observer

Нужно было написать маленького клиента для блога.. и сделать это надо было под Windows. Функционала минимум, но сам переход под окошки ... Пришлось вникнуть в PyQt   Так что я волей неволей перехожу к окошкам.

заодно и перенес один свой скрипт на новые рельсы:

main_tags: 

местоположение

Fri, 24/06/2011 - 17:00 -- observer

научил робота постить информацию о текущих координатах ( посмотреть можно тут ) Ничего сложного, но функция может быть полезна. Сейчас дорабатываю накопление данных и публикацию набора меток сразу в одном посте. + Если еще разобраться со всем функционалом - можно выводить информацию о рядом расположенных объектах .. и много еще чего

Остается его куда-то запустить ))

main_tags: 

новые опыты с python

Sat, 21/05/2011 - 17:44 -- observer

Ввел таки тег python потому что чувствую - затягивает )) и буду еще не раз писать. Это записки конечно не для профессионалов а больше для общего развития. Может кто войдет во вкус, как и я

main_tags: 

Pages