Съдържание:

HiFive1 Arduino Intruder Detection с MQTT сигнали, използващи ESP32 или ESP8266: 6 стъпки
HiFive1 Arduino Intruder Detection с MQTT сигнали, използващи ESP32 или ESP8266: 6 стъпки

Видео: HiFive1 Arduino Intruder Detection с MQTT сигнали, използващи ESP32 или ESP8266: 6 стъпки

Видео: HiFive1 Arduino Intruder Detection с MQTT сигнали, използващи ESP32 или ESP8266: 6 стъпки
Видео: HiFive1: An open source, Arduino-compatible RISC-V dev kit 2024, Ноември
Anonim
HiFive1 Arduino Inntruder Detection с MQTT сигнали, използващи ESP32 или ESP8266
HiFive1 Arduino Inntruder Detection с MQTT сигнали, използващи ESP32 или ESP8266

HiFive1 е първата съвместима с Arduino RISC-V базирана платка, изградена с процесор FE310 от SiFive. Дъската е около 20 пъти по -бърза от Arduino UNO, но като дъската UNO, липсва безжична връзка.

За щастие, на пазара има няколко евтини модула, които да смекчат това ограничение. В този урок използвах ESP32 или ESP8266, за да получа безжична връзка. Въпреки колко евтин е ESP-01, поради необходимостта да го програмирате с скица на Arduino, ESP-01 беше по-малко практично решение. За да програмирате ESP-01, той се нуждае от външен USB към ESP-01 адаптер, който не съм имал по време на създаването на този урок. (Ако се интересувате от използването на HiFive1 с ESP-01, следвайте тази връзка) Аз също мислех да използвам Arduino Shield, но в крайна сметка се придържам към ESP8266/32 поради сравнително скъпата цена, която повечето щитове имат.

Този проект ще се фокусира върху създаването на система за откриване на нарушители, която ще работи чрез изпращане на известие до MQTT брокер всеки път, когато ултразвуковият сензор (SRF05) открие обект, пресичащ линията му на видимост.

Необходими материали за този проект:

  • Платка HiFive1 (може да бъде закупена тук)
  • ESP32 Dev модул или ESP8266 NodeMCU 1.0
  • 10k резистор x 2
  • 1k резистор
  • Платка
  • джъмпер кабел x 6
  • SRF05 Ултразвуков модул
  • Мобилно устройство

Стъпка 1: Настройване на околната среда

Настройване на околната среда
Настройване на околната среда

Инсталирайте Arduino IDE

1. Следвайте инструкциите, за да инсталирате пакета Arduino на платката HiFive1 и USB драйвера.

2. Инсталирайте пакета на платката ESP32 или ESP8266, като добавите подходящ URL адрес към „Файл-> Предпочитания-> Допълнителни платки мениджър“:

  • ESP8266 -
  • ESP32 -

Стъпка 2: Окабеляване на ESP32

Окабеляване на ESP32
Окабеляване на ESP32
Окабеляване на ESP32
Окабеляване на ESP32

Ако използвате ESP8266, преминете към стъпка 3.

Важно: SRF05 се предлага в 2 версии за извеждане, които са огледални версии една на друга, уверете се, че имате същия модул като моя, като използвате връзката по -долу.

За повече технически подробности относно SRF05 следвайте тази връзка.

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Trigger Pin (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)

Забележка: Уверете се, че джъмперът IOREF е настроен на 3.3v.

Стъпка 3: Окабеляване на ESP8266

Окабеляване на ESP8266
Окабеляване на ESP8266
Окабеляване на ESP8266
Окабеляване на ESP8266

Важно: SRF05 се предлага в 2 версии за разпечатване, които са огледални версии една на друга, уверете се, че имате същия модул като моя, като използвате връзката по -долу.

За повече технически подробности относно SRF05 следвайте тази връзка

GND (HiFive1) -> GND (SRF05) 5v (HiFive1) -> VCC (SRF05) DI/O 11 (HiFive1) -> Trigger Pin (SRF05) DI/O 12 (HiFive1) -> Echo Pin (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266) DI/O 6 (HiFive1) -> Rx (ESP8266)

Забележка: Уверете се, че джъмперът IOREF е настроен на 3.3v.

Стъпка 4: Програмиране

Код HiFive1:

Преди програмиране задайте „Tools-> Board“на HiFive1 board, „Tools-> CPU Clock Frequency“на „256MHz PLL“, „Tools-> Programmer“на „SiFive OpenOCD“и се избира правилния сериен порт.

Също така ще трябва да изтеглите тази ултразвукова библиотека и този PubSubClient и да ги извлечете във вашата папка Arduino Libraries, намерена в „Потребител-> Документи-> Arduino-> Библиотеки“.

Код ESP32/8266:

По време на програмирането платката на ESP трябва да има изключени хардуерни пинове Rx и Tx. След успешното качване на кода, свържете отново пиновете Rx и Tx на ESP, за да осигурите комуникация между HiFive1 и ESP.

За ESP32-Задайте „Инструменти-> Платка“на „ESP32 Dev Module“, „Инструменти-> Програмист“на „AVRISP mkll“и изберете правилния сериен порт.

За ESP8266-Задайте „Инструменти-> Платка“на „NodeMCU 1.0 (Модул ESP-12E)“, „Инструменти-> Програмист“на „AVRISP mkll“и изберете правилния сериен порт.

Кодът на скицата е заимстван от тук с модификации, за да го преобразува в система за откриване на нарушители.

Стъпка 5: Настройка на клиента

Настройване на клиента
Настройване на клиента
Настройване на клиента
Настройване на клиента
Настройване на клиента
Настройване на клиента
Настройване на клиента
Настройване на клиента

Използвах облачен MQTT брокер (този) и телефон с Android с това приложение.

За да настроите всичко, ще трябва да отворите акаунт.

Използвайте предоставените екранни снимки, за да преминете през настройката на CloudMQTT и приложението.

Стъпка 6: Краен резултат

Краен резултат
Краен резултат
Краен резултат
Краен резултат
Краен резултат
Краен резултат
Краен резултат
Краен резултат

Забележка: Трябва да настроите скоростта на предаване на вашия сериен монитор на 115200, тъй като това е скоростта на предаване, която използваме в нашата скица.

Крайният ви резултат трябва да изглежда подобен на крайните екранни снимки

Препоръчано: