Projektet bygger et lille WiFi-tag, som kan give telefonen besked, når det forbinder til et konfigureret hjemme- eller skolenetværk. Det demonstrerer netværksbaseret tilstedeværelse, ikke bevis for, at et barn er kommet sikkert frem. Netværksudfald, tjenestefejl eller afladt batteri kan forsinke eller forhindre beskeder; brug det ikke som erstatning for sikkerhedsopsyn.

Du skal bruge følgende komponenter til projektet. De findes alle hos eBits.
| Antal | Komponent | Link |
| 1 | 1800mAh LiPo-batteri med beskyttelseskredsløb | Link — aktuelt udvalg; kontrollér kompatibilitet |
| 1 | ESP32 LOLIN32 V1 | Link |
| Eller | ||
| 1 | Kit til ankomstbesked | Link — aktuelt udvalg; kontrollér kompatibilitet |
GitHub: https://github.com/r0bigun/Key-Tag
Indholdsfortegnelse
Signal-appen
Signal tilbyder beskeder, grupper, klistermærker, fotos, filer og taleopkald med ende-til-ende-kryptering mellem deltagerne. Projektet bruger tredjeparten CallMeBot, ikke et officielt Signal-bot-API. Udbyderen modtager beskedteksten og telefonnummeret i HTTPS-forespørgslen. Kontrollér aktuel dokumentation, tilgængelighed og privatlivsvilkår før opsætning; historiske oprettelsestrin gælder muligvis ikke længere. ESP32 overvåger WiFi-forbindelsen og sender på den baggrund en ankomstbesked afhængigt af, hvilket netværk det er tilsluttet.
Botopsætning
Download først Signal-appen fra Google Play eller App Store. Spring trinnet over, hvis du allerede bruger Signal.
Botten i dette projekt kaldes CallMeBot. Trinnene til at tilføje botten er:
- Brug kun en kontakt, som udbyderen aktuelt angiver på CallMeBot. Brug ikke historiske numre fra skærmbilleder. Du kan navngive den bekræftede kontakt Ebits Bot.
- Følg udbyderens aktuelle oprettelsesprocedure. Den gamle kommando ”I allow callmebot to send me messages” vises kun som historisk kontekst og gælder muligvis ikke længere.
Hvis udbyderen stadig understøtter integrationen, skal du hente din egen API-nøgle gennem den aktuelle registrering og holde den privat. Brug pladsholdere i delt kode.
Efter understøttet oprettelse skal integrationen testes med egne oplysninger; tjenestens tilgængelighed er ikke garanteret.
Opsætning på ESP32
For at programmere ESP32 i Arduino IDE skal vi først installere ESP32-kortunderstøttelsen. Det forudsætter, at du har Arduino IDE installeret på computeren. Ellers findes denne guide: Opsætning af ESP32 til Arduino og Platform IO. Følg guiden til og med trin 4, og download derefter denne driver så computeren kan genkende ESP-modulet.
Sådan installeres USB-driveren:
- Klik på downloadikonet i højre hjørne
- Pak filen ud
- Kør den udpakkede installer, der passer til dit 32- eller 64-bit-operativsystem
- Når CH340 er tilsluttet, vises en COM-port i Arduino IDE under Tools > Serial Port. Portnummeret kan variere med systemet.
Installér ESP32-kortpakken, ikke et sketchbibliotek, før du vælger det konkrete kort. Vælg Tools -> Board -> Boards Manager… -> søg efter ”esp32” -> tryk Install.

Tilslut ESP32 til computeren før valg af kort. Vælg præcis det kort, der passer til hardwaren. Billedet viser WEMOS LOLIN32 Lite; LOLIN32 V1 og Lite er forskellige kort, så kontrollér benforbindelser, USB-UART-chip og lader før valg.

Kopiér koden fra GitHub og indsæt den i Arduino IDE.
Forstå besked-API’et til Signal
Nedenfor ses API-formatet til at sende en tekstbesked til Signal.
https://api.callmebot.com/signal/send.php?phone=[phone_number]&apikey=[apiKey ]&text=[message]
[phone_number]: Dit telefonnummer med landekode, eksempelvis +4512345678
[apiKey]: Din API-nøgle fra trin to i botopsætningen.
[message]: Beskedteksten. URL-kod forespørgselsparametre; mellemrum kan skrives som +, mens et bogstaveligt + i landekoden skal kodes som %2B.
Eksempel:
https://api.callmebot.com/signal/send.php?phone=YOUR_PHONE&apikey=YOUR_API_KEY&text=Hello+from+eBits
Hvis den aktuelle tjeneste understøtter det, sender en forespørgsel til URL’en med dine egne URL-kodede værdier ”Hello from eBits” til Signal. Del aldrig en URL med din rigtige API-nøgle.
Send besked til Signal
Koden sender en besked til Signal, når tagget forbinder til et konfigureret hjemme- eller skolenetværk. Du modtager derfor en besked fra ”Ebits bot” om hændelsen og ESP32-batteriets niveau.
Før vi bygger og kompilerer, skal oplysninger indtastes i koden så ESP32 kan forbinde til internettet og Signal-botten. Indtast dine egne oplysninger, men behold "".
Tilføj derefter det mobilnummer, du bruger i Signal, inklusive landekode, i phone og din API-nøgle i apikey (samme nøgle som fra botten).
Gør det samme i ”void School()”.
Upload til sidst koden.
Hvis alle oplysninger er ændret korrekt, bør tagget først forbinde til hjemmets WiFi og gå i deep sleep. Det vågner derefter hvert 5. minut for at kontrollere WiFi-forbindelsen.
Når forbindelsen mistes, eksempelvis på vej til skole, forsøger tagget at forbinde til tilgængeligt WiFi, her skolen, indtil det lykkes, og sender derefter en besked om hændelsen. Beskeden i Signal afhænger af det tilsluttede netværk.
Batteri
Til strømforsyning af ESP32 bruges denne type batteri — aktuelt udvalg; kontrollér kompatibilitet, som har fordelen af lille størrelse og stor kapacitet. Brug det præcist passende batteristik eller en egnet adapter med kontrolleret polaritet. Skær ikke i et inkompatibelt stik, og tving det ikke på plads. Kontrollér, at kortets ladespænding og -strøm passer til cellen.
Bemærk: Lade-LED’ens funktion afhænger af kortversionen; læs dokumentationen i stedet for kun at stole på farven.
ESP32-modul (spændingsdeler)
Eksemplet bruger WEMOS ESP32 Lite. Mål hele kortets strøm i dvale og drift; regulator, LED’er og firmware bestemmer den faktiske batterilevetid.
En ekstra funktion er, at batteriniveauet kan sendes i beskeden til telefonen ved at bruge teorien om spændingsdeling og lodde 2 modstande på kortet. Er det ikke smart?
Nedenfor ses det lille kredsløb, som skal loddes og tilsluttes ESP-kortet som vist:

Samling
Efter opsætningen kan batteriet tilsluttes med den polaritet, der er markeret på kortet: sort er minus, og rød er plus. Billederne nedenfor viser en lille 3D-printet kasse, der ikke fylder meget i barnets taske.

Kassen kan downloades og printes, og dimensionerne kan ændres via parametrene i Fusion 360.
Batterilevetid
Enhedens batteri kan holde cirka 1–2 dage afhængigt af afstanden mellem hjem og skole. Undervejs bruger ESP mere strøm end normalt, fordi det forsøger at forbinde til tilgængeligt WiFi.
Fejlfinding
Hvis registreringen fejler eller melder, at botten er fuld, skal du læse udbyderens aktuelle dokumentation. Stol ikke automatisk på erstatningsnumre i en uopfordret besked.
Hvis du mister en API-nøgle, skal du følge udbyderens aktuelle procedure for gendannelse eller udskiftning. Stol ikke på historiske kommandoer til at gendanne den.