Projektet bygger en liten WiFi-tagg som kan meddela telefonen när den ansluter till ett konfigurerat hem- eller skolnätverk. Det demonstrerar nätverksbaserad närvaro, inte bevis för att ett barn har kommit fram säkert. Nätverksavbrott, tjänstefel eller urladdat batteri kan försena eller förhindra aviseringar; använd det inte som ersättning för säkerhetsuppsikt.

Du behöver följande komponenter till projektet. Alla finns hos eBits.
| Antal | Komponent | Länk |
| 1 | 1800mAh LiPo-batteri med skyddskrets | Länk — aktuellt utbud; kontrollera kompatibilitet |
| 1 | ESP32 LOLIN32 V1 | Länk |
| Eller | ||
| 1 | Kit för ankomstavisering | Länk — aktuellt utbud; kontrollera kompatibilitet |
GitHub: https://github.com/r0bigun/Key-Tag
Innehåll
Signal-appen
Signal erbjuder meddelanden, grupper, klistermärken, foton, filer och röstsamtal med end-to-end-kryptering mellan deltagarna. Projektet använder tredjeparten CallMeBot, inte ett officiellt Signal-bot-API. Leverantören får meddelandetexten och telefonnumret i HTTPS-förfrågan. Kontrollera aktuell dokumentation, tillgänglighet och integritetsvillkor före inställning; historiska registreringssteg kanske inte längre gäller. ESP32 övervakar WiFi-anslutningen och skickar utifrån den en ankomstavisering beroende på vilket nätverk den anslutit till.
Botinställning
Ladda först ned Signal-appen från Google Play eller App Store. Hoppa över steget om du redan använder Signal.
Botten i detta projekt heter CallMeBot. Stegen för att lägga till botten är:
- Använd bara en kontakt som leverantören för närvarande anger på CallMeBot. Använd inte historiska nummer från skärmbilder. Du kan kalla den verifierade kontakten Ebits Bot.
- Följ leverantörens aktuella registreringsförfarande. Det gamla kommandot ”I allow callmebot to send me messages” visas bara som historisk kontext och kanske inte längre gäller.
Om leverantören fortfarande stöder integrationen hämtar du din egen API-nyckel genom aktuell registrering och håller den privat. Använd platshållare i delad kod.
Efter registrering som stöds testar du integrationen med egna uppgifter; tjänstens tillgänglighet garanteras inte.
Inställning på ESP32
För att programmera ESP32 i Arduino IDE måste vi först installera ESP32-kortstödet. Det förutsätter att du har Arduino IDE installerat på datorn. Annars finns denna guide: Ställ in ESP32 för Arduino och Platform IO. Följ guiden till och med steg 4 och ladda sedan ned denna drivrutin så att datorn kan känna igen ESP-modulen.
Så installeras USB-drivrutinen:
- Klicka på nedladdningsikonen i högra hörnet
- Packa upp filen
- Kör det uppackade installationsprogrammet som passar ditt 32- eller 64-bitars operativsystem
- När CH340 är ansluten visas en COM-port i Arduino IDE under Tools > Serial Port. Portnumret kan variera med systemet.
Installera ESP32-kortpaketet, inte ett sketchbibliotek, innan du väljer det aktuella kortet. Välj Tools -> Board -> Boards Manager… -> sök efter ”esp32” -> klicka på Install.

Anslut ESP32 till datorn innan du väljer kort. Välj exakt det kort som motsvarar hårdvaran. Bilden visar WEMOS LOLIN32 Lite; LOLIN32 V1 och Lite är olika kort, så kontrollera stiftanslutningar, USB-UART-krets och laddare före val.

Kopiera koden från GitHub och klistra in den i Arduino IDE.
Förstå meddelande-API:et för Signal
Nedan visas API-formatet för att skicka ett textmeddelande till Signal.
https://api.callmebot.com/signal/send.php?phone=[phone_number]&apikey=[apiKey ]&text=[message]
[phone_number]: Ditt telefonnummer med landskod, exempelvis +4512345678
[apiKey]: Din API-nyckel från steg två i botinställningen.
[message]: Meddelandetexten. URL-koda frågeparametrar; blanksteg kan skrivas som + medan ett bokstavligt + i landskoden ska kodas som %2B.
Exempel:
https://api.callmebot.com/signal/send.php?phone=YOUR_PHONE&apikey=YOUR_API_KEY&text=Hello+from+eBits
Om den aktuella tjänsten stöder det skickar en förfrågan till URL:en med dina egna URL-kodade värden ”Hello from eBits” till Signal. Dela aldrig en URL med din riktiga API-nyckel.
Skicka meddelande till Signal
Koden skickar ett meddelande till Signal när taggen ansluter till ett konfigurerat hem- eller skolnätverk. Du får därför ett meddelande från ”Ebits bot” om händelsen och ESP32-batteriets nivå.
Innan vi bygger och kompilerar behöver uppgifter anges i koden så att ESP32 kan ansluta till internet och Signal-botten. Ange dina egna uppgifter men behåll "".
Lägg sedan till mobilnumret du använder i Signal, inklusive landskod, i phone och din API-nyckel i apikey (samma nyckel som från botten).
Gör samma sak i ”void School()”.
Ladda slutligen upp koden.
Om alla uppgifter ändrats rätt bör taggen först ansluta till hemmets WiFi och gå i deep sleep. Den vaknar därefter var 5:e minut för att kontrollera WiFi-anslutningen.
När anslutningen förloras, exempelvis på väg till skolan, försöker taggen ansluta till tillgängligt WiFi, här skolan, tills det lyckas och skickar sedan ett meddelande om händelsen. Meddelandet i Signal beror på det anslutna nätverket.
Batteri
För att strömförsörja ESP32 används denna typ av batteri — aktuellt utbud; kontrollera kompatibilitet, som har fördelen av liten storlek och stor kapacitet. Använd exakt rätt batterikontakt eller en lämplig adapter med verifierad polaritet. Skär inte i en inkompatibel kontakt och tvinga den inte på plats. Kontrollera att kortets laddningsspänning och ström passar cellen.
Obs: Laddningslysdiodens funktion beror på kortversionen; läs dokumentationen i stället för att bara förlita dig på färgen.
ESP32-modul (spänningsdelare)
Exemplet använder WEMOS ESP32 Lite. Mät hela kortets ström i vila och drift; regulator, lysdioder och firmware avgör den faktiska batteritiden.
En extra funktion är att batterinivån kan skickas i meddelandet till telefonen genom teorin om spänningsdelning och genom att löda 2 motstånd på kortet. Visst är det smart?
Nedan visas den lilla kretsen som ska lödas och anslutas till ESP-kortet enligt bilden:

Montering
Efter inställningen kan batteriet anslutas med polariteten som markerats på kortet: svart är minus och rött är plus. Bilderna nedan visar ett litet 3D-utskrivet hölje som inte tar mycket plats i barnets väska.

Höljet kan laddas ned och skrivas ut, och måtten kan ändras via parametrarna i Fusion 360.
Batteritid
Enhetens batteri kan räcka cirka 1–2 dagar beroende på avståndet mellan hem och skola. Under resan använder ESP mer ström än normalt eftersom den försöker ansluta till tillgängligt WiFi.
Felsökning
Om registreringen misslyckas eller rapporterar att botten är full ska du läsa leverantörens aktuella dokumentation. Lita inte automatiskt på ersättningsnummer i ett oombett meddelande.
Om du förlorar en API-nyckel ska du följa leverantörens aktuella förfarande för återställning eller byte. Förlita dig inte på historiska kommandon för att återfå den.