Inhoud
Single Board Computers in Zuid-Oost Brabant
Welkom op mijn site sbczob.eu, helemaal gefocust op Single Board Computers en Micro Controllers.
Let op, deze site is een zogenaamde “levende” site, waarmee ik probeer jullie (maar ook mijzelf), zo goed mogelijk op de hoogte te houden. Dit betekent wel, dat pagina's zomaar kunnen veranderen.
Mocht je vragen of opmerkingen hebben, ben je natuurlijk altijd welkom op een van de HCC-ZOB bijeenkomsten (zie ook mijn agenda).
Heel veel plezier toegewenst met je Single Board Computer(s) en/of je Micro Controller(s),
Willy
Ps.: Als je op de link [sbczob.eu] klikt, kom je altijd weer terug op deze pagina! Druk je daartegen op de link [top] ga je naar de top van jouw huidige pagina. 1)
- Eerste zaterdag van de maand (SingleBoard Computer werkgroep), 9:30 - 13:00, Wijkhuis “De Westwijzer”, Helmond
- Derde zaterdag van de maand (Inloop) 2), 13:00 - 16:00, Wijkhuis “Het Slot”, Eindhoven
Enkele snelkoppeningen
- Workshop: HTML en CSS op Single Board Computers en MicroControllers. (zie ook sectie programmeren)
- Project: HCCm Kinderbaan met Arduino's in C++
SBCZOB Werkgroep
De werkgroep valt onder de noemer van HCC Zuid-Oost Brabant en is maandelijks op de eerste zaterdag van 09:30 tot 13:00 bij elkaar in Helmond in Wijkhuis de Westwijzer.
- SBCZOB Werkgroep Wiki (Voor en door de werkgroep leden)
sbczob@freelists.org
Om de werkgroep te ondersteunen, heb ik een email lijst opgezet, genaamd sbczob@freelists.org.
Deze email lijst wordt gebruikt om je op de hoogte te stellen van sbczob items en de alleen geregistreerde mensen krijgen deze emails! Als je geregistreerd bent, kun je deze mail lijst ook gebruiken om de hele groep op de hoogte te stellen van een eigen item.
Let op, het is niet mijn bedoeling om deze lijst te gebruiken voor onderlinge discussies!
Aanmelden/afmelden kan via: freelist.org/sbczob 3)
SingleBoard Computers
Vanaf oktober 2023 zijn we gestart met een nieuwe werkgroep, genaamd “Single Board Computers”.
In het Nederlands kunnen we dat vertalen met zoiets als “Een Computer op een enkele printplaat¨, wat aangeeft dat de hele computer op een printje zit en er eigelijk alleen een scherm, toetsenbord en muis toegevoegd moet worden om een werkend geheel te krijgen. Als voorbeeld, een heel bekende Single Board Computer is de Raspberry Pi.
Single Board Computers
Projecten
Vaak wordt er op de Single Board computers een Linux-like besturings systeem geinstalleerd, alhoewel ook regelmatig een Android besturings systeem (wat ook vaak voorkomt op telefoons en tablets).
Micro Controllers
Een Micro Controller board, is eigenlijk een computer, waarop geen operating systeem staat. Je programmeert zo'n voor één specifieke taak.
Micro Controllers programmeer je vaak met de programmeertalen als C++ of (Micro) Python. Een van de meest bekende Micro Controllers is toch wel de Arduino.
Micro Controllers
- ESP32 Microcontrollers (Espressif)
- RP2040 Microcontrollers (Raspberry)
Projecten
Hardware
- I2C bus verlenger
De I2C bus is bedoeld, om IC's op een printplaat met elkaar te laten praten (dus over een korte afstand). - 5V naar 3,3V level converter
- KiCad, eenschema en printedboard ontwerp programma.
Op afstand toegang verkrijgen
Een Single Board computer kan autonoom werken (Dat wil zeggen, er hangt een scherm aan en je bedient de computer met een toetsenbord en een muis!
Echter, voor veel toepassingen is het niet nodig om direct op de Single Board computer te werken en wil je alleen wanneer nodig deze computer benaderen met behulp van je PC of LapTop.
Dit is mogelijk, door gebruik te maken van de volgende programma's:
- Secure Shell (SSH), zoals de naam al doet vermoeden, een remote Linux shell, uitgevoerd op de remote Single Board computer.
- Virtual Network Computing (VNC), zet een grafische connectie op met de Single Board computer en neemt de desktop daar over.
Om de Single Board computer te kunnen benaderen, moet je óf de hostname, óf het ip-adres van de remote computer weten. Indien de hostname wordt geaccepteerd, is er geen probleem, maar wanneer je het ip-adres moet opzoeken, kan dat wat lastiger zijn.
Een Microcontroller daartegen, heeft niet veel mogelijkheden op die remote te bedienen. Zo'n microcontroller heeft een programma draaien, wat simpelweg een bepaalde taak uitvoert, niets meer en niets minder. Alleen wanneer de Microcontroller communicatie van/naar de buitenwereld wil opzetten, heb je serieel communicatie nodig.
Een programma wat je daarvoor kunt gebruiken is:
- PuTTy. Dit programma kan ondermeer een serieel verbinding opzetten met de Microcontroller. Maar hetzelfde programma kan ook gebruikt worden om een telnet connectie op te zetten, of om een SSH verbinding op te zetten met een remote computer.
Programmeren
Om eigen projecten te kunnen maken, moet je een basiskennis hebben van programmeren.
Ten eerste om projecten van anderen te kunnen lezen en begrijpen, eventueel zo'n project aan je eigen wensen aan te passen. Anderzijds, wil je zelf een projectje starten, is het ook wel belangrijk om zo'n programmeer taal enigzins te beheersen. Met name “enigzins”, omdat de diepgang vanzelf komt, als je er mee bezig bent.
Welke talen kun je aan denken:
- HTML voor Single Board Computers en Micro Processors. Om data vanuit je Single Board Computer of Micro Controller (zonder beeldscherm), kun je op het bordje een simpel webservertje maken. Daarmee kun je vanuit een willekeurige computer via een webclient die resultaten laten zien. Hier kun je kennis maken met HTML en krijg je uitleg hoe e.e.a. op te zetten.
- C++, een taal om programma's te maken voor zowel SingleBoard computers als Micro controllers. De C++ code wordt gecompileerd en opgeslagen als een uitvoerbaar bestand. Dit programma bestand is klein en doordat het alleen machinecode bevat snel.
- (Micro)Python, een taal die eenvoudiger is als C++ en daardoor sneller te leren. Python is bruikbaar voor zowel Single Board computers, alswel voor Micro controllers. Het nadeel van Python is dat het een geïnterprenteerde taal is, wat wil zeggen dat de code tijdens uitvoering vertaald wordt naar machine code en dan direct uitgevoerd wordt. Dit vraagt wat meer geheugen (van belang voor Micro controllers) en is wat langzamer dan gecompileerde C++ programma's. Wel ondersteunen Micro controllers maar een beperkte versie van Python, genaamd “MicroPython”.
Software Beheer
Om je software goed te kunnen beheren, zijn er versie control systemen. Een van deze systemen is GIT (niet te verwarren met GitHub). Dit systeem houdt bij, wat je veranderd in je code en wat de verschillen zijn tussen de versies onderlig.
Linux in de Cloud
Omdat ik regelmatig code schrijf op verschillende computers, is het lastig om de code op deze computers gesynchroniseerd te houden. Ik was regelmatig diskjockie aan het spelen, door met USB sticks de software code van de ene computer naar de andere computer over te hevelen. Echter, door gebruik te maken van de cloud, kun je deze synchrnisatie veel eenvoudiger maken, door gebruik te maken van bijvoorbeeld een Microsoft OneDrive, die we eigenlijk allemaal hebben.
Om hiervan gebruik te kunnen maken onder Linux, heb ik met hulp van een aantal PC-Active artikelen een en ander onder Linux Mint en Linux Manjaro geïnstalleerd. Hoe dat gedaan is, kun je op de volgende pagina vinden: Linux in de Cloud.
Interessante links
- Een geweldige site, waar veel over programmeren verteld wordt is: W3Schools Online Web Tutorials.
- Een andere site, waar je veel basis informatie vandaan kunt halen is: SunFounder.
- En dan heb je uiteraard ook de site:Random Nerd Tutorials
Opmerking: Helaas zijn veel sites engelstalig en moet je misschien Google Translate gebruiken voor vertaling.
Statistieken
- Aantal bezoekers
- Vandaag : 1
- Gisteren: 5
- Meest populaire pagina 5)
- python(433)
- esp32controller(430)
- project(169)