Toon posts:

WallWizard zelf aansturen RS-232 / wifi

Pagina: 1
Acties:

  • thommy86
  • Registratie: September 2010
  • Laatst online: 25-01 15:29
Een aantal jaar geleden heb ik een WallWizard TA-55 gekocht. Dit is een TV beugel die kan kantelen als de TV aangaat. Na een lange tijd geen gebruik te hebben gemaakt van deze functie, leek het mij leuk om de beugel te bedienen met Home Assistant.

Er zijn een aantal manieren waarom de beugel aan te sturen is;

Auto modus: Verbinding via optischekabel naar de tv.
Manuele modus: Met een ir afstandsbediening

Beide situaties zijn niet echt betrouwbaar en ben ik dus opzoek gegaan naar een alternatief. De beugel heeft namelijk een usb aansluiting en een RJ12 aansluiting. De usb kan worden gebruikt voor een niet meer leverbare WallWizard ControlWand Wireless Module.

In de reactie sectie van de ControlWand is de onderstaande opmerking gemaakt, waarin wordt aangegeven wat de pin layout van de RJ12 is.

Nu is mijn vraag hier, Hoe kan ik dit project het beste aanpakken? Ik heb geen verstand van RS232. Mij idee zou zijn om een Wemos D1 mini te gebruiken, alleen weet ik niet of hier perse een TTL tussen zou moeten. Want als dat het geval is, dan ik mijn volgende vraag, hoe moet dit worden aangesloten.

Elk antwoord levert voor mij een vraag op. Graag hoor ik tips en informatie waar ik me in kan verdiepen.

Control via RS232: RJ12 6-4 BAUD 2400
Commandset: x-ARM no CRC / Checksum
RJ12 pinout:
LED side
1 - NC
2 - unknown
3 - OUT (xARM-TX -> PC RX)
4 - GND
5 - IN (xARM-RX <- PC TX)
6 - open
Power/IR side

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:35

ThinkPad

Moderator Wonen & Mobiliteit
RS232 vs TTL: https://www.sparkfun.com/tutorials/215

Mogelijk kun je het ook wel meten, als je de spanning tussen GND en TX meet terwijl je wat opdrachten geeft via de afstandsbediening. Ik acht de kans 99% dat het TTL is en je de ESP8266 er zo op kunt aansluiten.

Maar het aansluiten is één, vervolgens moet je ook commando's sturen. Heb je die al kunnen achterhalen?

N.B. Misschien nog een tussenweg, een IR-transmitter aan een ESP8266 hangen? En dan de IR-LED op de ontvanger vasttapen.

[Voor 43% gewijzigd door ThinkPad op 20-06-2020 16:08]

Gas besparen door CV-tuning | Elektriciteit besparen
Geen vragen via privébericht die ook via het forum kunnen a.u.b.


  • thommy86
  • Registratie: September 2010
  • Laatst online: 25-01 15:29
Thanks voor je reactie!

De commando's weet ik niet, vandaar ook mijn vraag hoe ik dit het beste kan aanpakken.

Ik heb een harmony hub staat en zo geprobeerd de commando's te sturen. Dit heeft voorheen altijd gewerkt alleen reageert de beugel niet goed meer op de ir. Wat hier de oorzaak van is weet ik niet. Vandaar dat dit me een leuk project lijkt.

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:35

ThinkPad

Moderator Wonen & Mobiliteit
Hangt de beugel op een andere plek? Zonlicht bevat ook veel IR-straling, als de zon op de ontvanger schijnt dan zou het goed kunnen dat dit jouw commando's overschreeuwt door ruis.

Gas besparen door CV-tuning | Elektriciteit besparen
Geen vragen via privébericht die ook via het forum kunnen a.u.b.


Acties:
  • 0Henk 'm!

  • thommy86
  • Registratie: September 2010
  • Laatst online: 25-01 15:29
De tv ligt op dit moment op eettafel. IR heb ik wel even getest. IR is met een jack aangesloten. Hier zal ik misschien ook eens naar kunnen kijken. Al ben ik vooral benieuwd naar de mogelijkheden met de RJ12 connector.

Acties:
  • 0Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 21:19
Het zou zo maar eens kunnen zijn dat de commando's van IR hetzelfde zijn over RS232, heb hier ook een apparaat liggen dat je via RF/IR afstandsbediening kunt bedienen maar na een kleine reverse engineering geven zelfs de knoppen aan de voorkant IR codes aan de main cpu,

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 22:13

memphis

48k was toen meer dan genoeg.

Die IR codes kan je uitlezen of simpel sampelen om vervolgens via een processor direct in de ontvanger achter de IR sensor te pompen. Dan zou je alsnog via de USB spanning van de TV of een stroomsensor op de 220v TV stekker een aan/uit signaal maken en die op de processor koppelen

Er zijn mensen die mij een GOD vinden


  • thommy86
  • Registratie: September 2010
  • Laatst online: 25-01 15:29
Ik zal het kastje los moeten maken van de beugel om testen te doen. (Dat gaat niet heel makkelijk)

De IR codes moet ik wel uit kunnen lezen. Ook heb ik de datasheet gevonden van de controller. Voor mij in eerste instantie chinees maar ik ga er eens induiken. Ook heb ik gezien dat er headerpins aanwezig zijn. Een hoop opties om uit te zoeken.




  • FuaZe
  • Registratie: April 2014
  • Laatst online: 23:10
