Uniwersalny moduł SPI/I2C/UART/IO po USB + Python

Aug 18, 2023 Last reply: 2 years ago 7 Replies

Cześć.



Używam czasami BusPirate, jesli trzeba coś szybko podpiąc pod SPI i posmerać po rejestrach. Mogę wtedy kontrolować to SPI z poziomu Pythona na PC i całkiem ładnie to działa.



Ale pojawiła się sytuacja, kiedy potrzebuję SPI *oraz* kilka GPIO.



Tutaj BusPirate średnio się sprawdza. Mogę podpiąc dwa, ale to jakieś takie ... druciarstwo...



Zanim to zrobię: jest może jakiś inny projekt, podobny do BusPirate, czyli uniweralny I/O z kilkoma interfejsami, sterowany przez USB, z API do Pythona po stronie PC (głównie Linux), wspierajacy 3.3 i 5V? Taki, który pozwoli na SPI + kilka GPIO jednocześnie (na oko: potrzebne 3 IO + SPI na dzisiaj)?



Wiem, że jest wersja 4.0 z 2 pinami więcej, ale ponoć niezlecana.



Z uwagi na wygodę programowania (i debugowania) wolałbym nie pisać kodu odpalanego na Arduino, tylko mieć pełną kontrolę z poziomu Pythona, dlatego rozwiązanie z Arduino zostawiam jako ostateczność.


Potrzebujesz produkcyjnie, czy jednorazowo?

Jak jednorazowo, to ja do tego biorę raspi. Najprościej.

Niby jednorazowo, ale potrzeba pojawia się co chwile.

Tak, ale kiedy przychodzi do debugowania, okazuje się, że wygodniej mi to robic na troche szybszym złomie niż pi, nawet wersji 3/4 (Głownie z powodu VS Code). Ponadto troche za łatwo uszkodzić piny GPIO w pi, no i nie wspierają 5V.

BusPirate jest w miarę ok, poza tym, że podczas pracy SPI ma tylko 1 wolny GPIO oraz ogólnie jest absurdalnie powolny w komunikacji z PC jeśli chodzi o wysyłanie pojedynczych informacji (machanie bitem z pythona to max naście Hz!).

Widzialem ze 3 projekty tego typu na przesterzeni lat, ale wszystkie zniknely gdzies w połowie. Są też różne dziwne koncepcje, np:

formatting link
albo taki:

formatting link
Jednak trudno mi dyskutować czy to sie nada, np. tigard chyab nie ma gpio równlegle z SPI. Dlatego pytam, czy ktoś kojarzy.

Ale pi ma być tylko backendem. Do tego wygodnym, bo podpiętym przez wifi. Stoi sobie pi przy urządzeniu, a ja sobie debuguję z laptopa w łóżku :) Tak było jak ogarniałem protokół do programowania radiotelefonu. Ale tak, to druciarstwo a nie gotowiec.

Tak... programowanie pamięci 16 MiB zajęło mi na nim kilka godzin. To fajne urządzenie diagnostyczne, ale do transferów się nie nadaje.

Czyli jednak masz jakis proto między PC a Pi, do sterowania GPIO.

Mam i nie mam. Z shella programuję. Ciężko to nazwać protokołem. Mógłbym mieć, jakbym potrzebował, ale to kolejna rzeźba, a im starszy jestem, tym bardziej cenię swój czas i mniej lubię rzeźby.

Za to możliwe, że PICe będę niedługo programował (bo to najtańsze, co jest dostępne na rynku, a potrzebuję 10 sztuk do robienia prostej rzeczy), to się tę rzeźbę odkurzy... i pozna nowe środowisko, bo w życiu nie miałem z tym styczności.

Tego chciałvym uniknąć.

Jedyne co sprawdza się w jakimś stopniu, to protezy typu Visual Studio Code i jego możliwość pracy na zdalnyhm shellu.

Ma to jednak kilka wadozalet...

Zalezy mi na debugowaniu w wygodnej, graficznej formie.

Ja w końcu muszę tego VS Code spróbować. U nas tego używają, ja się trzymam Eclipse z takiego samego przyzwyczajenia, z którego nadal używam Eagle'a zamiast KiCada (znam, umiem używać, znam skróty klawiaturowe, jestem przywyczajony, wiem gdzie co jest i nie muszę szukać).

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required