Сообщения

XControl V2 готов!

Изображение
Спустя несколько лет после выхода XControl появился XControl V2, который при то же цене сильно превосходит его по характеристикам. Сначала хотелось бы объяснить, из чего состоит сам проект. Изначально он так и назывался XControl, это была программа, которая могла опрашивать одно или несколько аппаратных блоков XControl. Затем, по мере роста, программа и устройство были разделены на 2 независимые части - устройство XControl V1 и программа XControl Dispatcher ( x-ctrl.net ), которая уже могла работать и с другими устройствами, других производителей. Теперь на замену XControl V1 пришел XControl V2. XControl V2 может успешно конкурировать с ПЛК в сегменте простых задач, так как имея возможность выполнения скрипта и поддержку промышленных стандартов, его цена составляет в среднем 55$, в то время как цена на другие ПЛК начинается от 160$.

STM32F1. Подлючение диспея nokia 1202 к аппаратному SPI

Есть у дисплеев данного типа одна особенность - длина "байта" у них 9 бит, что затрудняет подключение его к аппаратному SPI большинства микроконтроллеров. Так как я сторонник использования аппаратных ресурсов, а не "ножкодрыганий", то решил как то выкрутиться. Порывшись в инете, нашел несколько мыслей, суть в том, что надо паковать 9-битные данные в обычные 8-битные массивы, а потом будет передавать буфер. Соответственно, отправлять буфер на дисплей надо будет только после того, как в нем наберется 9 байт (8-битных), а если не набралось и надо отправить, тогда дополняем буфер NOP'ами.

ICMP запросы (Ping) на uIP

Стек uIP умеет только отвечать на ICMP запросы (если его пингуют, к примеру), но не умеет их отправлять. Исправим это. Составляем IP заголовок #define ICMPBUF ((struct uip_icmpip_hdr *)&uip_buf[UIP_LLH_LEN]) ICMPBUF->vhl = 0x45; ICMPBUF->tos = 0; uint16_t len = sizeof(struct uip_icmpip_hdr); // длина будет равна заголовку ip + icmp ICMPBUF->len[0] = len >> 8; ICMPBUF->len[1] = len & 0xff; uint16_t ipid = 0; ICMPBUF->ipid[0] = ipid >> 8; ICMPBUF->ipid[1] = ipid & 0xff; ICMPBUF->ipoffset[0] = ICMPBUF->ipoffset[1] = 0; ICMPBUF->ttl = UIP_TTL; ICMPBUF->proto = UIP_PROTO_ICMP; // указываем свой ip и ip удаленного устройства. uip_gethostaddr(ICMPBUF->srcipaddr); uip_ipaddr(&ICMPBUF->destipaddr, 192, 168, 1, 1); // адрес, который будем пинговать ICMPBUF->ipchksum = 0; ICMPBUF->ipchksum = ~(uip_ipchksum()); ICMPBUF->type = 8; //ICMP_ECHO; ICMPBUF->icode = 0; ICMPBUF->icmpchksum = 0; ICMPBUF->icmpchksum = uip_chks

STM32F4. Обновление прошивки с карты памяти (Bootloader SD)

Изображение
Микроконтроллер STM32 имеет довольно много способов обновления прошивки, лично я использую SWD, иногда UART. Тем не менее, для прошивки этими способами нужно как минимум программатор или TTL переходник, плюс нужно устанавливать специальный софт и т.д., что составляет трудности людям, не обладающим необходимыми техническими знаниями. Собственно, с моем случае нужно было максимально упростить процесс обновления прошивки. Устройство на базе STM32F407VG и имеет карту памяти, подключенную к SDIO, обновление прошивки решил сделать через карту памяти. Для этого нужно создать бутлоадер. Алгоритм следующий: При включении бутлоадер проверяет наличие на карте памяти файла с определенным названием, пусть называется "FLASH". Файл обязательно должен быть бинарным, без всякой служебной информации. Обычно у него разрешение *.bin, а hex и elf не подходят, но есть программы, которые могут конвертировать эти форматы в bin. Если найдено, считываем и записываем в постоянную память микроконтро

XControl. Управление через компьютер, телефон, планшет или веб-браузер

Изображение
Продолжение проекта: http://xc.kibermaster.net/ . Видеоблог . Обновлено 24.06.14. Теперь доступно под Linux! XControl представляет из себя программно-аппаратный комплекс, с помощью которого можно управлять электроцепями, а так же, контролировать разнообразные датчики через компьютер, телефон или планшет. Система состоит из основного аппаратного блока и двух программ – XControl Диспетчер, которая предоставляет возможность просматривать одновременно за несколькими аппаратными блоками, программы XControl-Configer. Программа XControl Диспетчер доступна для Windows, Linux и Android. Изначально система направлена на промышленное применение, но так же, с успехом применяется и в домашних условиях. Возможности применения данной системы очень широкие – от простого управления/контроля электроприборами, термодатчиками и датчиками открытия окон/дверей, до крупной системы, в которой нужно контролировать несколько объектов, даже если они расположены в разный странах, так как управление каждым модулем

USB Термометр. Коммерческая версия

Изображение
USB Термометр является законченным устройством, практически сразу готовым к работе. Обновлено 15.04.15. Добавлена возможность интеграции с XControl Dispatcher Характеристики: Максимальное количество термодатчиков: 31 (включая установленный на устройстве). Питание от USB порта компьютера (не требует внешнего блока питания). Пределы измерения температуры: -55...+125 °C, точность в пределах -10...+85 не менее 0,5°C. Количество выходных каналов для управления нагрузками: 2 шт. Максимальный ток: 10мА, напряжение при активном выходе: 5В. Защита от статики. Работа  в 32 и 64-битных операционных системах Windows HomeEdit и выше. Отображение минимальной и максимальной температуры и время, когда она была зафиксирована. Возможность экспорта температуры в Excel нажатием одной кнопки. Огромный выбор скинов и возможность создания их самостоятельно. Плавающее окошко с отображением температуры.

LAN Control V2

Изображение
Обновление №1 (19.03.2013). Обновил описание. Более функциональное устройство, рекомендую посмотреть XControl Итак, сделал вторую версию LAN Control, о первой можно почитать здесь . Судя по комментам, пользователям очень не хватает двух функций - пароля и гистерезиса, в этой версии они добавлены. И самое приятное - схема и плата не изменилась.