Программатор для ESP8266 esp-01

Последнее время в процессе разработки каплемера приходится постоянно перезаливать в вайфай модуль прошивки.

Поскольку на макетнице собрана рабочая схема каплемера, крайне не удобно, как оказалось, каждый раз, когда возникает необходимость внести изменения в прошивку модуля пересобирать схему программатора, который был реализован, на макетнице, согласно приведенной ниже схеме:


Схема программатора для ESP8266

Данная схема предполагала использование в процессе прошивки двух кнопок, RESET и BURN. И что бы перевести схему в режим заливки прошивки надо было нажать и удерживать BURN, после чего нажать и отпустить RESET и после перезагрузки модуль оказывался в режиме заливки программы.

Так как я использовал в схеме программатора USB-TTL конвертер Silicon Labs CP210x USB to UART Bridge, отличительной особенностью которого было наличие дополнительных выходов, в том числе DTR и RTS, появилась возможность собрать программатор без использования кнопок, с автоматическим переходом в режим прошивки и рестартом после прошивки.
Его принципиальная схема приведена ниже, поскольку вай-фай модули, которые я использую — esp-01, лишние цепи удалены.

Кроме того, поскольку Silicon Labs CP210x USB to UART Bridge имеет 5 вольтовые выходы, а ESP8266 построен на 3.3В логике, в схему добавлен модуль конвертера уровней напряжения цифровых сигналов 5/3.3 В.

На фото ниже — собранный программатор после проверки работоспособности

Orange 4G-IOT

В парке одноплатных компьютеров пополнение, прибыла с Китая новая платка, на фото ниже:

На борту 4 ядерный 64 битный процессор, 1 ГБ ОЗУ, 8 ГБ встроенной флеш памяти, разъем под SD карту, и главное — разъем под симку мобильной сети поддерживающей стандарт 4G!!!

Собственно вот он, на тыльной стороне платы.


Во внутреннюю память залит образ с 6 версией Android, однако на сайте производителя можно скачать, образ диска более новой, 8 версии.

Однако, главная неприятность была в том, что разъем HDMI, установленный на плате, выдает видеосигнал с частотой 48 гц, вместо 60, и с этой частотой не могут работать большинство телевизоров и мониторов. В любом случае планировалась покупка совместимого сенсорного 5.5 дисплея, а по поводу HDMI разъема есть идея попробовать переходник HDMI-VGA для подключения обычного монитора.

Но тем не менее, плата имеет широкие коммуникационные возможности и будет использоваться в цифровом творчестве в проектах ФАБЛАБа.

Подключение считывателя беспроводных радиометок RFID-RC522 к Arduino

Что такое RFID

RFID (радиочастотная идентификация) – это метод обеспечения передачи, записи и хранения данных при помощи радиосигналов. Каждая RFID-система включает в себя считыватель/ридер и RFID-метку, в которой хранятся данные. Метки состоят из двух частей – интегральной схемы и антенны. Интегральная схема позволяет хранить и обрабатывать данные, антенна – принимать и передавать информацию.

Все RFID-системы можно разделить по дальности действия:

  • Ближней идентификации – расстояние не более 20 см;
  • Средней идентификации – расстояние от 20 см до 5 м;
  • Дальней идентификации – максимум 300 м.

С точки зрения частот можно выделить:

  • Системы, работающие в низкочастотном диапазоне (125 кГц, 134 кГц);
  • Работающие в среднечастотном диапазоне (13,56 МГц);
  • Работающие в высокочастотном диапазоне (800 МГц – 2, 4 ГГц).

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

Преимущества RFID

  • Не требуется прямая видимость;
  • Практически 100% идентификация сигнала;
  • Возможность применения в агрессивной среде;
  • Долгий срок службы;
  • RFID-метку трудно подделать;
  • Возможность хранения и передачи большого объема информации.

Области применения RFID идентификации

RFID-технология часто используется в розничной торговле, библиотеках и архивах, логистике, системах контроля и управления доступом (СКУД), инициализации людей, удостоверении подлинности товаров.

Для идентификации персонала самым популярным форматом являются пластиковые бесконтактные карты и бесконтактные брелки. С их помощью можно регистрировать вход/выход объектов на территории через точки прохода – ворота, КПП. Основной задачей СКУД является управление доступом — например, ограничение в доступе на какую-либо территорию, идентификация лиц, которые могут попадать на территорию. Также могут решаться и дополнительные задачи – контроль рабочего времени для персонала, ведение базы посетителей, работа с системами безопасности, расчет заработной платы.

Сегодня мы более подробно рассмотрим бесконтактные смарт карты Mifare Classic 1K, поскольку данная технология планируется использоваться сотрудниками ФАБЛАБа в своих проектах.

Бесконтактная RFID карта Mifare Classic 1K содержит энергонезависимую память 1 КБайт для хранения информации. Они могут использоваться в финансовых, платежных системах в качестве электронного кошелька. Одним из примеров использование Mifare карт является бесконтактный проездной документ в метро. В этом случае для персонализации смарт -карт служит считыватель с функцией чтения и записи информации.

Структура памяти.

EEPROM память организована в 16 секторов по 4 блока. Каждый блок содержит 16 байт.

Модуль RFID-RC522 выполнен на микросхеме MFRC522 фирмы NXP. Эта микросхема обеспечивает двухстороннюю беспроводную (до 6 см) коммуникацию на частоте 13,56 МГц.

Способы и протоколы подключения

Интерфейс Скорость передачи
SPI (Serial Peripheral Interface, последовательный интерфейс для связи периферийных устройств) до 10 Мбит/сек;
двухпроводной интерфейс I2C до 3400 кбод в режиме High-speed,
до 400 кбод в режиме Fast;
последовательный UART (аналог RS232) до 1228,8 кбод.

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

Микросхема MFRC522 имеет достаточно обширную функциональность. Познакомиться со всеми возможностями можно изучив её паспорт (datasheet). Мы же для знакомства с возможностями данного устройства воспользуемся одной из готовых библиотек,( https://github.com/miguelbalboa/rfid/archive/master.zip ) написанных для работы Arduino с RC522. Скачайте её и распакуйте в директорию Arduino IDE\libraries\

После этого запустите среду разработки Arduino IDE.

Теперь давайте откроем скетч из примеров: Файл Образцы MFRC522 DumpInfo и загрузим его в память Arduino.

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

#include <SPI.h>
#include <MFRC522.h>

const int RST_PIN = 9; // пин RST
const int SS_PIN = 10; // пин SDA (SS)

MFRC522 mfrc522(SS_PIN, RST_PIN); // создаём объект MFRC522

void setup() {
	Serial.begin(9600); // инициализация послед. порта
	SPI.begin(); // инициализация шины SPI
	mfrc522.PCD_Init(); // инициализация считывателя RC522
}

void loop() {
	// Ожидание прикладывания новой RFID-метки:
	if ( ! mfrc522.PICC_IsNewCardPresent()) {
		return; // выход, если не приложена новая карта
	}

	// Считываем серийный номер:
	if ( ! mfrc522.PICC_ReadCardSerial()) {
		return; // выход, если невозможно считать сер. номер
	}

	// Вывод дампа в послед. порт:
	mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

Текст скетча достаточно хорошо прокомментирован.

Запустим монитор последовательного порта сочетанием клавиш Ctrl+Shift+M, через меню Инструменты или кнопкой с изображением лупы. Теперь приложим к считывателю билет метро или любую другую RFID-метку. Монитор последовательного порта покажет данные, записанные на RFID-метку или билет.

Подключение датчика угарного газа к arduino

В этом практикуме мы рассмотрим как спроектировать детектор газа CO. Показания
снимаются с датчика MQ7 (MQ-7), который специально разработан, для измерения
окиси углерода (CO) в воздухе в пределах 10 до 1000 ppm. Регулировка чувствительности изменяется с помощью встроенного потенциометра.

Датчик MQ7 (MQ-7), состоит из керамической трубки AL2O3 (оксида алюминия) и нанесенного на нее тонкого слоя SnO2 (диоксид олова). Внутри трубки находится нагревательный элемент, который осуществляет нагрев чувствительного слоя. Сам датчик состоят из пластмассового корпуса и сетки, изготовлено из нержавеющий стали, в нижней части расположены шесть выводов, четыре из которых используются для снятия показаний, а другие два, для нагрева.

Датчик установлен на печатную плату (30 мм х 19 мм) с синий маской, с другой стороны платы, расположено четыре вывода (шаг 2.54 мм),  два контакта для подключения питания и два для считывания показаний (аналоговый и цифровой). Показания, аналогового сигнала «Вывод AO» , снимаются непосредственно с одного из вывода датчика MQ7, значение от 0 В . . . 5 В, а цифровой сигнал  «Вывод DO»,  может устанавливается в лог «0» или лог «1» («0 В» или «5 В»), в зависимости от концентрации газа, чувствительность выхода, можно регулировать с помощью поворотного потенциометра. За преобразовании аналогового сигнала в цифровой отвечает встроенный компаратор LM393, который может выдать ток до 15 мА и дает возможность подключать модули реле без контроллеров. Для визуализации, на плате расположены два светодиода, один светится при подачи питания, второй  светится, когда на «Вывод DO», логическая «0» , то-есть сработал порог включения. Принципиальная схема и назначение каждого вывода датчика MQ7 (MQ-7), показана ниже.

Группа контактов
► +5 — Питание модуля «+»
► GND — Питание модуля «-»
► DOUTЦифровой вывод
► AOUTАналоговый вывод

Подключение датчика MQ7 (MQ-7) к Arduino

Необходимые детали:
► Датчик угарного газа MQ7 (MQ-7) x 1 шт.
► Arduino (nano)x 1 шт.
► Провод DuPont 10x, 2,54 мм, 20 см, F-F (Female — Female) x 1 шт.

Подключение:
В данном примере используем датчик MQ-7 и плату Arduino NANO, все получение показания, отправляем на Serial-порт, а также отображается на семисегментном модуле индикатора. Для сборки схемы, необходимо всего три провода, сначала подключаем аналоговой вывод A1 (MQ7) в A5 (Arduino UNO), затем подключаем питание GND к GND и VCC к 5V. Схема собрана, теперь надо подготовить программную часть.

Запускаем среду разработки Arduino IDE и копируем скетч

#include <TM74HC595Display.h>//поключаем библиотеку семисегментного индикатора
int SCLK = 7;
int RCLK = 6;
int DIO = 5;
TM74HC595Display disp(SCLK, RCLK, DIO);// создаем экземпляр класса индикатора
int AnalogPin=A1;
int AnalogValue=0;

void setup() 
{
Serial.begin(9600);
}
void loop() 
{  
  AnalogValue=analogRead(AnalogPin);
  disp.digit4(AnalogValue, 50);
Serial.println(“CO = “ +AnalogValue); 
delay(20); 
  }

В окне мониторинг порта, можно увидеть показания от 0 до 1023 (от 0 до 5В).

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

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

Восстановление сайта после сбоя!

К сожалению в университетском датацентре произошла крупная авария в результате которой полностью удалилось содержимое многих ресурсов, в том числе и KVM сервер, который был выделен под проект и сайт лаборатории. Все наработки потеряны и их приходится восстанавливать, поскольку в большинстве случаев я их создавал просто на сайте…. Но я постараюсь, в ближайшем времени восстановить старый контент и регулярно добавлять новый, поскольку работа идет ежедневно! :)