Skocz do zawartości

Spider-Bot - robot z Raspberry Pi Pico 2 W i Internetowym Sterowaniem!


Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

@gerald-turnip, fajny pomysł. Patrząc na zdjęcia zastanawiałem się po co pająk niesie jajo, tzn. smartfona, a tu takie buty, hehe. W dodatku oprogramowałeś w języku, który wieść gminna określa jako "najbardziej przydatny do niczego". A jednak działa i daje radę! Swoją drogą jak podłączasz gamepad snes?

  • Lubię! 2

@orb777

Dzięki! 😄 Te "buciki" pająka to w rzeczywistości kawałki gumowego wężyka – daje mu to lepszą przyczepność do podłoża. Co do programowania – tak, to MicroPython, czyli „najbardziej przydatny do niczego”... a jednak działa i pająk chodzi! 😅 Całość śmiga na Raspberry Pi Pico 2W.

Jeśli chodzi o podłączenie gamepada SNES – najprościej przez USB do laptopa lub dowolnego kompa. Wtedy wystarczy dodać odpowiedni kod (implementacja w Pythonie na PC). Swoją drogą, kod, który wrzuciłem, ma jeszcze babole – właśnie go poprawiam, bo dzisiaj znów trochę go debugowałem. Przyciski kierunkowe są najbardziej zawikłane i ciągle je ogarniam. Trochę prób i błędów, ale da się ogarnąć! 

Video/nagranie

  • Lubię! 2
(edytowany)

@gerald-turnip, a to spoko. Fajnie, że ktoś dłubie w tym języku. Też go lubię, mimo "wieści gminnych". Nie wiem, gdyby zainteresowało cię programowanie pico 2w z poziomu smartfona, to trochę ugryzłem temat. Na rp2w uruchomiłem też gamepada ble (ipega pg-9156), kod z esp32 wymagał lekkiej modyfikacji (nie wszystkie funkcje działają). Server ftp z esp32 odpala ok. Ogólnie uPy daje tą swobodę, że można programować płytkę z różnych urządzeń, a nawet zdalnie przez wifu. Działaj tam panie, będę zaglądał.

Fajnie ten pająk łazi. Jakbyś mu jeszcze dorobił włochatą skorupę, to można dzieciaki postraszyć, hehe.

Edytowano przez orb777
  • Lubię! 1

@orb777 O, to całkiem fajne! Taka możliwość na pewno się przydaje — zwłaszcza jakby kiedyś zabrakło laptopów albo kompów pod ręką, to można działać z poziomu smartfona. Ja akurat ESP8266 nie mam, ale chętnie będę śledził, co tam kombinujesz i jak to się rozwija. Na szczęście u mnie aktualnie odwrotna sytuacja — mam wręcz klęskę urodzaju laptopów. Wygrałem parę aukcji, więc chwilowo nie powinienem cierpieć na niedobory sprzętu 😄

  • Lubię! 2

@gerald-turnip, flaszowanie ze smartfona to tylko z ciekawości, czy można. Bardziej przydatną opcją wydaje mi się możliwość szybiej zmiany kodu zdalnie. Przykładowo wciskasz przycisk w gamepadzie bt (lub fizyczny), pająk przechodzi w tryb serwera ftp (wifi), edytujesz kod na smartfonie, opuszczasz ftp, pająk restartuje się, a ty testujesz zmiany.

@ethanak, ota też spoko, ale chyba nie umie bez kompilacji. Zmieniam znaczek => kompilacja => ota, poprawiam literkę => kompilacja => ota. Czy da się inaczej rozbijając nawet na moduły?

(edytowany)
13 minut temu, ethanak napisał:

@orb777 a jak bez kompilacji zmienisz kod wynikowy dla C/C++?

No właśnie, nie da się.

 

13 minut temu, ethanak napisał:

U mnie kompilacja po drobnej zmianie to parę sekund (arduino-cli).

Masz na myśli smartfon? W sumie nie próbowałem w termuxie kompilować w arduino-cli, ale z c++ w clangu szału nie ma.

Edytowano przez orb777

@orb777

Właściwie to bardzo fajny pomysł — teraz, jak chcę coś zmienić w kodzie, to muszę podpinać, przepisywać, włączać, wyłączać itd. Niby nie jest to uciążliwe, zwłaszcza jak siedzę w domu, ale taka możliwość edytowania „w locie” naprawdę by się przydała, szczególnie w terenie.

Zdecydowanie kusi mnie, żeby zaimplementować tryb FTP na przycisk z gamepada (albo fizyczny). Dorzucenie diody LED jako sygnalizacji trybu serwera — sztos pomysł, bo od razu wiadomo, że można wchodzić z telefonem i grzebać w kodzie.

W ogóle przypomniał mi się Twój wcześniejszy post o flashowaniu ESP32 z poziomu smartfona przez OTG — świetna koncepcja. Co prawda Pico to trochę inna bajka, ale sama idea przenośnego dev/test setupu bez udziału kompa bardzo do mnie trafia. Takie podejście daje mega elastyczność, szczególnie przy pracy "w terenie" albo jak ktoś chce podróżować lekko.

Mam wrażenie, że tu się może coś ciekawego urodzić z tej wymiany myśli — jak coś, to z chęcią pomajstruję razem dalej. 😄

  • Lubię! 1
(edytowany)

@gerald-turnip, możesz rzucić okiem na ten serwer, działa na esp8266/esp32/pico2w, korzystam z niego czasem. Bazuje bodaj na tym. Jednak, zmieniając kod przez ftp i tworząc przy okazji jakiegoś babola (np. składniowego) wypada dodać obsługę sytuacji wyjątkowych i to pewnie w jakimś główniejszym pliku, który nie będzie często zmieniany (albo wcale). Fizyczny przycisk na pająku też by się przydał, żeby w razie czego zawsze uruchamiał serwer ftp i łączył do wifu, wtedy nie stracisz dostępu nawet bez kompa.

Przykład wymyślonego babola składniowego:

 

"main.py"

import sys

try:
    import pajonk
except SyntaxError as e:
    print('>>> wystąpił straszny błąd, mrugam czerwonym ledem jak szalony, zrzucam info do pliku')
    with open('straszny_blad.txt', 'w') as f:
        sys.print_exception(e, f)
finally:
    print('wychodzę ...')

 

"pajonk.py" (katalog lib)

print('test skladni')

# błąd, edytujesz, zapominasz zamknąć apostrofu
print('zle) 

 

w pliku "straszny_blad.txt' dostaniesz:

Traceback (most recent call last):
  File "main.py", line 4, in <module>
  File "/lib/pajonk.py", line 4
SyntaxError: invalid syntax
Edytowano przez orb777
  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...