SpeakerSwitch

Przełącznik głośników.

Układ pozwala przełączać zestawy głośników.

Jeśli mamy dwa zestawy głośników w różnych miejscach, np. w domu i na tarasie to możemy sobie załączyć zestaw głośników w domu, na tarasie lub oba zestawy razem.
W urządzeniu wykorzystany został moduł WeMos D1 mini i przekaźniki RM84 na 5V.
Nie we wszystkich wzmacniaczach mocy można podłączać równolegle głośniki. Takie podłączenie zwiększa obciążenie wzmacniacza co może powodować zniekształcenia dźwięku, lub uszkodzenie wzmacniacza.
Dlatego jeśli już decydujemy się na podłączenie dodatkowych głośników, to należy zmniejszyć wysterowanie głośników.

Widok wnętrza przełącznika.
Schemat układu.

Link do pliku schematu w formacie pdf. SpeakerSwitch-sch.

Widok PCB od góry.
Widok PCB od spodu.

Schemat i PCB zrobione za pomocą KiCad. Wykaz części do budowy urządzenia na schemacie. Pliki dostępne tutaj.

Obudowa opracowana za pomocą FreeCad i wydrukowana na drukarce 3D Alunar M506 (Anet A6). Pliki dostępne tutaj.

Oprogramowanie utworzone za pomocą Aduino. Wersja polska stron www jest dostępna poprzez usunięcie komentarza w linii #define POLISH w pliku WebWiFiScan.cpp. Dostępne tutaj.

Widok strony www.

Sterowanie głośników jest za pomocą przycisków na stronie www.

SpeakerA – ON” (kolor czerwony) – załączone głośniki A.
SpeakerB – ON” (kolor czerwony) – załączone głośniki B.
SpeakersA+B – OFF” (kolor zielony) – załączone głośniki zgodnie z poprzednimi przyciskami.
SpeakersA+B – ON” {kolor czerwony) – załączone oba zestawy głośników.

Sterowanie zdalne.
W stanie normalnym (bez zasilania) załączone są głośniki A.
http://IP/speaker/B – załącza tylko głośniki B, rozłącza pozostałe
http://IP/speaker/A – załącza tylko głośniki A. rozłącza pozostałe
http://IP/speakerAB/1 – załącza wszystkie głośniki A i B.
http://IP/speakerAB/0 – rozłącza pracę równoległą głośników, załączone głośniki A lub B zależy od stanu przełączników „SpeakerA – ON” lub „SpeakerB- ON„.

http://IP/speaker/get – zwraca stan przełączników (A, B lub AB).

Przy pierwszym uruchomienou należy:

  1. Połączyć się z siecią WiFi SpeakerSwitch (password: 12345678 można zmienić w pliku SpeakerSwitch.ino). 
  2. W przeglądarce www wpisać http://192.168.4.1
  3.  Gdy strona www się uruchomi należy wybrać „Scan the WiFi Network„,
  4. Po krótkiej chwili na ekranie ukarze się tabela z dostępnymi sieciami WiFi.
    Należy zaznaczyć tę sieć, z którą chcemy się połączyć,
    wpisać hasło do tej sieci i wcisnąć „Connect„.
  5. Jeśli nie popełniłeś żadnego błędu, po krótkiej chwili na ekranie będzie komunikat, że połączono z siecią WiFi i wyświetlony będzie adres IP naszego urządzenia w tej sieci. Należy zapamiętać ten IP – potrzebny do łączenia się z naszym urządzeniem.
  6. Jeśli nie uzysksz połączenia, czynność tę należy powtórzyć (4 i 5).
  7. Po połączeniu z wybrany WiFi układ przełącza się w stan STATION i po 5 minutach przestaje być widoczna sieć WiFi SpeakerSwitch. Po zerwaniu połączenia z naszą siecią, ponownie jest dostępna sieć WiFi SpeakerSwitch.

Teraz możesz połączyć się z wybraną  siecią WiFi i połączyć się z urządzeniem;

http://IP (IP naszego urządzenia).

http://IP/update – wgrywanie nowego oprogramowania przez www. User: admin, password: esp8266.  Można zmienić w pliku WebWiFiScan.cpp. Postępować zgodnie z tym co na ekranie.

Podczas testowania zauważyłem, że jeśli w pobliżu jest dużo sieci WiFi, i podczas skanowania WiFi następuje reset urządzenia (nie wyświetla dostępnych sieci WiFi), to należy zmienić kanał w urządzeniu. U mnie na kanale 5 były problemy, ale po zmianie na kanał 2 problemy znikły. W module WeMos D1 min jest niebieski LED, który świeci gdy brak połączenia z WiFi, gaśnie po uzyskaniu połączenia. Podczas resetowania zapala się i gaśnie nieregularnie.

Wszelkie zmiany będę uzupełniał na bieżąco.

9 odpowiedzi na “SpeakerSwitch”

    1. Hello
      I placed a link to the file SpeakerSwitch-sch.pdf.
      The website has links to files in KiCad and FreeCad.

      Regards

      Jan

    1. The simplest solution that occurred to me.
      In the configuration.yaml file, you fill the line:
      switch:! include switches.yaml
      Create the switches.yaml file.
      Enter it:
      – platform: command_line
      switches:
      speaker:
      command_on: curl -X POST http://10.110.1.1/speaker/B
      command_off: curl -X POST http://10.11.1.1/speaker/A
      friendly_name: „SpeakerB”
      command_state: curl -X GET http://10.110.1.1/speaker/
      speakers:
      command_on: curl -X POST http://10.110.1.1/speakerAB/1
      command_off: curl -X POST http://10.110.1.1/speakerAB/0
      command_state: curl -X GET http://10.110.1.1/speaker/
      friendly_name: „SpeakersAB”
      # Change IP to yours.

    2. New file switches.yaml

      – platform: command_line
      switches:
      speaker:
      friendly_name: „SpeakerB”
      command_on: 'curl -X POST http://10.110.1.1/speaker/B
      command_off: 'curl -X POST http://10.110.1.1/speaker/A
      command_state: 'curl -X GET http://10.110.1.1/speaker/get
      value_template: '{{value==”B”}}’
      speakers:
      friendly_name: „SpeakersAB”
      command_on: 'curl -X POST http://10.110.1.1/speakerAB/1
      command_off: 'curl -X POST http://10.110.1.1/speakerAB/0
      command_state: 'curl -X GET http://10.110.1.1/speaker/get
      value_template: '{{value==”AB”}}’

Skomentuj JN Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *