Na drugi problem nadziałem się przy pierwszych testach obciążeniowych podstawowych funkcji komunikacji Arduino z PC. W bliżej nieokreślonych momentach Arduino odmawiało współpracy - zawieszało się. Zupełnie niedeterministyczne zachowanie. Podejrzewając jednak błąd w swoim kodzie, przeprowadziłem test z przykładem UDPSendReceive.pde dołączanym do IDE Arduino. Sytuacja ta sama. Po datagramie piątym, trzysetnym, siedemnastym, różnie, Arduino wieszało się. W sieci nic sensownego nie znalazłem na ten temat... ale za to natknąłem się na RaspberryPi i problem przestał istnieć :)
Z koncepcji modułu AE zniknął moduł Ethernet, a pojawił się RaspberryPi. AE ewoluowało do AR :). Wad nie widzę, a idą za tym zalety, bo odciążam Arduino i mogę znacznie więcej funkcjonalności zamknąć w RaspberryPi, przez co zwiększam autonomię modułu. Aktualnie Arduino z RaspberryPi spięte są przez USB. Dla RaspberryPi powstał serwer, który z jednej strony obsługuje połączenia TCP, a z drugiej komunikację szeregową z Arduino. Dla każdego nowego przychodzącego połączenia TCP tworzony jest wątek, natomiast komunikacja z Arduino jest sekwecyjna przez zastosowanie mutexów
...i działa :)
Prototyp AR:
Forma układu przystosowana do pracy na budowie. Stylowa rączka, płyta na wysoki połysk, która wcześniej stanowiła fragment biurka z czasów studenckich :) Aśka nie przestaje się śmiać z "walizki".
Rączka została zmontowana z helikoptera dziecka... :) Borys jeszcze nie wie, że jego helikopter nie jest kompletny :). Ale przyznać trzeba, że może się okazać, że uzna że jest w stanie poświęcić zabawkę na tak szczytny cel ;).
OdpowiedzUsuńRączka robi robotę :)
OdpowiedzUsuńBardzo ciekawe rozwiązanie
OdpowiedzUsuń