Beste Tweakers,
Ik ben al een poosje bezig om een AXA REMOTE 2 te koppelen aan mijn HomeAssistant.
Deze wil ik graag d.m.v. een ESP8266 (Wemos d1 mini) commando's geven om te openen en sluiten. Als de ESP is gestart kan je met IP/commando (192.168.200/open) de AXA aansturen. Tenminste, dat is het idee
Ik heb middels onderstaand schema een opzet gemaakt, deze heb ik werkend gekregen via een FTDI. Als ik de FTDI aansluit op mijn laptop en via een putty open/close/stop stuur dan beweegt de AXA lekker mee!
Helaas lukt het mij niet om dit via de ESP8266. Als ik mijn laptop gebruik om de ESP te voeden en via putty meekijk kan ik via wifi zien dat de commando's langs komen. Echter reageert de AXA niet.
De AXA krijgt zijn voeding via een externe adapter (7,5V). Dit omdat anders de linbus niet werkt!
Ik heb een idee dat het ergens fout gaat met de seriële instellingen, echter heb ik weinig kaas gegeten van coden en hoop dat jullie mij de goede weg op kunnen helpen.
Ik heb de volgende code gebruikt (gevonden op internet):
Mochten jullie andere briljante ingevingen hebben welke resulteren in een oplossing om de AXA aan te sturen hoor ik die uiteraard ook graag.
Ik ben al een poosje bezig om een AXA REMOTE 2 te koppelen aan mijn HomeAssistant.
Deze wil ik graag d.m.v. een ESP8266 (Wemos d1 mini) commando's geven om te openen en sluiten. Als de ESP is gestart kan je met IP/commando (192.168.200/open) de AXA aansturen. Tenminste, dat is het idee

Ik heb middels onderstaand schema een opzet gemaakt, deze heb ik werkend gekregen via een FTDI. Als ik de FTDI aansluit op mijn laptop en via een putty open/close/stop stuur dan beweegt de AXA lekker mee!
Helaas lukt het mij niet om dit via de ESP8266. Als ik mijn laptop gebruik om de ESP te voeden en via putty meekijk kan ik via wifi zien dat de commando's langs komen. Echter reageert de AXA niet.
De AXA krijgt zijn voeding via een externe adapter (7,5V). Dit omdat anders de linbus niet werkt!
Ik heb een idee dat het ergens fout gaat met de seriële instellingen, echter heb ik weinig kaas gegeten van coden en hoop dat jullie mij de goede weg op kunnen helpen.
Ik heb de volgende code gebruikt (gevonden op internet):
C++:
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
94
95
96
97
98
99
100
101
| /* * This sketch reads a command through a http connection * depending on the text received it will send open, stop or close * commands to the Esp8266. the ESP8266 is connected to the Axa Remote 2.0 electric window opener */ #include <ESP8266WiFi.h> const char* ssid = "SSID"; const char* password = "Wachtwoord"; // Create an instance of the server // specify the port to listen on as an argument WiFiServer server(80); void setup() { Serial.begin(19200,SERIAL_8N1); delay(10); // Connect to WiFi network WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } // Start the server server.begin(); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data while(!client.available()){ delay(1); } // Read the first line of the request String req = client.readStringUntil('\r'); client.flush(); // Match the request int val; if (req.indexOf("/open") != -1) open_axa(); else if (req.indexOf("/close") != -1) close_axa(); else if (req.indexOf("/stop") != -1) stop_axa(); else { Serial.println("invalid request"); client.stop(); return; } } void open_axa() { Serial.print("O"); delay(20); Serial.print("P"); delay(20); Serial.print("E"); delay(20); Serial.print("N"); delay(20); Serial.println("\r"); delay(2000); } void close_axa() { Serial.print("C"); delay(20); Serial.print("L"); delay(20); Serial.print("O"); delay(20); Serial.print("S"); delay(20); Serial.print("E"); delay(20); Serial.println("\r"); delay(2000); } void stop_axa() { Serial.print("S"); delay(20); Serial.print("T"); delay(20); Serial.print("O"); delay(20); Serial.print("P"); delay(20); Serial.println("\r"); } |
Mochten jullie andere briljante ingevingen hebben welke resulteren in een oplossing om de AXA aan te sturen hoor ik die uiteraard ook graag.
[Voor 2% gewijzigd door ThinkPad op 13-05-2020 23:38. Reden: code-tag aangepast naar code=c++ voor betere syntax markering :)]