Logg Uke 8-9

Denne uken ble det gjort en del hjemmearbeid. Ifht. selve enheten så er vi på grunn av bruk av andre seriel porter og digitale pinner nødt til å flytte GPS og GSM fra å være stablet oppå arduinoen i høyden til å ligge ved siden av koblet til et brødkort.

GPS og GSM har da felles 5v, jord og reset. Mens GPS er koblet:
GPS RX 0 - Mega TX1 18
GPS TX 1 - Mega RX1 19

RX1 og TX1 er for Seriel1 på Megaen slik at den nå står på HW Seriel.

GSM derimot er da tilkoblet slik:
GSM D2 - Mega D10
GSM D3 - Mega D3
GSM D7 - Mega D7

Grunnen til at GSM D2 er tilkoblet Mega D10 er at Mega D2 ikke har interrupt, slik unoen har, men det har derimot blant annet D10. Det er derfor vi nå også må benytte brødkort.

Dette er nå testet og all kommunikasjon internt i enheten fungerer som det skal.

Appen er gjort om til en nettside som kan vises i ett webview på mobilen. Den vil oppføre seg akkurat som en vanlig app men hostes heller på en webserver. Dette er gjort blant annet fordi det er langt mer fleksibelt mtp. hvilken enhet brukeren har. Hvis det lages en native android app så vil den kun fungere på android. websiden vil kunne brukes uavhengig av operativsystem. Det er heller ikke til å stikke under en stol at det er mer intuitivt å designe en nettside enn en app i android IDE.

Det er da blitt jobbet med en rekke forskjellige ting iforhold til serveren.
Det er et shell script som starter et python program samt kommuniserer med databasen.
Python programmet oppretter en socket og lytter på dette for inkommende data fra alarmen på port 9050. Python programmet printer så dette slik at shell scriptet ovenfor kan lagre koordinatene i databasen.
Ett utkast av nettsiden er produsert med navigasjon og en side med kart.
Kartet på kartsiden kjøres i javascript og mottar data fra et php script som igjen har spørt databasen etter koordinatene. Kartet plotter så disse koordinatene.

Nedenfor ser man utkastet på hjemmesidens meny. Hjemmesiden er det tenkt at skal inneholde status om alarmen. Deretter kommer utkastet til kartsiden med tilsvarende meny og hvor koordinatene som er plottet og nå printet på siden er hentet fra databasen. Det er også tenkt å ha en settings side hvor man for eksempel kan stille tiden før alarmen går.

Logg 14.02.18

Vi har nå støtt på vår første utfordring. I vårt prosjekt så har vi, som nevnt tidligere, en Arduino Uno som vi kobler på ett Arduino GSM Shield og en Duinopeak GPS shield. Utfordringen nå er at vi tidligere brukte softwareserial biblioteket slik at vi kan ha pc koblet til med usb (som bruker HW serial) og GPSen samtidig. Softwareserial er et bibliotek som gjør at en kan bruke en virtuell serial port.

Utfordringen vi møtte er derfor at Arduino sitt GSM bibliotek bruker softwareserial uten mulighet for å endre dette. Det betyr at når både gps og gsm var koblet til så manglet vi en serial port. Vi prøvde forskjellige alternative biblioteker som egentlig skulle fungere ved siden av softwareserial, som altSWSerial biblioteket, men allikevel så fikk vi konflikter med softwareserial i GSM biblioteket.

Løsningen ble rett og slett å oppgradere mikrokontrolleren fra Arduino UNO til Arduino Mega. Arduino Mega har nemlig 4 HW serial porter slik at vi da heller kan kjøre GPS på en HW serial port. Softwareserial er i utgangspunktet tregere enn HW serial slik at det kun er fordeler ved å benytte en HW port. Arduino Mega er heller ikke veldig mye dyrere enn Arduino UNO da den kun koster 160 kr. mer, og er ikke voldsomt mye større heller da den er ca. 4cm lengre enn Unoen.

Arduino Mega ble bestilt 14.02.18 og ankom 16.02.18

Logg 07.02.18

Videre arbeid med appen, laget rammeverk og funnet ut av hvordan plotting av koordinater kan utføres.

Monterte SIM-kort og antenne på GSM-shieldet og fikk sendt en SMS v.h.a et ferdig definert eksempel fra Arduino. Dette var kun for å sjekke funksjonen, og det vil bli finpusset i henhold til våre spesifikasjoner.

Logg 06.02.18

Arduino GSM shield er nå ankommet og koblet til. Det viste seg at GSMen brukte pinner 2 og 3, som var de samme pinnene som GPSen bruker. Det er så vidt meg bekjent ikke mulig å endre på GSM shielden da det ligger i GSM biblioteket til Arduino. Begge bruker softwareserial biblioteket, men GPSen er det vi selv som har initiert og derfor kunne endre pinnene den brukte. Den bruker derfor nå pinner 4 og 5.

Arbeidet på appen har også startet. 

Logg 01.02.18

Mottatt GPS Shield fra Duinopeak. Denne er idag blitt koblet opp og testet. Vi får lest ut korrekte GPS koordinater som er sjekket opp mot Google maps. Har også mulighet for å lese ut altitude / MoH.

De to skjermbildene under viser henholdsvis u-center, som leser rådataen fra Arduinoen og plotter dette, og output fra arduinoen i konsollen. I u-center så kan man se posisjonen plottet i kart samt se signalstyrke til satellittene og hvilke satellitter som er i kontakt med enheten.

Skjermbildet under viser koordinatene til Campus Vestfold, Bakkenteigen. Disse koordinatene stemmer bra med de vi får ut fra GPS-enheten.

Link til u-center for windows. Finnes også for andre operativsystemer.
https://www.u-blox.com/en/product/u-center-windows

Link til guide for tilkobling av Duinopeak GPS enheten samt tilkobling med u-center.
http://duinopeak.com/blog/getting-started-with-duinopeak-gps-logger-shield-hookup-guide-and-simple-test