RTV forum PL | NewsGroups PL

Alternatywa dla ESP8266/ESP32: Jak programować moduł WiFi EMW3165 w C?

Alternatywa dla ESP8266/ESP32? Moduł EMW3165.

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Alternatywa dla ESP8266/ESP32: Jak programować moduł WiFi EMW3165 w C?

Goto page 1, 2, 3  Next

Atlantis
Guest

Sun Oct 28, 2018 8:26 am   



Szukam jakiejś alternatywy dla programowalnych modułów WiFi od
Espressif. Microchip produkował kiedyś moduły WiFi na SPI, które można
było podpiąć do mikrokontrolera. Niestety w chwili obecnej nie ma ich w
polskich sklepach.

Ostatnio natknąłem się na coś takiego:
https://botland.com.pl/moduly-wifi/4390-modul-wifi-emw3165-cortex-m4-.html
https://elty.pl/pl/p/Modul-WiFi-EMW3165-Cortex-M4-zewnetrzna-antena/1682

Tutaj wersja "breadboard friendly", ze zintegrowanym programatorem:
https://allegro.pl/wifi-mcu-stm32f4-wifi-broadcom-lua-emw3165-i6052421775.html

Z opisu wynika, że jest to STM32F4 zamknięty w jednym module z
kontrolerem WiFi.

Ktoś z Was się z tym zetknął? Istnieje możliwość programowania tego nie
w języku Lua, ale normalnie, za pomocą kompilowanego kodu C? Istnieją
jakieś biblioteki, które pozwoliłyby na obsłużenie modułu WiFi i
realizację połączenia sieciowego w standardowy sposób, choćby za pomocą
jakiegoś lwIP?

Jarosław Sokołowski
Guest

Sun Oct 28, 2018 10:57 am   



Atlantis szuka jakiejś alternatywy dla programowalnych modułów WiFi
od Espressif:

Quote:
Microchip produkował kiedyś moduły WiFi na SPI, które można było
podpiąć do mikrokontrolera. Niestety w chwili obecnej nie ma ich
w polskich sklepach.

Ostatnio natknąłem się na coś takiego:
https://botland.com.pl/moduly-wifi/4390-modul-wifi-emw3165-cortex-m4-.html
https://elty.pl/pl/p/Modul-WiFi-EMW3165-Cortex-M4-zewnetrzna-antena/1682

54 zł (słowinie piećdziesiąt cztery złote 00 groszy)! Czy ktoś to w ogóle
kupował za taka kasę?! To jest jakoś istotnie lepsze (widzę, że ma złącze
do zewnętrznej anteny) od modułów za dwa dolary?

https://www.pine64.org/?product=padi-iot-stamp
https://www.pine64.org/?page_id=917

--
Jarek

Marek
Guest

Sun Oct 28, 2018 2:01 pm   



On Sun, 28 Oct 2018 08:26:16 +0100, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
było podpiąć do mikrokontrolera. Niestety w chwili obecnej nie ma
ich w
polskich sklepach.

Jest w polskim farnell, w czym problem? Poza tym jest wiele lokalnych
polskich sklepów, które mają dostępny asortyment farnella (np.
wekton.com.pl) wystarczy zamówić u nich i przyślą.

--
Marek

M.L
Guest

Mon Oct 29, 2018 7:58 am   



W dniu 28.10.2018 o 08:26, Atlantis pisze:

Quote:
Ktoś z Was się z tym zetknął? Istnieje możliwość programowania tego nie
w języku Lua, ale normalnie, za pomocą kompilowanego kodu C? Istnieją
jakieś biblioteki, które pozwoliłyby na obsłużenie modułu WiFi i
realizację połączenia sieciowego w standardowy sposób, choćby za pomocą
jakiegoś lwIP?


Wiesz oczywiście, że ESP8266 oraz ESP32 można programować za pomocą C?

Ze stron poniżej możesz pobrać (za free lub, jeśli chcesz wspomóc
autora, za niewielką kasę) książki na ten temat

https://leanpub.com/ESP8266_ESP32
https://leanpub.com/kolban-ESP32

--
Mariusz

Atlantis
Guest

Mon Oct 29, 2018 8:16 am   



On 29.10.2018 07:58, M.L wrote:

Quote:
Wiesz oczywiście, że ESP8266 oraz ESP32 można programować za pomocą C?

Wiem. Problem zaczyna się wtedy, gdy trafiasz na jakiś nietypowy problem
i zupełnie nikt nie wie jak go rozwiązać, bo znaczna część użytkowników
tej platformy to raczej początkujący miłośnicy Arduino. Potem
przedzierasz się przez fora żeby dowiedzieć się w jaki sposób
zmodyfikować Makefile, żeby to co robisz zadziałało.
Natomiast taki STM32 jest w chwili obecnej niemal standardem, więc gdyby
miało się okazać, że istnieje moduł zawierający taki MCU, WiFi i zestaw
bibliotek potrafiących to ogarnąć w sposób standardowy, o chyba warto
byłoby mu się bliżej przyjrzeć.

Grzegorz Niemirowski
Guest

Mon Oct 29, 2018 11:19 pm   



Atlantis <marekw1986NOSPAM@wp.pl> napisał(a):
Quote:
Wiem. Problem zaczyna się wtedy, gdy trafiasz na jakiś nietypowy problem
i zupełnie nikt nie wie jak go rozwiązać, bo znaczna część użytkowników
tej platformy to raczej początkujący miłośnicy Arduino. Potem
przedzierasz się przez fora żeby dowiedzieć się w jaki sposób
zmodyfikować Makefile, żeby to co robisz zadziałało.

Obawiam się, że nie ma popularniejszej, a więc więc mającej teoretycznie
lepsze wsparcie, platformy. Zawsze możesz zapytać na Elektrodzie (klimat
jest jaki jest, ale przynajmniej można spotkać kompetetnych ludzi) albo
podrzucić tutaj linka do źródeł jeśli nie są tajne.

Quote:
Natomiast taki STM32 jest w chwili obecnej niemal standardem, więc gdyby
miało się okazać, że istnieje moduł zawierający taki MCU, WiFi i zestaw
bibliotek potrafiących to ogarnąć w sposób standardowy, o chyba warto
byłoby mu się bliżej przyjrzeć.

Niestety ST nie opracowało jeszcze czegoś takiego i w sumie jest to dziwne.
W przypadku BLE nie mieli problemu (układy BlueNRG-1/2).

--
Grzegorz Niemirowski
https://www.grzegorz.net/

cezar
Guest

Tue Oct 30, 2018 8:35 am   



On 28/10/2018 07:26, Atlantis wrote:
Quote:
Szukam jakiejś alternatywy dla programowalnych modułów WiFi od
Espressif. Microchip produkował kiedyś moduły WiFi na SPI, które można
było podpiąć do mikrokontrolera. Niestety w chwili obecnej nie ma ich w
polskich sklepach.

Ostatnio natknąłem się na coś takiego:
https://botland.com.pl/moduly-wifi/4390-modul-wifi-emw3165-cortex-m4-.html
https://elty.pl/pl/p/Modul-WiFi-EMW3165-Cortex-M4-zewnetrzna-antena/1682

Tutaj wersja "breadboard friendly", ze zintegrowanym programatorem:
https://allegro.pl/wifi-mcu-stm32f4-wifi-broadcom-lua-emw3165-i6052421775.html

Z opisu wynika, że jest to STM32F4 zamknięty w jednym module z
kontrolerem WiFi.

Ktoś z Was się z tym zetknął? Istnieje możliwość programowania tego nie
w języku Lua, ale normalnie, za pomocą kompilowanego kodu C? Istnieją
jakieś biblioteki, które pozwoliłyby na obsłużenie modułu WiFi i
realizację połączenia sieciowego w standardowy sposób, choćby za pomocą
jakiegoś lwIP?



jest sporo alternatyw ale uwierz mi ze jezeli o wsparcie, community,
dokumentacje i mozliwosci to nie ma nic lepszego niz ESP8266 i ESP32

Marek
Guest

Tue Oct 30, 2018 10:00 am   



On Tue, 30 Oct 2018 07:35:24 +0000, cezar <cezar91@tlen.pl.nospam>
wrote:
Quote:
jest sporo alternatyw ale uwierz mi ze jezeli o wsparcie,
community,
dokumentacje i mozliwosci to nie ma nic lepszego niz ESP8266 i ESP32

Nie wiem jak jest teraz ale jak rok temu intesowalem się ESP8266 i
ESP32 to nigdzie nie mogłem znaleźć źródeł stosu tcpip używanego w
tych mcu oraz jaka jest organizacja softu. Wszędzie wyglądało, z user
ładuje ttylko swój kod a reszta siedzi gdzieś w środku, to mnie
trochę zniechęciło, bo to wyglądało jak typowy blackbox. Jak jest
teraz?

--
Marek

Atlantis
Guest

Tue Oct 30, 2018 10:36 am   



On 29.10.2018 23:19, Grzegorz Niemirowski wrote:

Quote:
Obawiam się, że nie ma popularniejszej, a więc więc mającej teoretycznie
lepsze wsparcie, platformy. Zawsze możesz zapytać na Elektrodzie (klimat
jest jaki jest, ale przynajmniej można spotkać kompetetnych ludzi) albo
podrzucić tutaj linka do źródeł jeśli nie są tajne.

Dyskusja toczyła się parę wątków wyżej.
Tak naprawdę mój projekt jest modyfikacją tego kodu:
https://github.com/Spritetm/esphttpd

Udało mi się już dojść do tego, co jest powodem problemów. Całkowicie
zapełniona zostaje sekcja ".text" (fragment RAM-u, do którego trafiają
funkcje, które powinny być wykonywane jak najszybciej). Wygenerowałem
mapę i okazuje się, że trafia tam sporo kodu, który (jak dla mnie)
mógłby się wykonywać bezpośrednio z flasha: funkcje systemowe,
biblioteka standardowa oraz całkiem sporo kodu odpowiedzialnego za
działanie serwera www. Okazuje się, że autor biblioteki libesphttpd
wrzucił do projektu gotowe fragmenty kodu do obsługi systemu plików, nie
przypisując funkcjom atrybutów ICACHE_FLASH_ATTR, przez co są one
umieszczane w RAM-ie. To jeszcze mógłbym ręcznie poprawić.
Moje obawy budzi jednak jeszcze jeden fakt - biblioteki te odwołują się
m.in. do stdio.h, a z tego co kiedyś czytałem, na ESP8266 nie jest to
zalecane z uwagi na sposób w jaki biblioteka korzysta z funkcji
memloc(). Z tego co pamiętam w SDK udostępnione są zamienniki
najczęściej używanych funkcji z stdio i to z nich powinno się korzystać.

No i jak to już ktoś napisał. Może i ESP8266 jest popularną platformą,
ale nie wiem kto wpadł na tak idiotyczny pomysł, żeby umieszczenie
funkcji we flashu wymagało osobnego atrybutu, a domyślnie trafiała ona
do obszaru RAM-u o rozmiarze zaledwie 32kB...

Nie wiem czy w chwili obecnej jedyną rozsądną alternatywą nie będą dla
mnie moduły od Microchipa. Są co prawda zauważalnie droższe, ale łatwo
zintegrować je z istniejącymi projektami opartymi na ENC28J60,
wykorzystującymi biblioteki MLA (z Harmony jeszcze nie
eksperymentowałem). Ten temat mam już w miarę rozpracowany. Może z
wyższą ceną związana będzie też nieco lepsza jakość?

cezar
Guest

Tue Oct 30, 2018 11:36 am   



On 30/10/2018 09:00, Marek wrote:
Quote:
On Tue, 30 Oct 2018 07:35:24 +0000, cezar <cezar91@tlen.pl.nospam> wrote:
jest sporo alternatyw ale uwierz mi ze jezeli o wsparcie, community,
dokumentacje i mozliwosci to nie ma nic lepszego niz ESP8266 i ESP32

Nie wiem jak jest teraz ale jak rok temu intesowalem się ESP8266 i ESP32
to nigdzie nie mogłem znaleźć źródeł stosu tcpip używanego w tych mcu
oraz jaka jest organizacja softu. Wszędzie wyglądało, z user ładuje
ttylko swój kod a reszta siedzi gdzieś w środku, to mnie trochę
zniechęciło, bo to wyglądało jak typowy blackbox.  Jak jest teraz?



Nie wiem jak jest esp8266 tetaz ale śledze esp32 od początku i bardzo mu
kibicowałem.

Zobacz tutaj:

https://github.com/espressif/esp-idf
Masz tam cały development kit bazujący na FreeRTOS

Polecam pooglądać filmy od tego gościa (jeśli nie przeszkadza Ci
Angielski z niemieckim akcentem)

https://www.youtube.com/channel/UCvsMfEoIu_ZdBIgQVcY_AZA/search?query=esp32

c.

Grzegorz Niemirowski
Guest

Tue Oct 30, 2018 11:43 am   



Atlantis <marekw1986NOSPAM@wp.pl> napisał(a):
Quote:
Dyskusja toczyła się parę wątków wyżej.
Tak naprawdę mój projekt jest modyfikacją tego kodu:
https://github.com/Spritetm/esphttpd

Pamiętam, ale zawsze jest łatwiej gdy widzi się kompletny kod :)

Quote:
Moje obawy budzi jednak jeszcze jeden fakt - biblioteki te odwołują się
m.in. do stdio.h, a z tego co kiedyś czytałem, na ESP8266 nie jest to
zalecane z uwagi na sposób w jaki biblioteka korzysta z funkcji
memloc(). Z tego co pamiętam w SDK udostępnione są zamienniki
najczęściej używanych funkcji z stdio i to z nich powinno się korzystać.

Wcale nie tak rzadko korzysta się z zamienników standardowego stdio. Ze
względu na ograniczenia mikrokontrolerów ludzie piszą swoje własne, np.
tinyprintf http://www.sparetimelabs.com/tinyprintf/tinyprintf.php A nawet to
standardowe stdio jest okrajane i np. wymaga dodatkowych przełaczników
llinkera żeby działało %f

Quote:
No i jak to już ktoś napisał. Może i ESP8266 jest popularną platformą,
ale nie wiem kto wpadł na tak idiotyczny pomysł, żeby umieszczenie
funkcji we flashu wymagało osobnego atrybutu, a domyślnie trafiała ona
do obszaru RAM-u o rozmiarze zaledwie 32kB...

Być może jest to idiotyczne, ale z mojej przygody z Blackfinem pamiętam, że
tam było tak samo :)

Quote:
Nie wiem czy w chwili obecnej jedyną rozsądną alternatywą nie będą dla
mnie moduły od Microchipa. Są co prawda zauważalnie droższe, ale łatwo
zintegrować je z istniejącymi projektami opartymi na ENC28J60,
wykorzystującymi biblioteki MLA (z Harmony jeszcze nie
eksperymentowałem). Ten temat mam już w miarę rozpracowany. Może z
wyższą ceną związana będzie też nieco lepsza jakość?

Gdybyś coś z nimi robił, to będe wdzięczny za podzielenie się wrażeniami na
grupie.

--
Grzegorz Niemirowski
https://www.grzegorz.net/

cezar
Guest

Tue Oct 30, 2018 11:52 am   



On 30/10/2018 07:35, cezar wrote:
Quote:
On 28/10/2018 07:26, Atlantis wrote:
Szukam jakiejś alternatywy dla programowalnych modułów WiFi od
Espressif. Microchip produkował kiedyś moduły WiFi na SPI, które można
było podpiąć do mikrokontrolera. Niestety w chwili obecnej nie ma ich w
polskich sklepach.

Ostatnio natknąłem się na coś takiego:
https://botland.com.pl/moduly-wifi/4390-modul-wifi-emw3165-cortex-m4-.html

https://elty.pl/pl/p/Modul-WiFi-EMW3165-Cortex-M4-zewnetrzna-antena/1682

Tutaj wersja "breadboard friendly", ze zintegrowanym programatorem:
https://allegro.pl/wifi-mcu-stm32f4-wifi-broadcom-lua-emw3165-i6052421775.html


Z opisu wynika, że jest to STM32F4 zamknięty w jednym module z
kontrolerem WiFi.

Ktoś z Was się z tym zetknął? Istnieje możliwość programowania tego nie
w języku Lua, ale normalnie, za pomocą kompilowanego kodu C? Istnieją
jakieś biblioteki, które pozwoliłyby na obsłużenie modułu WiFi i
realizację połączenia sieciowego w standardowy sposób, choćby za pomocą
jakiegoś lwIP?



jest sporo alternatyw ale uwierz mi ze jezeli o wsparcie, community,
dokumentacje i mozliwosci to nie ma nic lepszego niz ESP8266 i ESP32



Jeszcze jedna zabawka, którą się bawiłem i działa wyśmienicie:


https://labs.mediatek.com/en/chipset/MT7688#HDK

Wersja bez atmela na pokładzie jest do dostania za 10-15 dolców.

No ale bez 500mA nie podchodź....

c.

Grzegorz Niemirowski
Guest

Tue Oct 30, 2018 12:43 pm   



Marek <fake@fakeemail.com> napisał(a):
Quote:
Nie wiem jak jest teraz ale jak rok temu intesowalem się ESP8266 i ESP32
to nigdzie nie mogłem znaleźć źródeł stosu tcpip używanego w tych mcu oraz
jaka jest organizacja softu.

W przypadku ESP8266 używane jest lwip (źródła w SDK, katalog
ESP8266_NONOS_SDK-2.1.0\examples\lwip_open_src_template_proj\lwip\)

Quote:
Wszędzie wyglądało, z user ładuje ttylko swój kod a reszta siedzi gdzieś w
środku, to mnie trochę zniechęciło, bo to wyglądało jak typowy blackbox.

Pytanie czy rzeczywiście musisz mieć źródła wszystkiego i wszystko
kontrolować. W wielu przypadkach tak formuła będzie ułatwieniem.

Quote:
Jak jest teraz?

Z tego co wiem to podobnie. Na ESP8266 była funkcja user_init() a na ESP32
jest app_main(). Funkcje te inicjują Twój kod. Reszta Twojego kodu reaguje
na zdarzenia. Można korzystać z FreeRTOS i tworzyć taski.

--
Grzegorz Niemirowski
https://www.grzegorz.net/

Marek
Guest

Tue Oct 30, 2018 2:30 pm   



On Tue, 30 Oct 2018 10:36:48 +0100, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
przypisując funkcjom atrybutów ICACHE_FLASH_ATTR, przez co są one
umieszczane w RAM-ie.

W jakim celu? Serio w zastosowaniu do httpd było to konieczne na tym
mcu?

--
Marek

Marek
Guest

Tue Oct 30, 2018 2:35 pm   



On Tue, 30 Oct 2018 12:43:17 +0100, "Grzegorz Niemirowski"
<gnthexfiles@poczta.onet.pl> wrote:
Quote:
Z tego co wiem to podobnie. Na ESP8266 była funkcja user_init() a
na ESP32
jest app_main(). Funkcje te inicjują Twój kod. Reszta Twojego kodu
reaguje
na zdarzenia. Można korzystać z FreeRTOS i tworzyć taski.

To wiem, ale czy kod stosu tcpip jest linkowany za każdym razem z
usercode i tak całość flashowana czy usercode jest osobno flashowany?

--
Marek

Goto page 1, 2, 3  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Alternatywa dla ESP8266/ESP32: Jak programować moduł WiFi EMW3165 w C?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map