Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Opmerking: deze instructie kan niet 1:1 worden gerealiseerd in de nieuwste versie van LabDroid. Ik zal het binnenkort bijwerken. Dit project laat je zien wat je kunt doen met LabDroid. Aangezien een Hello World normaal gesproken wordt gemaakt op basis van tekst, licht of geluid, dacht ik dat voor LabDroid een op morsecode gebaseerde communicatie een prachtig voorbeeld zou zijn.
Het principe hiervoor is relatief eenvoudig: nadat je de tekst naar het Android toestel hebt gestuurd, wordt de tekst vertaald in morsecode en door de ingebouwde vibrator omgezet in een fysieke beweging. Tegelijkertijd wordt de hele tijd dat de versnellingsmeter wordt uitgelezen om uiteindelijk het herkende patroon terug te geven.
De code die u ziet, toont u niet de beste manier om dit probleem op te lossen. Voel je vrij om je eigen herimplementatie te doen voor de encoder, decoder of front-end en deel je versie met de community! En als je twee Android-apparaten hebt, kun je proberen de encoder en decoder te scheiden.
Als je dit applicatie-idee leuk vindt, volg dan gewoon LabDroid:
Website
Hackaday.io
Benodigdheden
-
1x Android-apparaat om de applicatie uit te voeren
- Android 8.0+
- Vibrator
- Versnellingsmeter
- 1x pc/MAC om je Android-apparaat te programmeren
- 1x netwerk om uw pc/MAC en Android-apparaat aan te sluiten
- 1x de app LabDroid
Stap 1: Maak het project
Voordat we met de "codering" kunnen beginnen, moet u de applicatie installeren, starten en het project maken.
U kunt LabDroid downloaden van de Android Play Store (link). Nadat u het hebt geïnstalleerd, opent u gewoon de applicatie en accepteert u de gevraagde machtigingen. (b.v. zonder locatietoestemming kunt u de GPS Node later niet gebruiken)
Nu zou u een melding moeten zien met de URL die u moet openen om toegang te krijgen tot de IDE. Neem gewoon uw pc/MAC en open de URL met de nieuwste versie van Chrome/Chromium.
Om het project aan te maken, drukt u gewoon op de knop Toevoegen en geeft u het een naam (bijv. HelloWorld). Nadat u op maken hebt geklikt, wordt u doorgestuurd naar de projecteditor.
Stap 2: De encoder
Tips:
- om een knooppunt toe te voegen, dubbelklikt u gewoon in de werkruimte
- om een verbinding tot stand te brengen klik op een uitvoerpoort, blijf drukken en ga naar de gewenste invoerpoort
- sommige knooppunten hebben instellingen (bijv. Script & Vibrator), dubbelklik gewoon in het knooppunt om deze te openen
Oké, nu kunnen we beginnen met het implementeren van de encoder.
Allereerst hebben we de WebSocket Node nodig waarmee we de tekst naar de encoder kunnen sturen. Daarnaast zullen we een Script Node toevoegen met één invoer en één uitvoer. Deze Script Node zal later worden gebruikt om de tekst te vertalen naar commando's voor de vibrator. De Vibrator Node is de laatste die we moeten toevoegen. Verbind nu de output van de WebSocket met de input van de Script Node en doe hetzelfde voor het verbinden van de Script Node met de Vibrator Node.
Onze gegevensstroomconfiguratie is voltooid. Om de codering uit te voeren, moet u de volgende code in de Script Node plaatsen:
Stap 3: De decoder
Onze laatste stap is het implementeren van de decoder die de trilling moet detecteren en de bijbehorende symbolen (./-) moet afdrukken.
De decoder heeft twee extra nodes nodig:
- Script Node met één invoer en één uitvoer
- Versnellingsmeterknooppunt
U hoeft alleen verbinding te maken in de volgende volgorde: Accelerometer Node -> Script Node
En last but not least is hier de code voor de Script Node:
Stap 4: Zeg "Hallo wereld"
Nu bent u klaar om het project te starten.
Daarvoor hoef je alleen maar op de afspeelknop te drukken (linkerbovenhoek). U zou moeten zien dat op uw Android-apparaat een logweergave verschijnt. Deze bevat ook de gedecodeerde morsecode.
Om de morsecode te coderen en te decoderen, hebben we alleen een manier nodig om een tekst naar de WebSocket te sturen. Als je weet hoe je dat moet doen, kun je daar een eenvoudige website voor implementeren. Zo niet, ga dan naar https://www.websocket.org/echo.html en maak verbinding met ws://AndroidIP:8081/user. Nadat je op de verbindingsknop hebt gedrukt, zou je iets in het tweede tekstveld moeten kunnen typen. Ik zou je aanraden om het met SOS te proberen.
Je Android-apparaat zou nu moeten gaan trillen en tegelijkertijd zou je de symbolen in het logboek moeten zien. Nadat het klaar is, zou de lo iets moeten afdrukken als "word: … --- …" (voor het geval u SOS verzendt).