Vilken databas för att användas med programmeringsspråket C?

Permalänk

Vilken databas för att användas med programmeringsspråket C?

Jag har en Arduino decimille (en circut board) och är det programmeras i C. Jag slags lärt mig mycket grundläggande programmering med det men nu behöver jag den till data (resultaten av en strömbrytare) i en databas.

Vad fri databas program kan jag använda som accepterar indata från ett program skrivet i C?

Permalänk

mysql kan du använda som databas. Med denna klient: http://dev.mysql.com/downloads/connector/c/

Visa signatur

Dator: i5-13600K, Asus Prime Z690-P, Noctua NH-D14, Kingston Fury Beast RGB 32GB DDR5-6000, Gigabyte RTX 4090 gaming OC, Seasonic Platinum SS-1000XP, Lian-Li Lancool 215, Samsung 980Pro 2TB M.2 NVME, Acer Predator XB323QKNV 4k 144Hz

Permalänk
Medlem

SQLite kan vara ett bättre val än MySQL, beroende på vilken miljö du är i.

Permalänk
Medlem

Jag skulle kört på en helt egen lösning då det inte verkar röra sig om speciellt avancerad data som ska hanteras.
Sen betvivlar jag starkt att det går att kompilera något av SQLite eller MySQL till ATmega168.
Eller jag kanske missförstår och datan inte ska lagras/bearbetas på Arduino decimille utan på en PC?
I så fall är svaret "vilken databas som helst".

Permalänk
Medlem

Du får inte in något databassystem direkt på din Arduino, eftersom du bara kan lagra några kilobytes med kod. Om du inte behöver jättemånga samples kan det funka att lagra datan i EEPROMen. Du skriver att det är resultatet av en strömbrytare, så jag antar att det enda du behöver är en bit per sample. Om du kör en ATmega168 så får du ju plats med 4096 samples i EEPROMet (512 bytes). På 328:an dubbelt så mycket.

Eftersom Arduino har ett FTDI-chip kan du ju skicka datan till en dator och, som iXam säger, använda vilken databas som helst på datorn. Jag vet ingen som accepterar data direkt från en serieport, men det är ingen stor sak att skriva ett app som skyffar från serieport till en SQLite-databas. Allt detta beror lite på vad exakt det är du vill göra.

Om det inte är praktiskt med en USB-kabel kan det vara intressant att kolla på trådlösa lösningar med t.ex. Xbee.