Немного systemd юнитов

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

SSH reverse proxy Генерируем на сервере публичный ключ с помощью ssh-keygen и прописываем его в authorized_keys на удалённой машине. Теперь настраиваем юнит для запуска ssh в фоновом режиме с пробросом 22 (sshd) порта.

Теперь можно […]

Использование LwIP 1.4 + libopencm3

Залил на github пример использования библиотеки периферии libopencm3 вместе с TCP/IP стеком LwIP последней стабильной версии. Все это опробовал на отладочной плате SK-MSTM32F107.

Вывод звука определённой частоты

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

Вывод звука по прерыванию таймера:

Блокировка ботов

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

Хитрые китайцы

Как-то недавно заказал для своих поделок пару чипов stm32f100c8t6b (продавец satisfyelectronics). Специально выбирал серию, в которой есть DAC. Одну штуку распаял на макетке, проверил работу ЦАП – проблем не возникло. Но запаяв второй чип в готовое устройство оказалось, что невозможно установить бит DACEN в регистре RCC_APB1ENR. Маркировка на микросхемах одинаковая, казалось бы разницы никакой. Но увы, […]

Падение облачной мыши

На днях хостер Cloudmouse удалил все сайты, а так же бэкапы, объяснив это аппаратным сбоем. Под раздачу попал и этот сайт, бэкапы которого были всё там же – в облаке. Повезло еще, что у меня хранился достаточно свежий дамп БД, из которого я только что восстановил сайт. Вывод из этой истории очевиден – делайте бэкапы […]

Captive portal на модуле WizFi210

В процессе разработки веб интерфейса устройства с использованием wifi модуля wizfi210 я столкнулся с неудобством: IP адрес нужно заранее знать; Его нужно вводить ручками. Если со вторым пунктом на ПК проблем не возникает, то на телефоне это не всегда удобно. Решением такой проблемы может стать captive portal detection на мобильных устройствах. На android устройствах появляется […]

Blinky в Ethernut

Дополнение к предыдущему посту про пример проекта в Ethernut, потому как всплыли некоторые нюансы

Запуск Nut/OS на stm32f103

Nut/OS – это маленькая встраиваемая ОС реального времени, была написана для реализации TCP/IP стека (Nut/Net) и является частью проекта Ethernut. Поддерживает многие распространённые семейства архитектур микроконтроллеров – ARM, AVR, AVR32. Почитав хвалебные отзывы я решил попробовать её на stm32f103rf.