Archief - Python for embedded systems

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Epyon

Legacy Member
Ik ben professioneel en persoonlijk nogal veel bezig met embedded systems die met internet verbonden zijn. Het gaat hier dan bvb om dataloggers die lokaal iets meten en de data doorsturen naar een server, remote toestellen die via internet aangestuurd kunnen worden, seriële gateways etc. Hiervoor gebruik ik vooral Arduino, maar ik loop al geruime tijd tegen de grenzen van dit platform aan (ondanks dat ik zelf libraries schrijf die efficiënter met ATMega MCU omgaan enzo).

Wij werken op het werk ook veel met 32bit ARM SoC's. Deze kunnen Java draaien (zo programmeren we ze nu), maar ik zou graag aan de slag gaan met Python. Dat lijkt me toch iets dichter bij de hardware te staan dan Java.

Mijn vraag is nu of er mensen zijn die ervaring met Python in automatisering, embedded systems, etc hebben. Zijn er goede boeken of tutorials die meteen of redelijk snel deze topics behandelen?

Groovalicious

Legacy Member
Heb zelf geen ervaring met python, maar is er een bepaalde reden dat je java/python en geen c/c++ gebruikt?

Epyon

Legacy Member
C/C++ heeft een te lange leercurve. Ik ben er ooit aan begonnen, maar vanaf pointers verlies ik het. Python lijkt me, net zoals Arduino, een taal waar je redelijk snel heel wat krachtige zaken mee kan doen. De standard library is ook verschrikkelijk uitgebreid.

Bovendien kosten krachtige ARM SoC's die Python interpreters kunnen draaien tegenwoordig twee keer niks meer, dus voor de hardware (of overhead) moet je het niet meer laten.

Cycloon

Legacy Member
Ik zie niet in waarom python minder high level zou zijn dan java. Naar mijn mening liggen die zeer dicht bij elkaar. Anyway, dichter dan c++ zal je niet geraken dus waarom niet c++? Pointers zijn conceptueel zelf helemaal niet moeilijk te begrijpen, het is maar hoe je ze gebruikt (of misbruikt) dat het moeilijk kan maken.

Cyberkef

Legacy Member
Hardware-calls (seriele poorten bvb) kun je met python rechtsreeks sturen, terwijl je met java al moet gaan brielen met JNI.

dJeez

Legacy Member
Ik heb er wel (nog) geen ervaring mee (dat kan nog veranderen als ik alsnog een Raspberry Pi in handen krijg, daar is Python de default educational language :p), maar er bestaan sowieso embedded varianten van Python.

Een goed algemeen startpunt is : EmbeddedPython - PythonInfo Wiki.

Specifiek voor ARM Linux : Michael Lauer - Freelancer / Python for arm-linux

En ook wat tutorial video's voor de Raspberry Pi (specifiek voor Python development, zou redelijk algemeen moeten zijn voor andere ARM devices) :
Raspberry Pi Tutorial 3 - Hello World, Geany and Python - YouTube
Raspberry Pi Tutorial 4 - Coding Style and more Python - YouTube
Raspberry Pi Tutorial 5 - An introduction to Game Development, PyGame - YouTube

... en nog een heel pak meer op http://www.youtube.com/user/RaspberryPiTutorials :p.

Epyon

Legacy Member
Raspberry Pi is idd een van mijn ontwikkeltargets. Normaal krijg ik over twee weken eentje in de bus.

C interesseert me niet zo omdat ik betrekkelijk snel betrekkelijk goed werkende resultaten wil hebben. Ik ben geen programmeur die heel efficiënte programma's moet schrijven, ik moet gewoon proof of concepts kunnen maken die bepaalde functionaliteit implementeren.

metalleke

Legacy Member
Epyon zei:
Raspberry Pi is idd een van mijn ontwikkeltargets. Normaal krijg ik over twee weken eentje in de bus.

C interesseert me niet zo omdat ik betrekkelijk snel betrekkelijk goed werkende resultaten wil hebben. Ik ben geen programmeur die heel efficiënte programma's moet schrijven, ik moet gewoon proof of concepts kunnen maken die bepaalde functionaliteit implementeren.

Hoe heb je deze kunnen bemachtigen als ik vragen mag? Via werk?

dJeez

Legacy Member
metalleke zei:
Dat heb ik al tijdje geleden gedaan, nog geen info ontvangen. Daarom de vraag.
Idem hier, collega's die dat eerder deden en er effectief eentje hebben kunnen bestellen hebben wel net vandaag het bericht gekregen dat hun Pi onderweg is...

Fraggie

Legacy Member
Hangt er vanaf als je embedded hardware zoals een BeagleBoard-xM is, hoe je jezelf aan geen enkele embedded design rules te houden. Zo'n toestellen zijn sterk genoeg om Python uit te voeren zoals het op je desktop zou zijn. Gezien Python ook gebruikt kan om shell-script achtige appz mee te schrijven kan je GPIO met het grootste gemak gebruiken imo.

Mijn ervaring hiermee stopt bij: PyQt (frontend) + PySerial (backend) op mijn laptop die babbelt met een PIC18F in C.

Epyon

Legacy Member
metalleke zei:
Hoe heb je deze kunnen bemachtigen als ik vragen mag? Via werk?
Ja, toen de preorder beschikbaar werd bij Farnell er een via het werk besteld. Levering zou ergens midden juni moeten zijn.

dJeez

Legacy Member
Epyon zei:
Ja, toen de preorder beschikbaar werd bij Farnell er een via het werk besteld. Levering zou ergens midden juni moeten zijn.
De collega's hier hebben hun bestelling vorige week ontvangen. Maar ik ben nu toch aan 't twijfelen tussen de Raspberry Pi en de CuBox (die laatste is iets krachtiger, maar komt inclusief case, SD kaartje en power supply en is dus uiteraard ook wel duurder). Ik ga nog wat wachten denk ik...

yaris

Legacy Member
dJeez zei:
De collega's hier hebben hun bestelling vorige week ontvangen. Maar ik ben nu toch aan 't twijfelen tussen de Raspberry Pi en de CuBox (die laatste is iets krachtiger, maar komt inclusief case, SD kaartje en power supply en is dus uiteraard ook wel duurder). Ik ga nog wat wachten denk ik...

Damn die cubox ziet er idd heel interessant uit. Was hem nog niet tegengekomen. Thx voor de info dJeez.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan