Hur anpassa sin databas till kortläsar- och sensorsystem?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
pucko
Inlägg: 29
Blev medlem: 16 oktober 2006, 18:49:09

Hur anpassa sin databas till kortläsar- och sensorsystem?

Inlägg av pucko »

Hej

Jag ska göra ett logistiksystem för gastuber med gränssnitt mot nätverk men där tuberna ska bli chipmärkta och tubkunderna identifieras med lånekort. Jag är datavetare så delen mot datanätverk kan göras med någon databas och php hade jag tänkt.

Men vet inte hur jag ska hantera elektronikdelen med kortläsare och chipsensor och anpassa denna till databasen. Har inte tänkt implementera kortläsar- och sensordelen bara komma med rekommendationer och även välja rätt databas, etc, för att det ska kunna fungera senare.

Så har ni någon kunskap om hur dessa läsar- och sensorsystem fungerar och vad som krävs för att de ska fungera ihop med en vanlig databas som postgresql/mysql?

Tack!
Användarvisningsbild
nole
Inlägg: 651
Blev medlem: 10 januari 2006, 12:18:00
Ort: Borlänge

Inlägg av nole »

I senaste allt om elektronik finns ganska mycket matnyttigt om chip-kort.

Ska du använda en PC eller ska det vara en microController lösning? Med en
PC ska det inte vara så svårt att göra en programvara mot tex postgresql. Sen
får du ju fixa en läsare som läser av streckkoder och sedan registrerar
utlåning på ett av kunden ägt chipkort i den databasen. Vad är det du vill
"bygga" med elektroniken? Rätt enkelt är väll att köpa de nödvändiga
läsarna färdiga med USB koppling rakt in i maskinen.

Just val av databas tror jag just vad gäller postgresql eller mysql är en
smaksak vet att många inom opensource världen föredrar postgresql och
hävdar det vara smidigare lättare att reparera trasiga tabeller med mera.

Nole.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Är det en databas - en läsare ?
Eller en databas - många läsare över ett större område ?
Vilket utrustning har du tänkt dig vid "terminalen" ?
Hur många "terminaler" ?
Är det en installation, eller flera ?

Jag ser inte hur valet av databas kan spela speciellt stor roll.
Kör open source (om du vågar) eller någon riktig databas.
Oavsett val av databas så måste det i alla fall göras på rätt sätt...
Tänk på driften också (backup, underhåll, ev. restore o.s.v)

Jag gissar att praktiskt taget alla läsare för kortläsare och "chipsenorer"
har serie interface (RS232). Sen finns det många olika sätt att koppla
dessa till en central dator. T.ex via Ethernet anslutna serieportar.

Personligen tror jag att det vore enklare och stabilare med vanliga
streckkoder på tuberna. Med streckkoder på lånekorten också
så blir det bara en läsare (streckkods-scanner) per "terminal".
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

Lösningen som sodjan drog upp är vettig.
RFID, MIFARE, Streckkodsläsare finns som RS232
och en RS232 till ethernet är lätt att få tag på.

Vad det gäller databas så är det inte lika viktigt. Måste nog lägga en applikation som sköter anslutningen mellan läsaren och databasen.
Databasval är det nog smartast att välja det som man har störst vana med.

Med färdiga moduler så sparar man mycket tid och pengar.
pucko
Inlägg: 29
Blev medlem: 16 oktober 2006, 18:49:09

Inlägg av pucko »

ska du använda en PC eller ska det vara en microController lösning?
En PC. Skulle säkert kunna göras med inbäddadt system men det är över min förmåga. Ser inga direkta fördelar med det heller jämfört mot PC.
Vad är det du vill
"bygga" med elektroniken? Rätt enkelt är väll att köpa de nödvändiga
läsarna färdiga med USB koppling rakt in i maskinen.

Just val av databas tror jag just vad gäller postgresql eller mysql är en
smaksak vet att många inom opensource världen föredrar postgresql och
hävdar det vara smidigare lättare att reparera trasiga tabeller med mera.
Jo jag läste just en artikel i Datormagazin om hur man kopplar in en RFID-läsare till datorn. Den ger ifrån sig sitt ID via USB. Fungerade i både Windows och Linux.

