AppInventor en 4WD BT Car
Deze website is nog in ontwikkeling,

ik zelf trouwens ook.
😜
     Inhoudsopgave

Voorwoord   Android APP voor de Talenttijd 4WD BT Car   MIT App Inventor

Installeren van een .APK bestand   AppInventor en het .aia bestand

Installatie van MIT AppInventor op de...   computer / mobiele telefoon

Het besturen van de 4WD BT Car met een mobiele telefoon   IOS en App Inventor

Bluetooth algemene zaken   Downloads   SPP / BLE Problemen   Hindernisbaan

     Voorwoord

De lessen Talenttijd PIE op De Meerwaarde blijven ook het komende jaar, voor wat de werkstukjes Display en 4WD BT Car betreft, gelijk.

Display Er zijn een aantal zaken aangepast.

4WD BT Car Wegens een forse prijsverlaging vanuit China, worden deze ook het komende schooljaar (2024-2025) gemaakt. (Video: Crash test mp4)

Omdat de oude APP niet meer in de Play store staat, moest er een andere voor de 4WD BT Car gemaakt worden. Naïef als ik ben heb ik daarom in eerste instantie contact gezocht met een bedrijf dat, ook voor het onderwijs, software enz. ontwikkelt. Dat bleek al heel snel financieel absoluut niet haalbaar te zijn.

Eigenlijk had ik helemaal geen zin om zelf een APP te schrijven, (Lees: 'ik kan dat helemaal niet in Android') daar zou ik namelijk heel veel tijd in moeten steken. Toch vond ik uiteindelijk een oplossing, met als bijkomstigheid dat de leerlingen de APP ook zelf kunnen aanpassen/opleuken. Het kostte echter nog best veel moeite om een werkende APP te maken. Inmiddels (26-05-2024) heb ik een APP welke behoorlijk werkt en getest is op meerdere mobieltjes.

In de techniekhal von onze school wordt met basisschool leerlingen (groep 7-8) regelmatig gebruik gemaakt van het programmeren met blokken. Wanneer we het voor onze eerste klas leerlingen met deze APP ook gaan toepassen, wordt het een doorlopende leerlijn, "hoe mooi is dat"! In het tweede leerjaar kan daar dan verder op geborduurd worden met het maken van een (RGB / Badge) interface, welke ook met blokken geprogrammeerd kan worden.

     Android APP voor de Talenttijd 4WD BT Car

In de meivakantie (2024) kwam ik nogmaals op de site AppInventor terecht en heb daar, zonder al te hoge verwachtingen te koesteren, wat tijd in gestoken. Dat leidde in zo'n twee dagen tot de onderstaande APP.

APK: RC4WDCar_01.apk
Broncode: RC4WDCar_01.aia

Opgedane ervaringen betreffende de ontwikkeling van het bovenstaande zal ik binnenkort delen, maar voorlopig werkt het (op de momenteel beschikbare mobieltjes) best wel goed!

Het ontwerpen (hoe het programma er uitziet) en het programmeren, wordt met de muis gedaan. Het is redelijk eenvoudig de APP een eigen 'tintje' te geven. Te denken valt aan het plaatsen van een foto van jezelf, een favoriete artiest, of wat dan ook.



APK: RC4WDCar_02.apk
Broncode: RC4WDCar_02.aia (Just for fun!)

Ach kijk nou, da's zo gepiept.

Wanneer je in deze APP op de F1 Car 'tikt', wordt een geluidje afgespeeld. Zomaar een voorbeeld van het personaliseren van je 'eigen' APP. Misschien motiveert het een aantal leerlingen om zelf ook iets heel anders te proberen.

     MIT AppInventor

AppInventor is een programma/APP dat gebruikt kan worden om Android
en IOS APP's te maken. Normaal gesproken is daar een Google-account voor nodig om in te loggen.

Voor scholen is er de site MIT App Inventor, waarbij niet ingelogd hoeft te worden en dus geen persoonlijk identificeerbare informatie (PII) wordt bijgehouden.

Wanneer je 'door gaat zonder een account' verschijnt het onderstaande venster.

Wanneer je de code kopieert/onhoudt, kun je later jouw project opieuw openen en bewerken.

Het maken van een programma is opgedeeld in twee fasen...

  1. De grafische interface, hoe het scherm er uit komt te zien.
  2. De programmacode, welke door het slepen en klikken van blokken geschreven wordt.
    Download een overzicht van beschikbare blokken AppInventor Blokken.pdf (Nederlandstalig)

