Byg en "mobilvagt" til at overvåge brugen af ​​enheden

Byg en

Billede 1 af 5

Hele samlingen kan monteres i en pæn plastikkasse
BRCK tilbyder internetforbindelse til områder uden pålidelig infrastruktur
Kredsløbsdiagram for mobiluret
Arduino-koden er kort og enkel
Slice of Radio klikker direkte på Pi'ens GPIO-stifter

Vi er nu klar til at teste, om Raspberry Pi og XinoRF kan tale med hinanden. Fra Pi's kommandolinje skal du skrive sudo apt-get install minicom for at installere den nødvendige software. Når det er gjort, skal du starte det ved at bruge kommandoen sudo minicom –b 9600 –o –D /dev/ttyAMA0 (det sidste ciffer er et nul); Pi vil begynde at lytte til dens serielle port (stien for enden) ved 9.600 baud.

Start nu Arduino IDE på pc'en og skriv følgende kode:

Arduino-koden er kort og enkel

Alle Arduino-programmer indeholder to hovedsektioner: "setup" indeholder kode, der kun kører, når mikrocontrolleren tændes eller genstartes; "loop", som navnet antyder, kører kontinuerligt. XinoRF har radioen forbundet til pin 8, så denne kode indstiller den til at udsende en spænding og tænder den derefter. Den indstiller derefter den serielle port til radioens standard baudrate og udskriver en besked hvert andet sekund.

Når du klikker på upload-knappen, kompileres scriptet og overføres til XinoRF. Ordene "Kan du høre mig?" skal derefter vises i Minicom-vinduet på din Raspberry Pi. Vores projekts hardware er nu sat op.

Mobiltelefon 0.1

Vi kan nu udveksle enhver information, vi ønsker, mellem Raspberry Pi og en eller flere XinoRF-enheder. I forbindelse med dette projekt ønsker vi, at XinoRF'erne fortæller Pi'en, når en enhed fjernes fra sensorpuden, og hvornår den udskiftes. Meddelelsen skal indeholde en unik identifikator, så Raspberry Pi ved, hvilken controller der sendte den, sammen med selve dataene, som kan være en hvilken som helst sekvens af ASCII-tegn.

XinoRF bør vente, indtil Raspberry Pi bekræfter modtagelsen af ​​meddelelsen, så den ved, at dataene er blevet modtaget. Hver gang et barn fjerner en enhed, programmerer vi XinoRF til at sende en besked, der ser sådan ud:

#Xino1#Gilbert#DS#U#

Det betyder, at controlleren kaldet "Xino1" rapporterer, at Gilbert har hentet sin Nintendo DS. Pi'en kan læse beskeden ved at bruge "#"-symbolet til at afgrænse de forskellige felter, derefter notere klokkeslættet og tilføje posten til sin database. Den sender også et symbol tilbage for at angive, at den har modtaget beskeden: vi har valgt "|", da det ellers aldrig bør bruges i noget beskedindhold.

Koden til at få dette til at fungere beløber sig til kun 100 linjer eller deromkring – hvilket er lige så godt, da XinoRF kun har 32KB lagerplads. Det er stadig lidt for langt til at gengive her, men du kan downloade det selv.

Nu er det tid til at fokusere på at få Raspberry Pi til at gøre noget nyttigt med de indkommende data. Det første job er at registrere dataene, når de kommer ind. For et ordentligt langsigtet projekt kan en fuldfed database som MySQL være det bedste bud, men for at holde tingene så enkle som muligt, gemmer vi den som en CSV-fil. Dette er nemt at implementere i Python på Raspberry Pi, og det giver os mulighed for at importere dataene til et regnearksprogram og analysere dem til enhver tid.