Stwórz aplikację na Androida do sterowania przez Bluetooth i Arduino Kontrolując swój dom za pomocą RF, wszystko z AppInventor: 6 kroków

Stwórz aplikację na Androida do sterowania przez Bluetooth i Arduino Kontrolując swój dom za pomocą RF, wszystko z AppInventor: 6 kroków

Spisu treści:

Anonim

Wiem, że ten tytuł jest całkiem niezły, ale właśnie taki jest.

Jakiś czas temu nauczyłem się opisywać obwód wokół atmega328 (lub „Arduino”), który miał zniechęcać włamywaczy, symulując bycie w domu.

Stopniowo system ten rozszerzył się na system „automatyki domowej”, ponieważ obejmował również opiekę nad moim ogrodem.

Chociaż może działać samodzielnie, dodałem interfejs Bluetooth, aby uzyskać pewne informacje zwrotne z systemu, lub ustawić niektóre parametry, lub interweniować, włączając lub wyłączając lampę samodzielnie.

„Interfejsem” używanym do komunikacji Bluetooth z moim telefonem był „terminal Bluetooth”. Niezbyt przyjazny dla użytkownika i utraciłby połączenie za każdym razem, gdy przechyliłem telefon wystarczająco daleko, aby program mógł przejść do trybu poziomego.

Tak więc naprawdę potrzebowałem „aplikacji”, w końcu żaden system kontroli przyzwoitości nie może się teraz obejść. Nie żyjemy już w epoce kamienia łupanego:-)

Chociaż nie jestem nowicjuszem w dziedzinie HTML i Java, nie miałem doświadczenia w tworzeniu aplikacji. Zasadniczo nie miałem pojęcia, od czego zacząć. Pobrałem niektóre systemy do tworzenia aplikacji, takie jak studio Android, ale myślę, że potrzebowało to tryljardów gazowych magabajtów przestrzeni dyskowej i szczerze mówiąc uważam, że jest to trochę nieprzyjazne.

Po przeszukaniu natrafiłem na „wynalazcę aplikacji”. Dobra rzecz w App Inventor polega na tym, że działa on w trybie online. Wszystko czego potrzebujesz to konto google. Twórca aplikacji nie potrzebuje wcześniejszego doświadczenia w programie, wszystko to polega na dołączeniu do siebie graficznych „bloków”

Początkowo twórca aplikacji może wydawać się nieco zniechęcający, mówiąc o „emulatorach” i konieczności pobierania aplikacji „compagnon” na telefon, ale to wszystko nie jest konieczne.

Co robisz, to idziesz do twórcy aplikacji, a jeśli masz konto google, możesz zacząć od razu.

Następnie radzę wziąć ich podstawowy samouczek Hello Purr, aby poczuć, jak to działa.

Kiedy już zrobisz przykład „Hello Purr”, możesz wiedzieć, jak to działa, ale prawdopodobnie nadal masz pytania typu „tak, ale jak mam połączyć się przez bluetooth?”

To właśnie wytłumaczę w następnym kroku

Kieszonkowe dzieci:

Krok 1: Aplikacja: naciśnięcie przycisku, odczyt wejścia i wyjścia

Mój obwód Arduino, jak wspomniano, ma regularny moduł bluetooth podłączony do portu szeregowego. Działa autonomicznie, ale może pobierać polecenia z portu szeregowego. Stąd bierze polecenia, aby to zrobić, włącz światło, włącz pompę. Polecenia te były drukowalne jako znaki ascii, ponieważ musiałem móc wybrać je z klawiatury, gdy nadal korzystałem z terminala Bluetooth. W aplikacji nie jest tak ważne, czy można drukować ascii, czy nie, ale na dwóch obrazach powyżej możesz zobaczyć różne wartości wejściowe, które arduino skanuje za pośrednictwem 'Serial.read ()'

Wszystko, co musimy zrobić w aplikacji, to zdefiniować przyciski, które wysyłają te wartości do bluetooth telefonu, który przekaże je do modułu bluetooth Arduino i do portu szeregowego.

Nie będę opisywać aplikacji w każdym szczególe, ponieważ byłoby to żmudne i jestem przekonany, że najlepszym sposobem na nauczenie się jest po prostu samodzielne granie, więc udostępnię źródło aplikacji do ładowania i grania. Omówię jednak kilka podstawowych zasad, aby zrozumieć, co robi aplikacja.

Jeśli przejrzałeś przykład „Inventor” „Hello Purr”, wiesz, że istnieją dwa ekrany: ekran projektu i ekran bloku.

Na ekranie projektu określamy układ naszej aplikacji. Jest to w zasadzie „przeciągnij i upuść” elementy na makiecie „phonecreen”. Wszystkie właściwości, takie jak kolor, rozmieszczenie, rozmiar czcionki itp., Są wykonywane na ekranie projektu, a wkrótce zaczniesz go rozumieć.

Następnie na ekranie bloku definiujemy funkcję różnych przedmiotów: Klikając na element w lewej kolumnie, wybieramy kilka możliwych akcji dla tego przedmiotu.

Na trzecim zdjęciu zobaczysz, jak to działa w przypadku dwóch przycisków:

Po kliknięciu przycisku 1 wywołuje on bluetoothclient, aby wysłać bajt, aw tym przypadku jest to numer 72 (lub „H”). W strukturze Serial.read () w programie Arduino widać, że oznacza to włączenie świateł w salonie.

Podobnie jak w przypadku przycisku 2: wywołuje klienta bluetooth, aby wysłać numer 104 („h”). To w Arduinoprogramie oznacza „Przełącz światło w salonie”

Program Arduino wysyła również dane (czas, temperaturę) do portu szeregowego i musimy je przechwycić i wydrukować w telefonie. Czwarty obraz pokazuje, jak to się robi. Nie zdefiniowaliśmy tylko przycisku, ale także pola tekstowego do drukowania wyników. Ponownie przycisk wywołuje klienta bluetooth w celu wysłania bajtu 116 („t”), który, jak widać z naszego programu Arduinoprogram, jest drukowany na porcie szeregowym.

Dlatego definiujemy inną akcję pod tym przyciskiem, a mianowicie pole tekstowe wywołuje klienta bluetooth, aby odczytać bajty dochodów. Teraz jest to dość prymitywne, ponieważ jeśli coś jest już drukowane w porcie szeregowym (powiedzmy zautomatyzowany komunikat o stanie), to również zostanie wydrukowane, więc pewne udoskonalenia są nadal w porządku

Krok 2: Aplikacja: Przełączanie przycisku

wcześniej pokazałem, jak można wysłać polecenie za pomocą przycisku: Jeden przycisk „WŁĄCZONY” i jeden przycisk „WYŁĄCZONY”.

Nudny!!! Zajmowałoby to mniej miejsca, gdybyśmy mieli tylko jeden przycisk, który moglibyśmy przełączać, a także wygląda na bardziej błyskotliwy.

Cóż, to nie takie trudne. Jeśli spojrzysz na snap ekranu projektowego, zobaczysz dużo „dziwacznych gobbledydocków” (przepraszam za to), ale w dolnej części widać przycisk z zieloną konewką. Oczywiście ma to coś wspólnego z nawadnianiem ogrodu.

Na następnych dwóch zdjęciach pokazuje wygląd rzeczywistej działającej aplikacji: naciśnij zielony przycisk i wyśle ​​polecenie do klienta bluetooth, a następnie zmieni kolor na czerwony. Naciśnij czerwony przycisk, aby wysłać inne polecenie i ponownie stanie się zielony

Początkowo znalazłem metodę przedstawioną na czwartym zdjęciu. Pod przyciskiem definiujemy strukturę „If Then Else”, w której warunek, który sprawdzamy, to nazwa obrazu, który dołączamy do przycisku. Zależnie od tej nazwy przechodzimy do jednej z dwóch procedur, w których wydajemy żądane polecenie (w tym przypadku wysyłanie „I” lub „i”) i przełączanie obrazu na przycisku.

Jednak wydawało się to niepotrzebnie skomplikowane, a piąty obraz pokazuje łatwiejszy sposób, bez konieczności wywoływania procedur

Krok 3: Aplikacja: połączenie Bluetooth

Aplikacja byłaby bezwartościowa, gdyby nie mogła połączyć się z bluetooth. Nie jestem pewien, czy sposób, w jaki to zrobiłem, jest najlepszy, ale działa dla mnie. Zaczynam od wywołania listy sparowanych urządzeń, a kiedy wybieram moje i łączy, zmieniam kolor i tekst przycisku łączenia.

Oczywiście, jeśli masz aplikację, która jest przeznaczona tylko dla jednego konkretnego urządzenia, możesz pozbyć się selektora listy i po prostu połączyć się z UUID wymaganego urządzenia.

Drugie zdjęcie pokazuje dwa podstawowe sposoby łączenia się z Bluetooth:

przez selektor listy i UUID żądanego urządzenia. Identyfikator UUID to nazwa, pod którą urządzenie pojawia się po dodaniu, sparowaniu lub połączeniu. Zwykle jest to seria liczb o nazwie podobnej do

XX: XX: XX: XX: XX: XX HC-05

Istnieje wiele innych sposobów łączenia się z Bluetooth i możesz znaleźć tutaj interesujące informacje.

Krok 4: Aplikacja: Polecenia głosowe

Dodałem podstawowe polecenia głosowe do aplikacji. Odkryłem, że nieco dłuższe słowa działają lepiej niż krótsze słowa „ON” nigdy nie działały, „OFF” działało lepiej, ale „Sypialnia” była zazwyczaj na miejscu. Być może dlatego, że angielski nie jest moim językiem ojczystym. Nie jestem też pewien, jak dobrze rozpoznawanie mowy jest w rozumieniu innych języków

Krok 5: Aplikacja: Testowanie i przesyłanie

Twórca aplikacji oferuje kilka sposobów testowania aplikacji. Zrobiłem to, pobierając towarzysza wynalazcy aplikacji na moim telefonie. Tak długo, jak komputer i telefon korzystają z tej samej sieci, działa.

Szczerze mówiąc, po kilku chwilach zrezygnowałem z używania towarzysza wynalazcy aplikacji, ale właśnie przesłałem kod apk do mojego telefonu.

Jak więc przesłać plik apk?

Najpierw musisz go zdobyć. Robisz to, klikając przycisk „buduj” w górnym pasku narzędzi: daje to dwie możliwości: zeskanowanie kodu QR lub pobranie pliku apk do komputera.

Zazwyczaj wybieram to drugie. Najprostszym sposobem na zainstalowanie tego kodu na telefonie z Androidem jest wysłanie go jako załącznika do własnego konta gmail, które masz na swoim telefonie. Otwarcie załącznika daje ci możliwość instalacji.

Krok 6: Aplikacja: Tylko małe drobiazgi i kod

Jeszcze tylko kilka rzeczy, a potem pozwolę ci mieć kod do zabawy.

Projekt, który podałem, nie jest zbyt krzykliwy, jestem pewien, że możesz dostosować go do własnych potrzeb za pomocą znacznie większej liczby ikon, ale jest to tylko przykład do majsterkowania.

Plik apk zostanie zainstalowany ze standardową nudną ikoną. Możesz określić własną krzykliwą ikonę aplikacji we właściwościach „Screen1”. Tutaj możesz również podać nazwę swojej aplikacji.

pamiętaj, że pisząc to, mogę być tylko jeden dzień przed tobą w pracy z App Inventor. To naprawdę proste, idź z niego.

tutaj jest plik, po prostu przejdź do „importu” w App Inventor i zacznij używać go i zmieniać na swoje potrzeby