Wanneer dat klaar is kan de APP op twee verschillende manieren op een mobieltje geplaatst worden.

  1. .APK bestand. In AppInventor kan het daarin gemaakte programma omgezet worden in een .APK bestand, waarna het gedownload kan worden. Dan kan het naar de mobiel gekopieerd en geïnstalleerd worden.
  2. WiFi verbinding tussen AppInventor (computer browser) en een mobiele telefoon.
    Beide apparaten moeten wel met hetzelfde WiFi netwerk verbonden zijn. Door middel van een 6 letterige- of QR code wordt de mobiele telefoon met AppInventor verbonden.

Bij optie 2 worden aanpassingen, welke in AppInventor uitgevoerd worden, direct doorgestuurd naar de mobiel. Op de mobiel kan tijdens deze verbinding de 4WD BT Car bestuurd/getest worden.

     Installeren van een .APK bestand.

Het plaatsen van een APP in de Google Play store is nogal omslachtig geworden, misschien dat ik er ooit eens de moeite voor neem om dat uit te voeren.

De APP kan zonder de Play store op de mobiele telefoon geinstalleerd worden. Het benodigde .APK bestand kan van deze site gedownload worden.

APK bestand: RC4WDCar_05.apk (Dit is de laatste versie)

Bekijk via deze link hoe je een .APK bestand op je mobiel installeert.

Op zich zouden in de laatste versie de machtigingen automatisch ingesteld moeten worden. Mocht het niet werken, stel deze dan na het installeren als volgt in...

  • Wijs de app aan en wacht tot het menu App-info verschijnt en tik er op
  • Tik op Machtigingen en tik daarna op Apparaten in de buurt
  • Tik op Toestaan
  • Sluit het venster App-rechten

De bovenstaande rechten zijn nodig om de app te laten werken.

     AppInventor en het .aia bestand

Hoewel er behoorlijk veel meldingen over bugs and other issues in AppInvertor zijn, werkt het bij mij i.i.g. behoorlijk probleemloos.

Het leuke is dat de bron bestanden eenvoudig uitgewisseld kunnen worden. Daarvoor wordt het zogenaamde .aia bestand gebruikt. Wanneer je zo'n bestand download, kun je het niet alleen zelf uitvoeren maar ook aanpassen.

Voordat je er mee kunt werken moet op je computer een account aangemaakt en op je mobiel een APP geïnstalleerd worden. Een geldig Gmail adres is voldoende..

     Installatie van MIT AppInventor op de computer

De AppInventor is een online tool, wat inhoud dat het in elke moderne browser uitgevoerd kan worden. (Chrome, Firefox, Edge, Safari enz.) Voor het gebruik is een Google account benodigd.

  • Ga in de browser naar https://appinventor.mit.edu/
  • Klik op
  • Sign in met een Google account/email adres (Je kunt ook een nieuw account maken)
    Je kunt hier ook de taal op Nederlands instellen, maar de meeste voorbeelden zijn in het Engels. Het is dan lastiger om bij het programmeren in Blokken (Blocks) de juiste onderdelen te vinden.
  • enz.

Na het inloggen ga je als volgt verder...

  • Download: RC4WDCar_01.aia en onthoud waar je het opgeslagen hebt.
  • Ga naar de MIT AppInventor site
  • Klik in de MIT AppInventor site op

    en daarna op ...




  • In het onderstaande scherm selecteer je ...



    en kies je daarna het RC4WDCar_01.aia bestand...



  • Klik achtereenvolgens op en
    en het onderstaande (deel)scherm zou nu te zien moeten zijn.


De APP past nog niet goed op het scherm, maar je kunt dat later eenvoudig aanpassen.

  • Klik achtereenvolgens op en ...



Op het scherm komt een QR- en een letter code te staan.

  • Laat dit scherm zo staan en installeer nu eerst de APP op je mobiele telefoon zoals hieronder beschreven.
     Installatie van MIT AppInventor op de mobiele telefoon

Het ontwerpen van het scherm (grafische interface) heeft een aantal beperkingen waar ik, in een nog te schrijven handleiding, waarschijnlijk wel op terug zal komen.

  • Installeer de MIT AppInventor op de mobiele telefoon door hieronder op de gewenste link te klikken of de QR code te scannen.

    Voor Android
    Voor Apple
    Toon QR code
    Toon QR code

  • Start na het installeren de APP
  • Scan met je mobiele telefoon de code van jouw computerscherm. (Dus niet de hierboven staande.)
  • Na even wachten zal de APP op jouw mobiele telefoon verschijnen.

Wanneer je in AppInventor op de computer iets wijzigt, wordt het programma op je mobiel meteen aangepast.

     Het besturen van de 4WD BT Car met een mobiele telefoon

Wanneer de APP geïnstalleerd is maak je eerst via Bluetooth een verbinding met de 4WD BT Car.

  • Zet de 4WD BT Car aan.
  • Zoek via Bluetooth op je mobiel naar nieuw apparaat koppelen
  • Bekijk of er een apparaat met de onderstaande aanduiding bij staat
    JDY-32-SPP (kan ook JDY-33-SPP zijn) en maak daarmee een verbinding. De code is 1234
  • Wanneer de 4 WD BT Car verbonden is, start je de APP



  • Tik op het scherm op en tik in de lijst op jouw 4WD BT Car.

Wanneer in de lijst geen apparaten verschijnen, voer dan het onderstaande uit op je mobiel..

  • Sluit de APP af, start deze opnieuw en tik op verbind

of

  • Wijs de app aan en wacht tot het menu App-info verschijnt en tik er op
  • Tik op Machtigingen en tik daarna op Apparaten in de buurt
  • Tik op Toestaan
  • Sluit het venster App-rechten
  • Start het programma opnieuw



Als het gelukt is zal het onderstaande scherm verschijnen, waar met de groene knop aangegeven wordt dat er een verbinding is met de 4WD BT Car.


  • Met de pijlen op het scherm kan de 4WD BT Car bestuurd worden
  • De snelheid kan met de scroll bar ingesteld worden van 1 - 9, waarbij de snelheid meteen in waarden van 0 - 255. op de display van de 4WD BT Car verschijnt
  • Wanneer je op tikt wordt de verbinding met de APP verbroken
  • Heeft jouw 4WD BT Car een RGB led strip, dan kunnen de leds daarvan met de onderstaande knoppen bediend worden

     iOS en App Inventor

Hoewel AppInventor ook geschikt is voor IOS, zijn er een aantal zaken die niet werken. Een Bluetooth verbinding is bijvoorbeeld nog niet mogelijk.

De Bluetooth module met de BLE verbinding wordt niet getoond. Wel is de SPP verbinding zichtbaar maar daar kan geen koppeling mee gemaakt worden. Da's nou weer erg jammer, gelukkig is er een goede APP voor IOS beschikbaar.

Er zijn wel ontwikkelingen maar het privacy beleid van Apple voorkomt eenvoudige oplossingen voor meerdere problemen.

Hier staat meer informatie betreffende de ontwikkelingen en problemen. Daar zijn ze al vanaf 2021 mee bezig, het zal dus nog wel ff duren, als het er uberhaupt al van komt.

     Bluetooth algemene zaken

De Bluetooth module van de 4WD BT Car is voorzien van een zogenaamde 'dual-mode' module. Daarom is deze geschikt voor iOS en Android.

Volgense de leverancier geldt het volgende...

Protocol: v3.0 SPP + v4.2 BLE, SPP is alleen voor Android, BLE is voor Android en iOS.

Momenteel wordt ook een vernieuwde versie van deze module meegeleverd. Deze is te herkennen aan het verdraaide IC'tje op het printje. SPP en LE (Android kan niet verbinden met LE)

Afhankelijk van de meegeleverde BT module zijn verschillende verbindingen mogelijk.

Wanneer verbinding gemaakt wordt met deze module, wordt kan deze als volgt in de verbindingslijst getoond worden.

  • SPP (Serial Port Profile 1999 en 2009 tot v 4.0) Alleen geschikt voor Android
    Dit is een Bluetooth profiel dat gebruikt wordt om draadloos een seriële kabel verbinding na te bootsen. De Bluetooth verbinding kan gemaakt worden volgens het veelgebruikte seriele RS-232 protocol. Geschikt om grote hoeveelheden data te versturen.
  • BLE (Bluetooth Low Energy 2010 - 2020 v 4.0 - 5.1) GATT Voor Android en iOS
    Deze verbinding is exclusief, wat betekent wanneer het apparaat verbonden is, deze niet meer toegankelijk is voor andere verbindingen/apparaten..
  • (Bluetooth) LE (Low Energy 2020 v 5.2)
    Ondermeer geschikt om audio gelijktijdig naar meerdere verbonden apparaten te sturen.

Vooral met Samsung telefoons komen verbindingsproblemen via BlueTooth veel voor wat, voor zover ik het kan nagaan niet aan de Android versie ligt. Nou ja, elke leerling heeft momenteel een eigen laptop en kan dus de Windows APP gebruiken om de 4WDBTCar te besturen.

13-mei-2024
Vandaag bleek dat op nieuwere android mobieltjes de BlueTooth verbinding problemen geeft. Er moet gebruik gemaakt worden van BLE. (Bluetooth Low Energie) Dat vergt wel enkele aanpassingen, wat een beetje lastig is omdat ik slechts oude mobieltjes tot mijn beschikking heb. 'Kzal wel zien hoe ik het oplos, het lijkt er op dat het twee app's worden.

