Programare

Marius '95

troubleShooter
Am nevoie sa scriu un program pentru comunicarea cu un analizor prin portul serial. Ce face efectiv:
- handshake si flow control cu ACK/NAK, masurat timeout-uri, etc.
- verifica CRC16 la blocuri de date
- salveaza datele intr-un fisier
- lanseaza un PHP care sa importe datele in baza de date, sau importa el direct (depinde cat de usor de programat este)

Stiu php la un nivel decent si am deja programul scris in php, dar nu-i adecvat pentru a rula non-stop. Mananca mult procesor (5%). Vreau un executabil adevarat care, preferabil, sa se foloseasca de intreruperea portului, nu sa faca polling periodic ca PHP-ul. As mai vrea sa fie relativ usor portabil in linux/bsd, ca nu mai raman multa vreme cu windows.

Ce limbaj de programare ar trebui sa ma apuc sa invat?
Multumesc.

PS: Acel limbaj pe care ma apuc sa il invat ar trebui sa existe si peste 20 de ani si sa aiba documentatie excelenta acum, mai ales la capitolul comunicare prin porturi si IRQ.
 
După ce am studiat diferențele între multe limbaje de programare aș spune Python. Există și un curs moca și se pretează stilului smuls care-l ai în general în abordarea unor probleme :biggrin:
 
Ca să înțelegem de la început la ce strâmbi din nas, să nu ne mai pierdem timpul. 90% din discuțiile cu tine rămân în pom, că nu mai dai vreun feedback după ce ai rezolvat problema.

Pentru CPU, eficiență, consum, clar ASM, orice altceva e ineficient.
 
Partea cu portabilitatea la ASM va fi o distracție în viitorii 20 de ani, da' mno, capu' face (arhitectura), capu' trage.
 
Păi n-a specificat portabilitate, doar că va exista și că are documentație. Așa cum va găsi piese de schimb pentru device-ul conectat, va găsi și pentru server-ul pe care îl va rula.
 
Incerc sa scriu un program care comunica prin portul serial cu un router.
Cum fac sa trimit prin serial comenzi de genul sageata in jos, home, del, etc.? Am esuat la google-fu. :frown: Cum sunt codate comezile astea? Dictionar?
 
Ca sa nu ziceti ca discutia a ramas in pom si n-am mai dat feedback:
- Chestiunea cu comunicarea seriala cu analizorul s-a rezolvat facand un daemon in PHP si mi-am bagat piciorul in performanta. Dupa vreo 6 luni n-am mai avut timp si nervi sa fac suport tehnic si programul a fost inlocuit cu totul cu ceva comercial unde fac altii suport tehnic.
- Chestiunea cu trimisul comenzilor prin serial a mers folosind ANSI escape codes.


Alta:
Am o telecomanda 433MHz pentru rulourile de la ferestre. Vreau sa folosesc RPi-ul sau router-ul sa le comand dupa un program zilnic. Am studiat cu RTL-SDR codurile trimise de telecomanda si ele sunt formate din "pulsuri" radio de 0.56 ms lungime, spatiate la intervale de 0.56 sau 1.12 ms.
La asemenea intervale de timp, cred ca python iese din discutie. Ce altceva pot folosi? In C exista biblioteca wiringPi care pare usor de folosit. Se descurca C-ul cu intervale de 0.56 ms in Linux?
Nu am un Arduino / AVR. Stiu ca exista RTOS pentru RPi, dar nu vreau sa ocup un RPi exclusiv cu job-ul asta.
 
Back
Top