Tack för tipset om postgresql istället för mysql. Har hört liknande förrut också.
Är det en databas - en läsare ?
Eller en databas - många läsare över ett större område ?
Vilket utrustning har du tänkt dig vid "terminalen" ?
Hur många "terminaler" ?
Är det en installation, eller flera ?
Här är beskrivningen jag fått av den ansvarige:
Det är tänkt som ett spårbarhets-system för gastuber.
Det skall fungera i flera lagernivåer, nätbaserat.
Man kan tänka sig ett chip-märkningssystem för tuberna och lånekort till
användarna.
En tanke för framtiden är obemannade utlämnings-stationer med full
spårbarhet.
Så han har väl tänkt sig "en databas - många läsarstationer över ett större område". Vet ej om han tänkt så lång till hur terminalerna ska se ut. Skulle kanske inte vara så snyggt/bra att använda en dator vid varje utlämningsstation som vidarebefodrar datat till databasdatorn. Kanske tillfällig lösning. Bäst hade det väl varit med något inbäddat system vid varje station uppkopplat mot Internet och som vidarebefodrar datat.
Jag gissar att praktiskt taget alla läsare för kortläsare och "chipsenorer"
har serie interface (RS232). Sen finns det många olika sätt att koppla
dessa till en central dator. T.ex via Ethernet anslutna serieportar.

Personligen tror jag att det vore enklare och stabilare med vanliga
streckkoder på tuberna. Med streckkoder på lånekorten också
så blir det bara en läsare (streckkods-scanner) per "terminal".
Den läsarutrustning jag spontant tänkt mig är RFID då man hört mycket om det i samband med logistiksystem...

Varför är streckkodssytem enklare och stabilare?
Lösningen som sodjan drog upp är vettig.
RFID, MIFARE, Streckkodsläsare finns som RS232
och en RS232 till ethernet är lätt att få tag på.

Vad det gäller databas så är det inte lika viktigt. Måste nog lägga en applikation som sköter anslutningen mellan läsaren och databasen.
Databasval är det nog smartast att välja det som man har störst vana med.

Med färdiga moduler så sparar man mycket tid och pengar.
Ja, det är väl det som krävs för att det ska fungera. En fristående applikation som läser av porten och pratar med databasen. Det blir svårt att läsa av portar med PHP. Den här applikationen lär ju bli svårare att göra en databassystemet, speciellt om det finns flera terminaler som kan skicka samtidigt... måste ju gör något eget protokoll då eller nåt.

Vad är skillnaden på RFID och MIFARE? Finns det andra kända lösningar än ovannämnda?

Tack för erat intresse.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

MiFare är en typ av RFID som
brukar användas i passersystem. Beklagar otydlighten där.

När det gäller programvara så skulle man kunna skriva den för klara en kortläsare och sedan starta en för varje. Att skriva en applikation som klarar nästan valfritt antal kortläsare är inte heller något problem.
Om man kör RS232-Ethernet så blir både dennna anslutning och till mysql tcp/ip baserad. Se till att RS232-Ethernet stöder att den öppnar tcp anslutningar till sig bra.

Php skulle kunna klara denna uppgift, men då att köra som program i servern och inte som en sida på en www server.
http://se2.php.net/manual/sv/function.fsockopen.php

Sedan rekomenderas att använda mysql 5.0 så du får bra stöd för "storage procedure" och vyer där du lägger mycket av logiken.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Så han har väl tänkt sig "en databas - många läsarstationer över ett större område".

OK, du kan du glömma USB baserade läsare och fixa något riktigt.
För du har väl inte tänkt att placera **PC** ute på alla "stationer" !?

> Bäst hade det väl varit med något inbäddat system vid varje station uppkopplat mot Internet...

Talar vi om ett rikstäckande system ?
Eller vad menar du med "Internet" ???
Vad är det igentligen för avstånd vi talar om mellan
"stationerna" och servern/databasen ?
Du behöver speca bättre annars är alla råd i princip värdelösa.

> Varför är streckkodssytem enklare och stabilare?

*OM* det var så att stationerna var bemannande av någon slags personal.
Ska det vara "självservice" kan RFID kanske vara smidigare...

> Det blir svårt att läsa av portar med PHP.

Ja, jag ser inte varför man skulle köra php, det är ju (primärt) ett
scriptspråk för webbaserade lösningar. Sannolikt är det smidigast
med något "riktigt" språk som sköter kommunikationen mellan
utrustningen och databasen samt den logik som behövs.


För att sammafatta vad *jag* tycker så bör du/ni nog hyra in något
som kan fixa detta på ett professionellt sätt. Det *låter* nu som för
stort för att enbart fixas genom lite lösa råd från ett forum...
pucko
Inlägg: 29
Blev medlem: 16 oktober 2006, 18:49:09

Inlägg av pucko »

När det gäller programvara så skulle man kunna skriva den för klara en kortläsare och sedan starta en för varje. Att skriva en applikation som klarar nästan valfritt antal kortläsare är inte heller något problem. Om man kör RS232-Ethernet så blir både dennna anslutning och till mysql tcp/ip baserad. Se till att RS232-Ethernet stöder att den öppnar tcp anslutningar till sig bra.
Förstår inte, kan läsarna ställas in att kommunicera över tcp/ip med databasen? Om jag nu inte vill ha en PC-applikation körandes på en dator vid varje läsarstation vad finns för alt. då för att kommunicera med databasen?
OK, du kan du glömma USB baserade läsare och fixa något riktigt.
För du har väl inte tänkt att placera **PC** ute på alla "stationer" !?
Till en början kanske det blir så. Det lär ju bli billigare än att be något elektronikföretag skräddarsy en inbäddad lösning.
Talar vi om ett rikstäckande system ?
Eller vad menar du med "Internet" ???
Vad är det igentligen för avstånd vi talar om mellan
"stationerna" och servern/databasen ?
Du behöver speca bättre annars är alla råd i princip värdelösa.
"Obemanade utlämningssationer" tolkar jag som över något större område än lokalt nätverk. Men jag ska prata med ansvarige lite mer angående detta...


Ja, jag ser inte varför man skulle köra php, det är ju (primärt) ett
scriptspråk för webbaserade lösningar. Sannolikt är det smidigast
med något "riktigt" språk som sköter kommunikationen mellan
utrustningen och databasen samt den logik som behövs.
De vill ju kunna komma åt databasen från PC:n. Då behövs PHP.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »


Förstår inte, kan läsarna ställas in att kommunicera över tcp/ip med databasen? Om jag nu inte vill ha en PC-applikation körandes på en dator vid varje läsarstation vad finns för alt. då för att kommunicera med databasen?
Det jag menar är att med en seriell läsare och en seriell till ethernet adapter så måste inte programmet som styr den vara fysikt placerad på samma plats.

Kod: Markera allt

De vill ju kunna komma åt databasen från PC:n. Då behövs PHP.
Går i de flesta språk

Hur man accessar databas i c
http://www.mysql.se/doc/refman/5.0/en/c.html

wrapper för c++
http://tangentsoft.net/mysql++/

Och några connectors som mysql tillhandahåller
http://dev.mysql.com/downloads/connector/
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> kan läsarna ställas in att kommunicera över tcp/ip med databasen?

"Läsarna kommunicerar med databasen" är ett oegentligt sätt att
se på det hela. Det finns naturligtsvis inga läsare som kan
kommunicera med någon databas *direkt*. Det behövs anpassning
(hårdvara) för kommunikation mot servern, serverprogramvara o.s.v.

> vad finns för alt. då för att kommunicera med databasen?

Beror väldigt mycket på hur det hela "ser ut".
Ska det gå på ett lokalt LAN ?
Eller över ett WAN ? VPN ?
Brandväggar ? Svarstider ? Funktionallitet ? O.s.v o.s.v....

> Det lär ju bli billigare än att be något elektronikföretag skräddarsy en inbäddad lösning.

Att ställa ut en PC kan *se* billigt ut, men det är inte billigt
att ha den stående där i längden.

> "Obemanade utlämningssationer" tolkar jag....

OK, här har vi/du ett jätteproblem.
Det är inte speciellt intressant vad du "tolkar" olika saker som.
Det som gäller är vilka krav/förväntningar man faktiskt har på systemet.
I ett så här pass stort projekt är det livsfarligt att försöka "tolka" någonting
alls. Allt ska finnas tydligt specificerat i krav/system specen.

> De vill ju kunna komma åt databasen från PC:n. Då behövs PHP.

Nej.
Det *kan* vara ett alternativ, men inget krav.
Och i princip bara vid kommunikation via WEB-browsers.
Hur PHP är för annan kommunikation är jag osäker på...

Jag vidhåller att du/ni nog bör plocka in någon professionell resurs
som hjälper till med detta. Först och främst en fungerarnde krav/system
specifikation där allt är tydligt avgränsat och beskrivet.
pucko
Inlägg: 29
Blev medlem: 16 oktober 2006, 18:49:09

Inlägg av pucko »

Det jag menar är att med en seriell läsare och en seriell till ethernet adapter så måste inte programmet som styr den vara fysikt placerad på samma plats.
Så dessa enheter kan ställas in att skicka sin data till en viss ip-adress:port iaf. Då är det ju "bara" att skriva ett program som lyssnar på porten och uppdaterar databasen.
OK, här har vi/du ett jätteproblem.
Det är inte speciellt intressant vad du "tolkar" olika saker som.
Det som gäller är vilka krav/förväntningar man faktiskt har på systemet.
I ett så här pass stort projekt är det livsfarligt att försöka "tolka" någonting
alls. Allt ska finnas tydligt specificerat i krav/system specen.
Jo men det är ett exjobb så specen är ju som vanligt obefintlig och oseriös som man är tvungen att luska ut vad dom menar egentligen. Men som samt jag ska höra av mig till ansvarige så kanske jag återkommer sedan.

Jag tycker dock inte det känns som så stort egentligen. Databasen blir nog inte stor eller svår, typ kund- och tubtabell. Den svåra biten är ju att få till programmet som kommunicerar med läsarna. Men det behöver jag nog inte göra, jag måse enbart se till att databassystemet fungerar ihop med detta program i framtiden och det verkar ju rätt självklart. Sedan ska jag även utreda vilka möjligheterna är för obemannad skötsel av systemet.
Nej.
Det *kan* vara ett alternativ, men inget krav.
Och i princip bara vid kommunikation via WEB-browsers.
Hur PHP är för annan kommunikation är jag osäker på...
PHP känns som enklast. Verkar jobbigt att skriva ett helt nytt program i C.

Tack för tipsen/hjälpen!
pucko
Inlägg: 29
Blev medlem: 16 oktober 2006, 18:49:09

Inlägg av pucko »

Fått lite mer info från chefen. Känns lite mastigt eller vad säger ni? Tycker ni det verkar som han är seriös och vet vad han pratar om?

Hej

Varje tub märkes med chip,

därefter skall dom registreras i datasystemet med uppgifter om tubvolym, gastyp m.m.

Man skall kunna hålla reda på tuber i upp till 5 lagernivåer. (Fabrik, grossistlager, återförsäljarlager. centrallager hos kund samt slutanvändare.)

Varje led i logistikkedjan även chaufförer bör kunna legitimera sig med typ kort & kod.

Varje tub måste så dels registreras / scannas in och ut på varje lagerplats.

Jag menar internetbaserat.

Obemannade utlämnings-stationer är väl enbart tänkt hos större industriers centralförråd.

Där kan man tänka sig att slutförbrukare med kort och kod,

samt en stationär scanning-enhet kan hämta sin gas från obemannade stationer.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Nja, jag tycker nog att han har bra grepp om vilka krav han kan/bör
har utifrån *sin* roll/situation.

OK, ett X-job. Jo det kan väl kanske ändra förutsättningarna lite.
Inte rent tekniskt, men när det gäller roller och hur det genomförs å så.

Det där med "lagernivåer" låter väl rimligt.
Beroende på vilken sorts station det är och i vilken "riktning"
tuben förs, så flyttas den ju bara mellan två "nivåer".

> Så dessa enheter kan ställas in att skicka sin data till en viss ip-adress:port iaf.

Det normala är att *servern* öppnar en session mot enheten och sedan
lägger sig och lyssnar på serieporten. Hur detta löses praktiskt över
ett WAN får man kolla lite på. Eller så kanske enheten kan öppna en
session mot servern vid behov. Någon slags VPN lär det nog bygga på
i alla fall. Det finns väl små och rellativt billiga VPN routers som man
kan använda ?

Sen är det en massa frågor om typ av användargränssnitt och så.
"Industri-PC" ? Skall stationerna sitta utomhus (eller i alla fall inte i
uppvärmda kontor) ? Bara mindre LCD paneler tillsammans med
läsutrustningen ? Hur garanterar man att man inte tar en tub förbi
läsaren utan att registrera uttaget ? O.s.v

Jag antar att skrivandet av en krav/system spec på något sätt ingår
i uppdraget. Eller det kanske *är* uppdraget... :-) Att även implementera
systemet inom ramarna för ett X-job skulle kanske kännas lite mastigt...
LasseLucidor
Inlägg: 170
Blev medlem: 24 november 2005, 15:44:30
Ort: Växjö

Inlägg av LasseLucidor »

Eftersom arbetet kommer innefatta en del hårdvara för implementationen kanske du kan ta hjälp av företag som tillhandahåller sådana här lösningar
De kan säkert ge tips om hårdvara och hjälp med integration med mera.
Kan det leda till försäljning av utrustning är de säkert hjälpsamma.

De jag känner till är:

Intime Mobile Computers Inc.
Consafe Logistics AB
och PsionTeklogix har nog Sverigekontor nu också.

och ska du hänga en station utomhus måste du ju självklart ha en
JLT dator: http://www.jltmobile.com :D

/Lasse
Fransson
Inlägg: 525
Blev medlem: 20 maj 2006, 12:27:55
Ort: Bagarmossen (sthlm)

