Smart DGM
Bez przepięcia standardowego uarta na uart1 lub na io13,15 sama zmiana funkcji ponów nic Ci nie da chyba, że przerobisz uart.c
1. Ale jak rozumiem wykonanie funkcji system_uart_swap() załatwia w/w ?
2. Nie widzę nigdzie pliku uart.c , jedynie uart.h
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
system_uart_swap() przepina stdio z uart0 na uart1.
Przepięcie uart0 na io13,15 robi się tak
https://github.com/nodemcu/nodemcu-firm ... ver/uart.c
Przepięcie uart0 na io13,15 robi się tak
Kod: Zaznacz cały
PIN_PULLUP_EN(PERIPHS_IO_MUX_MTCK_U);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_U0CTS);
PIN_PULLUP_DIS(PERIPHS_IO_MUX_MTDO_U);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_U0RTS);
IOSWAP |= (1 << IOSWAPU0);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3);
Najwyraźniej źle programuję port GPIO3, ponieważ na jednym styku przełącznika (tym podłaczonym jakoś do GPIO3) jest potencjał prawie zerowy. Tak jakby pullup nie podciągał tego wejścia do Vcc. To by tłumaczyło dlaczego przełącznik nie generuje przerwań od zbocza (jedynie poprzez zakłócenia). Może ktoś używał wejścia GPIO3 do innych celów niż RS232 i podpowie jak to oprogramować.
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Ja używam i nie ma problemu z przerwaniami. Podłącz oscyloskop i sprawdź
co tam się dzieje.
co tam się dzieje.
@Marco79 dał linka do takiego kodu
Kod: Zaznacz cały
esphome:
name: PPW162
platform: ESP8266
board: esp01_1m
wifi:
ssid: …
password: …
logger:
api:
ota:
binary_sensor:
- platform: gpio
pin:
number: GPIO3
mode: INPUT_PULLUP
inverted: true
name: "Button"
on_press:
- switch.toggle: relay
sensor:
- platform: hlw8012
sel_pin:
number: GPIO12
inverted: true
cf_pin: 4
cf1_pin: 5
current:
name: "Current"
voltage:
name: "Voltage"
power:
name: "Power"
update_interval: 1s
voltage_divider: 800
current_resistor: 0.0023
switch:
- platform: gpio
name: "Relay"
pin: GPIO14
id: relay
status_led:
pin:
number: GPIO13
inverted: yes
@up rozumiem, że kalibracja, dioda etc, wszystko już jest i brakuje tylko fizycznego przycisku? Mam od kilku dni moduł BlizWolf za inverterem solarnym i mało jest odporny na zakłócenia. Czasami jak się włącza jakieś urządzenie wyłącza się w nim przekaźnik i trzeba go z przycisku bądź aplikacji ponownie włączyć i to jest duży problem. Mam nadzieję, że ten moduł nie będzie miał tego problemu a fizyczny przycisk jak będzie wszystko ok tam mi nie jest potrzebny.
Jest do pobrania firmware bez obsługi przycisku. Pozostałe funkcje działają. Z krótkiego testu wygląda na to, że jest dość odporny na zakłócenia. Tymczasowy brak obsługi przycisku powoduje, że jeśli chcemy wprowadzić współczynniki kalibracji musimy ponownie wyczyścić pamięć, wgrać firmware i przy ponownej konfiguracji wpisać poprawne współczynniki.
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54