Программирование

Графики QtCharts в Qt

Возможно Вы слышали о том, что у Qt есть платная коммерческая версия. Одной из плюшек доступной в ней была библиотека для построения графиков.
Не так давно вышла версия Qt 5.7. В ней QChart доступны под лицензией GPLv3. Т.е. теперь мы можем пользоваться ей не занося деньги в офис Qt.

Интересно, что по умолчанию библиотека не устанавливается. Её необходимо вручную выбрать при установке.

Встраиваем JavaScript в Си приложение

Не так давно вышла свежая версия JS движка Duktape.
И наверное многим стоит о ней узнать. Библиотека компактна! Всего три файла. Но эти три файла позволят Вам встроить полноценный интерпретатор JavaScript в Ваше приложение на Си.

Для начала работы Вам нужно добавить в проект 3 файла: duktape.c, duktape.h и duk_config.h.

Библиотека действительно легковесна.

Arduino IDE для ESP8266

Недавно нужно было сделать девайс, который выдает время по UART раз в секунду. Выбор пал на ESP8266.
Изначально пощупал micropython, но как оказалось его ещё пилить и пилить.
Позже узнал, что можно использовать для программирования ESP8266 Arduino IDE. Доступна куча библиотек и печеньки.

Arduino IDE для ESP8266

Установка:

Работаем с Excel файлами в Python

Excel очень прочно вошел в нашу жизнь. Ну ладно.. Возможно не именно он. Но табличные редакторы сильно облегчают нам жизнь.
И согласитесь, было бы очень круто иметь возможность работать с файлами Excel в Python.
И такая возможность есть. Установим openpyxl.

pip install openpyxl

Пользоваться ей очень просто!

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = "Hello blablacode!"

import datetime
ws['A2'] = datetime.datetime.now()

wb.save("c:\sample.xlsx")

Получается вот так:

RSA шифрование в Python

В наше время защита данных это уже целая ветвь науки, сотни умов трудятся над улучшением защиты и еще миллионы проводят ночи в попытках получения данных.
При таком раскладе конечно нужно уметь шифровать. В python нам поможет модуль rsa.
RSA - криптографический алгоритм с открытым ключем. При создании приложения вы генерируете два ключа: публичный (открытый) и приватный (закрытый).

Работа с USB в Python

Соорудил на своей stm32f4discovery собственное usb устройство. Все довольно просто, одна BULK конечная точка. Плата принимает данные и переключает светодиоды, которых в наличии четыре.
Собственно о программе контроллера как-то в другой раз, а сейчас о том, как с данным дивайсом работать с ПК.

Использование сторонних dll при помощи ctypes в python

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

Конвертация графических файлов осциллограмм Rigol

Я счастливый обладатель осциллографа Rigol DS1052E.
Все мне в нем нравится, только изображения он сохраняет маленькие. И виной тут то, что на экране осциллографа пиксели больше, чем на компьютере.
Выглядит это примерно вот так.

Я решил поправить эту ситуацию. Поправить просто изменив размеры пикселей. Т.е. сделать из одного пикселя - четыре.
Для этого я воспользовался python и библиотекой Pillow.

Над скриптом особо не парился.

Cython - python приложение на C

Cython - это язык программирования, который дополняет python возможностью типизированного задания переменных и возможностью компиляции в Си код, который в последствии можно скомпилировать в бинарник.
Python потрясающий язык программирования. Но скорость его выполнения оставляет желать лучшего. И как раз в этом нам может помоч cython. На данный момент он практически без труда умеет компилировать python код в си.

Давайте рассмотрим все на примере.
Вот код python для нахождения чисел Фибаначи.