maniack74

maniack74

Пикабушник
Дата рождения: 1 января
684 рейтинг 38 подписчиков 15 подписок 5 постов 4 в горячем
Награды:
5 лет на Пикабу
24

Задаётся мне это не просто каменюка

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

Показать полностью 4
367

Сбор и обработка показаний датчиков с Arduino в базу mysql

Говорят у меня появился один подписчик, возможно это будет интересно ещё кому-то.

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

В предыдущем посте я уже показал сбор и передачу показаний датчиков по "воздуху" от одной Arduino до другой. Здесь продолжение этой цепочки, дальнейшая обработка полученный данных.

В качестве базы использовал OrangePi One с установленной Armbian OS. В основе Debian, по этому всё как там. Соответственно MariaDB и Apach. Возможно что-то другое на свой вкус.

За сбор данных отвечает скрипт на Python запущенный в качестве сервиса. При запуске автоматом сканирует COM-порты и если такой находит, слушает его. Если в COM-порт что-то приходит, пытается разобрать и отправить в базу данных. База имеет такую структуру:

В базе две таблицы, в одну "data", заносятся показания датчиков, в другой "servo", заносятся значения устанавливаемые на сайте в разделе "Управление" для ручного управления какой-либо автоматикой (возможное дальнейшее развитие этого проекта), в моём случает для управления автоматизацией теплицы. На данный момент здесь нет логики которая основывалась бы на значениях датчиков и собственно автоматизированного управления. Пока только ручное управление.

Данные с базы "data" визуализированы и выводятся в виде различных графиков. По умолчанию выводятся на диаграммы последние значения, на общий график последние 12/48/... (сколько задать в настройках скриптов) значений, либо за указанный период.

Это архив болванки сайта.

Это скрипт Python для чтения и обработки полученных от Arduino данных.

Это скрипт запуска скрипта-Python как сервиса.

Его нужно закинуть в /etc/systemd/system в варианте для Armbian OS.

На этом пока всё. Спасибо за внимание :)

Показать полностью 6
34

Arduino - передача показаний датчиков по "воздуху"

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

Собрал две макетки. На одну ардуинку зацеплены различные датчики и модуль NRF24l01 как передатчик, на другую ардуинку только приёмник NRF24l01.

Здесь скетчи передатчика и приёмника

На этом собственно всё, данные с датчиков передаются и принимаются. У этого проекта есть дальнейшее развитие, данные с датчиков собираются в mysql-базу и выводятся на сайт для дальнейшей обработки. Оформлю позже в другом посте.

На данном этапе есть существенная проблема не связанная с моментом передачи, а связанная с чтением данных температуры с датчика DHT22 при значениях температуры ниже ноля.

выглядит это примерно так:

Humidity: 26.10% Temperature: 0.90°C 33.62°F Heat index: -2.27°C 27.91°F

Humidity: 26.30% Temperature: 0.70°C 33.26°F Heat index: -2.49°C 27.52°F

Humidity: 26.30% Temperature: 0.70°C 33.26°F Heat index: -2.49°C 27.52°F

Humidity: 26.40% Temperature: 0.50°C 32.90°F Heat index: -2.71°C 27.13°F

Humidity: 26.60% Temperature: 0.40°C 32.72°F Heat index: -2.81°C 26.94°F

Humidity: 26.60% Temperature: 0.30°C 32.54°F Heat index: -2.92°C 26.74°F

Humidity: 26.70% Temperature: 0.20°C 32.36°F Heat index: -3.03°C 26.55°F

Humidity: 26.90% Temperature: 0.00°C 32.00°F Heat index: -3.24°C 26.16°F

Humidity: 26.90% Temperature: 0.00°C 32.00°F Heat index: -3.24°C 26.16°F

Humidity: 27.10% Temperature: -3276.70°C -5866.06°F Heat index: -3607.57°C -6461.69°F

Humidity: 27.20% Temperature: -3276.60°C -5865.88°F Heat index: -3607.46°C -6461.49°F

Humidity: 27.30% Temperature: -3276.50°C -5865.70°F Heat index: -3607.35°C -6461.29°F

Humidity: 27.50% Temperature: -3276.30°C -5865.34°F Heat index: -3607.12°C -6460.88°F

Humidity: 27.50% Temperature: -3276.20°C -5865.16°F Heat index: -3607.01°C -6460.68°F

Humidity: 27.70% Temperature: -3276.10°C -5864.98°F Heat index: -3606.90°C -6460.48°F

Humidity: 27.80% Temperature: -3276.00°C -5864.80°F Heat index: -3606.78°C -6460.27°F

Humidity: 27.90% Temperature: -3276.00°C -5864.80°F Heat index: -3606.78°C -6460.27°F

Humidity: 28.00% Temperature: -3275.80°C -5864.44°F Heat index: -3606.56°C -6459.87°F

Humidity: 28.10% Temperature: -3275.70°C -5864.26°F Heat index: -3606.44°C -6459.66°F

Humidity: 28.20% Temperature: -3275.60°C -5864.08°F Heat index: -3606.33°C -6459.46°F

На последней строчке значение которое в дальнейшем не меняется.

Проблема проявляет себя не только в той библиотеке для DHT22 которую я использовал, а также в других. Хотелось бы решить эту проблему при помощи сообщества, сам пока не умею.

Показать полностью
22

Вывод показаний датчика DHT11 на четырехразрядный семисегментный дисплей

Озадачился постоянным мониторингом значения температуры и влажности в комнате. Смотреть на серийном порту показания датчика DHT11 любопытно но не информативно. Циферки нужно показывать красиво.

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

В данном макете это и реализовано.

Сам скетч тут

Также можно выводить показания других датчиков. В данном конкретном примере DHT11 можно заменить на DHT22 без переписывания кода нужно только поменять тип на "DHT22" в третьей строчке скетча.

Показать полностью
Отличная работа, все прочитано!