'


AEHA UART - ATtiny85 Ds18b20 SSD1306 С передачей данных в Скада BortX





pic1

Введение
программа ATtiny85
BortX
Видео обзор
Скачать


pic2

Датчик температуры DS18b20, простой как мычание
и надежный как кирпич. Для подключения к устройству
требуется всего одна нога контроллера, ибо Информация
передается по протоколу 1-Wire.
Сразу можно подключить сразу до 127 датчиков
Диапазон измерений лежит в пределах от -55 С до +125
Также в нем присутствует небольшая память которую
можно записывать и читать, и сигнал тревоги

Есть только маленький косячок ,
Датчики Ds18b20 даже купленные в одном месте
в один день, могут показывать разную
температуру, Разброс в пределах одного градуса
Не особо критично



pic1

Есть еще вариант использования применения данного изделия
В качестве ключа защиты прошивки от копирования
подробно описано тут


pic3

ATtiny85 и DS18b20


Данный девайс прекрасно программируется в среде
разработки BasCom Avr, и тут будет описание такой программы

Обратите внимание! Именно DS18B20 другие типа DS18S20 DS1820
работают иначе

Наша конструкция будет получать значение с трех датчиков температуры
Выводить показания на дисплей SSD1306. Отправлять в Com port
данные в специальном формате, для Скада BortX
Процессором системы будет контроллер ATtiny85

А так как осталась еще одна свободная нога контролера
Будем вести подсчет импульсов на ней, на случай использования
датчика движения, или счетчика входящих на турникете
а так же вести подсчет числа перезапусков системы



pic4

Полученные данные будем отправлять в Скада BortX
для визуализации и обработки



pic5

********

программа для ATtiny85



Написана в BasCom Avr
Для дисплея SSD1306 библиотека не используется, а управляется он
в командах шины I2c. Видимо ресурсов контролера ATtiny85 маловато
и провернуть библиотеку
$lib "glcdSSD1306-I2C.lib" он не в силах
но на просторах интернета нашел данный исходник
и он прекрасно работает с SSD1306 на прямую

Получается текстовый дисплей 8 строк по 16 символов
мелковато но для отладки само то, графики нет
но есть регулировка контраста

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

BortX

Описание ТУТ
********



pic6

Такая микро скада, построена на ESP8266
передает данные посредством вашего домашнего интернета
через роутер с WiFi на сайт , на котором можно смотреть
данные, управлять устройствами подключенными к ESP8266

а также менять настройки и редактировать скрипт управления
девайсом. Размер скрипта ограничен 20 строками кода,
и 20 меток для переходов, скрипту доступны десять встроенных
числовых переменных $X0-$X9.

В эти переменные можно передать любые цифровые
данные с контролера AVR или Arduino
Через COM PORT (UART , rs232) в специальном формате

На BasCom Avr ATtiny85 это выглядит так -
   Open "comb.4:19200,8,n,1" For Output As #1

' ОДНИМ ОПЕРАТОРОМ

Print #1, "<0>";100;"</0> <1>";111;"</1> <2>" ;222;"</2>"

'ИЛИ КАЖДЫЙ ТЕГ ПО ОТДЕЛЬНОСТИ

Print #1, "<3>";333;"</3>"
Print #1, "<4>";444;"</4>"


после обработки скриптом BortX

1:$X0=$input;
$S0=$X0;
$S1=$X1;
$S2=$X2;
$S3=$X3;
$S4=$X4;
trans{1};

эти значения будут присвоены переменным $X
с соответствующими номерами

отобразить в браузере на данный момент получится
только пять, в окнах $S0 - $S4, которым в настройках
можно дать понятные имена типа

Temp1
Temp2
Temp3
CNT
RESET_DEVICE



pic8

однако в браузере увидите только 7 символов от названия, терпимо.
Скрипт также может отправлять сообщения в телеграм мессенджер
и на электронную почту,

Переписывать инструкцию не буду, прочитать ее можно на сайте BortX


Скада система BortX
была проверена на модулях ESP8266 01,07, weMos D1 mini
работает с разными степенями корявости,
питаются модули ESP8266 от 3,3 вольта
можно использовать зарядное от телефона и копеечные
стабилизаторы ams1117 или L78L33, вполне хватает
для работы вывод CH_PD должно соединить с VCC



pic7

на 01 понравилось больше, хотя выходов там всего 2
GPIO0 GPIO2 , и есть UART RxD TxD соответственно
И поэтому UART bortX , может работать с переферией
датчиками и прочим

по умолчанию в прошивке BortX ESP8266 для Serial port
задана скорость 115200, Однако для ATtiny85 такая бешеная ни к чему
понизить ее можно отредактировав исходник BortX.ino в Arduino IDE
который доступен для скачивания

********
для этого в коде, нужно найти

Serial.begin(115200);
и заменить на 19200 (к примеру)

Однако редактировать прошивку мне все равно пришлось
Ибо потребовалось указать ssid точки доступа, и password
к ней же, в строках

String wifi_ssid = "ssid"; // INSERT HERE Your_wifi_ssid
String wifi_password = "password"; // INSERT HERE Your_wifi_password



pic9

Так как Мастер настройки у меня не заработал
но может вам повезет

Прошивается BortX в ESP8266 01, 07 , программой ESP8266Flasher.exe
через USB-UART PL2303HX или похожий



pic10

weMos D1 mini USB-UART уже установлен
нужен только телефонный USB шнур, и установленные драйвера



pic11

при этом вывод GPIO0 любого модуля ESP8266 нужно посадить на землю

Видео по теме

Скачать