Spisu treści:

Wykrywanie intruzów Arduino HiFive1 z alertami MQTT przy użyciu ESP32 lub ESP8266: 6 kroków
Wykrywanie intruzów Arduino HiFive1 z alertami MQTT przy użyciu ESP32 lub ESP8266: 6 kroków

Wideo: Wykrywanie intruzów Arduino HiFive1 z alertami MQTT przy użyciu ESP32 lub ESP8266: 6 kroków

Wideo: Wykrywanie intruzów Arduino HiFive1 z alertami MQTT przy użyciu ESP32 lub ESP8266: 6 kroków
Wideo: Wykrywanie intruzów w złych warunkach oświetleniowych 2024, Lipiec
Anonim
Wykrywanie intruzów Arduino HiFive1 z alertami MQTT przy użyciu ESP32 lub ESP8266
Wykrywanie intruzów Arduino HiFive1 z alertami MQTT przy użyciu ESP32 lub ESP8266

HiFive1 to pierwsza kompatybilna z Arduino płytka oparta na RISC-V, zbudowana z procesorem FE310 firmy SiFive. Płyta jest około 20 razy szybsza niż Arduino UNO, ale podobnie jak płyta UNO, nie ma łączności bezprzewodowej.

Na szczęście na rynku dostępnych jest kilka niedrogich modułów, które łagodzą to ograniczenie. W tym samouczku użyłem ESP32 lub ESP8266 w celu uzyskania łączności bezprzewodowej. Pomimo tego, jak tani jest ESP-01, ze względu na konieczność zaprogramowania go szkicem Arduino, ESP-01 był mniej praktycznym rozwiązaniem. Aby zaprogramować ESP-01, potrzebuje zewnętrznego adaptera USB na ESP-01, którego nie miałem w czasie tworzenia tego samouczka. (Jeśli jesteś zainteresowany użyciem HiFive1 z ESP-01, skorzystaj z tego linku) Rozważałem również użycie Arduino Shield, ale skończyłem z ESP8266/32 ze względu na stosunkowo wysoką cenę, jaką ma większość tarcz.

Ten projekt skupi się na stworzeniu systemu wykrywania intruzów, który będzie działał poprzez wysyłanie powiadomienia do MQTT Broker za każdym razem, gdy czujnik ultradźwiękowy (SRF05) wykryje obiekt przekraczający jego linię wzroku.

Materiały potrzebne do tego projektu:

  • Płyta HiFive1 (można kupić tutaj)
  • Moduł deweloperski ESP32 lub NodeMCU ESP8266 1.0
  • Rezystor 10k x 2
  • rezystor 1k
  • Deska do krojenia chleba
  • kabel połączeniowy x 6
  • Moduł ultradźwiękowy SRF05
  • Urządzenie przenośne

Krok 1: Konfiguracja środowiska

Konfigurowanie środowiska
Konfigurowanie środowiska

Zainstaluj Arduino IDE

1. Postępuj zgodnie z instrukcjami, aby zainstalować pakiet Arduino płyty HiFive1 i sterownik USB.

2. Zainstaluj pakiet płyt ESP32 lub ESP8266 dodając odpowiedni adres URL do "Plik->Preferencje->Additional Boards Manager":

  • ESP8266 -
  • ESP32 -

Krok 2: Okablowanie ESP32

Okablowanie ESP32
Okablowanie ESP32
Okablowanie ESP32
Okablowanie ESP32

Jeśli używasz ESP8266, przejdź do kroku 3.

Ważne: SRF05 jest dostępny w 2 wersjach pinout, które są lustrzanymi wersjami siebie, upewnij się, że masz ten sam moduł co mój, korzystając z poniższego linku.

Aby uzyskać więcej informacji technicznych na temat SRF05, kliknij ten link.

GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05) DI/O 11 (HiFive1) - > Styk wyzwalający (SRF05)DI/O 12 (HiFive1) - > Styk echa (SRF05)DI/ O 5 (HiFive1) -> Tx (ESP32) DI/O 6 (HiFive1) -> Rx (ESP32)

Uwaga: Upewnij się, że zworka IOREF jest ustawiona na 3,3v.

Krok 3: Okablowanie ESP8266

Okablowanie ESP8266
Okablowanie ESP8266
Okablowanie ESP8266
Okablowanie ESP8266

Ważne: SRF05 jest dostępny w 2 wersjach pinout, które są lustrzanymi wersjami siebie nawzajem, upewnij się, że masz ten sam moduł co mój, korzystając z poniższego linku.

Aby uzyskać więcej informacji technicznych na temat SRF05, kliknij ten link

GND (HiFive1) - > GND (SRF05)5v (HiFive1) - > VCC (SRF05)DI/O 11 (HiFive1) - > Styk wyzwalający (SRF05) DI/O 12 (HiFive1) - > Styk echa (SRF05) DI/ O 5 (HiFive1) -> Tx (ESP8266)DI/O6 (HiFive1) -> Rx (ESP8266)

Uwaga: Upewnij się, że zworka IOREF jest ustawiona na 3,3V.

Krok 4: Programowanie

Kod HiFive1:

Przed programowaniem ustaw "Tools->Board" na płytkę HiFive1, "Tools->CPU Clock Frequency" na "256MHz PLL", "Tools->Programmer" na "SiFive OpenOCD" i wybierz właściwy port szeregowy.

Będziesz także musiał pobrać tę bibliotekę Ultrasonic i ten PubSubClient i wyodrębnić je do folderu Arduino Libraries znajdującego się w "User->Documents->Arduino->Libraries".

ESP32/8266 Kod:

Podczas programowania płyta ESP powinna mieć odłączone sprzętowe styki Rx i Tx. Po pomyślnym przesłaniu kodu ponownie podłącz styki Rx i Tx na ESP, aby zapewnić komunikację między HiFive1 a ESP.

Dla ESP32 - Ustaw "Tools->Board" na "ESP32 Dev Module", "Tools->Programmer" na "AVRISP mkll" i wybierz odpowiedni port szeregowy.

Dla ESP8266 - Ustaw "Tools->Board" na "NodeMCU 1.0 (Moduł ESP-12E)", "Tools->Programmer" na "AVRISP mkll" i wybierz odpowiedni port szeregowy.

Kod szkicu został stąd zapożyczony z modyfikacjami, aby przekształcić go w system wykrywania intruzów.

Krok 5: Konfiguracja klienta

Konfiguracja klienta
Konfiguracja klienta
Konfiguracja klienta
Konfiguracja klienta
Konfiguracja klienta
Konfiguracja klienta
Konfiguracja klienta
Konfiguracja klienta

Użyłem brokera MQTT w chmurze (tego) i telefonu z Androidem z tą aplikacją.

Aby wszystko skonfigurować, musisz otworzyć konto.

Użyj dostarczonych zrzutów ekranu, aby przejść przez konfigurację CloudMQTT i aplikacji.

Krok 6: Wynik końcowy

Ostateczny wynik
Ostateczny wynik
Ostateczny wynik
Ostateczny wynik
Ostateczny wynik
Ostateczny wynik
Ostateczny wynik
Ostateczny wynik

Uwaga: Powinieneś ustawić szybkość transmisji monitora szeregowego na 115200, ponieważ jest to szybkość transmisji, której używamy w naszym szkicu.

Twój końcowy wynik powinien wyglądać podobnie do końcowych zrzutów ekranu

Zalecana: