Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino+Adafruit - Zamiana modulu Bluetooth na Wi-Fi

05 Sie 2014 14:08 1524 7
  • Poziom 6  
    Witam,
    Posiadam taki maly uklad pomiarowy zlozony z czujnikow, z ktorych sygnaly sa zbierane przez mikrokontroler Arduino Nano (v 3.1), a nastepnie do modulu Bluetooth (Adafruit Bluefruit EZ-LINK), ktory przekazuje sygnaly bezprzewodowo do komputera i tam sie odbywa cala akwizycja i analiza.

    W ramach takiego jakby samoksztalcenia/hobby chcialbym dokonac takiej modyfikacji, zeby dane zbierane z czujnikow byly przekazywane do PC nie przez Bluetooth lecz przez Wi-Fi (konkretny modul, Adafruit CC3000).

    I tu sie zaczynaja schody, poniewaz mam praktycznie zerowe doswiadczenie z uzytkowaniem mikrokontrolerow podlaczonych do Wi-Fi. Na poczatek probowalem sie wzorowac na instruckji/tutorialu ze strony Adafruit do tego konkretnego urzadzenia (nie moge niestety wkleic linku, po wygooglaniu frazy "adafruit cc3000" drugi link od gory to .pdf z ta instrukcja). Od strony 9 jest pokazany sposob podlaczenia (co prawda do Arduino Uno, a nie Nano, ale to raczej nie problem). Zastanawia mnie fakt, ze wszystkie piny modulu Wi-Fi oprocz zasilania sa podlaczane do wejsc cyfrowych mikrokontrolera. Tu moze byc problem, poniewaz mikrokontroler przekazuje dane z czujnikow poprzez transmisje szeregowa, piny TX/RX, a w tym pdf'ie widac, ze zostaja one bez zadnych polaczen.
    Czy to oznacza, ze mam po prostu piny MISO/MOSI z modulu Wi-Fi polaczyc z pinami TX/RX mikrokontrolera, a reszte zostawic tak, jak napisane, czy jakies inne modyfikacje tez sa konieczne?
    I druga sprawa to komunikacja z PC. W przypadku Bluetootha sprawa prosta - wystarczy ustawic odpowiedni port COM. Natomiast przy Wi-Fi nie wiem jak ma to wygladac, czy trzeba jakas nowa siec/urzadzenie sieciowe konifgurowac czy jak?
  • PCBway
  • Pomocny post
    Poziom 20  
    Jak widać na obrazkach moduł z CC3000 nie korzysta z UARTA (Rx/Tx) tylko z SPI (MOSI, MISO, SCK, CS).
    Jak programować moduł jest w rozdziale "Sample Sketches". Możesz się oprzeć na przykładach z Adafruit.
    Od strony PC-ta chyba najlepiej klient TCP, po stronie CC3000 serwer TCP, oba na tym samym porcie. Po nawiązaniu połączenia kanał jest przezroczysty jak w COM. Możesz też na CC3000 uruchomić webserver i wówczas dostajesz się do danych przez przeglądarkę.
  • PCBway
  • Poziom 6  
    Dzieki bardzo za odpowiedz.
    Czyli zadanie jest troche bardziej skomplikowane, musze dorzucic jakis konwerter interfejsow, zaprogramowac CC3000 i skonfigurowac wszystko, zmienic troche algorytm w mikrokontrolerze oraz pogrzebac troche w programie do akwizycji na PC.
    A czy to wszystko nie spowoduje, ze caly uklad moze nie wyrabiac sie z szybkoscia? Planowalem tez pozniej zblizyc sie jak najbardziej do akwizycji i analizy w czasie rzeczywistym (aktualnie jest wysylany pakiet danych pomiarowych co 500ms, wiec nie bedzie problemow chyba, ale pozniej to nie wiem).
  • Poziom 20  
    Wąskim gardłem prawdopodobnie będzie SPI, którym i tak szybciej wyślesz dane niż przez UART. Poza tym sądzę, że ten CC3000 sprawniej będzie wysyłał mniej pakietów a duże, niż odwrotnie.
  • Poziom 6  
    O, ciekawa uwaga. W zasadzie to nie mam orientacji jaka powinna byc czestotliwosc wysylania/odbierania danych, zeby to wygladalo w miare plynnie, ale sprobuje cos zdzialac.
  • Moderator na urlopie...
    Poszukaj sobie, bo takie konwertery są gotowe, że z jednej strony masz UART a sam moduł jest urządzeniem WiFi - je odpowiednio konfigurujesz, podłączasz do routera, na kompie instalujesz odpowiedni soft i widzisz wirtualny port COM - zupełnie jak BTM222.

    Chyba, ze chcesz mieć dodatkowe możliwości (interfejs przez HTTP, możliwość robienia wszystkiego samodzielnie) to wtedy pobaw się CC3000 (jest trochę przykładów jak pogooglasz w sieci)
  • Poziom 6  
    Poszukam, poszukam, tez pomyslalem o tym, ze moze byc juz cos gotowego.
  • Poziom 6  
    Witam ponownie,
    zmienilem troche jak na razie plany, CC3000 zostawie sobie na pozniej, gdyz wsrod dostepnych "zabawek" (sytuacja jest taka, ze jestem na stazu, a po robocie moge sobie porobic co chce, byle za duzo nie zepsuc) znalazlem Arduino Mega i pasujaca do niego karte Wi-Fi od Arduino, wiec w tym przypadku problem z interfejsem bylby rozwiazany. Jest natomiast problem z polaczeniem, postawilem sobie LANa przez router i karta Wi-Fi w ogole nie potrafi sie polaczyc z siecia, po zalogowaniu sie na router widac tylko komputer i nic wiecej.
    IP przydzielilem z dobrego zakresu, MAC tez ok. Na karcie sa 4 diody - L9, LINK, ERROR i DATA, zadna z nich nawet nie drgnie przy wgrywaniu programu ani przy resetowaniu routera. Byc moze ta karta WI-Fi jest uszkodzona, jednak nie wiem, jak to sprawdzic. Ewentualnie moze ktos ma podejrzenia jakiejs innej przyczyny?