Obsah:

HiFive1 Arduino Detection Intruder With MQTT Alerts using ESP32 or ESP8266: 6 Steps
HiFive1 Arduino Detection Intruder With MQTT Alerts using ESP32 or ESP8266: 6 Steps

Video: HiFive1 Arduino Detection Intruder With MQTT Alerts using ESP32 or ESP8266: 6 Steps

Video: HiFive1 Arduino Detection Intruder With MQTT Alerts using ESP32 or ESP8266: 6 Steps
Video: HiFive1 - O Arduino Open-hardware Open-core 2024, Prosinec
Anonim
HiFive1 Arduino Detection Intruder with MQTT Alerts using ESP32 or ESP8266
HiFive1 Arduino Detection Intruder with MQTT Alerts using ESP32 or ESP8266

HiFive1 je první deska kompatibilní s Arduino RISC-V postavená s procesorem FE310 od SiFive. Deska je asi 20krát rychlejší než Arduino UNO, ale stejně jako deska UNO postrádá jakékoli bezdrátové připojení.

Naštěstí existuje na trhu několik levných modulů, které toto omezení zmírňují. V tomto tutoriálu jsem k získání bezdrátového připojení použil ESP32 nebo ESP8266. Navzdory tomu, jak levný je ESP-01, kvůli potřebě naprogramovat jej pomocí skici Arduino byl ESP-01 méně praktické řešení. Aby bylo možné naprogramovat ESP-01, potřebuje externí adaptér USB na ESP-01, který jsem v době vytváření tohoto tutoriálu neměl. (Pokud máte zájem používat HiFive1 s ESP-01, klikněte na tento odkaz) Také jsem uvažoval o použití Arduino Shieldu, ale nakonec jsem zůstal u ESP8266/32 kvůli relativně drahé cenovce, kterou většina štítů má.

Tento projekt se zaměří na vytvoření systému detekce vetřelců, který bude fungovat tak, že pošle oznámení společnosti MQTT Broker pokaždé, když ultrazvukový senzor (SRF05) detekuje objekt překračující jeho přímku.

Materiály potřebné pro tento projekt:

  • Deska HiFive1 (lze zakoupit zde)
  • Modul ESP32 Dev nebo ESP8266 NodeMCU 1.0
  • 2k rezistor 10k
  • 1k odpor
  • Prkénko
  • propojovací kabel x 6
  • Ultrazvukový modul SRF05
  • Mobilní zařízení

Krok 1: Nastavení prostředí

Nastavení prostředí
Nastavení prostředí

Nainstalujte Arduino IDE

1. Podle pokynů nainstalujte balíček Arduino desky HiFive1 a ovladač USB.

2. Nainstalujte balíček desky ESP32 nebo ESP8266 přidáním příslušné adresy URL do „Soubor-> Předvolby-> Správce dalších desek“:

  • ESP8266 -
  • ESP32 -

Krok 2: Zapojení ESP32

Zapojení ESP32
Zapojení ESP32
Zapojení ESP32
Zapojení ESP32

Pokud používáte ESP8266, přejděte ke kroku 3.

Důležité: SRF05 je dodáván ve 2 verzích pinoutů, které jsou navzájem zrcadlenými verzemi. Pomocí níže uvedeného odkazu se ujistěte, že máte stejný modul jako já.

Další technické podrobnosti o SRF05 najdete na tomto odkazu.

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)

Poznámka: Ujistěte se, že propojka IOREF je nastavena na 3,3 V.

Krok 3: Zapojení ESP8266

Zapojení ESP8266
Zapojení ESP8266
Zapojení ESP8266
Zapojení ESP8266

Důležité: SRF05 je dodáván ve 2 verzích pinoutů, které jsou navzájem zrcadlenými verzemi, pomocí níže uvedeného odkazu se ujistěte, že máte stejný modul jako já.

Další technické podrobnosti o SRF05 najdete na tomto odkazu

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)

Poznámka: Ujistěte se, že propojka IOREF je nastavena na 3,3 V.

Krok 4: Programování

Kód HiFive1:

Před programováním nastavte „Tools-> Board“na desku HiFive1, „Tools-> CPU Clock Frequency“na „256MHz PLL“, „Tools-> Programmer“na „SiFive OpenOCD“a je vybrán správný sériový port.

Budete si také muset stáhnout tuto ultrazvukovou knihovnu a tento PubSubClient a extrahovat je do složky Arduino Libraries, kterou najdete v části „Uživatel-> Dokumenty-> Arduino-> Knihovny“.

ESP32/8266 Kód:

Během programování by deska ESP měla odpojit hardwarové piny Rx a Tx. Po úspěšném nahrání kódu znovu zapojte piny Rx a Tx na ESP, aby byla zajištěna komunikace mezi HiFive1 a ESP.

Pro ESP32-Nastavte „Nástroje-> Deska“na „Vývojový modul ESP32“, „Nástroje-> Programátor“na „AVRISP mkll“a vyberte správný sériový port.

Pro ESP8266-Nastavte „Nástroje-> Deska“na „NodeMCU 1.0 (modul ESP-12E)“, „Nástroje-> Programátor“na „AVRISP mkll“a vyberte správný sériový port.

Odtud byl kód skici vypůjčen s úpravami, které jej měly převést na systém detekce vetřelců.

Krok 5: Nastavení klienta

Nastavení klienta
Nastavení klienta
Nastavení klienta
Nastavení klienta
Nastavení klienta
Nastavení klienta
Nastavení klienta
Nastavení klienta

S touto aplikací jsem použil cloudový MQTT Broker (tento) a telefon Android.

Abyste mohli vše nastavit, budete si muset otevřít účet.

Pomocí poskytnutých snímků obrazovky si projděte nastavení CloudMQTT a aplikace.

Krok 6: Konečný výsledek

Konečný výsledek
Konečný výsledek
Konečný výsledek
Konečný výsledek
Konečný výsledek
Konečný výsledek
Konečný výsledek
Konečný výsledek

Poznámka: Přenosovou rychlost vašeho sériového monitoru byste měli nastavit na 115200, protože to je přenosová rychlost, kterou používáme v našem náčrtu.

Váš konečný výsledek by měl vypadat podobně jako konečné snímky obrazovky

Doporučuje: