Spisu treści:

Proste zdalne drukowanie danych za pomocą Androida / Arduino / PfodApp: 6 kroków
Proste zdalne drukowanie danych za pomocą Androida / Arduino / PfodApp: 6 kroków

Wideo: Proste zdalne drukowanie danych za pomocą Androida / Arduino / PfodApp: 6 kroków

Wideo: Proste zdalne drukowanie danych za pomocą Androida / Arduino / PfodApp: 6 kroków
Wideo: CS50 2015 - Week 4 2024, Listopad
Anonim
Proste zdalne drukowanie danych za pomocą Androida / Arduino / PfodApp
Proste zdalne drukowanie danych za pomocą Androida / Arduino / PfodApp

Aby wykreślić dane względem daty/godziny przy użyciu tylko Arduino's millis(), zobacz ten InstructableArduino Date/Time Plotting/Logging za pomocą Millis() i PfodApp

Ta instrukcja pokazuje, jak wykreślić dane czujnika Arduino na telefonie komórkowym z systemem Android i przechwycić je w celu późniejszego pobrania na komputer. Instrukcje te są również dostępne na stronie www.pfod.com.au Nie jest wymagane programowanie na Androida, a programowanie Arduino jest bardzo niewielkie. Jest to rozszerzenie Simple Mobile Data Logging za pomocą pfodApp

Krok 1: Szybki start kreślenia

Szybki start kreślenia
Szybki start kreślenia

a) Pobierz płytkę Arduino i moduł Bluetooth (taki jak Uno i Bluetooth Shield lub FioV3+Bluetooth) b) Zainstaluj Arduino IDE c) Podłącz płytkę Arduino (bez podłączonego modułu Bluetooth) za pomocą kabla USB. d) Skopiuj ten szkic do Arduino IDE, skompiluj i załaduj na płytkę Arduino) e) Podłącz moduł Bluetooth Shield do Uno (Tarcza Bluetooth jest wstępnie skonfigurowana na 9600 bodów, ALE ustaw przełącznik 3 V/5 V na 5 V i ustaw przełącznik To Board/To FT232 na pozycję To Board f) Załaduj Android Mobile z pfodApp. g) Skonfiguruj połączenie między telefonem komórkowym a modułem Bluetooth zgodnie z opisem w pfodAppForAndroidGettingStarted.pdf h) Uruchom pfodApp i połącz się z płytką Arduino za pomocą modułu Bluetooth. skończyłem. Twój telefon będzie teraz zapisywał i wykreślał liczbę konwerterów Arduino AtoD dla wejścia A0

Krok 2: Szkic kreślenia

Szkic kreślenia
Szkic kreślenia

Kreślenie za pomocą pfodApp wymaga dwóch rzeczy: a) strumienia danych (w formacie CSV) i b) polecenia wykresu z pfodDevice (Arduino) Szkic, SimpleDataPlotting.ino, robi tylko dwie rzeczy. Najpierw odczytuje wejście analogowe A0 raz na sekundę i wysyła bieżące sekundy i zliczenia w formacie CSV. Po drugie, gdy pfodApp łączy się i żąda menu głównego, szkic odpowiada poleceniem kreślenia, aby rozpocząć wykreślanie pomiarów. Oto kod, który jest wykonywany raz na sekundę, aby odczytać wejście analogowe A0 i zapisać bieżące sekundy, odlicza się do połączenia bluetooth. // odczytaj A0 raz na sekundę int val = analogRead(0); // A0 // wypisz aktualny czas i odczyt w formacie csv parser.print(thisMillis/1000); // pierwsze pole to czas w sekundach parser.print(", "); // przecinek oddziela pola parser.println(val); // nowa linia kończy zapis danych

Oto kod, który odpowiada na żądanie pfodApp dotyczące menu głównego pfodDevice (Arduino Uno).

bajt cmd = parser.parse(); if (cmd != 0) { // przeanalizowałem kompletną wiadomość { do } if ('.' == cmd) { // pfodApp poprosił o menu główne // odeślij "otwórz ekran kreślenia" parser.print(F ("{=Wykres analogowy A0|Czas (sek)|Liczba}")); // to jest menu główne } else if ('!' == cmd) { // polecenie CloseConnection closeConnection(parser.getPfodAppStream()); } else { // nieznane polecenie parser.print(F("{}")); // zawsze wysyłaj z powrotem wiadomość pfod, w przeciwnym razie pfodApp się rozłączy. } }

Kiedy pfodApp Twojego telefonu połączy się, automatycznie zapyta o menu główne (wysyłając wiadomość {.}), parser w szkicu (patrz kod na dole szkicu) analizuje {.} i zwraca '.' Komenda. Szkic następnie odsyła polecenie wykresu {=Wykres analogowy A0|Czas (sek)|Liczba A0} Polecenie to instruuje pfodApp, aby otworzył ekran o nazwie „Wykres analogowy A0” i wykreślił czas w stosunku do zliczeń. Następnie pfodApp skanuje przychodzące surowe dane i szuka linii z dwoma polami i przyjmuje pierwsze pole jako wartość x, a drugie jako wartość y i dodaje ten punkt do wykresu. Za każdym razem, gdy otwierany jest ekran kreślenia (lub ekran surowych danych), pfodApp zaczyna zapisywać wszystkie surowe dane w lokalnym pliku na telefonie komórkowym. pfodApp kontynuuje zapisywanie danych, dopóki nie wyjdziesz z pfodApp. Możesz pobrać ten plik na swój komputer w celu dalszego przetwarzania (patrz jeden z dalszych kroków). Istnieje wiele innych opcji polecenia wykresu, które pozwalają zignorować niektóre pola, ustawić skalę wykresu, wykreślić wiele wykresów na jednym wykresie itp. Szczegóły i przykłady można znaleźć w specyfikacji pfod. PfodApp potrafi znacznie więcej niż tylko kreślenie, zobacz te przykłady. Powyższy wykres jest przykładem dwóch wykresów, z których jeden zawiera dwa wykresy. Ta fabuła pochodzi z robota ArduMower Zrób to sam! który używa tego samego pfodApp do sterowania zautomatyzowaną kosiarką. Ten sam pfodApp służy do kontrolowania wszystkich urządzeń pfodDevice. To właśnie pfodDevices całkowicie określają, jakie ekrany są wyświetlane użytkownikom.

Krok 3: Więcej szczegółów

Więcej szczegółów
Więcej szczegółów
Więcej szczegółów
Więcej szczegółów

Najnowsza wersja pfodApp dostępna z Android Market umożliwia wykreślenie i zapisanie do pliku surowych danych wysyłanych przez urządzenie pfodDevice (np. Arduino) do późniejszego wykorzystania. Zobacz pfodAppForAndroidGettingStarted.pdf, aby dowiedzieć się, jak pobrać plik z telefonu komórkowego z systemem Android na komputer. Kreślenie wymaga dwóch rzeczy: a) strumienia danych (w formacie CSV) i b) polecenia wykresu z pfodDevice Twoje pfodDevice (Arduino) może wysyłać dowolne dane poza wiadomościami pfod. komunikaty pfod, które są ujęte w { }, co odróżnia je od innych danych. Jeśli chcesz wykreślić dane, musisz przesłać dane w formacie CSV. Są to wartości danych oddzielone przecinkami i zakończone znakiem nowej linii (CR lub LF lub CR LF) Na przykład105, 680 Gdy pfodDevice chce wyświetlić wykres użytkownikowi, pfodDevice wysyła polecenie wykresu. Twój szkic Arduino ma pełną kontrolę nad tym, co wykreśla pfodApp. Polecenie kreślenia nadaje tytuł ekranowi kreślenia i określa, który strumień surowych danych należy wykreślić i które pola z tego strumienia. Różne strumienie nieprzetworzonych danych mają różną liczbę pól oddzielonych przecinkami. Liczba słupków | w poleceniu kreślenia musi odpowiadać liczbie pól w strumieniu danych, który chcesz wykreślić. Linie danych z różną liczbą pól są ignorowane na tym wykresie. Istnieje wiele opcji polecenia kreślenia, które pozwalają wybrać pola do wykreślenia, ustawić skale i jednostki oraz umieścić wiele wykresów na jednym wykresie. Najprościej jest przesłać wartości x jako pierwsze pole, a wartości y jako kolejne, a następnie w poleceniu kreślenia nazwać oś x i oś y, np. {=Wykres analogowy A0 | Czas (s) | A0 Counts } tytuł fabuły | pole wartości x | Pole wartości y Można również wyświetlić nieprzetworzone dane przesyłane do telefonu komórkowego. Dostęp do ekranu „Surowe dane” można uzyskać z pfodApp za pomocą menu telefonu komórkowego lub można go otworzyć przez pfodDevice wysyłając wiadomość streamingRawData, {=Tytuł ekranu idzie tutaj}, tj. skrócona wersja polecenia kreślenia. Tak czy inaczej, ekran surowych danych pfodApp zostanie otwarty i wyświetli dane, które zostały wysłane z pfodDevice. Po otwarciu ekranu pfodApp rozpocznie zapisywanie danych do pliku. Nazwa pliku jest wyświetlana przy każdym otwarciu ekranu (lub ekranu kreślenia). Aby zapobiec zapełnianiu się telefonu komórkowego niechcianymi danymi, pfodApp nie rozpocznie zapisywania danych na karcie SD telefonu do czasu pierwszego otwarcia ekranu surowych danych lub ekranu kreślenia po każdym nowym połączeniu. Przy pierwszym otwarciu ekranu surowych danych po nowym połączeniu, do 4K bajtów wcześniej odebranych danych (od momentu nawiązania połączenia) jest zapisywanych do pliku po jego otwarciu. Dane te są również dostępne dla wykresu. W większości przypadków oznacza to, że wszystkie nieprzetworzone dane przesłane od momentu nawiązania połączenia zostaną zapisane. Po zamknięciu połączenia zapisywane są ostatnie dane i plik jest zamykany. Jeśli plik już istnieje, z poprzedniego połączenia, jest do niego dołączany przy każdym kolejnym połączeniu. Możesz pobrać i usunąć plik ze swojego komputera. Zobacz pfodAppForAndroidGettingStarted.pdf, aby dowiedzieć się, jak uzyskać dostęp do pliku z komputera.

Krok 4: Testowanie za pomocą SerialMonitor

Testowanie za pomocą SerialMonitor
Testowanie za pomocą SerialMonitor
Testowanie za pomocą SerialMonitor
Testowanie za pomocą SerialMonitor

Przed połączeniem przez bluetooth możesz przetestować szkic za pomocą Arduino IDE SerialMonitor. Najpierw usuń kartę bluetooth, ponieważ używa ona tych samych połączeń TX/RX, co programowanie USB i połączenie monitora szeregowego, a następnie skopiuj i wklej szkic (SimpleDataPlotting.ino) do Arduino IDE i zaprogramuj płytkę Arduino. Następnie otwórz Arduino IDE SerialMonitor. Możesz zobaczyć dane wysyłane przez płytę Uno. Następnie wpisz {.} i kliknij „Wyślij”, aby wysłać polecenie getMainMenu, {.} To jest to, co pfodApp wyśle jako pierwszy po połączeniu. Szkic odpowiada poleceniem Drukuj. {=Wykres analogowy A0|Czas (sek)|Liczba A0}, który poprosi pfodApp o otwarcie ekranu kreślenia i rozpoczęcie kreślenia danych. Rozpoczyna się również zapisywanie danych do pliku. Zobacz pfodSpecification, aby uzyskać szczegółowe informacje na temat wszystkich komunikatów i ekranów obsługiwanych przez pfod (Protokół dla operacji wykrywania).

Krok 5: Łączenie z telefonem komórkowym z systemem Android

Łączenie z telefonem komórkowym z systemem Android
Łączenie z telefonem komórkowym z systemem Android
Łączenie z telefonem komórkowym z systemem Android
Łączenie z telefonem komórkowym z systemem Android

Wszystko jest w porządku, więc możesz teraz zamknąć Arduino IDE i SerialMonitor i podłączyć osłonę Bluetooth, jak pokazano wcześniej. Aby połączyć się z Android Mobile, najpierw zainstaluj pfodApp z Android Market, a następnie postępuj zgodnie z przewodnikiem pfodAppForAndroidGettingStarted.pdf, aby sparować osłonę Bluetooth z telefonem komórkowym i skonfigurować połączenie Bluetooth pfodApp. Nazwałem moje połączenie „Proste rejestrowanie danych”. Następnie wybierz połączenie „Simple Data Logging”, aby połączyć się z prostym rejestratorem danych. Jak tylko pfodApp połączy się, wysyła wiadomość {.}, na którą szkic odpowiada komunikatem {=Analog A0 Plot|Time(sec)|A0 Counts}, który mówi pfodApp wykreślić dane i rozpocząć zapisywanie danych. Na tym wykresie podłączyłem A0 do Gnd i 5,5 V i 3,3 V, a także pozostawiłem pływający, tylko zbierając szum.

Krok 6: Przenoszenie danych do komputera

Przesyłanie danych do komputera
Przesyłanie danych do komputera

Plik pfodAppForAndroidGettingStarted.pdf zawiera szczegółowe informacje o tym, jak podłączyć telefon komórkowy do komputera przez USB i jak włączyć pamięć masową USB, aby można ją było przeglądać na komputerze. Wszystkie pliki surowych danych znajdziesz w folderze pfodAppRawData. Jak pokazano powyżej, prosty rejestrator danych zapisał dane do /pfodAppRawData/Simple Data Logging.txt pfodApp używa nazwy połączenia jako nazwy pliku do zapisywania danych. Rozszerzenia prostego rejestratora danych Teraz, gdy masz prosty rejestrator danych że zarówno wykreśla, jak i zapisuje twoje dane, możesz zmodyfikować szkic, aby odesłać własne dane. Wystarczy wpisać swoje dane w formacie CSV do tego samego połączenia szeregowego, które jest podłączone do modułu Bluetooth. Jeśli masz więcej niż dwa pola danych, musisz zmodyfikować polecenie kreślenia. Zobacz pfodSpecification szczegóły i przykłady.

Zalecana: