Stap 9: USB naar variant van de smartphone (Android)
Dus wat is in dit app? Ik heb geprobeerd om commentaar van de code zo veel als ik kon, maar hier een paar higlights zijn.
- De gebruikersinterface is erg basic - een tekstgebied te bevestigen de Bluetooth-status, een lijst met BT apparaten gedetecteerd, en een tweede tekstgebied waar de gegevens van de seriële poort lezen wordt weergegeven.
- De belangrijkste activiteit UploadThingspeakAppActivity activeert BT als niet geactiveerd al, zoekopdrachten voor BT-apparaten binnen bereik, ze in een lijst weergeven.
- Wanneer een BT-apparaat is ingeschakeld, maakt een socket, met behulp van een id genoemd UUID (voor een seriële poort, de UUID te gebruiken 00001101-0000-1000-8000-00805F9B34FB is)
- De verbinding wordt beheerd in een afzonderlijke Thread, ConnectedThread. Dit is een aanbevolen om te voorkomen dat de toepassing te bevriezen. De aanleg van ConnectedThread is verantwoordelijk voor alle communicatie taken met IEQ station zowel de Thingspeak.
- Het verbindt met de aansluiting en luistert naar de mededeling, teken voor teken. Bij het bereiken van einde van regel, het vormt de URL die is vereist om te werken Thingspeak, en geopend. Merk op hoe de velden String [] labels en String velden [] Maak de link tussen de Arduino code en uw Thingspeak kanaal, op dezelfde manier zoals in de code van de verwerking.
- De Manifest-bestanden de machtigingen met de smartphone Bluetooth en internetfuncties met vereist
< gebruik-machtiging android:name="android.permission.BLUETOOTH" / >
< gebruik-machtiging android:name="android.permission.BLUETOOTH_ADMIN" / >
< gebruik-machtiging android:name="android.permission.INTERNET"/ >
- Een laatste punt: de gebruikersinterface wordt opengehouden met android: keepScreenOn = "true" in de lay-out. Hiermee voorkomt u dat Android van onderbreken van de toepassing en het snijden van de verbinding. Merk op dat over te schakelen naar een andere toepassing de verbinding ook afgesloten.
En natuurlijk, het is beter om te houden van de telefoon aangesloten op de lader terwijl in gebruik, omdat Bluetooth + scherm altijd op de accu ultra snel verliest!