16-mei-2024
Het blijkt dat er verschillende BT modules geleverd zijn/worden. Wanneer de module zich toont als LE of SPP, werkt LE niet op een Android, bij BLE of SPP kan er via Android ook een verbinding gemaakt worden met BLE. Binnenkort maar eens verder uitwerken.

     Downloads

Hieronder staan verschillende versie's van het besturings programma. Wanneer de leerlingen de 4WDBTCar weer genaakt hebben, krijg ik meteen een indruk in hoeverre het op allerlei verschillende merken werkt.

Verbind eerst de 4WDBTCar met de mobiele telefoon. start daarna de app. Wanneer er geen lijst met apparaten getoond wordt, sluit deze dan en start deze opnieuw.

20-5-2024
RC4WDCar_01.apk Eerste versie voor de besturing van de auto.
RC4WDCar_01.aia
20-5-2024
RC4WDCar_02.apk Met formule 1 button en geluid
RC4WDCar_02.aia
20-5-2024
RC4WDCar_03.apk Beta, met controle op Android versie i.v.m. toestemming voor gebruik van BlueTooth apparaten dichtbij.
RC4WDCar_03.aia
26-5-2024
RC4WDCar_04.apk Een tweede scherm toegevoegd met info over de app en talenttijd. Zonder BT verbinding kunnen de knoppen bediend worden,
RC4WDCar_04.aia
9-juni-2024
RC4WDCar_05.apk Twee buttons toegevoegd aan het startscherm, Lanz Bulldog en 4WDBTCar met geluiden, Dat post namelijk prima in onze leef- (Barneveld) en leeromgeving.
Drie buttons toegevoegd aan het Info scherm, PIE De Meerwaarde, EduTechSoft home en Afsluiten.
Slider code aangepast, bij geen BT verbinding geen foutmelding meer.
RC4WDCar_05.aia
 
 

Hieronder staan schermafdrukken van versie 05

28-mei-2024
Vandaag bleek dat i.i.g. de meeste leerlingen geen toestemming hebben om een .apk bestand uit te voeren op hun mobiel. Ik was niet in de gelegenheid te 'kijken' of dit geholpen zou hebben.

De laatste versie (RC4WDCar_05.apk) werkt nu wel goed op de mobiel van een collega. Op mijn eigen mobiel, waar de momenteel meest actuele versie van Android op staat, werkt het ook probleemloos.

9-juni-2024

Het is toch altijd wel weer even 'puzzelen' voordat alles op de juiste plaats staat en correct 'verbonden' is. Het is dus waarschijnlijk tijd voor een Nederlandstalige handleiding, maar omdat ik het komende jaar (nog) geen ontwikkeltijd (meer) heb, betwijfel ik of het daar van komt.

     SPP / BLE problemen

Het maken van een goede verbinding met SPP is nog niet zo makkelijk als in eerste instantie gedacht. Een veel voorkomend probleem is dat de BlueTooth apparaten niet in de lijst verschijnen of de verbinding weer verbroken wordt. Normaal gesproken komt dit voor wanneer er geen rechten zijn voor Apparaten in de buurt. Voor zover ik weet is locatie niet nodig. Voor de MIT App Inventor op de mobiel zijn de camera rechten nodig voor het scannen van de QR codes.

Omdat de BT module ook BLE ondersteunt probeer ik daarmee ook een verbinding te maken. Dat lukt op zich prima, maar het versturen van data kan alleen wanneer ik bepaalde ID nummers van de BT module invoer, maar die nummers weet ik niet. Met een app zouden die nummers uitgelezen moeten kunnen worden, maar dat werkt ook niet. De onderstaande foutmelding verschijnt bij het versturen van een code.

Service 91db43be-9b62-4f27-8bb7-30e71bddd1f2, characteristic beb5483e-36e1-4688-b7f5-ea07361b26a8 are not published by the connected device.
Note: You will not see another error reported for 5 seconds.

Ik zal er nog meer tijd in moeten steken, maar gezien de ontwikkelingen op school denk ik dat het daar niet meer van zal komen.
😒

     Hindernisbaan

Als uitdaging en toepssing wil ik graag een hindernisbaan maken/kopen. Je kunt het natuurlijk zo gek maken als je maar wilt, maar iets zelf ontwerpen en bouwen is nogal tijdrovend.

Er zijn complete bouw paketten van een brug, wip enz. welke door de leerlingen zelf in elkaar gezet kunnen worden. Op die manier oefen je ook tekeninglezen en monteren, wat natuurlijk ook des PIE is.
😏

Maar eens 'zien' of een bepaald iemand te vermurwen valt. 😋

Links: WETRONIC TOPRC

Ik moet nog wel even de (breedte) maten controleren.