Jest to poradnik podłączenia modułu WiFi ESP8266 do BluePilla STM32 z wykorzystaniem CubeIDE (w innym poradniku pokazałem konfigurację z Arduino IDE, ale to jednak coś zupełnie innego).
Hardware
Z kartą WIFI komunikujemy się poprzez UART (w moim przypadku to UART2, ale można to zmienić). Schemat połączeń jest podobny jak w przypadku ArduinoIDE:
http://fx-team.fulara.com/stm32-wifi-helloworld/
Jak zwykle w przypadku UART łączymy linie na krzyż RX-TX oraz TX-RX. Prędkość połączenia – przypominam – to 115200 w przypadku nowych ESP8266 – starsze działały na 9600, wszystko opisane jest w ww. poradniku.
Polecenia AT Hayesa
Polecenia te służą do komunikacji z kartą WiFi, między innymi za ich pomocą:
- Resetujemy kartę
- Łączymy się z siecią WiFi zabezpieczoną za pomocą nazwy i hasła
- Ustawiamy tryb pracy (stacja robocza/Access Point)
- sprawdzamy pArzydzielony adres IP
- konfigurujemy serwer www (do 4 jednoczesnych połączeń max)
- obsługujemy żądania www (protokół HTTP)
- oraz inne czynności
Spis poleceń AT Hayesa obsługiwanych przez ESP8266 znajdziecie tu:
http://room-15.github.io/blog/2015/03/26/esp8266-at-command-reference
Jeśli macie FTDI – można bez użycia STM32 połączyć się bezpośrednio z WIFI i np. z lokalną siecią WIFI – sprawdzić potem przydzielony adres, zakończyć połączenie itp.
Software
Zasada pisania naszego oprogramowania inaczej, niż w przypadku ArduinoIDE opierać się będzie głównie na przerwaniach. My będziemy wysyłać do karty polecenia AT bezpośrednio, a wszystko co przychodzi obsłuży funkcja przerwania, którą należy standardowo WŁĄCZYĆ w CubeMX dla naszego wybranego UART (UART2).
Inicjalizacja karty
Funkcja wifi_init() będzie inicjować pracę WiFi ustawiamy tam m. in ID_SIECI_WIFI oraz HASLO_WIFI prawidłowe dla naszej sieci
c.d.n.