Aktywne Wpisy
Arekt +12
Pytanie do osób mieszkających w dużych miastach jak #poznan #warszawa #wroclaw #krakow #gdansk
Czy chcielibyście ograniczenia samochodów osobowych do minimum w centrum, jeśli miasto zrobiłoby zajebista infrastrukturę do podróżowania komunikacją miejską, zredukowanie zapchanych autobusów/tramwajow do minimum, częstsze kursy, więcej tras, dodanie pociągów itd i wszystko przy obniżonej cenie biletów.
Czy chcielibyście ograniczenia samochodów osobowych do minimum w centrum, jeśli miasto zrobiłoby zajebista infrastrukturę do podróżowania komunikacją miejską, zredukowanie zapchanych autobusów/tramwajow do minimum, częstsze kursy, więcej tras, dodanie pociągów itd i wszystko przy obniżonej cenie biletów.
Zgodzilibyście
- Tak 57.6% (2166)
- Nie 42.4% (1593)
Zawiera treści 18+
Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.
Ostatnie nad czym się zastanawiam - może mnie ktoś wyprowadzi z błędu lub wskaże dobrą drogę. Mam sobie dwa mikrokontolery jakiś od STM np. STM32F1 i ESP8266. ESP8266 chce wykorzystać jako medium transmisji poprzez Wifi.
Na STM-ie chciałbym mieć serwer http, do którego np. mógłby się podłączyć jakiś klient. Czy jest możliwe, aby mając taki serwer i nasł#!$%@?ąc na jakimś porcie, wykorzystać ESP8266 tak abym za pomocą klienta http mógł wykonać jakiś request ale z poziomu STM-a?
Dla zobrazowania
:
STM32
- serwer http, nasł#!$%@? np. na porcie 80 oczekując na requesty,
- inna część kodu poprzez to samo medium wykonuje request pod jakiś adres, np. celem pobrania konfiguracji.
#programowanie #programista15k #embedded #elektronika
- odbiornik nie może gubić bajtów. Zwykle więc dane odbiera się tle, np. w przerwaniu albo za pomocą DMA i przechowuje się je w buforze
- główny kod zagląda do bufora i sprawdza czy jest pełna ramka, wtedy ją dekoduje i usuwa z bufora
- warto pomyśleć o CRC
- stosujemy timeouty, dzięki temu
@bielu000: dane przychodzące odbierasz w przerwaniu i wkładasz do fifo, to samo w drugą stronę, w przerwaniu od pustego bufora nadawczego wyciągasz dane z fifo i wkładasz do rejestru nadawczego. Możesz do tego dołożyć lukier w postaci usypiania wątku piszącego/czytającego fifo jeśli musi czekać wolne miejsce lub przyjście danych.
@zarowka12
Zastanawiam się nad czymś takim:
Pomijając już protokół http. Myślałem, żeby ustawić stałą długośc ramki, np. 48 bajtów.
Wykorzystałbym DMA do kopiowania danych UART -> memory. Za każdym razem kiedy otrzymam 48 bajtów, parsuję sobie ramkę, jeżeli wszystko jest ok, handluję wiadomość itp, później odsyłam. Czy muszę mieć dwie kolejki fifo? Jedna do odbierania, druga do nadawania?
A co sądzicie o tym rozwiązaniu, że za pomocą tego samego medium (mam
Nie wiem czy dobrze rozumiem drugą część, ale możesz nasłuchiwać na kilku portach.
@zarowka12: Faktycznie - widzę, że jest konfiguracja na wiele połaczeń, to jest dobry trop.
Dalej np składasz kilka linijek w całość i wyszukujesz OK\r\n lub ERROR\r\n i po tym obsługujesz całą komendę.
Nie wiem na ile ESP wysyła wiadomości URC, ale jeśli tak, to miej na uwadze, by rozróżnić nasłuchiwanie ich i odpowiedzi na komendę (wysyłając komendę
Komentarz usunięty przez autora
Inna sprawa - czy na pewno potrzebujesz to robić po HTTP? Mam wrażenie, że chcesz go wykorzystać tylko jako warstwę transportową. Wystarczyłoby otwarcie zwykłego socketa TCP i na nim działać swoim protokołem jeśli nie chcesz korzystać z dobrodziejstw HTTP.
@anuar2k: Dzięki jak coś to odezwę się :) Robiłem już coś kiedyś podobnego ale po USB i wszystko działało, tyle, że tamto było dużo prostsze. Tutaj mimo wszystko chciałbym odspearować trochę warstw. Tzn. mam na myśli coś w stylu
Serwer
Komentarz usunięty przez autora
@zarowka12 dobrze Ci opisał: ramka ze startem, długością pola danych, crc i końcem + timeouty.
Nie polecam sztywnej długości ramki, szybko okaże się że albo przesyłasz dużo pustych danych, albo ramka jest za mała