четверг, 30 июня 2011 г.

Вычисление CRC16 на Python

Для драйвера весов Mettler Toledo понадобилось рассчитывать CRC16 блока,
так как драйвер я делаю на Python то и расчет логично было сделать на нем же. В результате получилось нижеследующее :

четверг, 12 мая 2011 г.

Балавство с Arduino

Собрались как то у меня в кучку платка Arduino и Digital Infrared motion sensor (SEN0018 c dfrobot.com). Естественно захотелось собрать из всего этого, что то. Подключение датчика с помощью 3 проводков прошло просто и успешно GND, +5 и сигнальный провод на 7 цифровой вывод платы).
Так как ничего в голову умного не пришло, то в качестве индикации работы датчика, решил включать встроенный в платку светодиод и выдавать сообщение в терминал.
const int sensorpin=7; // 7 пин платы
// переменная для сохранения состояния датчика
int sensorState = 0;

// инициализация
void setup(){
  pinMode(13,OUTPUT);
  pinMode(sensorpin,INPUT);
  Serial.begin(9600);
}
// основной цикл
void loop(){
  digitalWrite(13,LOW); // гасим диод
  delay(1000);
  Serial.println("start");

  sensorState=digitalRead(sensorpin); // читаем состояние датчика
  if (sensorState==HIGH) {
// если датчик отдает сигнал то включаем диод
     Serial.println("HIGH");
    digitalWrite(13,HIGH);
  }else {
// если датчик не активен то гасим диод
    Serial.println("LOW");
    digitalWrite(13,LOW);
  }

 delay(1000);
}

понедельник, 2 мая 2011 г.

Построение видеонаблюдения собственными силами (часть 1)

Понадобилось сделать систему наблюдения с возможностью удаленного контроля. Конечно задачу можно было бы решить с помощью IP камеры (к примеру D-Link DCS -2121), но мы не ищем простых решений. В результате было сделано следующее :

понедельник, 4 апреля 2011 г.

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

воскресенье, 27 февраля 2011 г.

ReportLab и Python начало

Как то раз понадобилось в одной из программ на Python выводить результат работы не только на экран но и на печать.
Первое что попалось на глаза оказался ReportLab (http://www.reportlab.com)

воскресенье, 30 января 2011 г.

Как мы подружили Zebra 2844 и Ubuntu 10.04

На фирме где работаю открылось предприятие (не первое но до этого использовалась в качестве OS Windows). В это же раз было решено ставить на машины Ubuntu 10.04. Тем более что практически на все рабочих станциях она уже стояла более года. И так условие задачи Ubunta, Zebra 2844 и производственно - учетная система (для Windows). Принтер Zebra 2844 в Ubuntu встал без проблем с использованием ppd файла zebraep2.ppd.
Единственное что пришлось сделать это штатной утилитой для принтеров Zebra выставить размер этикетки (использовались не стандартные круглые этикетки 8x8 см). Печать из Open Office проходила нормально и шрифты при вставленных в драйвере принтера 203 dpi выглядели как и должны быть. Учетная система была запущена под wine и вела себя там тоже в пределах нормы. При попытке же печатать из учетной системы на принтер Zebra наступили со всего размаху на грабли. При 203 dpi шрифты на этикетки корежило. К примеру заглавные буквы уползали на пол строки  вверх. После непродолжительных экспериментов с настройками было выяснено что при установки в 300 dpi шрифты встают как надо но растеризатор увеличивает размер этикетки. Дальнейшее было делом техники. Была нарисована этикетка с учетом того что она будет увеличена при передаче на принтер. Правда вписывать данные у круглую этикетку занятие еще то .....