Als je niet weet welke data je moet sturen, wordt RS232/serieel heel lastig.
Neem contact op met de fabrikant, of zij een lijst hebben van commando's.

Daarnaast, je hebt de afstandsbediening? Dan kun je IR makkelijk "afluisteren" en later opnieuw verzenden.

Je moet de emitter wel strak op de ontvanger zetten en als je de afstandsbediening toch niet gaat gebruiken, flink wat zwarte/reflecterende tape er over.

  • ThinkPad
  • Registratie: Juni 2005
  • Laatst online: 21:35

ThinkPad

Moderator Wonen & Mobiliteit
Ik zie een MAX232, dit is een RS232 naar TTL converter. De RJ12 is dus RS232 i.p.v. TTL zoals ik eerder dacht. Maar je kunt met een ESP8266 prima inhaken ná de MAX232 en daar een TTL-signaal injecteren.

Gas besparen door CV-tuning | Elektriciteit besparen
Geen vragen via privébericht die ook via het forum kunnen a.u.b.


  • Sine
  • Registratie: Juni 2001
  • Laatst online: 00:36
Dan nog ... je zult eerst moeten weten wat voor een codes dat ding wilt hebben.

Een datasheet van de controller zegt je niets, dan weet je nog niet wat daar voor een software in draait

Repareren doe je zo.


  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 22:13

memphis

48k was toen meer dan genoeg.

Ik zie overigens een simpele 180SH motor en ergens aan het eind een potmeter die de positie terugkoppelt.

Dus een Aruino/8266 met een H-brug zou het allemaal kunnen vervangen, moet je alleen zelf de code verzinnen

Er zijn mensen die mij een GOD vinden


  • thommy86
  • Registratie: September 2010
  • Laatst online: 25-01 15:29
memphis schreef op dinsdag 23 juni 2020 @ 09:28:
Ik zie overigens een simpele 180SH motor en ergens aan het eind een potmeter die de positie terugkoppelt.

Dus een Aruino/8266 met een H-brug zou het allemaal kunnen vervangen, moet je alleen zelf de code verzinnen
Deze week is mijn vakantie begonnen en heb ik dit project maar eens afgestoft. Ik heb er voor gekozen om een Wemos met een H-bridge te gebruiken.

Het project heb ik eerst op een breadboard gemaakt met de potmeter van de beugel en 2 ledjes als motor. Ik heb het script in ESP Home gemaakt zodat het simpel te integreren is in Home Assistant.

Nu heb ik gister een H-Bridge (5 stuks) binnen gekregen en meteen doorgebrand. Ik had niet goed op het voltage gelet. Maar wat mij opviel is dat die chip heel snel heel warm wordt. Nu is deze applicatie niet zo heel belastend, maar is het nodig om te koelen? En waar moet ik nog meer rekening mee houden?

H-bridge (verkeerde)
H-bridge (Hopelijk de goede, komt vandaag binnen)

Edit:
Inmiddels werkt het sinds een weekje helemaal zoals ik het wilde hebben. De H-bridge is wat groter uitgevallen dan ik had verwacht, maar na wat aanpassingen pasten alles prima.

Hieronder de ESP home code welke ik nu draai. In de calibrate_linear zorg ik voor de afstelling van de motor.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
sensor:
  - platform: adc
    pin: A0
    id: "tv_mount_position"
    name: "tv_mount_position"
    update_interval: 200ms
    filters:
    - calibrate_linear:
        - 0.58 -> 0.00
        - 0.90 -> 1.00
      
output:
  - platform: gpio
    id: 'motor_1a'
    pin: D1
  - platform: gpio
    id: 'motor_1b'
    pin: D2
    
switch:
  - platform: output
    output: 'motor_1a'
    id: motor1a
  - platform: output
    output: 'motor_1b'
    id: motor1b
    
binary_sensor:
  - platform: template
    name: "tv_mount_closed"
    id: "tv_mount_closed"
    lambda: |-
      if (id(tv_mount_position).state > 1.00) {
        // TV mount is open.
        return true;
      } else {
        // TV mount is closed.
        return false;
      }
  - platform: template
    name: "tv_mount_open"
    id: "tv_mount_open"
    lambda: |-
      if (id(tv_mount_position).state < 0.00) {
        // TV mount is closed.
        return true;
      } else {
        // TV mount is open.
        return false;
      }      
  - platform: gpio
    pin: D3
    id: "tv_mount_button"
    filters:
      invert:
    on_press:
      then:    
        - lambda: |
            if (id(tv_mount).position == cover::COVER_OPEN) {
              if (id(motor1a).state){
                id(tv_mount).stop();
              } else {
                id(tv_mount).close();
              }
            } else {
              if (id(motor1b).state){
                id(tv_mount).stop();
              } else {
                id(tv_mount).open();
              }
            }     
                 
cover:
  - platform: template
    name: "TV Mount Full"
    id: tv_mount
    optimistic: true
    has_position: true
    open_action:
      - switch.turn_off: motor1b
      - switch.turn_on: motor1a
      - wait_until:
          binary_sensor.is_on: tv_mount_open
      - switch.turn_off: motor1a
    close_action:
      - switch.turn_off: motor1a
      - switch.turn_on: motor1b
      - wait_until:
          binary_sensor.is_on: tv_mount_closed 
      - switch.turn_off: motor1b
    stop_action:
      - switch.turn_off: motor1a
      - switch.turn_off: motor1b

[Voor 5% gewijzigd door thommy86 op 06-09-2021 13:41]

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee