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:
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:
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:
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