Hey,
Ik zou graag mij verder verdiepen in de mogelijkheden van Linux (Embedded). Nu had ik het volgend projectje in gedachten:
Ik zou graag een embedded controller(8MB flash/32MB RAM/usb/ethernet/ARM of MIPS) bouwen die periodiek(vb 1min) de modbus-registers uitleest over een rs485. Deze gegevens worden dan in een SQLite3 database weggeschreven. De SQLite database kan via PHP en Lighttpd worden geraadpleegd. De webserver zou daarbij de data via TLS moeten kunnen versleutelen.
Als laatste zou een MySQL C client(vb om de 2 weken) de inhoud van de sqlite database via internet naar een grote vaste mysql database (ook liefst versleuteld via tls) backuppen.
Bijkomend probleem: de sqlite database zou op een usb stick dienen te komen wegens extra geheugencapaciteit.
Hoe zou ik daar aan beginnen:
0) ivm een mini embedded systeem zou ik een oude pentium3 - 30GB HD - 128MB RAM als basissysteem gebruiken
1) een Linux-distributie kiezen: Debian Lenny? => command line
2) een applicatie schrijven in C die via rs485(usb > rs232 | rs232 > rs485 half duplex) met een modbus RTU protocol enkele registers uitleest.
=> de usb naar rs232 omzetter is gebasseerd op de Prolific pl2303 chip die standaard in de linux-kernel aanwezig zou zijn. Kan er dat iemand bevestigen?
=> zijn er voor dergelijke zaken voorbeeldprogramma's - iemand ideeën?
=> modbus RTU zou in een open-bibiotheek beschikbaar zijn
=> schrijven van data naar een sqlite database op een windows platform lukt me reeds. Is het moeilijk over te schakelen op een een Linuxplatform?
3) PHP en sqlite verwacht ik geen problemen
4) is het moeilijk om een mysql C client werkend te krijgen op linux?
Wat heb ik ondertussen ondernomen:
- debian ISO gedownload en via de commandline een paar keer geïnstalleerd
- apache2/php5/open-ssh/mysql-server (via apt-get install)
- mysql-conf aangepast zodat ik met heidiSQL de database 100% vanop mijn windows laptop kan bedienen
- de basiscommando's wat ondre de knie proberen te krijgen om de commando's goed te begrijpen et te weten wat ze doen
Wat wil ik nu doen: Een C programma ontwikkelen, liefst geprogrammeerd in een windows omgeving, met als doel een debian linuxomgeving die periodiek(cronjob?) modbus RTU registers uitleest over een rs232 verbinding en de waarde toont op het scherm ofzo. Hoe begin ik daar best aan?
Ik ben een net afgestudeerde ingenieur automatisering en zou me graag sterk gaan verdiepen in het linux thema. Dankzij wat tips en lichte hulp zou ik dit allemaal sneller onder de knie kunnen krijgen en nutteloos werk voorkomen.
Alle opmerkingen zijn welkom!
Thomas
Ik zou graag mij verder verdiepen in de mogelijkheden van Linux (Embedded). Nu had ik het volgend projectje in gedachten:
Ik zou graag een embedded controller(8MB flash/32MB RAM/usb/ethernet/ARM of MIPS) bouwen die periodiek(vb 1min) de modbus-registers uitleest over een rs485. Deze gegevens worden dan in een SQLite3 database weggeschreven. De SQLite database kan via PHP en Lighttpd worden geraadpleegd. De webserver zou daarbij de data via TLS moeten kunnen versleutelen.
Als laatste zou een MySQL C client(vb om de 2 weken) de inhoud van de sqlite database via internet naar een grote vaste mysql database (ook liefst versleuteld via tls) backuppen.
Bijkomend probleem: de sqlite database zou op een usb stick dienen te komen wegens extra geheugencapaciteit.
Hoe zou ik daar aan beginnen:
0) ivm een mini embedded systeem zou ik een oude pentium3 - 30GB HD - 128MB RAM als basissysteem gebruiken
1) een Linux-distributie kiezen: Debian Lenny? => command line
2) een applicatie schrijven in C die via rs485(usb > rs232 | rs232 > rs485 half duplex) met een modbus RTU protocol enkele registers uitleest.
=> de usb naar rs232 omzetter is gebasseerd op de Prolific pl2303 chip die standaard in de linux-kernel aanwezig zou zijn. Kan er dat iemand bevestigen?
=> zijn er voor dergelijke zaken voorbeeldprogramma's - iemand ideeën?
=> modbus RTU zou in een open-bibiotheek beschikbaar zijn
=> schrijven van data naar een sqlite database op een windows platform lukt me reeds. Is het moeilijk over te schakelen op een een Linuxplatform?
3) PHP en sqlite verwacht ik geen problemen
4) is het moeilijk om een mysql C client werkend te krijgen op linux?
Wat heb ik ondertussen ondernomen:
- debian ISO gedownload en via de commandline een paar keer geïnstalleerd
- apache2/php5/open-ssh/mysql-server (via apt-get install)
- mysql-conf aangepast zodat ik met heidiSQL de database 100% vanop mijn windows laptop kan bedienen
- de basiscommando's wat ondre de knie proberen te krijgen om de commando's goed te begrijpen et te weten wat ze doen
Wat wil ik nu doen: Een C programma ontwikkelen, liefst geprogrammeerd in een windows omgeving, met als doel een debian linuxomgeving die periodiek(cronjob?) modbus RTU registers uitleest over een rs232 verbinding en de waarde toont op het scherm ofzo. Hoe begin ik daar best aan?
Ik ben een net afgestudeerde ingenieur automatisering en zou me graag sterk gaan verdiepen in het linux thema. Dankzij wat tips en lichte hulp zou ik dit allemaal sneller onder de knie kunnen krijgen en nutteloos werk voorkomen.
Alle opmerkingen zijn welkom!
Thomas