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.

C++