Jak połączyć Arduino Uno i Raspberry Pi (B)?

Chciałbyś coś zrobić, ale nie wiesz jak? Pytaj śmiało.
Młodszy majsterkowicz
Avatar użytkownika
Posty: 3
Dołączył: 21 lis 2012, 14:49

Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez Nameless » 21 lis 2012, 15:06

Witajcie!

Dopiero zaczynam swoją zabawę z Arduino (Uno) i przyszedł mi do głowy pewien pomysł. Nie wiem tylko czy da się go zrealizować zgodnie z moim zamysłem.
Chciałbym podłączyć Arduino Uno do Raspberry Pi (model B), tak aby Pi pełniło rolę serwera i karty sieciowej dla Arduino. Chcę podłączyć Arduino tanio i sprawnie do routera bezprzewodowo (karta WiFi na USB podpięta do Raspberry Pi) lub przewodowo (kabel Ethernet podpięty do RPi), aby potem kontrolować wszystko przez jej poziomu).

W Internecie próbowałem szukać informacji na ten temat, ale znajduję dużo rzeczy, które mówią o czym innym, nie do końca wyjaśniają sprawę, abo ich zwyczajnie nie rozumiem. Dlatego też postanowiłem, że zwrócę się do Was z prośbą o radę. Jeśli da się wygodnie podpiąć ten mikrokontroler do Raspberry Pi (jak pod PC, czy maka), to byłbym naprawdę bardzo szczęśliwy :D

Zależy mi głównie na tym, aby Arduino mogło działać w 100% samodzielnie bez pomocy żadnego komputera (pomijam Pi) i abym mógł kontrolować wszystko przez Internet, nawet jeśli nie będzie mnie w domu. Myślę, że byłoby to dużo wygodniejsze i na pewno zdecydowanie tańsze niż dokupywanie shieldów WiFi lub Ethernet tylko dla Arduino - RPi możemy przecież wykorzystać na dodatkowe milion sposobów ;)

Z góry dziękuję za pomoc! :)

Młodszy majsterkowicz
Posty: 23
Dołączył: 17 lip 2012, 12:05

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez toszt » 21 lis 2012, 15:50

Mi udało się zainstalować arduino ide na raspbianie, dzięki czemu można programować arduino (i zasilać) z maliny. Dodatkowo można też sobie zrobić dostęp przez putty i jakieś virtualne cuda. Dzięki temu na laptopie mogę operować maliną (w tym arduino ide), w lxde, czyli z okienkami i resztą.
Nie wiem, czy takie rozwiązanie Cię zadowoli, jak tak, to w domu poszukam linków z których czerpałem przy instalacji.

Starszy majsterkowicz
Avatar użytkownika
Posty: 455
Dołączył: 12 lut 2012, 20:38
Miasto: Zabrze
Pochwały: 29

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez nightex » 21 lis 2012, 15:52

a myślałeś nad Gertboard zamiast Arduino?

Obrazek
Obrazek

Starszy majsterkowicz
Avatar użytkownika
Posty: 405
Dołączył: 6 lip 2012, 18:27
Miasto: Gdańsk
Pochwały: 28

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez Maxik » 21 lis 2012, 18:03

Prostym rozwiązaniem, ale nie wiem czy satysfakcjonującym Cię, będzie użycie firmaty( http://firmata.org/wiki/Main_Page ). Wgrywasz szkic Firmata z domyślnych przykładów Arduino, na RPi instalujesz Pythona i pyFirmata( https://bitbucket.org/tino/pyfirmata/overview ). Możesz sobie dowolnie sterować Arduino przez Pythona, a nawet pisać skrypty w Pythonie zamiast wgrywać do Arduino.

Młodszy majsterkowicz
Avatar użytkownika
Posty: 3
Dołączył: 21 lis 2012, 14:49

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez Nameless » 21 lis 2012, 20:34

Na pewno chcę korzystać z mikrokontrolera Arduino Uno, bo wydaje się on być stosunkowo prosty w obsłudze/programowaniu, a przy tym w Internecie jest masa przykładów i gotowców ;)

Chciałbym aby komunikacja z Raspberry Pi była możliwie najprostsza i podobna do normalnego Arduino IDE. Na chwilę obecną nie napisałem jeszcze ani jednego programu na Arduino, bo dopiero co zamówiłem wszystkie potrzebne rzeczy (czekałem na dostępność Raspberry Pi). Tak więc nawet ciężko jest mi dobrze określić swoje potrzeby, a słowa takie jak 'python' bardzo mnie odstraszają :)

Ogólnie nie mam najmniejszych problemów z komputerami i jestem dosyć biegły w tych sprawach, znam podstawy programowania, ale nie mam też za dużo czasu na uczenie się zupełnie nowych rzeczy (jestem na III roku studiów i mam trochę roboty na studia + prywatnie), więc wolałbym, aby połączenie jednego z drugim było możliwie najprostsze i nie wymagało nauki nowego sposobu komunikacji z Arduino.

Na chwilę obecną po wstępnym przeglądnięciu ciekawie wygląda ta Firmata, ale o tym przekonam się dopiero jak spróbuję na własnej skórze. @Maxik, czy mógłbyś napisać dosłownie kilka zdań więcej na ten temat? Tak na chłopski rozum.
Użytkownika @toszt proszę o linki jeśli nie będzie to problem ;)

Postaram się ogarnąć to wszystko najszybciej jak to będzie możliwe, żeby powiedzieć Wam dokładnie czego mi trzeba, ale powyższe kryteria raczej się nie zmienią. Potrzebuje czegoś, co będzie możliwie najmniej czasochłonne :)

PS Zapomniałbym o najważniejszym. Chciałbym, aby prezentacja danych z Arduino odbywała się graficznie - chcę zrobić prezentację tego, które czujniki ruchu są akurat naruszane. Ideałem byłby projekt piętra, na którym pokoje podświetlałyby się na czerwono po naruszeniu czujki. Będę chciał też używać Arduino w środowisku LabVIEW, które działa pod Windowsem
Oczywiście jest to tylko jedno zastosowanie (a z pewnością będę chciał spróbować użyć Ardunino np. do sterowania światłem), ale to jest jeden z pomysłów, który przyszedł mi do głowy i na pewno będę chciał go zrealizować ;)
PSS Sorry, że tak dużo piszę i doceniam tych, którym chce się czytać moje wypociny.

Starszy majsterkowicz
Avatar użytkownika
Posty: 405
Dołączył: 6 lip 2012, 18:27
Miasto: Gdańsk
Pochwały: 28

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez Maxik » 21 lis 2012, 21:06

Co tu dużo pisać. Przykłady są na stronie projektu Firmata i pyFirmata. Można włączyć ciągłe raportowanie, wtedy wartości pinów analogowych są odświeżane ileś razy na sekundę, można odczytywać piny cyfrowe i analogowe, można ustawiać na nich stany wysoki i niski, sterować wypełnieniem PWM, jest nawet jakieś wyjście na I2C. Python jest prosty, biblioteka jest prosta, szkicu Firmaty dla Arduino nie trzeba modyfikować, więc myślę, że dasz radę :)

Autor postu otrzymał pochwałę

Młodszy majsterkowicz
Posty: 23
Dołączył: 17 lip 2012, 12:05

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez toszt » 22 lis 2012, 11:49

@Nameless ja wklepywałem po kolei komendy zapisane tutaj: goo.gl/jE0J8 w efekcie poinstalowało się parę rzeczy, nie wnikam w szczegóły, bo nie jestem aż tak zaawansowanym użytkownikiem linuxa. Jeszcze w domu sprawdzę co poinstalowałem na laptopie, że miałem graficzny interfejs przy dostępie przez putty.

Młodszy majsterkowicz
Avatar użytkownika
Posty: 3
Dołączył: 21 lis 2012, 14:49

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez Nameless » 23 lis 2012, 19:43

Super. Dziękuję wam bardzo za rady i opisy ;) Na pewno skorzystam z nich w najbliższym czasie i oczywiście napiszę, czy wszystko się udało :)
Jakby ktoś miał jeszcze coś do dodania/zasugerowania w tej kwestii to zachęcam do wypowiedzi.

PS Czytałem coś jeszcze o podłączeniu przez serial port, ale jest to chyba trochę ograniczone i umożliwia jedynie odczyt wejść z arduino. Nie ma sensu się w to bawić, prawda?

Starszy majsterkowicz
Avatar użytkownika
Posty: 405
Dołączył: 6 lip 2012, 18:27
Miasto: Gdańsk
Pochwały: 28

Re: Jak połączyć Arduino Uno i Raspberry Pi (B)?

Postprzez Maxik » 23 lis 2012, 23:36

Zasadniczo Firmata też działa przez Serial, więc to zależy od "protokołu" i jego ograniczeń.

Powrót do Jak to zrobić?

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości