Sida 1 av 1

Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 8 november 2010, 16:24:59
av Greensilver
Hej på er alla! Längesedan jag postade här men jag är inne och läser rätt ofta! Det börjar ju dra ihop sig till den mörka delen av året och det betyder i alla fall för mig många kluriga stunder i lödröken vid elektronikbänken! Har blivit lite sugen på att prova på det där med att skicka data upp på webben.

Detta är en helt ny värld för mig. Säg att jag vill ladda upp data från min Atmel / Microchip till webben och in i en databas för att sedan visa det på en webbsida. Hur går det till? Vad krävs det för prylar och vad krävs det för mjukvara på mitt webbhotel? Vad heter protokollen - och vilka prylar är bäst? 8)

Hittade en appnote på Atmel.com men den visade bara hur man skickade SMS. Jag vill ju skicka ettor och nollor som data utan att det kostar ett SMS varje gång. Om man köper ett abbonemang med fri surf borde man ju kunna skicka en massa data utan att bli ruinerad!

Finns det något kul open sourceprojekt någonstans man kan kika på? Någon som sett något i AoE om detta? Jag prenumererar på AoE men sista året har jag mest bläddrat igenom dom lite snabbt pga. dåligt med hobbytid.

Tacksam för edra fiffiga ideer och vidare surfuppslag! :D

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 8 november 2010, 16:36:41
av blueint
Budget?, Tidsgräns?

Annars kika på telefon med GPRS.

Om du kan gå upp till maffigare 32-bit MCU som t.ex PIC32 eller ARM. Så kanske du kan implementera USB stöd och använda en USB-HSDPA (3G) dongel.

Protokollmässigt behövs väl PPP, IP och UDP.

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 8 november 2010, 16:59:57
av sodjan
> Har blivit lite sugen på att prova på det där med att skicka data upp på webben.

Det här med "webben" är ju inget magiskt på något sätt, det är bara servrar,
kommunikation och programvara som jobbar ihop. Du kanske också ska
förtydliga vad just du menar med "webben".

> Säg att jag vill ladda upp data från min Atmel / Microchip till webben och
> in i en databas för att sedan visa det på en webbsida.

Som sagt, vad menar du med "webben". Det finns ju många sätt att lösa detta.
Det beror myckt på hur hela din miljö ser ut. Var sitter din AVR/PIC ? Inom ett egen
LAN ? Brandväggar/routers ? Egna servrar som kan användas för överföringen ?
Vilken databas ? Vilka behov har du av säkerhet och/eller kryptering ?

Det går att göra väldigt enkla lösningar där datat skickas som URL paramterar :

http://myserver.domain.com/storedata?ti ... 1234567890

och sedan ett enkelt CGI script som lagrar det. Sedan kan du bygga valfria websidor
som visar datat på olika sätt, men det är en lite annan sak.

Har du en egen lokal maskin som kan hjälpa till så kanske det räcker att köra
seriellt/RS232 från din AVR/PIC och lägga resten någon annanstans.

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 8 november 2010, 18:25:58
av Greensilver
blueint:
Budget: Någon lusentapp för ett evaluation board och sen en femhundring eller så max för GSM-kretsen.
"Annars kika på telefon med GPRS" - här klykade jag inte riktigt. Förklara lite mer... :razz:
Dongel känns inte kul. Jag vill in på chipnivå känns det som. Möjligtvis ett kort med integrerad SIM-kortshållare men ingen dongel.

sodjan:
Long time no see! :)
Webben för mig är SQL-databaser för det har jag hyfsad koll på hur jag kan hämta data från. Så lyckas jag hysta upp min data från min enchipsdator till en sådan så är jag "hemma" - eller ute på webben.

Jag har inga egna servrar utan bara ett vanligt webbhotel med ganska mycket finesser. Har en hel del olika domäner och kan skapa en särskild för just detta om det krävs.

Vill helst inte dra det via PC'n utan enheten skall vara helt stand-alone så att säga. Annars var ju det en ganska fin lösning faktiskt!

Att skicka via URL skulle kanske vara något. Men hur gör man för att öppna en dataström så att säga? En enkel kryptering hade varit fint. Tänkte skicka en massa "husdata" till att börja med, drömmen är att styra utomhusbelysning, känna av temperaturer och klappa hunden via webben - ja jag vet att allt utom det sistnämnda redan finns men det är hobby jag pysslar med. Det är roligare och mer lärorikt att bygga själv! :)

Tack för svaren!

Tack för tipsen så länge!

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 8 november 2010, 20:58:19
av blastur
Tjena,

Jag sitter lite i samma båt, håller just nu på att bygga en vindmätare som skall snacka över GPRS med en server. Kika i denna tråden, samt i projektets "blogg" (klicka på fliken Vindmätarbygge och sen på Wordpress-loggan)

Jag kör en hemmasnickrad AVR-lösning just nu och min GSM-modul anländer förhoppningsvis imorgon (yay!). Här är lite smånyttigt som jag lärt mig sen projektstart:
1) Nästan alla GSM-moduler som går att köpa idag innehåller TCP/IP-stack som styrs via AT-kommandon. Detta gör det lätt att från t.ex. en AVR skapa HTTP-anslutningar genom att bara skicka rätt strängar över serieporten till modemet.
2) Om du ej har några krav på att din lösning skall klara utomhusväder finns flera "dev" lösningar tillgängliga, t.ex Olimex GSM-devboard där du får hela kittet med AVR, GSM-modul, SIM-hållare och relä för under 2000 kr.
3) Om du hellre vill snickra själv kan du köpa fina GSM-moduler med SIM-hållare, regulator m.m. från bl a: CoolComponents, Lawicel. Jag har köpt en modul från Rhydolabz som verkar rätt schysst.
4) Om du hellre föredrar PIC processor finns det ett par sådana också, kolla t.ex. Rhydolabz butik.

Om du är intresserad av att strömma data så fungerar en TCP-socket också bra. Tänk bara på att det kostar en del ström att köra GPRS ("en del" är förstås relativt, vi snackar försumbart i relation till en vanlig PC..), så om du tänkt driva på batteri kan det bli svårt. Om du har en inomhusmiljö och vägguttag i närheten underlättar det enormt.

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 8 november 2010, 21:06:41
av thepirateboy
Finns ju lite alternativ på Ebay också, t ex denna
http://cgi.ebay.com/SIM300-GPRS-GSM-Mod ... 33620755d0

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 11 november 2010, 20:18:39
av Greensilver
blastur:
Har lusläst din tråd. Intressant bygge! Har du några bra tips på var jag kan hitta mer info om hur det går till att skapa en TCP-socket och strömma data till den. Är intresserad av hur det går till både serverside och från GSM-modulens sida. Har du hittat några exempel på programkod nånstans? :?:

thepirateboy:
Den verkade fullfjädrad men jag vill bygga själv. :razz:

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 11 november 2010, 22:35:52
av blastur
Jag har inte hunnit komma igång med min GSM-modul ännu, så jag har tyvärr ingen källkod. Men när jag börjar hacka kommer den finnas i git-repositoryt på GitHub. Jag har en hel del ändringar lokalt som jag snart tänkte pusha.

När det gäller TCP över GSM så är det givetvis modulspecifikt, men gemensamt för de flesta moduler är att man skickar all data över serieport till modemet. Man följer en viss syntax som brukar användas i modemsammanhang (även mot äldre modem för det fasta telenätet). De har formatet "AT+cmd", där CMD är ett kommando. Det finns olika sorters kommandon,

AT+cmd=? läs ut en lista
AT+cmd? läs ut ett värde
AT+cmd=value skriv ett värde
AT+cmd exekvera värde

För min modul finns det kommandon för de flesta vanliga operationer man kan förvänta sig för en TCP-stack. Om du programmerat TCP-sockets förut vet du t.ex. att man behöver kunna öppna en socket mot en viss host, läsa och skriva till socket, stäng socket, status på socket osv.

Med min modul ansluter man med kommandot
AT+CIPSTART=TCP,192.168.0.1,80,www.mydomain.com

Data kan kodas på olika sätt, t.ex. som hexsträngar, eller olika GSM-specifika prylar som jag inte känner till i detalj.

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 12 november 2010, 02:37:40
av Greensilver
Ah, AT-kommandon. Lever dom än? :P Minns på den gamla ... eh ... goda tiden. Hade ett gammal Selic (tror jag det hette) modem med kromade vippströmbrytare på framsidan. Minns att man kunde switcha mellan 600 och 1200 baud. ATDT (attention-dial-tone) skrev man och sen telefonnumret. Sen kom man in på BBS'en och kunde tanka järnet! Det var tider det!

Det där med TCP-sockets har jag dock aldrig pysslat med. Känns som om jag skall börja läsa lite om det. Man skulle ju kunna börja med att leka runt med .NET och de funktioner det finns där.

Sen blir det till att surfa runt och se vilken GSM-modul som verkar kuligast. Har bestämt mig för att montera GSM-modulen plus SIM-kortshållare på ett löst kort men bara med tillhörande passiva komponenter. Sen interfejsar jag detta med en uC som jag grejat med mycket förr, typ ATmega88 eller 168. Tänkte styra uC'n från PC'n under lekperioden. Öva på att skicka och ta emot data.

Fasen vad kul sånt här är - synd bara att man måste jobba och sova också! :D

Re: Skicka data från enchipsdator > mobilnätet > SQL-databas

Postat: 12 november 2010, 16:54:43
av blastur
Jag hade också velat ha en "ren" modul utan regulatorer och dyl, nu såhär i efterhand. Dock drar jag mig för att bygga eget eftersom det är så helvetessmå kontakter på GSM-moduler och jag är urusel på att löda. Har aldrig gjort annat än hålmonterat. Det finns dock breakoutboards för de flesta Telit-modulerna, då behöver man bara tillsätta de passiva komponenterna och SIM-hållare själv, sen är det kirr. Det skulle man ju isf kunna ha på sitt hemmacaddade kort ihop med sin MCU.

Våra plattformar ser för övrigt identiska ut. Jag kör också Atmega168. Vi borde kanske samköra nån caddning och framtagning av PCB =)