Inlägg av Fransson »

Hej pucko.

Det här låter som ett stort projekt.

Vad är din del?

Med tanke på de "sparsamma" uppgifterna gissar jag att det handlar om projektbeskrivning/kravspecifikation och eventuellt tekniköversikt/lösningsalternativ.

Efter att ha följt tråden i ett par dagar kan jag konstatera vissa brister i dina erfarenheter av databaser.

Själv har jag flera års erfarenhet av att yrkesmässigt bygga och underhålla databaser i ett verktyg som heter FileMaker. Bland annat har jag varigt med och uppgraderat Poolias sälj- och kundstödssystem. Det hade drygt 200 användare fördelat på ca 30 lokalkontor, alla var kopplade till samma centrala databas.

Men visst, FileMaker skiljer sig mycket från SQL, men de centrala begreppen är de samma, klient och server.

Jag är dessutom en intresserad "elektroniknörd" med gymnasieutbildning i elektronik.

Men nog om mig nu. Över till tipsen.

Om databasens tabeller.
Vi börjar med att dela upp informationerna i grupper:
1. Saker. (I detta fall gastuber och deras egenskaper/innehåll.)
2. Platser. (Där saker kan finnas. T.ex. på fabrik, hos grossister, hos återförsäljare, på centrallager, hos kunder, hos slutanvändare och hos chaufförer.)
3. Personer (Alla personer, med "ID-kort", som kan hantera saker.)
4. Händelser. (Logga händelser, in- och utcheckning ur lager med datum, tid plats och av vem. Har relationer till alla ovanstående.)

Nötterna att knäcka här är platser och personer. Då det finns tydliga överlappningar här, men också tydliga skillnader, kan man fråga sig om det ska vara en tabell eller ska det delas upp på flera?

Om program strukturen och den "fysiska" strukturen (programvaror, servrar och klientdatorer).

En databasserver är som en behållare som innehåller och lagrar all information. Om man har en så kallad "tjock" server kan den även utföra olika uppgifter på informationen, men den saknar all form av "intelligens", det vill säja den vet inte vad den ska göra.

Ett klientprogram har all intelligens och är ansvarig för hur informationen bearbetas.

Dessa program kan köras på samma dator eller på olika datorer, det är valfritt. Men i ditt fall, med flera fysiska platser som ska logga händelser samtidigt, är det ett krav att varje plats har en egen dator, som kör ett eget klientprogram, på varje plats.

Internet har i sammanhanget inget med Explorer, FireFox eller surfning att göra.
I detta samanhang är Internet bara en nätverkskabel som är billig att använda då någon annan redan har grävt ner den. Den är också "farlig" att använda då många illasinnade personer också har tillgång till den. Därför behövs det Brandväggar, VPN, krypterade tunnlar mm för att säkerställa kommunikationen.

Läsarna kopplas till klientdatorerna. Klientprogrammen "snappar upp" signalerna från läsarna och avgör vad som ska göras samt uppdaterar databasen vid behov.

Klientprogrammen är ett just det, ett specialskrivet program, som kan skrivas och kompileras i valfritt språk. Kommunikationen med databasservern sker i form av strukturerade "frågor" (SQL) över förbindelsen.

Då detta är ett både stort och "kritiskt" system så måste man bygga in en massa säkerhet i informationslagringen så att inte viktig information "tappas". Till exempel: UPS, klustrade servrar, RAID5, journalförande filsystem, journalförande databasserver, automatiska backuper, bandrobotar mm.

Till slut en lästipps att inspireras av.
Dator Magazin (DMZ) nr2 2007, utvecklare sidan 114, "Smarta lösningar med VB.NET, ASP och MySQL"

Artikelförfattaren har byggt ett kassasystem som verkar innehålla flera bitar som liknar det du vill göra. Dock är det människor som ansvarar för att inmatningen av informationen är korrekt. Du ska göra ett helt automatiserat system vilket ställer högre krav på klientprogrammet. Men klienternas kommunikation med servern är mycket lik det du behöver göra.

Artikelförfattaren har använt Windows, Microsoft IIS med ASP tillsammans med MySQL på servern. Och VB.NET till klientprogrammet. Men dessa är utbytbara. Du kan till exempel använda Linux, Apache och PHP tillsammans med PosdegreSQL (?stavning?) på servern och C eller C++ på klienten.

Hoppas att jag har varigt till mer hjälp än förvirring, och lycka till. :D

PS.
I samma tidning på sidan 74 finns en beskrivning på hur du själv kan sätta ihop en RFID-läsare som kan passa att experimentera med.
Skriv svar