14/12/2025

Arduino Uno Q over usb

Filed under: — cybrarian @ 3:28 pm

Om de Arduino Q rechstreeks aan te sluiten op je computer via usb, moet je de adb tools geïnstalleerd hebben staan:
– debian/ubuntu: adb (android debug bridge)
– opensuse: android-tools (Android SDK Platform-Tools) installeert android-tools, android-tools-bash-completion, libprotobuf33_2_0, libutf8_range-33_2_0

Dan kan je van remote:

adb pull /path/to/file

bv

adb push main.py /home/arduino/ArduinoApps/mijnproject/

en zelfs de arduinoe van op afstand herstarten:

adb reboot

6/12/2025

Arduino Uno Q: brug tussen de MCU en de MPU

Filed under: — cybrarian @ 2:11 am

MCU en MPU
De Arduino Uno Q heeft een MCU (Micro Controller Unit) en een MPU (Micro Processor Unit), en een manier om programma’s te laten communiceren tussen die twee.
Op de MCU, typisch voor een Arduino Uno, draai je een “sketch” die geschreven is in C.
Op de MPU draai je een volledig besturingssysteem (Debian), waarin een toepassing draait die bv gemaakt is in python, gambas, …
Er kunnen ook andere diensten op draaien als webserver, database, …
Als je met een aparte Raspberry Pi en een Arduino Uno werkt, kan je via een seriële kabel (USB) informatie uitwisselen tussen die twee.
Maar omdat de “Q” de twee aan boord heeft, kan je binnenin communiceren.

The Bridge

In dit (gedubt) filmpje worden de basics uitgelegd op basis van de online Arduino documentatie:
https://www.youtube.com/watch?v=fn05RMz14cQ

In de python code heb je bepaalde variabelen die je wil doorgeven naar de C code. Dat gebeurt via de bridge-aanroepen van een functie, waarbij je een bv een boolean meegeeft
(maar kunnen ook meer variabelen zijn zie sketch Pin Toggle waar set_pin_by_name(String name, bool s) is gedefinieerd)

in main.py:

from arduino.aps_utils import *
import time

led_state - False
  
def loop()
    global led_state
    time.sleep(1)
    led_state = not led_state
    Bridge.call("set_led_state", led_state)
  
App.run(user_loop=loop)

Aan de andere kant moet het “aangepakt” worden in de sketch/C code, met gebruik van de Bridge via include:

#include "Arduino_RouterBridge.h"
 
void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
 
    Bridge.begin();
    Bride.provide("set_led_state", set_ledstate);
}

Router

De “Bridge” is de library. Maar onder de motorkap is het een Linux achtergrondproces dat de dienst uitmaakt: arduino-router heet dat.

Je kan die echt checken op de commandolijn:

systemctl status arduino-router

Dan zie je procesinformatie zoals bij de webserver of database server, en wt info over de laatste aktiviteit.

Je ziet iets als “Accepted monitor connection from=..”, wat een voorgedefinieerd Monitor object is dat als een virtuele Serial Monitor toelaat text via RPC naar de MCU te sturen.

Als je problemen hebt na wat al te zwaar werk met buggy code, kan je hem ook herstarten:

sudo systemctl restart arduino-router

en bij het debuggen kan je gaan kijken in de logs:

journalctl -u arduino-router -f

Het is uitgelegd in de Arduino documentatie:
(ARDUINO DOCS Hardware, UNO Q, Tutorials, UNO Q User Manual).

https://docs.arduino.cc/tutorials/uno-q/user-manual/zoek:
“Bridge – Remote Procedure Call (RPC) Library””

en de code een beetje verder onder “Usage Example”.

Licentie
De Arduino voorbeeldcode gebruikt o.m. de “MPL-2.0”

Mozilla Public License, een licentie op het niveau van bestanden, zodat die apart (her)gebruikt kunnen worden.

4/12/2025

Arduino App Lab op Uno Q

Filed under: — cybrarian @ 3:04 pm

Arduino App Lab
(kort ik verder af als AAL)

Het artikel over de nieuwe Arduino Uno Q verwees naar: Dan start de Arduino App Lab - 0.2.4 .... Hier gaan we verder …

Er staan op het scherm een heleboel applicaties die extra hardware nodig hebben, een micro, camera, enz, maar ook een eenvoudige “blink led”

Als je die kiest, en je drukt op Start, begint de IDE allerlei dingen te downloaden, extracten, … En het resultaat is dat er een rode led begint te pinken op het bord: led 3 (de leds zijn genummerd van 1 tot 4 en de blauwe op 2 was aan als aan/uit led leek het (de usb C heeft ook nog een groen led naast de aansluiting aan de overkant van het bord).

In het midden van het scherm bovenaan Editor/console knop.
In Editor staat de hele tekst met uitleg over de app en de code, console geeft de output van het downloaden en uitpakken.

Er is rechtsboven op het scherm nu een “stop” knop zichtbaar, en een “Copy and edit app” knop. Welke denk je dat we kiezen? Copy en edit..

Create new app (naam) : “Copy of Blink LED” staat klaar. Goede naam.

Dan kan je de code aanpassen in Editor met “write” (preview toont de code in een vorm om te lezen, dwz de commentaren normaal en de code gekleurd.

Ik verander de waarde van de time.sleep van 1 naar 5. Er is geen “Save” dus ik doe maar onmiddellijk “run”.
Ik krijg een waarschuwing (omdat de vorige nog liep), en dan begint het werk weer, dat leidt tot “Running”…

Ik merk geen verschil. Ik blijk de Readme file veranderd te hebben, dus ik kijk even verder rond in de IDE en vind onder Files, Python “main.py”. Daar verander ik nu de code, en run… Nu gaat die inderdaad trager.

Een andere voorbeeldapp die geen extra hardware nodig heeft is de weer-app; die haalt data af van online en geeft zijn interpretatie weer via het scherm van de LED-matrix: “Weather forecast”.

Ik vraag me af of het pulserend hart terug start als ik herstart; herstarten gaat vrij snel trouwens. Ik moet het login wachtwoord geven dat ik laatst aanmaakte (min. 8 tekens). De pulserende hartslag is er niet meer *. Dat komt misschien omdat alleen de laatste sketch bewaard wordt in de arduino? Dat zou dan de trager blinking led moeten zijn, maar die lijkt ook niet vanzelf te “runnen”.
(* ps: terug te vinden op https://github.com/arduino/ArduinoCore-renesas/blob/main/libraries/Arduino_LED_Matrix/examples/MatrixIntro/MatrixIntro.ino)

Arduino App Lab Learn
Links beneden een “Learn” knop, die toegang geeft tot korte inleidingen.
– goede uitleg over de arduino Uno Q.
– goede uitleg over arduino lab, hoe te installeren op verschillende manieren
– wat is een app
– wat is een brick
– AI modellen
– hoe werken de ingebouwde voorbeelden
– Q als SBC met uitbreiding op usb-C
– Q in netwerk mode (via wifi/ssh)

Wat ik mis is hoe ik bv extra voorbeelden kan afhalen. Zo bestaat de begin-animatie als project op github onder de naam “MatrixIntro”. Ik zou verwachten dat je ergens meer voorbeelden kan downloaden rechtstreeks vanuit App Lab.
Je kan in de App Lab ook nergens rechtsklikken om meer opties te bereiken, er zijn geen mouseover tooltips, er is zefls geen menu, dus geen File, Open of Help, About.
(en ja, dat is misschien de betekenins van 0.x.x)

Arduino App Lab update naar 0.7.0
Terwijl ik dit allemaal aan het doen ben, komt er een update binnen voor Arduino Lab, met melding 0.7.0 .. dat klinkt goed…of nee, het is de CLI die een update krijgt, niet de desktop applicatie, die blijft 0.2.4.

Wijzigen van een voorbeeldapp

De weather forecast app gaf “regen” terwijl buiten de mist optrok en de zon begon te schijnen. In de weather app staat in de code de stad op “Turijn”, en die moet je dus aanpassen. Dat kan niet in de voorbeeldapp zelf, die is read-only.
Maar ik had eerst al een probleem met het afsluiten van de draaiende app (die had meer dan een dag gedraaid), en sloot dan maar de hele app lab omgeving. Terug open in de weather app, copy and edit als “Weather forecast Belgium on LED matrix”.
Ik vraag me af hoe de steden geschreven zijn, of je bv “Brussel”, of het Engelse “Brussels” moet gebruiken.
Ik vind code op
gtihub.com/arduino/app-bricks-py/tree/main/src/arduino/app_bricks/weather_forecast
maar ik vind niet onmiddellijk de beschikbare steden.

Ik probeer dan maar met een willekeurige Belgische stad, dat lijkt te werken, maar geeft weer regen, dus vraag me af of het inderdaad iets veranderd heeft.
Als je de code aanpast door bv eerst een animatie op het schermpje te zetten bij opstart, en dan een “clear” te doen telkens je gegevens ververst, wordt het duidelijker. Tijdens het draaien kan je ook naar de Console, Python gaan kijken, daar zie je feedback, bv als je een niet gevonden plaatsnaam hebt gebruikt.

Upd:
De volgende keer dat ik de Arduino Q opstart, dwingt AAL me weer tot een update, en daarna heeft hij versienummer 0.3.0.
Eigenaardig of vervelend genoeg gaat die terug helemaal door de installatieprocedure, met bord instellingen (toetsenbord etc), netwerk, en login, wachtwoord gegevens.
Plots moet het wachtwoord ook langer zijn heb ik de indruk, vorige keer was 6 tekens nog goed, nu moet ik er 8 geven. Ergens moest er ook een naam gekozen worden voor het bord, en er wordt standaard iets klaargezet (malia).
Ik weet niet of er iets is fout gegaan met de update, maar de apps die de web browser gebruiken werken niet meer. Ik kan de web browser ook niet uit het Application menu opstarten (buiten de AAL), dus daar lijkt iets fout mee te zijn.

Failed to execute default Web Browser.
Input/output error.

Ik probeer via synaptic package manager (waar hij wel geïnstalleerd staat aangegeven) die te upgraden. Dat helpt niet.

Via de terminal opstarten: chromium

The profile appears to be in use by another Chromium process on another computer (uno-q). Chromium has locked the profile so that it doesn’t get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium.

Er staat niet bij “hoe” je het profiel kan vrijmaken.

Op basis van sommige posts als deze
1) https://bbs.archlinux.org/viewtopic.php?id=294107
waarin verwezen wordt naar de oorzaak beschreven in deze
2) https://wiki.archlinux.org/title/Network_configuration#Set_the_hostname
besluit ik dat de oorzaak het wisselen van de naam is geweest, na die update, naar “malia”, en in de foutmelding wordt gewag gemaakt van de naam “uno-q”.
Dus ik wijzig de hostname naar uno-q om het probleem op te lossen zonder manueel bestanden te moeten gaan verwijderen (zoals beschreven in 1).

sudo hostname uno-q

Dat werkt. Ik kan chromium terug starten, en werkt het in “Blink LED with UI” voorbeeld ook terug.

Linux op Arduino Uno Q

Filed under: — cybrarian @ 3:03 pm

Arduino Uno Q beschikbaar
De aangekondigde Uno Q is ondertussen beschikbaar; hij heeft een extra Qualcomm processor waar Linux op draait, en die kan gebruikt worden voor computerfuncties die gekoppeld worden aan de UNO functionaliteit; data opvragen van het internet; gemeten gegevens opslaan in een database enz. M.a.w. de rollen worden omgekeerd; het controller bord krijgt de uitbreiding ipv de computer die een uitbreiding krijgt met een controller bord.

Uitpakken en uitbreiden
Doosje bevat een summier bordje, kleiner dan een raspberry pi.
Dat is gemakkelijk te verklaren als je begint te zoeken naar de aansluitingen: enkel een usb C.

Het wonderlijke begint als je daar een usb-multi-adapter aan hangt.
Het moet een type zijn dat ook voeding doorgeeft, of anders moet je de arduino voeden via pinnen in de V in of 5 V aansluiting (staat op zijkant van slot).

Je sluit er een muis, toetsenbord en hdmi-scherm op aan, een externe voeding, en steek de adpater usb-C kabel in het arduino uno Q bord. Op het scherm rollen letters voorbij van een startend Debian Linux systeem! Op de matrix van leds op het bord zien we een pulserend hart. Dat LED-eilandje doet denken aan micro-bit, maar hier het zijn er meer: 104 in de opstelling 8×13 (ipv 5×5 bij microbit).

In de toekomst zullen er waarschijnlijk uitbreidingen komen voor de JMISC and JMEDIA high speed headers aan de onderzijde van het bord.

Installeren
Je krijgt een grafisch login scherm, met een setup procedure (met als titel Arduino App Lab – 0.1.2).
Als allereerste moet je het wachtwoord veranderen. Maar let op, als je bv T00B5D getikt hebt, moet je je afvragen of het toetsenbord niet in QWERTY staat!

Dat blijkt immers nadien bij het ingeven van het wifi wachtwoord.
De setup scant automatisch voor draadloze netwerken, je moet het maar uitkiezen en het wachtwoord geven.

Checking for updates .. this might take …
Update required ..

Knop “Start update”; Updating…

Even later:

“All done!” Please restart App Lab to continue using the app.

Het waren dus geen systeemupdates, maar App Lab updates.. die is nu versie 0.2.4

Ik sluit applab, maar daarna is er geen verwijzing naar die applab meer, ik verwachtte een icoon op de desktop of zo, maar daar staan alleen “Home” en “File System”. We bevinden ons in een XFCE desktop merk ik.

File System (Thunar) vertelt dat er 2,8 Gb free space is.
In het menu Accessories vind je Arduino App Lab terug.

Als ik dat start gaat inderdaad de “Board Configuration” voort, nu met toetsenbord keuze; spannend om dat nà de ingave van wachtwoorden te doen…

De volgende vraag is “Board Name”. Wat daar moet komen is niet duidelijk, er is geen help op deze plaats. Als je op reload drukt naast het invulveld wordt er een schijnbaar willekeurige naam ingevuld: melissa, jessi…
Ik geef het de naam Q1, wat ondanks de net voordien gemaakte toetsenbordkeuze A! wordt; ik corrigeer naar wat ik bedoelde door A& te tikken.

Daarna wordt een wachtwoord voor je Linux account gevraagd, maar ik dacht dat we dat voordien al gegeven hadden bij het opstarten? Als username staat arduino ingevuld. Nu staat het toetsenbord wel in Azerty. Je moet minstens 8 tekens invullen… en herhalen (je kan wel kopieren gelukkig).

Dan start de Arduino App Lab – initieel 0.1.2 (0.2.4 na update) : ze zijn bescheiden met hun versienummer… (zie http://linuxuser.copyleft.be/liglog/?p=11818)

Xfce desktop
– het irritante is dat als je de Q een tijdje niet gebruikt, je terug een wachtwoord vraag krijgt van, vermoed ik, de screensaver/screenlocker.
Nergens is daar een instelling van te vinden, bv om die tijd te veranderen.
Ik ga hem afzetten in de settings bij Session and startup, Application autostart.
Ik check met een restart wat er nu gebeurt … de begin-login blijft hetzelfde, ik laat hem nu op het App Lab scherm staan, en na verloop van tijd, als het scherm zwart is, en ik het systeem terug aktiveer, krijg ik geen wachtwoord vraag meer: ok.

Ik vind het ook eigenaardig dat ik het bord eigenlijk niet afgezet krijg. Als ik afsluiten kies, shutdown, dan volgt de procedure voor afsluiten, en onmiddellijk daarna start het systeem terug op, zelfs al raak ik niets meer aan. Ik herhaal het en op het moment dat de leds uitgaan op het bord trek ik snel de usb stekker uit. Maar dat is niet goed voor de slijtage van de usb-poort natuurlijk; ik zal een schakelaar op de voedingsstekker voorzien…

21/10/2025

Raspberry Pi OS met of zonder Wayland?

Filed under: — cybrarian @ 1:29 pm

Standaard Wayland
Een installatie van Raspberry Pi OS (vh Raspbian) vanaf ergens versie 12 (Bookworm), krijgt automatisch het grafisch systeem Wayland in plaats van X11.
(Bij mij heeft Wayland het menu onderaan, bij X11 standaard bovenaan).

Overschakelen naar X11

Als je toch X11 nodig hebt (compatibiliteitsredenen bv), kan je overschakelen via de Raspi-config tool:

sudo raspi-config

Dat opent een “blauw” scherm met een 9-tal keuzes, ga naar de “Advanced Options”

Daar zie je bv rond 7 de keuze “Wayland”; “Switch between X and Wayland backends”.

Met die keuze kan je overschakelen tussen X en Wayland.

Je moet dan ook bijhorende Window Manager kiezen;
– Bij Wayland kan je bv “Wayfire” en “Labwc” hebben als Window Manager.
– mogelijk is er voor X11 maar 1 (Openbox) en moet je niet echt kiezen.

Na de X11 keuze antwoordt het scherm: Openbox on X11 is active (ok).

Finish om de instellingen te verlaten.

En kies best voor reboot om alles nieuw in te lezen en het starten te checken.

Als het beeld van je eerste/tweede monitor is uitgevallen moet je die even af/aan zetten.

Een ander zicht
Je krijgt in principe dezelfde desktop-achtergrond en je documenten en programma’s blijven ook allemaal.
Het kan er wel anders uitzien, menu’s, logo’s, lettertype, snelheid kan verschillen, enz.
En sommige dingen zullen wonderwel terug werken 😉

20/10/2025

Raspbian voor Raspberry Pi 500+

Filed under: — cybrarian @ 8:13 pm

Nieuw ontwerp
De nieuwe Raspberry Pi 500+ is hier alleen nog maar te bestellen zonder op voorraad te zijn, maar in de VS is hij al wel te koop. Ik liet een apart toestel overkomen (zonder muis enz), en dat is dan natuurlijk een toestel met een QWERTY klavier (“het klavier de computer” in dit geval). 16 GB RAM is een luxe natuurlijk, en er is ook een SSD voorzien (wat zelfs in de tijd van de 400/500 voorspeld was door open ruimte in de behuizing, die echter totaal herwerkt is voor dit model).

Systeem
Ik heb nog een Raspberry Pi besturings-systeem liggen, gebaseerd op Debian 12, maar voor de veiligheid haal ik maar een nieuwe 2025-10-01-raspios-trixie-arm64-full.img.xz af (Debian 13). Die is 1.9 GB groot, en na uitpakken wordt het een .img van 9 GB.

Ik installeer balenaEtcher om de image op de SD kaart te schrijven, maar ik heb twee keer een foutmelding, één keer vrij snel op een 64 GB kaartje, de andere keer aan het einde van het schrijven van de ISO op een 32 GB kaartje:
“Flash failed”, zonder verdere uitleg, wat teleurstellend voor een desktop-tool.

Dan maar naar de commandline:
sudo dd if=./Downloads/Software/ISO/2025-10-01-raspios-trixie-arm64-full.img of=/dev/mmcblk0 bs=4M status=progress && sync
Op deze manier krijg je ook doorlopend een stand van zaken te zien

… bytes (3.9 GB, 3.7GiB) copied, 156 s, 20.5 MB/s

Eindigend als:

9617539072 bytes (9.6 GB, 9.0 GiB) copied, 787 s, 12.2 MB/s
2294+0 records in
2294+0 records out
9621733376 bytes (9.6 GB, 9.0 GiB) copied, 961.702 s, 10.0 MB/s

De installatie verloopt nu vlot; starten met de SD kaart in de sleuf, en wat vragen beantwoorden over land en taal, toetsenbord en zo. Een gebruikersnaam en wachtwoord kiezen.

Desktop
Ten opzichte van bv KDE heeft Raspberry pi altijd een eenvoudige desktop gehad, die er ook wat ruwer uitzag. Maar deze versie is op dat gebied veranderd. De grafische elementen op het scher zien er veel fijner en zachter uit, en met deze krachtige configuratie is het ronduit fijn werken.

SSD?
Zonder er bij stil te staan hebben we een typische Raspberry pi installatie gedaan op een sd-kaart. Maar dit toestel heeft een ingebouwde SSD, waar natuurlijk ook het systeem op zou kunnen staan. Dan moet je een nieuwe installatie doen naar die ssd. Het zou handig zijn in de Raspberry pi tools deze keuze te krijgen, maar dat komt misschien nog.

24/3/2025

Raspberry Pi GPIO pin out-in, pull down vanuit de shell

Filed under: — cybrarian @ 11:18 pm

GPIO chaos
Het “leuke” van de GPIO pinnen van de Raspberry Pi is, dat er verschillende manieren zijn om ze te nummeren. Ja, echt.
– Broadcom BCM-nummering (GPIO 2, 3, 4 …)
– WiringPi/Pi4J nummering (GPIO 8, 9, 7, …)

We gebruiken hierna de WiringPi/Pi4J/BCM nummering vanuit de shell (parameter.
Met de parameter -g schakel je bv naar BCM nummering (ipv standaard WiringPi).

GPIO command
Je moet het gpio programma hebben (zal meestal wel standaard geïnstalleerd zijn op je raspberry pi os). Check:

gpio -h

Krijg een overzicht van de pinnen: (inclusief de BCM nummers)

gpio -g readall

Pin als “in” gebruiken

Pin 23 eerst als “in” definiëren, dan pull up (naar 3.3 V):

gpio -g mode 23 in
gpio -g mode 23 up

Daarna kan je de waarde op de pin lezen:

gpio -g read 27
1
0
(staat voor spanning/geen spanning, normaal 3.3 volt)

Stabiele input

Om de als “IN” gedefinieerde pin nergens mee verbonden is, “zweeft” de waarde, ze is “onbepaald”, en je weet niet wat je er leest. Om nu een duidelijk verschil te maken met in of niet in, wordt een basistoestand aangenomen, meestal “pull up” (naar 3,3 V of VCC) ofwel “pull down” (naar ground).
Als je een “pull-up” verbinding maakt over een weerstand naar VCC (met een waarde van rond 10kOhm, afhankelijk van de impedantie van de processorpin), dan lees je met zekerheid op die input pin de toestand “high”. Als je de stand van een schakelaar of drukknop uitleest, die een verbinding maakt met ground als hij ingedrukt wordt, weet je heel duidelijk dat je nu nul Volt uitleest.
De weerstand zorgt er nu voor dat er niet te veel stroom vloeit (zonder weerstand: rechtstreekse verbinding naar ground; kortsluiting).

             __-v^v^R1--
GND--/ .---==
             ---- IN 

De weerstand R1 bepaalt ook de snelheid van uitlezen van een andere toestand; hoe groter de weerstand hoe trager. Daarom zal bij een “snelle” poort (zoals usb) een lagere weerstand gebruikt worden.

Veel microcontrollers (bv Arduino, Raspberry Pi) hebben voor het gemak een ingebouwde weerstand die ingeschakeld kan worden met software.

Wat en waarom van “pull-up resistors

Uit sturen
Schrijven of een spanning uitsturen naar een pin:
– eerst definiëren als “uit”.
– dan een 1 sturen (is spanning op pin zetten)

gpio -g mode 18 out
gpio -g write 18 1

10/1/2025

Raspberry Pi 500: toestel met een missie

Filed under: — cybrarian @ 3:46 pm

Raspberry Pi 500 Rev 1.0 Debian GNU/Linux 12 (bookworm)
Versie: US (er is ook een UK, momenteel geen andere versies verkrijgbaar - zoals een Belgische AZERTY bv)

Doos
De doos is eenvoudiger uitgevoerd
De documentatie is niet meegeleverd, je moet dus op de www.raspberrypi.com/documentation site gaan kijken, maar daar is ook niet alles te vinden. Dit is een negatief puntje, zeker voor een “educatief” bedoeld toestel.
1) Eigenschappen: https://www.raspberrypi.com/products/raspberry-pi-500/
2) Documentation: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
3) Technische fiche is nogal summier: (pdf!) https://datasheets.raspberrypi.com/pi500/raspberry-pi-500-product-brief.pdf

Gelijkenis
– De behuizing (toetsenbord) lijkt exact dezelfde grootte te hebben en is bovenaan wit.
– De F11 en F12 toets moet je met Fn+F1 en Fn+F2 nemen.
– Bovenop het toetsenbord is niet aangeduid waar welke de poorten zich bevinden op de achterkant. Als je het toestel wat naar voor trekt dreigt er een kabel te lossen of even slecht contact te geven. Je moet er dus over gaan hangen om te kijken waar de aansluiting zit, en als je het ongeveer nog weet van je vorige pi 400: pech, de poorten zijn van plaats veranderd.

Verschillen tussen Raspberry Pi 500 en Raspberry Pi 400
– de onderkant is wit en niet rood zoals de 400. De bovenkant lijkt witter door kleinere letters en minder de rode optie-functies. De onderzijde heeft nu 4 rubberen voetjes ipv 2.
– technisch: 8 Gb geheugen ipv 4, enz: Pi 500 kort samengevat – pdf!
– Er is geen Num Lock LED+toets meer!!?? Dit is de QWERTY versie, waar de cijfers direct toegankelijk zijn, en er is geen “cijfertoetsen-eiland” voorzien, maar de Pi-400 heeft ook op de QWERTY versie een cijfer-eiland in rode bedrukking rechts op het lettertoetsenbord. De toetsenbordsturing gebeurt nu anders, nl door een eigen RP2040 (bv Caps Lock LED is aangestuurd door een pin van de RP2040), en mogelijk zit dat achter de verandering (en weglating; ze hebben een missie met dit toestel, en willen de prijs zo laag mogelijk houden).
– In plaats van de Num Lock LED zit er een LED met een symbool van vierkant/driehoek/cirkel, uit de technische specificaties (1) of de documentatie (2) worden we voorlopig niets wijzer…Bij de Pi-400 gaat de NumLock LED aan als je een extern toetsenbord aansluit, en daar op Num-Lock drukt (of op de Pi zelf). Op de Pi-500 gaat er geen LED aan als je op een extern toetsenbord op Num-Lock drukt (wel die van het toetsenbord zelf natuurlijk).
– De power knop staat bovenaan rechts ipv vroeger mee op F10 (rechtstreeks voor aan, Fn+F10 voor uit), wat mij nooit gestoord heeft, en dus vlak naast de Delete/Ins knop. Zie je de vergissingen al gebeuren…? Gelukkig vraagt hij nog te kiezen uit de shutdown opties als je de toets per vergissing indrukt, maar de keuzes zijn “Shutdown”, “Reboot” en “Logout”. Je moet dan mikken op het kruisje van het venster of ESC drukken).
– PowerLED: groen vanaf opstarten, en dat groen knippert, ik weet niet waarom; blijkbaar als lees/schrijf led van de drive, of als aanduiding van netwerkverkeer? Er is immers geen led voorzien bij de ethernetpoort.

Starten en herstarten
– Na afsluiten: de power led brandt rood. Als je dan op de nieuwe power knop duwt, start de Pi op en wordt die led groen.
– Reboot in 23 seconden (tot desktop gestart)

Software

Nb: hierbij gaat het over gebruik van de meegeleverde SD kaart. Natuurlijk kan je andere systemen/versies gebruiken, en dan zal dit niet (allemaal) kloppen.

Geen kantoor: Eigenaardig genoeg is er geen LibreOffice aanwezig, en bij de software installatie zelfs geen rubriek “office applications” of “kantoor/toepassingen”. Je kan wel zoeken op Office in het menu “Preferences, Add/Remove Software“, en dan krijge je een aantal “libreoffice” paketten, maar dan moet je zelf bijeenzoeken welke je moet installeren. Of je moet weten dat je kan kijken bij het menu, Preferences, “Recommended Software“, waar je dan gemakkelijk een software kan aanvinken als Chromium, Firefox, Claws Mail, .. . Hier heb je wél rubrieken, en in de rubriek “Office” staat maar 1 programma: “LibreOffice”. Dat is wat je nodig hebt; aanvinken, bevestigen, en op twee minuutjes (glasvezel) is het geïnstalleerd. Nu heeft het menu ook de “Kantoor” rubriek, met daaronder de LibreOffice programma’s Base, Calc, Draw, Impress, Math, Writer. Ik kan me niet herinneren iets “minimaals” gekozen te hebben bij installatie, op mijn standaard Pi400 stond Office wel onmiddellijk geïnstalleer.
mc
(Midnight Commander): gewoon uit softwarebeheer.
Git
Ik weet niet meer of die oorspronkelijk geïnstalleerd was, mogelijk ook meegekomen met de afhankelijkheden van Gambas.
Gambas
Niet typisch voor deze configuratie, maar helaas lukt de eenvoudige installatie uit de softwarebeheerder niet voor Gambas3. Als je apart de Wayland module bij-selecteert, start Gambas3 daarna wel op maar toont van die rare horizontale lijnen als een defect televisietoestel.
Ik kan het menu “Project” niet oproepen in de IDE. Nee dat is de desktop, je moet eerst het vorige menu sluiten.
– een CLI applicatie: Hello world werkt, compileren tot testCLI.gambas werkt, kan opgeroepen worden vanop de commandline, kan inhoud .txt bestand tonen.
– een GUI applicatie: Knop en Message, werkt, kan ook .txt bestand openen en tonen.

Updates
Rechtsboven geeft een icoon aan dat er updates klaar staan, die kan je van daaruit bekijken en afhalen. Daarna krijg je een melding: “Uptodate”.

Systeem, instellingen
– eigenaardig genoeg geen ~/bin directory!

Gebruik
Meer werkgeheugen, sneller, meer opslagruimte (hangt af van de gebruikte SD kaart, kan je zelf wijzigen dus): het is een plezier om hiermee te werken, wat je bv goed merkt met LibreOffice.
Alle kabels aan het toetsenbord blijft ook zij nadelen hebben: in de tijd van de jaren ’80 homecomputers waren de verbindingen van de stekkers veel steviger, met schroefjes of een klem vastgezet, alles was niet zo fragiel als je met het toetsenbord beweegt.
Ik weet niet wat er met LibreOffice (7.4.7.2 LibreOffice Community) gebeurd is, maar de icoontjes van de toolbars/menu’s zijn flauw en onduidelijk.* Het “icon theme” of “style” kan je wijzigen in Tools/Options/LibreOffice/View; het staat op “Automatic (Colibre (SVG + dark))” (ja idd met dubbele haakjes); eens verzet naar “Colibre” zijn de icoontjes terug duidelijk en scherp. Je kan de verschillende mogelijkheden kiezen en uitproberen met “Apply” vooraleer met “Ok” te bevestigen en sluiten. Op Pi 400 (LibreOffice 7.0.4.2) was dat menu “Extra/Opties/LibreOffice, Beeld“, stond op “Automatisch (Colibre)”.
(* Dit is niet eigen aan de Pi500, maar eerder aan de software/versie, het zou voorkomen vanaf 7.3.7.2.)
De spatiebalk slaat regelmatig de spatie over die je denkt gezet te hebben. Als je aan de rechterkant drukt, hoor je wel de “klik”, maar die wordt niet geregistreerd als spatie. Je moet dus opletten goed in het midden van de balk te drukken.

21/10/2024

Raspberry Pi updates

Filed under: — cybrarian @ 6:10 pm

400 kit update
Wie een Raspberry Pi 400 kit bestelt, kan kiezen tussen verschillende uitvoeringen, bv Qwerty en Azerty (fr).

Die laatste heeft een bijgevoegd Franstalige versie van de officiële Raspberry Pi beginners gids: “Le guide officiel du débutant Raspberry Pi”, het is de 4e editie, die tov van de vorige edities uitgebried is met inhoud over de pi 400.

Als je de Qwerty versie koopt (EU), dan krijg je de Engelstalige “The Official Raspberry Pi Beginner’s Guide” in de “5th edition”, een nieuwere uitgave dus.
Auteur: Gareth Halfacree.

Ik heb er nog geen Nederlandstalige versie van gezien, dus bij de “NL” versie zal waarschijnlijk een Engelstalige zitten.

Raspberry Pi 5 update
Tijdens de update komt er een waarschuwing ivm Raspberry Pi Connect.

14/10/2024

Raspberry Pi programma starten vanop desktop icoon

Filed under: — cybrarian @ 9:44 am

Start programma van desktop
Een icoon op de desktop om een programma te starten werkt in Raspbian 11 niet zo vlot als telkens de vraag gesteld wordt:

Dit tekstbestand lijkt een uitvoerbaar script te zijn. Wat wilt u ermee doen?
Uitvoeren – Uitvoeren in terminal – Openen – Annuleren

Op sommige systemen wordt die vraag de eerste keer gesteld dat je een progromma probeert uit te voeren, maar hier komt die vraag altijd terug, ook nadat je een keer “Uitvoeren” gekozen hebt.

Het starten met of zonder vraag is een algemene optie die kan veranderd worden:

File manager, Bewerken, Voorkeuren, Algemeen (Gedrag): "Vraag niet om opties bij starten van uitvoerbaar bestand".

Of volgens een ask Ubuntu forum:

To disable this annoying dialog from command line:
set quick_exec=1 in ~/.config/libfm/libfm.conf

Je kan bv met midnight commander (mcedit ~/.config/libfm/libfm.conf) (of een andere etitor) die parameter van quick_exec=0 op 1 zetten.

Icoon
Het icoon zelf kan je tegenwoordig veranderen op de Raspberry Pi desktop: klik rechts, Eigenschappen, klik op het icoon en kies een ander icoon, ofwel uit het aanbod, ofwel uit “afbeeldingsbestanden” waar je naar eender welk grafisch bestand in je home directory struktuur kan.

16/9/2024

Raspberry Pi achtergrond

Filed under: — cybrarian @ 2:40 pm

De achtergronden van de Raspberry Pi zijn landschappen, steden, enz.
Er is maar één meer abstracte achtergrond, dat is PiSystem.png; een witte achtergrond met zacht grijs getekende onderdelen die met pi/pi400 te maken hebben.

Rechtsklik, Burobladvoorkeuren, tab Desktop: Picture (toont de beelden uit /usr/share/rpd-wallpaper/

Je kan ook gewoon een achtergrondkleur instellen. Trouwens als je een tweede scherm aansluit, heeft dat enkel een achtergrondkleur.

Raspberry Pi opstarten met programma op desktop

Filed under: — cybrarian @ 2:25 pm

De Rapsberry Pi laten opstarten in een bepaalde toepassing

Er is een map waar bij het opstarten gekeken wordt welke programma’s te starten:/home/pi/.config/autostart

ps: In documentatie vind ik ook nog andere gelijkaardige mappen: /home/pi/.config/lxsession/LXDE-pi/autostart

Het kan dat de map ~/.config/autostart nog niet bestaat;

  • op één pi bestond die niet en heb ik die gemaakt
  • op de andere bestond die wel en bevatte die een bestand LXinput-setup.desktop, met toetsenbord/muisinstellingen

Een programma dat je in deze map zet wordt automatisch uitgevoerd.

Opstarten met een zelfgeschreven applicatie in gambas3
– Vanuit de gambas programmeeromgeving (Gambas3-IDE) kan je een programma compileren tot uitvoerbaar, met de optie om een link op de desktop te maken; doe dat.
– de link kan je dan naar de autostart map verplaatsen (of kopieren).

3/7/2024

Raspberry Pi OS

Filed under: — cybrarian @ 9:09 am

Raspberry Pi OS

Raspberry Pi OS is sterk verwant aan Debian, maar is niet hetzelfde. Debian werkt met versies, en Raspberry Pi OS volgt die in grote lijn maar is tussendoor in “continual development” een beetje als een “rolling release” (vgl bv tumbleweed). Dat heeft zijn voordelen (altijd doorlopende ontwikkeling en verbeteringen zonder te moeten wachten op een nieuwe grote versie), maar ook nadelen; er zal in de loop der tijd gemakkelijker iets “breken”, terwijl je dat bij afgelijnde versies eerder zal hebben bij overgang naar de nieuwe grote “versie”.

Onderhoud
Apt-get is stilaan vervangen door apt.
Verder is het gebruik gelijkaardig als vroeger, behalve (vanwege de rolling release) voor de “upgrade”!

Zoeken

apt-cache search gambas3

Toon meer info:
apt-cache show gambas

Installeren van software
Eerst:
sudo apt update

+ installeren:
sudo apt install gamba3-ide

De-installeren:
sudo apt remove gambas3

Werkelijk ook alles wissen:
sudo apt purge gambas3

Upgrade

Dit is anders dan de bekende apt-get upgrade:

sudo apt full-upgrade

Check eerst eventueel de vrije schijfruimte:
df -h

Ruimte vrij maken (overgebleven bestanden van installatie/updates)
sudo apt clean

https://www.raspberrypi.com/documentation/computers/os.html#update-software

GPIO

https://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header

Firmware
Wees voorzichtig, maak een backup!

sudo rpi-update
...
sudo reboot

Vorige firmware versie:

sudo apt-get update

sudo apt install --reinstall raspi-firmware

1/7/2024

De Raspberry Pi 400 in 2024

Filed under: — cybrarian @ 1:43 pm

Raspberry Pi 400 FR Kit

Deze kit bevat de embedded-toetsenbord-Raspberry Pi 400 met systeem op een 16 G grote SD-kaart er reeds in, een SD-card adapter, een voedingsadapter, en een bijpassende muis. In de doos ook een mini-hdmi naar hdmi kabel (de aanlsuiting is idd mini), en een -natuurlijk- Franstalig boekje: “Le Guide Officiel du débutant .. comment utiliser votre nouvel ordinateur”; inleiding in Raspberry Pi (een algemeen boek, niet alleen over de 400).

Het opstartscherm toont een eventueel toegewezen ip adres. De opstartprocedure leidt je snel door een paar keuzes; gebruiker en wachtwoord, land, taal, wifi of ethernet, en dan wordt de software gecheckt (updates worden afgehaald).
ps: Als je hier voor Belgie als land kiest, wordt de toetsenbordinstelling op Belgisch gezet, en staan een paar tekens niet meer juist (verschil Azerty BE en Azerty FR).
Er is geen root account wachtwoord gevraagd geweest.

Installatie eindigt met :

System is up to date

Daarna wordt aangeboden om te herstarten.

De commandolijn/terminal vermeldt Raspbian GNU/Linux 11 met kernel 6.1 aarch64 (geen Raspberry Pi OS).

Dan kan je verder software installeren: menu Voorkeuren, Add/Remove software .. bv “Ontwikkeling” (“Development”: Programmeren enz): het duurt even eer de lijst getoond wordt, dus waarschijnlijk wordt online gecheckt wat beschikbaar is …
Je krijgt een zeer lange alfabetische lijst, gelukkig is er links boven een “zoek” veld: “gambas..”; beschikbare versie is 3.15 (“Complete visual development environment”). Om verder te gaan moet het wachtwoord ingegeven worden.

Na installatie vind je het programma terug in het menu: Gambas 3.15.2.

Rechtstreeks starten
De Raspberry Pi bordjes hebben geen aan/uit schakelaar, (je moet de voeding onderbreken om ze te starten), maar deze Pi 400 heeft een toets op het toetsenbord waar een rood aan/uit icoon bij de F10 toets staat. Het leek een optie-combinatie te zijn; ook de optie-toets betekenis wordt in rode symbolen aangegeven, zoals F11 en F12 die onder F1 en F2 staan, PgUp en PgDown die bij de pijltjes staan, en die met de framboos-toets omgeschakeld worden. Maar als de Pi 400 uitstaat, kan je rechtstreeks op de F10 toets duwen om hem aan te zetten, de optie is niet nodig.

Updates
Rechtsboven komt een “update” symbool te staan, waaronder je 2 keuzes krijgt: bekijk updates, haal updates af. Als de updates zijn uitgevoerd, verdwijnt het icoon.

13/6/2023

SD-card eigenschappen voor Raspberry Pi

Filed under: — cybrarian @ 9:07 am

SD voor Raspberry Pi
Voor een Raspberry Pi moet je al eens een nieuwe SD kaart kopen, want dat is het onderdeel dat na een paar jaar al eens faalt. Vroeger volstond een 4 tot 8 GB kaart (grootte van de ISO) voor het systeem van een Raspberry Pi, en als je een grotere kaart gebruikte, moest je speciale technieken aanwenden om de rest van de kaart-capaciteit te kunnen gebruiken. Maar de huidige versies van Raspberry Pi OS zorgen daar ondertussen automatisch voor. Resten nog de andere eigenschappen als snelheid.
Ik merk dat er nogal wat verschillende manieren zijn om de eigenschappen van de kaart aan te duiden; CLass 10 , UHS-I Class I Premium, .. ; wat is marketing en wat heeft betekenis?
Wat is relevant voor de Raspberry Pi?

De meeste kaartjes worden gepromoot voor gebruik in cameara’s, vandaar de nadruk op het snel kunnen schrijven van data, achtereenvolgens.
Maar bij een Raspberry Pi is het gebruik anders:
– het doorlopend schrijven op het kaartje gebeurt bij het schrijven van de ISO, installatie van het systeem op de kaart, één keer dus maar.
– daarna is het een wisselend lezen en schrijven dat de dienst uit maakt.
– de kaartlezer van de Raspberry Pi heeft ook zijn SDIO beperkingen: “De gemiddelde ‘bus’ snelheid van de SD kaartlezer is ong. 23MB/s lees of schrijfsnelheid” (jdb
Raspberry Pi Engineer & Forum Moderator)

Volgens https://forums.raspberrypi.com/viewtopic.php?t=232148
“De SD kaartjes die wij leveren voorgeformatteerd met het NOOBS besturingssysteem zijn optimaal voor lees/schrijf snelheid, typisch 1,5 MB/s willekeurig schrijven, 6 MB/s willekeurig lezen..”
Je moet dus al toegewijd gaan testen en meten om daar iets over te kunnen zeggen: “random 4k read/write performance”.

Een Pi 3B+ gebruiker bootte van een exnterne usb-stick, waardoor zijn kaartlezer vrij was om een testprogramma te draaien op lees/schrijf snelheid. Hij kwam uit rond 23 MB/s voor een paar verschillende kaartjes, wat klopt met bovenvermelde waarde.

Verder blijft de mogelijkheid met een extra SSD drive te werken, die door de aansluiting via de USB-poort (gedeelde USB controller voor de Pi poorten/netwerk) ook niet optimaal presteert, en misschien trager opstart, maar wel sneller werkt daarna. De Raspberry Pi 4 heeft (gigabit ethernet en) USB3, die is wat sneller (“tot 10 x sneller zegt de produkt aankondiging”).

SD card Eigenschappen

* Snelheid

U1 : minder snel dan U3.
U3: hogere snelheid, bv opnemen 4K-Ultra-HD video.

* Capaciteit:

U1: beperkte capaciteit
U3: gaat tot hogere capaciteit: 32 GB- 1 TB

* UHS bus-snelheid: Romeinse cijfers I, II en III

* UHS speed klasse Romeins cijfer of hoofdletter “V” (voor video?)

* Prijs
(06/2023)
Een merk-kaartje van 1TB kost meer dan honderd euro, bv 154 €.
Een merk-kaartje van 32 GB (class 10/UHS-I-120MB/s) SDHC kaart kost minder dan 10 euro; bv 8,5 €.

5/6/2023

Raspberry Pi OS

Filed under: — cybrarian @ 11:22 pm

Het is even geleden dat ik een Raspberry Pi geïnstalleerd heb (ze zijn nog altijd niet te krijgen, dus dat gebeurt enkel als ik er eens kan hergebruiken omdat het originele project niet meer loopt). Even snel in het klad mijn log:

Download
Raspberry Pi image (systeem) downloaden van https://www.raspberrypi.com/software/operating-systems/

keuze tussen bv 32 bit en 64 bit versies; bv 64 bit:

2023-05-03-raspios-bullseye-arm64.img

Als het afgehaalde bestand “gecomprimeerd” is moet je het “uitpakken” eventueel met een tool als Ark.

2023-05-03-raspios-bullseye-arm64.img.xz

Imager voor Raspberry Pi
De volgende stap is het overbrengen van
Er wordt aangeraden de imager te gebruiken, ik vind geen uitleg om gewoon de commandolijn te gebruiken met bv dd, zoals ik voor andere ISO’s doe. Maar goed, als iemand de moeite heeft gedaan er software voor Linux voor te schrijven, proberen we die. Ik zoek bij (opensuse) software en vind:

rpi-imager - Raspberry Pi Imaging Utility

Raspberry Pi Imager is the quick and easy way to install Raspberry Pi OS and other operating systems to a microSD card, ready to use with your Raspberry Pi. Watch our 45-second video to learn how to install an operating system using Raspberry Pi Imager.
Download and install Raspberry Pi Imager to a computer with an SD card reader. Put the SD card you’ll use with your Raspberry Pi into the reader and run Raspberry Pi Imager.

Na installatie te vinden in het menu onder “hulpmiddelen” als Imager (met een framboos icoon).

Indrukwekkend genoeg start die in het Nederlands (het was me niet onmiddellijk duidelijk of dat als root moest..)

* Kies besturingssysteem
Je kan een besturingssysteem kiezen uit een hele lijst van beschibkare systemen, er staat bij hoe groot de download is. Maar je kan ook een reeds gedownload bestand selecteren.

* Kies opslagapparaat
Interne SD kaartlezer..”Voorbereiden …” ..
“Schrijven …” ..
“Verifieren … ” ..

* Schrijf
Vraagt root wachtwoord.. (daarmee is die vraag beantwoord).

“Voorbereiden …” ..
“Schrijven …” ..
“Verifieren … ” ..

Ps: Er is ook een Annuleer knop voorzien.

Gemist
Pas als hij helemaal klaar is en vraagt de SD te verwijderen, zie ik de knop met het tandwieltje.
Die geeft een scherm met “geavanceerde instellingen”, die ubuntu-achtig verstopt waren dus.
Conclusie: Ik mistte de kans om de hostnaam in te stellen, de SSH te laten inschakelen, de gebruikersnaam/wachtwoorden in te stellen, de wifi te aktiveren en in te stellen, de regio-instelling te doen…

Met de optie “alleen voor deze sessie” of “altijd toepassen”.

Ok?
In ieder geval, nu zou je SD kaart klaar moeten zijn voor gebruik.

Eerste start

Bij het starten zie ik meldingen voorbijrollen als:

Resizing root filesystem (het zou fantastisch zijn als hij automatisch de rest van de kaartruimte bruikbaar maakt ..)
generating ssh keys
rebooting

Er start een Instellingen programma: een scherm dat doet denken aan de Raspberry Pi 400, met tekeningetjes van allerlei componenten op de witte achtergrond.

Country (kiezen uit een ellendige lijst en het toetsenbord werkt niet; scrollen dus … )
Belgium / Flemish / timezone Brussels (setting location..)

Create user, password: nu moet je zelf een gebruikersnaam kiezen, en een wachtwoord opgeven (vroeger was de standaard gebruiker “pi”, maar dat maakt het ook makkelijker voor aanvallers…).

Ik sla de wifi over.

Dan wordt gevraagd om te checken of er updates zijn, dus ik sluit de kabel aan.

Getting updates .. Downloading updates ..
Installing …
Setup Complete. System is up to date. Ok.
Restart to let the settings take effect.

Een vurige lucht vult het scherm, ik start de bestandenbeheerder, vrije ruimte: 24 G (dat is goed, de sd kaart is 32 Gig, dus het beschikbaar maken van de extra ruimte op de kaart gebeurt automatisch nu).

Installeren software
* Gambas
sudo apt install gambas3-ide (bevestigen)
Ok, menu programmeren, Gambas3, De Gambas IDE start als versie 3.15.2

Maar dan zijn er veel onderdelen niet mee geïnstalleerd, dus ik probeer nog
sudo apt install gambas3. Dat haalt nog een groot aantal onderdelen af.

Daarna: free: 23.4G

* MariaDb

3/1/2023

Arduino (Uno) pinnen, interrupts, enz

Filed under: — cybrarian @ 11:32 am

Uit de Robotics backend:

  • Pinnen, met Seriële communicatie (Power, digital, PWM, analogue, interrupt, communication: UART/GPIO Rx/Tx, I2C, SPI,..)
  • PinMode (pull up/down)
  • Led en button: of apart LED en drukknop
  • Interrupts: vermijdt Serial Library binnen interrupt
  • Multitasking, maar geen parrallel programming of multithreading
  • Delay(): of non-blocking delay?

16/12/2022

Arduino neopixel LEDs

Filed under: — cybrarian @ 2:54 pm

De pixels kunnen gestuurd worden met waarden van 0-255 per RGB kleur.

Met als extreme waarden voor Rood, Groen, Blauw:

Rood is (255,0,0)
Groen is (0,255,0)
Blauw is (0,0,255)
Geel is (255,255,0)
Oranje is (255,165,0)

Maar ook tussenwaarden geven mooie resultaten..

Zacht geel (60,40,0), minder fel
Flauw blauw ( 0,50,0), geschikt om te laten zien dat er stroom is maar zonder veel licht te geven.
Fuchsia (150,20,20)

enz..

12/12/2022

Serieel communiceren met Arduino

Filed under: — cybrarian @ 1:40 pm

Arduino naar Raspberry Pi/pc

Seriele communicatie uit de Arduino sturen was al duidelijk (Arduino seriele print uitlezen).

Arduino stuurt een stukje tekst over de serieële poort:

Serial.print("ERRROR: value ");
Serial.print(iValue);
Serial.print(" exceeds maxvalue ");
Serial.println(LEDCOUNT*3);

Pc/Raspberry Pi via USB van/naar Arduino

Nu moeten we nog via de seriele poort opdrachten of data naar de arduino kunnen sturen, vanuit een Linux pc/Rasberry Pi, via de usb kabel (gemakkelijkste manier).

Het programma op de Arduino moet daarvoor op bepaalde momenten “luisteren” naar de seriele poort.

// Serial data in from usb port
void setup() {
// run once:
Serial.begin(9600);
}
void loop() {
  if (Serial.available() > 0) {
    String sData = Serial.readStringUntil('\n');
    Serial.println("Hello from Arduino.. you sent me: ");
    Serial.println(sData);
  }
}

Of met een tellertje:

// Serial data in from usb port
long lCounter = 0;
int iLoop = 0;
void setup() {
// run once:
Serial.begin(9600);
Serial.println("Hello from Arduino...waiting for your signal");
}
void loop() {
  if (Serial.available() > 0) {
    String sData = Serial.readStringUntil('\n');
    Serial.println("Hello from Arduino.. you sent me: ");
    Serial.println(sData);
  }
  //delay(100);
  lCounter++;
  if (lCounter > 128000) {
    Serial.println("Silence? .. ");
    lCounter = 0;
    iLoop ++;
    Serial.println(iLoop);
  }
}

Het sturen van data van de Raspberry Pi naar de arduino zal dikwijls met Python gebeuren, daar is online veel documentatie over te vinden.

Maar het kan bv ook met Gambas3: http://gambas.copyleft.be/blog/archives/2774, zowel van als naar Arduino.

9/12/2022

Arduino 2.x op openSUSE 15.4

Filed under: — cybrarian @ 4:09 pm

Linux Arduino install

Zie ook vroeger de 1.x versie
1.8.13 IDE https://docs.arduino.cc/software/ide-v1/tutorials/Linux, download van de Arduino website https://www.arduino.cc/en/software : arduino-1.8.13-linux64.tar.xz

Maar er is ook een recentere versie, dus die geniet misschien de voorkeur:

Arduiono 2.0.3 IDE

– download de 2.x versie van de site: https://www.arduino.cc/en/software : arduino-ide_2.0.3_Linux_64bit.zip
– uitpakken: geeft een aantal submappen, maar nergens een shell script om te installeren.
– start het programma: arduino-ide (bv met dubbelklik, bevestigen dat je het vertrouwt).
– De bekende groene Arduino IDE start, en begint onmiddellijk allerlei dingen te downloaden en te installeren:

Downloading packages
arduino:avr-gcc@7.3.0-atmel3.6.1-arduino7
arduino:avrdude@6.3.0-arduino17
arduino:arduinoOTA@1.3.0
arduino:avr@1.8.6
Installing arduino:avr-gcc@7.3.0-atmel3.6.1-arduino7
arduino:avr-gcc@7.3.0-atmel3.6.1-arduino7 installed
Installing arduino:avrdude@6.3.0-arduino17

… (volledige log zie onderaan)

Poort

Met de arduino aangesloten kan je op de commandolijn:

lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 046d:c03d ... Optical Mouse
Bus 001 Device 002: ID 1a86:7523 QinHeng Electronics CH340 serial converter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Device 002 is de Arduino nano clone

Kies de USB poort (bv: /dev/ttyUSB0 staat klaar)
Kies het aangesloten bord hier Arduino Nano (clone)

Tools, processor: ATmega 328p old bootloader
Programmer: Arduino as ISP

Toegang tot de seriële poort

Je kan zien in welke groepen je al zit met :

groups

users

Root kan toegang geven tot de hardware:
sudo usermod -a -G dialout $USER

groups

users dialout

En voor sommige borden als Arduino Uno WiFi Rev2, ATMEGA328 moet je ook nog deze twee:

echo "SUBSYSTEM==\"usb\", MODE=\"0660\", GROUP=\"$(id -gn)\"" | sudo tee /etc/udev/rules.d/00-usb-permissions.rules

udevadm control --reload-rules

(zie https://github.com/snapcrafters/arduino/issues/10#issuecomment-716683018)

Library
Om extra hardware aan te spreken moet je meestal een library installeren, bv voor een ledstrip met neopixels:

Selecteer bij library manager: Adafruit_NeoPixel (1.10.7 nu).
Je kan via meer info naar :
https://github.com/adafruit/Adafruit_NeoPixel
Of instaleren met een druk op de knop ‘install’

Downloading Adafruit NeoPixel@1.10.7
Adafruit NeoPixel@1.10.7
Installing Adafruit NeoPixel@1.10.7
Installed Adafruit NeoPixel@1.10.7

eindigt in

“Succesfully installed …”

Check
Bij problemen, check:
– Na starten IDE moeten soms de parameters terug ingesteld worden voor het specifiek gebruikte bord, seriële poort, …
– Om de sketch naar het bord te “uploaden” moet er verbinding zijn (zit de usb kabel in het bord (of draait het van batterij waardoor het aangesloten lijkt?)
– Heeft de gebruiker de nodige rechten? (probeer eens de ide te starten als root eventueel)


(meer…)

Powered by WordPress