13/7/2021

15.6 inch FHD Monitor

Filed under: — cybrarian @ 9:15 am

Een scherm zonder handleiding
Een optie voor gebruik bij je raspberry pi: Een touch-scherm met ingebouwde batterij en aansluitingen voor hdmi en usb. Adapter met usb-C. Audio mini-jack out (audio van hdmi) wat handig is voor de Pi 400 die geen audio-uit heeft.
Er is enkel een kaartje bij met een QR code om te scannen, die leidt naar een webpagina https://www.waveshare.com/wiki/15.6inch_FHD_Monitor (link).

Eigenaardig gedrag als:

Demo
– na even niet gebruiken staat scherm af; zet terug aan met lang indrukken (op gevoel) eerste knop zet het scherm een rooster van 4×4 tekst “demo” op het scherm; afwisselend een kolom met blauwe achtergrond en grijze achtergrond; die blijft heel de tijd pinken. Terug af en aan gezet en het is weg..- toch niet, duikt terug op. Op de online documentatie is helemaal NIETS te vinden over een “demo” stand…; de power knop dient alleen voor aan uit volgens de handleiding, dus hoe ik in “demo” stand ben geraakt .. geen idee.

Batterij
Heel vervelend is dat je geen batterij melding krijgt.
Als je lang rondspeelt in het menu van OSD (On Screen Display), dan vind je daar wel instellingen, en een van de diepst verstopte is die van de batterij-weergave. Die kan je aan en af zetten; als ze aan staat komt ze VAST rechtsboven in het scherm te staan.
Dat betekent voor de Pi: over het klokje. Het klokje wordt onleesbaar, en ook de batterij-weergave is maar leesbaar als je een donkere achtergrond hebt (bv mouseover op klokje).
Je kan de OSD weergave wel op meer transparant zetten om dat te verzachten; ik heb nu een moeilijk afleesbaar klokje en een bij mouseover af te lezen batterij-aanduiding. Je kan natuurlijk kiezen om de takenbalk van de Pi onderaan te zetten (rechtsklik voor instellingen).

12/7/2021

Raspberry Pi (scherm) valt uit

Filed under: — cybrarian @ 11:12 pm

Is er een power management? Is het een screensaver? Hier alvast iets:
https://raspberry-projects.com/pi/pi-operating-systems/raspbian/screensaver

7/7/2021

Eenvoudig beeld bewerken op Raspberry Pi OS

Filed under: — cybrarian @ 12:28 am

De standaard afbeeldingbekijker op Raspberry pi is nogal beperkt tot het bekijken van beelden, en ik wil geen Gimp installeren. Ik wil snel een foto verkleinen of kantelen zoals ik op mijn KDE desktop doe in het standaard beeld-programma Gwenview of zoiets.

Op Raspberry bestaat dat ook, en heet dat Mirage.

sudo apt-get install Mirage

Kantelen, spiegelen, uitsnede nemen, verkleinen tot zelfgekozen aantal pixels in lengte/breedte met mogelijkheid tot behoud van de verhoudingen, enz.

3/6/2021

nginx webserver op Raspberry Pi

Filed under: — cybrarian @ 12:23 pm

Als je een png beeld of een log/tekst wil laten raadplegen vanop afstand met een browser, kan je een eenvoudig webserver gebruiken: nginx
(uitgesproken “Engine X”)

sudo apt-get update
sudo apt-get install nginx

Dat is voldoende om op je localhost de welkom-pagina te zien van nginx:
(raspberry pi browser “localhost”)

De plaats waar die werkelijk staat is: /var/www/html/index.nginx-debian.html

Zet in die map een gewone index.html, en die zal worden weergegeven in de plaats van bovenstaande.

De map is van root, je hebt dus root rechten nodig om er te mogen schrijven/wijzigen.

Je kan bv een submap maken en daar het script dat de data maakt rechen geven om te schrijven.

26/5/2021

Vrije ruimte op SD kaart

Filed under: — cybrarian @ 9:48 pm

Als je een Raspberry Pi installeert met een image voor de SD kaart, is er waarschijnlijk nog niet-gebruikte ruimte na het “branden” van de “image”. Die kan je tegenwoordig gemakkelijk recupereren. Of soms gebeurt dat al bij installatie?

Bv met een micro-sd kaart van 32 GB:

Zet systeem op kaart:
# sudo dd bs=1M if=2021-03-04-raspios-buster-armhf-full.img of=/dev/sde

8212+0 records gelezen
8212+0 records geschreven
8610906112 bytes (8,6 GB, 8,0 GiB) copied, 772,7 s, 11,1 MB/s

fdisk -l


Schijf /dev/sde: 29,1 GiB, 31266439168 bytes, 61067264 sectoren
Disk model: SD/MMC
Eenheid: sectoren van 1 * 512 = 512 bytes
Sectorgrootte (logisch/fysiek): 512 bytes / 512 bytes
In-/uitvoergrootte (minimaal/optimaal): 512 bytes / 512 bytes
Schijflabeltype: dos
Schijf-ID: 0x257398ef
.
Apparaat Op. Begin Einde Sectoren Grootte ID Type
/dev/sde1 8192 532479 524288 256M c W95 FAT32 (LBA)
/dev/sde2 532480 16818175 16285696 7,8G 83 Linux

Bij het starten op de Raspberry Pi krijg je een tekst kort op het scherm, iets van resizing root/boot? filesysteem/partition ..

Daarna iets over checken van ssh keys.

En dan start de desktop. Je krijgt een welkom-scherm met een reeks vragen die je door de installatie loodsen; land, taal, toetsenbord (indien afwijkend), enz. Rechts beneden staat je ip adres indien van toepassing (bv 192.168.1.48).
Daarna word je gevraaagd het wachtwoord te kiezen. Vink hier zeker “Hide Characters” af, zodat je ziet wat je schrijft, want de toetsenbordindeling heb je op dit moment nog niet kunnen controleren. Ondanks de taalkeuze doet hij daarna trouwens vrolijk verder in het Engels.

Als je een netwerkkabel aangesloten hebt, kan je “skip” doen op de draadloze netwerken.
De projectie op het scherm wordt gecontroleerd: komt de afbeelding overeen met de werkelijke schermgrootte of missen er dingen of is er een zwarte rand? (bij mij is die goed)

Daarna kan het systeem gecontroleerd en bijgewerkt worden, wat even kan duren, downloadverkeer veroorzaakt, en extra ruimte inneemt; normaal mag dat allemaal geen probleem zijn en up-to-date is veiliger. “Next”.

22:24- compare,.. download, update …
22:38 ..installing updates – please wait …
22:41 System is up to date

(ok)
“Setup Complete”

Ik kijk in bestandsbeheer en zie dat ik nog 20 GB vrij heb, dus ik veronderstel dat hij de SD kaart wel optimaal benut en niet blijven hangen is op de bv 8 GB van de image.

21/5/2021

Screenshot op Raspberry Pi

Filed under: — cybrarian @ 12:21 pm

Druk op de “Print Scrn” toets op je toetsenbord.
Er komt een bestand in je home map te staan met een naam als: 2021-05-21-121235_1824x984_scrot.png
Scrot is de naam van de screenshot applicatie.
Je moet het bestand daarna zelf bijsnijden als je maar een deel van het scherm wil.

15/5/2021

Raspberry Pi afsluiten zonder scherm

Filed under: — cybrarian @ 11:35 am

Wat als je Pi “headless” draait (of gewoon net niet het juiste kabeltje hebt om je Pi Zero van een scherm te voorzien) en toch je Pi wil afsluiten zonder de voeding uit te trekken?

Er zijn een paar verschillende mogelijkheden, die afhangen van wat er geïnstalleerd is: geen desktop, wel een desktop, netwerk en ssh draait, …

Met netwerk
Als een netwerkverbinding mogelijk is: inloggen met ssh en
sudo shutdown -h now voor afsluiten
sudo shutdown -r now voor herstarten

Zonder netwerk, zonder desktop
Sluit een toetsenbord aan (usb). Er zijn 2 mogelijkheden:
1. Je staat op een login prompt. Tik een bestaande gebruikersnaam en wachtwoord. (“pi”, enter, “raspberry”).
Ga hieronder verder.
2. Je staat in een aktieve terminal
tik shutdown -r now

Zonder netwerk, met Desktop
Sluit een toetsenbord aan en doe de handelingen in de desktop die je normaal zou doen om af te sluiten, maar gebruik de shortcuts op het toetsenbord:
– Open het menu: Pinguin-toets (of gnome of eender welk symbool op die menu toets staat);
– ga naar de Shutdown/Afmelden menukeuze: pijltje naar beneden bv 13 keer (tel op voorhand hoeveel bij jou van toepassing is; er zijn meer onderverdelingen als er meer software geïnstalleerd staat, bv: Programmeren, Onderwijs, Kantoor, Internet, Muziek-Video, Grafisch, Spelletjes, Systeemgereedschap, Hulpmiddelen, Help, Voorkeuren, Opdracht uitvoeren, Afmelden). De eerste keer pijl-naar-beneden maakt de bovenste menukeuze aktief, tel dan verder.
– Afmelden = enter
– Bevestigen = enter
(als je wil herstarten doe je pijltje naar beneden + enter)

7/4/2021

Brother multifunctional in openSUSE tumbleweed

Filed under: — cybrarian @ 10:34 pm

Op zoek naar een Brother MFC laser-kleur printerdriver; kijk eerst in softwarebeheer Yast, Software, zoek, brother…

printer-driver-brlaser – Driver for (some) Brother laster printers

In de uitleg erbij staat dat de meeste Brother printers een standaard printtaal als PCL of Postscript ondersteunen. Als je een monochrome Brother laserprinter hebt, of een multifunctionele, en andere open source drivers niet werken, kan je deze proberen.

Er worden een aantal ondersteunde printers opgesomd:

Brother DCP-1510 series Brother DCP-1600 series Brother DCP-7030 Brother DCP-7040 Brother DCP-7055 Brother DCP-7055W Brother DCP-7060D Brother DCP-7065DN Brother DCP-7080 Brother DCP-L2500D series Brother DCP-L2520D series Brother DCP-L2540DW series Brother HL-1110 series Brother HL-1200 series Brother HL-2030 series Brother HL-2140 series Brother HL-2220 series Brother HL-2270DW series Brother HL-2375DW Brother HL-2390DW Brother HL-5030 series Brother HL-L2300D series Brother HL-L2320D series Brother HL-L2340D series Brother HL-L2360D series Brother MFC-1910W Brother MFC-7240 Brother MFC-7360N Brother MFC-7365DN Brother MFC-7420 Brother MFC-7460DN Brother MFC-7840W Brother MFC-L2710DW series Lenovo M7605D

Ook vind je een scannerdriver:

brscan4 – Brother Scanner Driver
SANE drivers from Brother for brscan4 compatible models.

Daarna de printer installeren via Yast.
(zie ook http://linuxuser.copyleft.be/liglog/?p=6739)

Als je nummer er niet tussen staat, bv MFC9465, kan je een andere proberen, bv en uitproberen wat werkt.
– 7420 (brlaser v6)… testprint 2 pagina’s: apart, rare vakjes en vlakjes op begin van blad, rest leeg
– MFC 9500 … testprint 2 pagina’s, apart geprint, zwart-wit als gewone laserprinter, niet recto-verso.
– 6550 MC …testprint 2 pagina’s: apart geprint, zwart-wit als gewone laserprinter, niet recto-verso.
– …

Beter toch de brother drivers afhalen…

https://support.brother.com/g/b/downloadend.aspx?c=be&lang=nl&prod=mfc9465cdn_eu_as&os=127&dlid=dlf006893_000&flang=4&type3=625

Driver Install Tool
The tool will install LPR, CUPSwrapper driver and scanner driver (for scanner models).
22/01/2021
(2.2.2-2) 0.02
MB

Terminal, gunzip linux-brprinter-installer-*.*.*-*.gz
Dan moet je het programma uitvoerbaar maken en als root draaien.

localhost:/home/cybrarian/Downloads # chmod +x linux-brprinter-installer-2.2.2-2
localhost:/home/cybrarian/Downloads # ./linux-brprinter-installer-2.2.2-2
Input model name ->MFC-9465CDN
You are going to install following packages.
mfc9465cdnlpr-1.1.1-5.i386.rpm
mfc9465cdncupswrapper-1.1.1-5.i386.rpm
brscan4-0.4.10-1.x86_64.rpm
brscan-skey-0.3.1-2.x86_64.rpm
OK? [y/N] ->y

Licenties bevestigen y, y..

4/2/2021

Led-badge of mini-lichtkrant: alleen voor windows?

Filed under: — cybrarian @ 2:28 pm

LED-badge
Mono-kleur scherm (blauw, rood, oranje, wit,..). Draagbaar als badge met speld, of bruikbaar als mini-lichtkrant met magneet. Er zijn een paar verschillende uitvoeringen met dezelfde kenmerken binnenin, bv conrad (witte doosjes met sticker/barcode en kleuraanduiding), ALLNET met standaard aziatische foto op doosje (Badge is verschillend: heeft aan-uit schuifschakelaar wat handig kan zijn), …

  • Type: M1-8; 44×11 pixels
  • aansluiting: micro-usb. Handigste zou een usb kabel of tussenzetkabel zijn met schakelaar; je moet immers telkens de verbinding verbreken om de tekst te bekijken. Maar de meeste kabels met schakelaar hebben alleen de laadfunctie-draden verbonden, dus daar ben je hier niets mee.
  • software: git clone https://github.com/jnweiger/led-badge-44x11 en de python3-usb lib
  • python programma: sudo python3 ./led-badge-11x44.py -s 3 "Mijn Tekst"

USB
linuxblue:~ # lsusb

Bus 002 Device 005: ID 0416:5020 Winbond Electronics Corp.

dmesg
Uitgetrokken usb kabel:
[ 6326.524334] usb 2-1.3: USB disconnect, device number 6
Verbonden usb kabel:
usb 2-1.3: new full-speed USB device number 7 using ehci-pci
[ 6334.052734] usb 2-1.3: New USB device found, idVendor=0416, idProduct=5020, bcdDevice= 0.00
[ 6334.052738] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6334.052740] usb 2-1.3: Product: LS32 Custm HID
[ 6334.052742] usb 2-1.3: Manufacturer: LSicroelectronics
[ 6334.054294] input: LSicroelectronics LS32 Custm HID as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/0003:0416:5020.0005/input/input29
[ 6334.054468] hid-generic 0003:0416:5020.0005: input,hidraw0: USB HID v1.10 Device [LSicroelectronics LS32 Custm HID] on usb-0000:00:1d.0-1.3/input0

In KInfoCenter:
Device information, USB devices, EHCI Host controller (2); Unknown:

LS32 Custm HID
Manufacturer: LSicroelectronics
Class: 0 ((Defined at Interface level))
Subclass: 0
Protocol: 0
USB Version: 1.01
Vendor ID: 0x416 (Winbond Electronics Corp.)
Product ID: 0x5020
Revision: 0.00
Speed: 12 Mbit/s
Channels: 0
Max. Packet Size: 64

Software
Er is enkel een witte mini cd (zonder label) bijgevoegd, met 80 Gb Windows software:

webgang@OptiPlex380:/media/webgang/2019-06-05-17-13-00-0$ tree
.
├── [ 2048] Help
│   ├── [ 469504] Instruction(Chinese).doc
│   ├── [ 963584] Instruction(English).doc
│   ├── [ 1015296] Instruction(Spanish).doc
│   ├── [ 188] Read Me.txt
│   └── [ 647575] User Manual-Korean.docx
├── [ 24576] Install.exe
├── [ 2048] LED Display Profession Program
│   ├── [ 10029568] BMPBadgeSetup.msi
│   ├── [ 2048] DotNetFX40
│   │   └── [ 50449456] dotNetFx40_Full_x86_x64.exe
│   ├── [ 427520] setup.exe
│   └── [ 2048] WindowsInstaller3_1
│   └── [ 2585872] WindowsInstaller-KB893803-v2-x86.exe
├── [ 2048] LED Display Program
│   └── [ 12186818] LED Badge.exe
├── [ 228] Read Me.txt
├── [ 174889] User Manual-English.docx
└── [ 952933] User Manual-Korean.pdf
5 directories, 14 files

Linux alternatieven
(meer…)

26/1/2021

Kan camera niet aankoppelen of SD kaart lezen

Filed under: — cybrarian @ 11:42 am

Een action cam* die de beelden bewaart op een SD kaart; volgens de handleiding moet de camera aangesloten worden via usb, en moet je toegang krijgen tot de bestanden als bij een externe harde schijf of usb-stick.
* AEE Lyfe Silver Action camera 4K (mogelijk gelijkaardig bij andere toestellen).

Bij het aankoppelen van deze camera reageert KDE met een veelbelovend informatie en keuzevenster:

Apparaatmelder
Storage Volume
58,2 GiB Removable Media
– Openenen met bestandsbeheerder
– Foto’s met Gwenview downloaden
– Foto’s met DigiKam downloaden

Maar als je klikt op bv openen met bestandsbeheerder komt er een melding:

“Kon dit apparaat niet aankoppelen”.

“Could not mount this device”.


Onderzoeken en vergelijken

– Op andere computers werkt het wel, bv op een iMac.
– Als je de micro-SD-kaart uit het toestel haalt, en die met een adapter in je computer probeert te lezen, krijg je ook een foutmelding.
(en dit* specifiek toestel heeft in principe nog wifi verbinding ook – maar daar gaan we hier niet verder op in)

Mogelijk wordt het bestandssysteem niet herkend; het is geen op Linux geformatteerd kaartje, maar een aangekochte kaart. Ze is zover bekend niet door de actioncam geformatteerd, hoewel die daar wel de mogelijkheid toe aanbiedt.

Bestandssysteem?
Misschien heeft het helemaal niets met de camera te maken…
Het kan zijn dat een door Microsoft gepatenteerd bestandssysteem gebruikt wordt (exFAT of Extensible File Allocation Table), en dan is een “driver” of extra stukje software nodig om dat te kunnen lezen. (In nieuwere systemen is het waarschijnlijk wel aanwezig, bv vanaf kernel 5.4).

Daarvoor kan fuse-exfat bij geïnstalleerd worden, bv:

Start je packet manager (software beheer) en zoek (in alles) naar “exFAT”.
Selecteer, bevestig, installeer.

Of, als je het daar niet vindt, via een externe link, bv voor openSUSE:
https://software.opensuse.org/package/fuse-exfat

fuse-exfat

exFAT file system implementation

This driver is an exFAT file system implementation with write support. exFAT is a simple file system created by Microsoft. It is intended to replace FAT32, removing some of its limitations. exFAT is a standard FS for SDXC memory cards.

Version 1.2.8 Size 48.1 KB openSUSE Leap 15.2

https://software.opensuse.org/download/package?package=fuse-exfat&project=home%3A-miska-%3Aarm

Installatiebron ‘Few packages for ARM (openSUSE_Leap_42.3)’ wordt toegevoegd …[gereed]
Opslagruimte ‘Few packages for ARM (openSUSE_Leap_42.3)’ is toegevoegd

URI : https://download.opensuse.org/repositories/home:/-miska-:/arm/openSUSE_Leap_42.3/
Ingeschakeld : Ja
GPG-controle : Ja
Automatisch vernieuwen : Nee
Prioriteit : 99 (standaard prioriteit)

Prioriteiten van opslagruimten hebben geen effect. Alle ingeschakelde opslagruimten delen dezelfde prioriteit.

zypper refresh
zypper install fuse-exfat

zypper install fuse-exfat
Ophalen van metagegevens uit installatiebron ‘DiscontinuedLeap423′ ……………[fout]
Installatiebron DiscontinuedLeap423 is ongeldig.
[DiscontinuedLeap423|http://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/leap/42.3/repo/oss/suse/x86_64] Geen geldige metagegevens op de gespecificeerde URL gevonden
Controleer of de gedefinieerde URI’s voor deze installatiebron verwijzen naar een geldige installatiebron.
Waarschuwing: Slaat opslagruimte ‘DiscontinuedLeap423’ over vanwege bovengenoemde fout.
Enkele opslagruimten zijn vanwege fouten niet vernieuwd.
Gegevens van installatiebron laden…
Lezen van geïnstalleerde pakketten…
Pakketafhankelijkheden oplossen…

Het volgende NIEUWE pakket zal worden geïnstalleerd:
fuse-exfat

1 nieuw te installeren pakket.
Totale downloadgrootte: 42,4 KiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend
74,8 KiB worden gebruikt.
Doorgaan? [j/n/…? alle opties tonen] (j):

Enter

pakket fuse-exfat-1.3.0-8.1.x86_64 wordt opgehaald (1/1), 42,4 KiB ( 74,8 KiB uitgepakt)
Ophalen: fuse-exfat-1.3.0-8.1.x86_64.rpm …………………………………………………………………………[gereed]
Controleren op conflicten tussen bestanden: ………………………………………………………………………[gereed]
(1/1) Installeren van: fuse-exfat-1.3.0-8.1.x86_64 ………………………………………………………………..[gereed]
Aanvullende rpm-uitvoer:
warning: /var/cache/zypp/packages/home_-miska-_arm/x86_64/fuse-exfat-1.3.0-8.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 814c1dcf: NOKEY
Added ‘exfat’ to the file /etc/filesystems
Added ‘exfat_fuse’ to the file /etc/filesystems

Aankoppelen
Daarna de camera (eventueel uitschakelen en eerst afkoppelen -) aankoppelen via usb, aan zetten, en na de melding klikken om te openen in de bestandsbeheerder.

Je krijgt nu een mapje “DCIM” te zien.. waarin je je filmpjes en/of foto’s vindt.

Je kan nu ook andere SD kaartjes met dat formaat lezen, bv via een (ingebouwde) SD-kaartlezer.

12/1/2021

Programmeerbare led-boom; voorbeeld-led-loopjes

Filed under: — cybrarian @ 10:29 pm

Zie vorig artikel Nano-programmeerbare kerstboom

Als de hardware geïnstalleerd is, kan je spelen met de broncode in de Arduino IDE, gemakkelijkst is om te beginnen van een voorbeeldprogramma waar een element in zit dat je wil verkennen.

Behalve voor het beschreven bord-met-leds geldt veel van de software voor heel wat reeksen van led’s, met als ledstrip-lengte een aan te passen getal (bv #define LEDCOUNT 12)
Om het effect van de drie kleuren te verstaan: zoek op internet naar de afbeelding van een “color wheel for light”.

Om vat te krijgen op de juiste led, maken we eerst een programma dat de leds afloopt in volgorde van de nummering van het bord (begint bij nul).

We laten de rode led op de Nano mee- (of eerder tegen-) knipperen als controle.

Inhoud:

  • Eén led loopt rond tussen donkere leds
  • Eén led loopt rond in een gekleurde kerstboom
  • Een ribbe van de kerstboom heeft verschillende kleuren, draait weg naar de spits toe.
  • Bauw zwaailicht

Gemeenschappelijk is altijd het invoegen van de Adafruit NeoPixel bibliotheek:
(nota: de < en > tekens hebben een spatie gekregen die er uit moet)

#include < Adafruit_NeoPixel.h >
#define PIN 9
#define LEDCOUNT 12

En bijna altijd heb je een index of teller nodig:
int i=0;
… (* soms komt hier dan bv een array met led-volgnummers of andere definities)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDCOUNT, PIN, NEO_RGB); // + NEO_KHZ800);

En dan een algemene setup code die de leds initialiseert:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
strip.begin();
strip.show(); // Initialize alle pixels 'off'

en daarna komt de oneindige programmalus “loop”:

void loop() {
// allerlei code, met een if of select voorwaarde of een andere herhaling
// dikwijls voorzien van een rustpauze van een aantal milliseconden:
delay(1000);
}

Eén led loopt rond tussen donkere leds

De rode led op het Nano bord pinkt om de programmaloop aan te tonen (mag er dus uit)

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // led op Nano aan
  delay(250);                       // even houden
  digitalWrite(LED_BUILTIN, LOW);    // led op Nano uit
  delay(250);                       // even wachten voor
  // boom
// led i kleursterktes (rood, groen, blauw)
  strip.setPixelColor(i, 10, 10, 200);
  strip.show();
  delay(1000);
  strip.setPixelColor(i, 0, 0, 0);     // led i terug uit
  i++;                        // volgend led tot laatste..
  if(i > LEDCOUNT) {
    i=0;                        // terug naar eerste
  }
}

Conclusie: led 0 staat onderaan op de boom, op de ribbe diagonaal aan de overkant van de aan-uit schakelaar (voor de batterij), waar eigenlijk C/5 het dichstbij staat.

A	B	C	D
			
2	8	3	9
1	7	4	10
0	6	5	11

Eén led loopt rond in een gekleurde kerstboom
Richting: van 0 naar 11.

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // bord led knippert tegen; aan
  delay(250);                       // houden..
  digitalWrite(LED_BUILTIN, LOW);    // uit
  delay(250);    // pauze alvorens led i te wijzigen;
  strip.setPixelColor(i, 10, 10, 200);    // led nummer i blauw
  strip.show();
  delay(1000); geniet
  strip.fill(strip.Color(0, 32, 0), 0, 12); // Kerstboom terug groen
  strip.show();
  delay(500);                       // even houden zo
  i++;  // schuif door naar nummer volgende led tot laatste
  if(i > LEDCOUNT) {
    i=0; // dan terug naar eerste
  }

Rond de boom …

Met het volgen van de leds zoals ze intern genummerd zijn, worden de ribben van de boom-piramide gevolgd, van onder naar boven en over de top terug naar onder (zie boven).

Maar wij willen ze zo laten lopen:

A	B	C	D
			
8	9	10	11
4	5	6	7
0	1	2	3

We laten niet de led-nummer optellen, maar wel de index in een rij van led-nummers.

0	6	5	11	1	7	4	10	2	8	3	9

In de definities boven de setup moeten de volgorde van het aanspreken van de pixels vooraf vastgelegd worden om gemakkelijk te kunnen rondlopen:

 int ledPins[] = {
    0, 6, 5, 11, 1, 7, 4, 10, 2, 8, 3, 9
  };

Pinkende ribben, rond-uitloop naar top

  void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // bord led knippert tegen; aan
  delay(250);                       // houden..
  digitalWrite(LED_BUILTIN, LOW);    // uit
  delay(250);    // pauze alvorens boom te wijzigen;
  strip.setPixelColor(ledPins[i], 200, 200, 0);    // pixel i aan, geel
  strip.setPixelColor(ledPins[i+4], 40, 40, 255);    // pixel op volgende laag boven blauw
  strip.setPixelColor(ledPins[i+8], 150, 20, 20);    // pixel op daaropvolgende laag rood
  strip.show(); // pixelnummers boven LEDCOUNT geen probleem, worden onzichtbaar
  delay(1000); pauze voor kleur terug uit; m.a.w. boom volledig kleuren;
  strip.fill(strip.Color(2, 50, 2), 0, 12); // Kerstboomgroen, bv 2, 50, 2 of 0, 32, 0
  strip.show();
  delay(100);                       // wachtebeke
  i++; // opschuiven tot laatste led, 
  if(i >= LEDCOUNT) {
    i=0; //  dan opnieuw
  }
}

Blauw zwaailicht

 digitalWrite(LED_BUILTIN, HIGH);   // led op bord aan (voltage hoog)
  delay(30);                       // wacht even
  digitalWrite(LED_BUILTIN, LOW);    // led op bord uit (voltage laag)
  delay(30);                       // wacht even


speel met deze delays (en die op het einde) voor de snelheid van het ronddraaien…

 strip.fill(strip.Color(4, 4, 25), 0, 12); // zwak blauw licht tussendoor
  strip.show();
  strip.setPixelColor(ledPins[i], 2, 2, 255);    // turn pixel on, ? color
  strip.setPixelColor(ledPins[i+4], 2, 2, 254);    // turn pixel on, ? color
  strip.setPixelColor(ledPins[i+8], 2, 2, 253);    // turn pixel on, ? color
  strip.show();
  delay(70);                       // wait for ..

De +4 en +8 zorgen ervoor dat de boven elkaar liggende leds samen gebruikt worden.
De waarden voor de kleuren zijn een tikje anders gezet, waardoor je boven/onder kan herkennen

  i++;
  if(i >= LEDCOUNT-8) {
    i=0;
  }


Dit laatste stuk zorgt ervoor dat het licht, eens helemaal rond, terug bij de eerste ribbe begint. Voor een politie-zwaailicht effect kan je de delay tijden korter zetten.

Veel plezier…

9/1/2021

Nano-programmeerbare kerstboom

Filed under: — cybrarian @ 12:35 am

Het ontbrekende handboek
(mijn doel is er een universeel monitoring apparaat van te maken: geluidsniveau, temperatuur, netwerkaktiviteit, …)
Een weinig gedocumenteerd object (Arexx creatie) en verkocht in verschillende vormen/versies op ondermeer Duitse webwinkels als Reichelt en Conrad (Als “MakerFactory”);

Voordeel: Je kan kiezen om hem:

  • gewoon aan te steken en alles blauw-blauw te laten (Dat is de teststoestand bij opstarten: alle leds blauw, beetje koud hard blauw licht maar leuk in industrieële omgeving en de leds geven veel licht (dat belooft voor de battrij..).
  • te voorzien van een micro:bit. De micro-bit kan je dan weer voorzien van een programma dat je afhaalt, en waarmee je de kleurtjes van de kerstboom laat varieren, rondlopen, verkleuren enz. Een micro:bit van de eerste versie volstaat. Je kan dan ook de rest van de micro:bit aansturen in je programma, voor het deel van de leds van de kerstboom moet je de Neopixel bibliotheek aanroepen voor een ledstrip van 12 leds RGB. Je kan bv tegelijk de temperatuur weergeven op de leds van de micro-bit, scrollend, en de lichtjes van de boom laten verlopen van kleur tegen een zelfgekozen tempo.
  • te voorzien van een bijgeleverde “arduino-compatibele” nano die je in een voet kan steken die je op de printplaat moet solderen. Op het ene van de twee papiertjes die mee in de doos zitten, staat dat je de batterijhouder moet verwijderen (hoe?) en dan de ic voet op het bord solderen, en de batterijhouder vastsolderen. Daarna “programmeren als WS-2812” is het enige wat de erg summiere handleiding op het tweede bladje er verder over zegt.

Er wordt in alle talen verwezen naar “lesboeken en werkbladen met oefeningen en voorbeelden”, maar wel zonder te zeggen hoe of waar; ik heb ze online niet gevonden.

Micro:bit
De micro:bit is het gemakkelijkst te gebruiken, je moet hem maar in de speciale sleuf steken, en hij is onmiddellijk bruikbaar.

* Zelf bijeen puzzelen

BBC Micro:bit
WS-2812

Online bronnen:
* Een zip-bestand met een aantal “programma’s” om te downloaden:
software-2195092-makerfactory-mf-6585276-christmas-tree-mobile-kerstboom.zip

Uitgepakt geeft dat:

└── Software
    ├── Arduino
    │   ├── VU_meter
    │   │   └── VU_meter.ino
    │   └── Zwaailamp
    │       └── Zwaailamp.ino
    └── Microbit
        ├── analog_read_led.hex
        ├── analog_read_led_log.py
        ├── analog_read_led.py
        ├── led_and_button_test_2boards.hex
        ├── led_and_button_test_2boards.py
        ├── led_and_button_test.hex
        ├── ledtest.hex
        └── README.txt

5 directories, 10 files

Namen als “VU-meter”? “Zwaailamp”? Ik had eerder iets ivm kerstboom verwacht, maar ja…
* Aankoppelen
Sluit de micro:bit aan met de USB kabel aan de computer. Het ziet eruit alsof je een usb-drive aansluit, je kan die openen en ziet bestanden staan.
De uitvoerbare programma’s uit de Micro:bit directory van de download kan je naar de usb-Micro:bit kopiëren, je ziet onderaan een gele led flikkeren terwijls ze worden opgepikt door de Micro:bit; als dat stopt verdwijnt het bestand uit die usb-micro:bit map en start het programma met de uitvoering of wacht op bv de druk op een knop.

* Micro:bit programmeren
Bij Microbit zie je bestanden met uitgang
.hex: dat is het uitvoerbare bestand.
.py : dat is de wijzigbare broncode in python
Het is de broncode in python die nadien gecompileer wordt tot het hex bestand, dat kan je lokaal of via een website, waar je als download een .hex krijgt.

Je zou verwachten dat er telkens een broncode bestand is (.py) en daarvan een gecompileerde versie (.hex).
Helaas:

analog_read_led.py
analog_read_led.hex

analog_read_led_log.py
led_and_button_test_2boards.py
led_and_button_test_2boards.hex

led_and_button_test.hex
ledtest.hex

Gelukkig is er het README.txt bestand om alles te verduidelijken:

analog_read_led.hex VU meter
led_and_button_test.hex Looplicht. Met indrukken knop veranderd smiley op display microbit en worden leds rood ipv blauw.
led_and_button_test_2boards.hex Zelfde, echter nu met 16 LEDS (tweede board aangekoppeld via J2)

Euh??

Uitproberen van de .hex (en bekijken van .py indien beschikbaar);
* analog_read:
– Er brandt: 1 kant 3 blauwe leds; overkant bovenste blauwe led; andere kant onderste led groen: knippert onregelmatig (analoog? Maar op basis van wat? Random? Pin0? Ik krijg geen verandering in het patrook van knipperen.
– In de code valt me op dat er gewerkt wordt met pixelcount van 8, terwijl we er twaalf hebben.

* led_and_button_test.hex:
– op de micro:bit staat een sip kijkende smiley “:(” en er branden 3 blauwe leds op 1 ribbe, en 1 blauwe led op de tegenoverliggende. Er loopt 1 led rond op 8 leds die niet branden. Als je op de Micro:bit knop A indrukt, verandert de kleur van de rondlopende led naar rood. Als je loslaat terug naar vorige toestand.
– we hebben hier geen broncode van, maar de beschrijving is wel een beetje te volgen, waarschijnlijk ook een verkeerd aantal leds gedefinieerd voor deze boom.

* ledtest.hex:
– doet alle leds blauw branden, net alsof je de boom zonder micro-bit zou aanzetten.
– geen broncode.

* led_and_button_test_2boards
– Micro:bit geeft sip gezicht; doet verder een enkele blauwe led rondlopen : van beneden naar boven, over de top terug naar beneden. Even pause (ongeveer 4 tellen). Op de andere ribben ook weer van beneden naar boven en over de top naar beneden; dan ineens terug naar uitgangspositie. Als je knop A indrukt op de micro:bit verandert het gezicht naar een smiley en de kleur die rondloopt naar rood, zolang je de knop ingedrukt houdt.
– broncode spreekt van pixelcount 16; dus dat verklaart de 4 tellen waar we niets zien gebeuren?


Arduino Nano:

Om de “arduino” Nano te monteren moet de batterijhouder verwijderd worden en dat ziet er op het eerste zicht gemakkelijk uit, want die is vastgezet met 2 boutjes; losdraaien en klaar? Neen. De batterijhouder zit ook met 2 pinnen vast(gesoldeerd?) op het bord, nl waarmee de stroom doorgegeven wordt. Die moet je dus voorzichtig los solderen, want nadien moet hij er terug aan. Het nano-blaadje uitleg geeft al toe dat de voet voor de nano-processor niet past op het bord van de kerstboom: je moet 1 paar tegenoverliggende voetjes ombuigen. Daarna moet je de voet vastsolderen (volgens de handleiding met de nano erin, is dat wel voorzichtig?), en daarna moet je de nano er uit halen en de batterijhouder terug vastsolderen. Alleen spijtig dat je daar zo goed als niet meer aankan, want de voet zit in de weg nu.

De handleiding zegt: “Als de Arduino Nano op de print gesoldeerd is, kun je de kerstboom niet meer met de Micro:bit gebruiken”, maar de Arduino is niet vastgesoldeerd (past ook niet rechtstreeks), enkel de voet. En daardoor kan je de Nano er wel uithalen; en – vermoed ik- terug gebruiken met de Micro:bit (misschien een overblijfsel van een vorige versie?).

* Arduino software
Installatie (hier op Ubuntu 18.10):
Arduino “IDE” kan je downloaden voor Linux, bv in versie 1.8.13:
https://downloads.arduino.cc/arduino-1.8.13-linux64.tar.xz
Uitpakken, …

~/IOT-SBC/arduino-1.8.13-linux64/arduino-1.8.13$ ls
arduino examples java reference tools-builder
arduino-builder hardware lib revisions.txt uninstall.sh
arduino-linux-setup.sh install.sh libraries tools

en het installatieprogramma draaien:

~/IOT-SBC/arduino-1.8.13-linux64/arduino-1.8.13$ sudo ./install.sh

Adding desktop shortcut, menu item and file associations for Arduino IDE…

Starten met “arduino” (op de commandolijn) of uit het menu of link op de desktop.

* Configuratie
Je moet ervoor zorgen dat je toegang hebt tot de hardware van je computer, meer bepaald de seriële poort. Dat kan bv door je gebruiker aan een bepaalde groep toe te voegen die toegang heeft tot die seriële poorten. Of de luie, verwerpelijke, onveilige manier is de arduino software te starten met root rechten: sudo arduino.
Als het onmiddellijk lukt een een voorbeeldprogramma uit het menu “Files, Examples, Basic, Blink” te laden en dat naar de Nano te sturen (met de upload pijl), de Nano-led flikkert, en er begint een LED te pinken, dan lijkt het ok.
De software is gemaakt voor een heel groot aantal Arduino borden (en compatibelen), die toch allemaal wat onderling verschillen, bv van mogelijkheden, processor, communicatiechips enz.
In de software moet je mogelijk wat instellingen doen om die aan te passen aan het apparaatje dat je zelf hebt. Ik denk niet dat het kwaad kan, en ik heb het in ieder geval gedaan, om te proberen tot je een instelling vindt die werkt.
Voorbeeld:
-Tools, Board: Arduino Nano – je moet niet aangeven dat het geen echte Arduino is..
-Tools, Processor: ATmega 328P (old bootloader) – “old bootloader” maakte bij mij het verschil
-Tools, Port: /dev/TTYusb0 – kan bv op /dev/TTYs0 staan
-Programmer: Arduino as ISP
Zo lukte het doorsturen van het programma en daarna werkte de knipperende led (op de Nano zelf).

Bibliotheekbeheerder
In menu Tools, Library Manager, bij “Adafruit” zoeken naar “NeoPixel” (hier 1.7.0), druk “install”.

Als je een terminal venster openhebt zie je daar:

Installer Thread] Connect to https://downloads.arduino.cc/libraries/github.com/adafruit/Adafruit_NeoPixel-1.7.0.zip, method=GET, request id=AA5FE6A11AC24BAA
2021-01-11T23:32:53.124Z INFO c.a.u.n.HttpConnectionManager:157 [LibraryManager Installer Thread] Request complete URL="https://downloads.arduino.cc/libraries/github.com/adafruit/Adafruit_NeoPixel-1.7.0.zip", method=GET, response code=206, request id=AA5FE6A11AC24BAA, headers={null=[HTTP/1.1 206 Partial Content], Server=[cloudflare], Content-Range=[bytes 0-68907/68908], Last-Modified=[Thu, 05 Nov 2020 20:35:25 GMT], X-Amz-Cf-Id=[B_S_zxqMpHC22E8beW3D2fzEpQ_U0-4tpC7F1ZgKRmxFLMHJiQberQ==], Set-Cookie=[__cfduid=d583a54e468bb8f35f5c2779301d625a91610407973; expires=Wed, 10-Feb-21 23:32:53 GMT; path=/; domain=.arduino.cc; HttpOnly; SameSite=Lax], Content-Length=[68908], Age=[1257687], cf-request-id=[079564a8da0000f951dfb56000000001], Content-Type=[application/zip], X-Cache=[Miss from cloudfront], CF-Ray=[61027087c9b0f951-BRU], X-Amz-Cf-Pop=[BRU50-C1], Connection=[keep-alive], x-amz-version-id=[6Yh0xZLsEcmrSOLunFynfok9_0CfS0_4], Date=[Mon, 11 Jan 2021 23:32:53 GMT], Via=[1.1 99578e20c0b3a3e3de02b1f1fe508f98.cloudfront.net (CloudFront)], x-amz-replication-status=[COMPLETED], CF-Cache-Status=[HIT], Cache-Control=[private], ETag=["4eaaaa04f12af651fe17d3f5c4fafbc6"], Vary=[Accept-Encoding], x-amz-request-id=[081CA622C45AA4DD], x-amz-id-2=[v6sY2mUeZxs4GmWgvhuYtTVHb4ll/YLu7BOz6dbfpYY6Ey8xCYshTYf1TNM6XqbigeTh2Bv+DhQ=], Expect-CT=[max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"]}

Als je daarna terug in menu Tools, Manage Libraries naar deze library gaat, zie je hem staan als “installed”.

Sketch, Include Library, selecteer Adafruit NeoPixel; er wordt bovenaan een lijn ingevoegd met:

 # include < Adafruit_NeoPixel .h  > 

Je hebt de pin nodig waaruit gestuurd wordt:
#define PIN 9

Definieer de strip:
Adafruit_NeoPixel strip = Adafruit_NeoPixel(12, PIN, NEO_RGB);

Daarna in de setup function (initialiseren op af):

strip.begin();
strip.show();

en dan in de programma loop, bv zet pixel nul (eerste in de rij) op rood:

strip.setPixelColor(0, 255, 0, 0); //turn pixel on red green blue
strip.show();

Of voor een hele reeks leds, “fill” met gebruik van de functie “Color” om de kleur te maken:

strip.fill(strip.Color(12, 64, 0), 0, 12);
strip.show();

en dan uploaden …

Als de test werkt kan het echte programmeerwerk beginnen…

Succes!

5/10/2020

batterijtest op laptop: upower

Filed under: — cybrarian @ 10:39 am

gebruik

Op de commandolijn:

upower -i /org/freedesktop/UPower/devices/battery_BAT0

(pad is /usr/bin/upower maar hoeft niet als root)

Installeer

Commando is standaard aanwezig in KDE-desktop laptop installatie; niet bv icewm.

Info en installatie via het softwarebeheer van de Linux distributie:
(bv openSUSE in package group System/Daemons)
– upower
– libupower-glib3
– upower-lang


Power Device Enumeration Framework

UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. Any application or service on the system can access the org.freedesktop.UPower service via the system message bus. Some operations (such as suspending the system) are restricted using PolicyKit.

Versie 0.99.11 Grootte 143 KB

Uitvoer
Voorbeeld van reaktie:
(meer…)

3/12/2019

Raspberry Pi starten zonder scherm of toetsenbord

Filed under: — cybrarian @ 2:35 pm

Raspberry Pi als toepassing
(Raspbian)
Je kan de Raspberry Pi ergens inbouwen en van een toepassing voorzien.
Als hij opstart wil je 2 dingen:

– dat je hem vanop afstand kan bereiken (inloggen, besturen, upgraden)
– dat hij de juiste toepassingen start (of de verkeerde/onnodig niet)

1. Afstandsbediening

1.1 Verbinding

Je moet zorgen dat je raspberry pi te bereiken is via het netwerk als je hem laat starten. Om hem te kunnen aanspreken moet je weten welk ip adres hij heeft. Zet het bv vast in /etc/dhcpcd.conf

interface eth0

static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interface wlan0

static ip_address=192.168.0.200/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

1.2 SSH
Het protocol om vanop afstand in te loggen is ssh
Bij de instellingen (Raspbian: Voorkeuren, Raspberry pi configuratie programma)
– zet je SSH aan.
Als je al het nodige geïnstalleerd en getest hebt waarvoor je de desktop nodig hebt:
– zet je opstarten naar buroblad om naar CLI (command line interface)
ps: terug kan ook door sudo raspi-config te gebruiken.


2. Toepassing starten.

Er zijn 2 mogelijkheden:
1) je wil dat bij het opstarten een functie gestart wordt.
2) je wil dat na het starten op bepaalde momenten bepaalde functies lopen (programma’s gestart worden)

2.1 Shell script
In ieder geval is het handig om een shell script te schrijven van waaruit je de python toepassing start.
Stel dat het StartMyApp.sh heet en dat je daarin je eigenlijke programma start:

sudo python myapp.py

Algemeen ga je daarin de directory wijzigen naar waar het script moet draaien, en het script aanroepen met python interpretor

cd /home/pi/myapp
sudo python myapp.py

Het script uitvoerbaar maken
chmod 755 StartMyApp.sh

test met
sh StartMyApp.sh

Als je vanop afstand inlogt, kan je het script starten om het uit te proberen. Maar als je je terminal sluit wordt de verbinding verbroken en de uitvoering stopt. Om na het starten los te koppelen eindigen met een ampersand (en-teken &)

Hier bij het rechtstreeks testen van het programma (maar kan dus ook met je script)
sudo python myapp.py &

Je command prompt komt dan terug vrij, maar je blijft de meldingen krijgen. Wil je die kwijt, stuur ze naar het zwarte gat /dev/null:

sudo python myapp.py > /dev/null &

2.2. Script starten bij het opstarten van de Raspberry pi

Opnemen in opstart:

Het gemakkelijkste is het op te nemen in de crontab. Dat is een soort timer die allerlei taken kan inplannen op bepaade dagen, uren enz. Een speciaal geval van de crontab is de at reboot taak. Daar kan je hem inzetten met
crontab -e
en bekijken wat erin staat met
crontab -l

of voor root:
sudo crontab -e

De lijn die je moet toevoegen is bv
@reboot sh /home/bin/StartMyApp.sh >/home/pi/log/StartAppLog.txt 2>&1
De uitvoer wordt naar een logbestand gestuurd.

Als je wil controleren of het programma draait moet je vanop afstand in loggen met ssh en in de processen zoeken naar de combinatie van (in mijn geval):
cron sh sudo python

Tip: Uitslapen
Ik had wel eens een probleem dat mijn programma niet mooi opstartte (het moest in het begin een mail sturen om zijn start te melden – die kwam niet).
Bij het checken van de foutmeldingen kwam ik op het idee om een beetje vertraging in te bouwen, om de raspberry pi de tijd te geven om zijn ip adres in te stellen en zijn tijd af te halen.
In het begin van mijn StartMyApp.sh script geef ik twee minuutjes extra tijd alvorens de rest uit te voeren:
sleep 120s

2.3 Service
Je kan ook een service maken van je script, dan kan je het bedienen zoals andere diensten op je systeem.
Je moet dan wel de nodige informatie verschaffen aan het systeem over je “service”
update-rc.d StartMyApp.sh defaults
(niet met sudo)
Authentication complete…
(zie https://www.raspberrypi.org/forums/viewtopic.php?t=70520 )

2. Een script starten op bepaalde tijdstippen
(tip: cron)
In de cron kan je ook een script laten uitvoeren op bepaalde tijdstippen, dan hoeft het niet continue te draaien.

Bronnen:
https://www.instructables.com/id/Raspberry-Pi-Launch-Python-script-on-startup/
https://www.raspberrypi.org/forums/viewtopic.php?t=70520

Raspberry Pi stroomvoorziening met Strompi 2

Filed under: — cybrarian @ 2:24 pm

Strompi 2
Dit opsteekbord van joy-it voor de Raspberry Pi (tot v3 B) kost rond 30 euro. Er zijn andere vergelijkbare bordjes verkrijgbaar, en van dit bestaat ook een nieuwere versie 3.

Het maakt 2 scenario’s mogelijk:

1. Batterij backup
– normale voeding + batterij aan schroefaansluiting.
– instellen in USV stand
– propere shutdown bij stroomuitval (driver?).
– bij herneming van de stroom wordt opstartfunctie aktief (kan uitgeschakeld worden door bruggetje te verwijderen bij T pin)

2. Alternatieve stroombron
– kan gevoed worden met een breed scala aan gelijkstroom voedingen, van 6 tot 61 volt. Je kan dus een voeding van een defect apparaat recupereren of de stroombron dynamo/generator van een voertuig gebruiken.
– kan in een mobiele stand gezet worden om steeds een mobiele batterij/stroombron te gebruiken (dan wordt dit de primaire)
– kan meer stroom leveren aan de rapsberry pi als die andere stroomvretende uitbreidingen moet voeden.

29/11/2019

Raspberry Pi RTC (Real Time Clock)

Filed under: — cybrarian @ 2:12 pm

(Raspbian)

RTC
Een RTC module zorgt ervoor dat bij uitschakelen de Raspberry Pi zijn klok kan laten verder lopen met een batterij.
Er bestaan verschillende RTC uitbreidingen voor de Raspberry Pi, van goedkope opsteekkaartjes met enkel een batterij en de RTC functie, tot geïntegreerde RTC functies in een groter bord, zoals de Explorer 700 van Joy-IT.

Ik gebruikte bv die laatste, en daarvoor moest I2C aktief gemaakt worden in de instellingen met sudo raspi-config

Ik leerde ergens dat je de RTC kan checken met
sudo i2cdetect -y 1
Dat geeft een soort tabel met kolommen hexadecimalen 0 – f en rijen per 10 van 00 tot 70 met daarin de beschikbare i2C apparaten.
Op 60:8 zie ik daar 68, en dat zou de RTC moeten aangeven.

pi@ras003:~/$ sudo i2cdetect -y 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- 76 --                         

De utility hwclock laat je de klok ondervragen als ze herkend wordt.
Bij mij gaf sudo hwclock -r nog een foutmelding:

sudo hwclock -r --debug
hwclock from util-linux 2.29.2
hwclock: cannot open /dev/rtc: Bestand of map bestaat niet
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.

De kernel kent de module nog niet, voeg toe met:

sudo modprobe rtc-ds1307

sudo bash
root@ras003:/home/pi/Explorer700/ExplorerApp/RTC# echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
root@ras003:/home/pi/Explorer700/ExplorerApp/RTC# exit
exit

Nu terug:
sudo hwclock -r --debug

hwclock from util-linux 2.29.2
Using the /dev interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick…
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
…got clock tick
Time read from Hardware Clock: 2015/08/12 20:35:47
Hw clock time : 2015/08/12 20:35:47 = 1439411747 seconds since 1969
Time since last adjustment is 1439411747 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2015-08-12 22:35:46.888095+0200

Goed opgemerkt, ze staat nog altijd fout!

Maar zonder verder iets te doen, een beetje later:

pi@ras003:~$ sudo hwclock -r --debug
hwclock from util-linux 2.29.2
Using the /dev interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick…
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
…got clock tick
Time read from Hardware Clock: 2019/11/29 13:27:17
Hw clock time : 2019/11/29 13:27:17 = 1575034037 seconds since 1969
Time since last adjustment is 1575034037 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2019-11-29 14:27:16.072253+0100

Dit ziet er al beter uit …

21/11/2019

Raspberry Pi en Explorer 700

Filed under: — cybrarian @ 11:39 am

Raspberry pi 3B (Raspbian)
Joy-it Explorer 700 (link)

Handleidingen (Engels, Duits) van Explorer: https://www.joy-it.net/de/products/RB-Explorer700

Bibliotheken (software om de mogelijkheden van de Explorer 700 aan te spreken):
Wiring pi
Wiring pi: wiringpi.com/download-and-install
sudo apt-get install wiringpi
sudo apt-get install wiringpi
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
wiringpi is reeds de nieuwste versie (2.46).
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.

(of haal de broncode af en compileer)

BCM2835
Deze of andere versie afhalen:
http://www.open.com.au/mikem/bcm2835/bcm2835-1.17.tar.gz, ondertussen:
http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz

gunzip bcm2835-1.60.tar.gz
tar -xvf bcm2835-1.60.tar
cd bcm2835-1.60/
./configure
./configure
sudo make check
sudo make install

Configureren
De nodige kernel drivers moeten geaktiveerd worden bij het starten; die instelling gebeurt door:
sudo raspi-config
Niet bij Advanced options zoals de handleiding zegt, maar bij interfacing options, I2C en SPI selecteren.

Je moet bevestigen en krijgt dan SPI / I2C is enbled.

Op dezelfde manier de Serial port/login uitzetten (gebeurt samen).

Het configuratie-programma verlaten; het zal vragen om nu te herstarten, maar je kan nog eerst de volgende instellingen doen..

Zorgen dat de modules geladen worden in /etc/modules:

i2c-bcm2708
i2c-dev

toevoegen als ze er nog niet staan.

Dan de boot config aanpassen:

sudo nano /boot/config.txt

voeg toe:

Dtoverlay=w1-gpio-pullup

Nu kan je wel herstarten.

Voorbeelden
Bij het bord zijn een aantal voorbeeldprogramma’s voorzien, hier als Explorer700-1.zip
Uitpakken kan in de bestandsbeheerder van Raspberry pi.
2. KEY
De voorbeelden kan je bv uitproberen met python of vanuit de shell.

1.LED
Het eerste is de LED: ga naar de map van de voorbeelden (hier ~/Explorer700/ExplorerExamples)
cd ~/Explorer700/ExplorerExamples/LED/wiringPi
make (of sudo make?)
chmmod +x led
sudo ./led

De LED1 blijft pinken tot je CTRL-C doet.

PWM
Ter vergelijking het python programma dat nog iets meer doet:

cd ./../python/
sudo python pwm.py

De LED1 gaat langzaam aan en uit gloeien tot je ctrl-c doet.

2. KEY
Het voorbeeld KEY toont op de terminal dat je de knop van de mini joystick indrukt.

3. PCF8574
Dit programma reageert op de richtingen van de joystick. Alleen al handig om te weten hoe je de richting van de joystick moet beschouwen. Als je op/neer/links/rechts beweegt aan de joystick gebeuren er telkens 3 dingen:
– beepje
– terminal zegt up down left right
– LED2 gaat aan.

4. BMP280 Meting
Het BMP280 programma geeft telkens (tot je ctrl-c doet) een lijn met bv

Temperature = 30.54 C Pressure = 100.464 kPa

De thermometer is heel gevoelig, als je een kartonnen doosje over de Pi zet zie je onmiddellijk de getallen in honderdsten na de komma stijgen.

De druk heeft 3 cijfers na de komma en die schommelt doorlopend enkele duizendsten, bv 100.627 100.628 100.629 …

Real Time Clock
Voor de real time clock moet een CR1225 batterij aanwezig zijn, en die is niet meegeleverd. Als je ze zelf aangeschaft hebt, en in de batterijhouder hebt gestoken, is het klaar volgens de handleiding. Klopt bij mij niet, de aangegeven datum/tijd is iets van 2015-08-12 22:35:46

Zie installeren van “Raspberry Pi RTC (Real Time Clock)


DS18B20

Met dit programma kan je de temperatuur aflezen van de apart bijgelverde driebenige sensor die je dan eerst wel moet aansluiten natuurlijk.. (geen documentatie bijgeleverd).

IRM
Met deze sensor kan je infrarood signalen lezen van een afstandsbediening.

UART
Met een seriële kabel kan je de Pi verbinden met een computer. Je kan daarlangs dan data sturen.

OLED
Het laatste en spannendste voorbeeld werkte helaas niet: het mini scherm dat op het bordje zit.
Althans de python versie gaf bij alle programa’s de fout:
no module named Image
In de broncode zie je staan:
import Image
Mogelijk is de Image library niet geinstalleerd. (PIP of Pillow?)
Of moet ze anders aangeroepen worden nu, bv
from PIL import Image
(En in dispchar ook from PIL voor ImageDraw en ImageFont)

Gelukkig werkt de BCM versie wel, alleen heeft die een verkeerde naam, niet main maar oled moet je aanroepen na een make en chmod +x oled.
Je krijgt een blauw scherm met icoontjes alsof het een gsm is, met de tijd in het midden inclusief veranderende seconden.
Bij het afbreken van dit programma stopt de tijdsaanduidin op het scherm, maar het scherm blijft wel aan.

22/10/2019

OpenSUSE Leap 15.1 update: Twee-scherm probleem

Filed under: — cybrarian @ 11:34 am

Na een update op 22/10/2019 heb ik een probleem met mijn desktop; met name het tweede scherm gaat/blijft in slaapstand.

Een paar dingen geprobeerd: kabels checken, uitloggen, herstarten enz.

Hardware: nvidia Quadro FX 570
X11 version 4

Instellingen staan op : Compositor OpenGL 2.0 (ik weet niet hoe het voor de update was).

Na het starten is het linkse scherm normaal; het rechtse dat gekanteld staat (wat tot de dag voordien werkte), toont een lamp-logo met repels onderling verschoven.

Compositor OpenGL 3.1 ipv 2.0: ik krijg zelfs geen kde menu meer.

Ik installeer een widget application launcher om aan de instellingen te geraken…

Met display2 op normal krijg ik rechts terug beeld (maar ik moet hem dan horizontaal zetten) en ook het menu, dat daar blijbkaar stond.

Kabels verwisselen…
Nu staat het initiëel opstartende scherm links (DVI-I-1), horizontaal (daar komt de standaard login te staan en verwacht ik dan in geval van problemen het menu); en het gekantelde rechts.

Bij het opstarten geflikker van het scherm met de lamp…

Volgende render engine:
XRender : monitor2 beeld wel onder hoek van 90° …
Ik gebruik geen 3D dus veronderstel dat ik er niet veel last van zal hebben…

ps: xrandr toont dezelfde gegevens voor de twee aansluitingen.
DVI-I, 1080×1920

Het is uiteindelijk terug goedgekomen (maar ik weet niet meer hoe); ik gebruik beide schermen naast elkaar in portrait stand.

Compositor:
backend XRender, vsync automatisch, toepassingen toestaan compositing te blokkeren, animatiesnelheid: 2 van de 6; onmiddellijk =0, zeer traag = 6

8/10/2019

e-ID: Belgische identiteitskaart lezen

Filed under: — cybrarian @ 11:27 pm

Hieronder een log van de installatie van een e-Id lezer op Ubuntu 18.04.3 LTS.
Het is geen kant en klare handleiding, maar enkel een voorbeeld van hoe deze gelukte installatie er uit zag, en kan helpen om op hetzelfde platform hetzelfde te doen.

Hardware:
Nedis Smart card reader CRDRU25M1BK USB DC 5V
(made in China)

Gebruikte links, citaten, en (on*)volledig log:
(* ingekort: de feedback die over het scherm rolt is soms beperkt tot de eerste lijnen en de eindlijnen)

Linux eID software-installatie
eID software installatieprocedure

Volg deze twee stappen om de eID software te installeren op Linux:

Installeer het pakket “eID-archive”, zodat de eID pakketrepositories beschikbaar worden.
Installeer de “eid-viewer” en/of “eid-mw” pakketten via de normale weg voor uw distributie. Mogelijk moet u hiervoor eerst een update van de indexen doorvoeren, bijvoorbeeld. via “apt-get update”.

Downloads voor ondersteunde distributies:

Debian 8 “Jessie”
Debian 9 “Stretch”
Ubuntu 16.04 LTS “Xenial Xerus”
Ubuntu 18.04 LTS “Bionic Beaver”
Ubuntu 19.04 “Disco Dingo”
Linux Mint 18.3 “Sylvia”
Linux Mint 19.1 “Tessa”

Download eid-archive.deb

Fedora 29
Fedora 30

Download eid-archive-fedora.rpm

Red Hat Enterprise Linux 6 “Santiago”
Red Hat Enterprise Linux 7 “Maipo”
Gelijkwaardige distributies, zoals CentOS

Download eid-archive-epel.rpm

openSUSE Leap 15.1
openSUSE Leap 15.0

Download eid-archive-suse.rpm

Downloads voor niet-ondersteunde distributies:

U kan de software zelf samenstellen met behulp van de broncode:
eID softwareeid-mw.tar.gz

Alle pakketten en repositories zijn digitaal ondertekend door de OpenPGP-sleutel met de volgende vingerafdruk:

B37D 9040 098C 3DEE E00F 6D08 A357 43EA 6773 D225

Wij raden aan om geen pakketten te installeren die niet met deze sleutel ondertekend zijn. Indien u het correcte “eID-archive” pakket voor uw distributie gebruikt, wordt de correcte sleutel automatisch geconfigureerd en hoeft u zich dus geen zorgen te maken.

https://eid.belgium.be/nl/linux-eid-software-installatie

bv: kies 18.04 LTS “Bionic Beaver”

eID Toolkit Softwarelicentie

eid-archive
GnuPG archive keys of the Belgian eID package archive

The Belgian eID package archive has digitally signed Release files. This package contains the archive keys used for that archive, as well as a sources.list configuration file which immediately enables it.

Install this package if you want to install packages from the eID package archive.

Details

Version 2019.2
Source eid-archive_2019.2_all.deb

https://eid.belgium.be/nl/hoe-installeer-ik-de-eid-software
apt-get update

bevat (*)


Hit:2 http://files.eid.belgium.be/debian bionic InRelease

Hit:6 http://files2.eid.belgium.be/debian bionic InRelease

Installeer de eid-viewer
Deze kan je afzonderlijk gebruiken om de inhoud van een identiteitskaart te bekijken.

sudo apt-get install eid-viewer

Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
libbeidpkcs11-0 libbeidpkcs11-bin libccid libeidviewer0 libnss3-tools pcscd
The following NEW packages will be installed:
eid-viewer libbeidpkcs11-0 libbeidpkcs11-bin libccid libeidviewer0
libnss3-tools pcscd
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 1.518 kB of archives.
After this operation, 6.310 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Y

Get:1 http://files.eid.belgium.be/debian bionic/main amd64 libbeidpkcs11-bin amd64 4.4.21v4.4.21-0u1804-1 [21,8 kB]
Get:2 http://files.eid.belgium.be/debian bionic/main amd64 libbeidpkcs11-0 amd64 4.4.21v4.4.21-0u1804-1 [154 kB]
Get:3 http://files.eid.belgium.be/debian bionic/main amd64 libeidviewer0 amd64 4.4.21v4.4.21-0u1804-1 [65,7 kB]
Get:4 http://files.eid.belgium.be/debian bionic/main amd64 eid-viewer amd64 4.4.21v4.4.21-0u1804-1 [260 kB]
38% [Working]
….
ureadahead will be reprofiled on next reboot
Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) …
Processing triggers for libglib2.0-0:amd64 (2.56.4-0ubuntu0.18.04.4) …
Processing triggers for libc-bin (2.27-3ubuntu1) …

Klaar.

Tweede deel: eid-mw

sudo apt-get install eid-mw

Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
beid-mozilla-extension beid-mozilla-webext libacsccid1
The following NEW packages will be installed:
beid-mozilla-extension beid-mozilla-webext eid-mw libacsccid1
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 86,4 kB of archives.
After this operation, 227 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Y

Get:1 http://files.eid.belgium.be/debian bionic/main amd64 beid-mozilla-webext all 4.4.21v4.4.21-0u1804-1 [9.760 B]
Get:2 http://be.archive.ubuntu.com/ubuntu bionic/universe amd64 libacsccid1 amd64 1.1.5-1 [72,5 kB]
Get:3 http://files.eid.belgium.be/debian bionic/main amd64 beid-mozilla-extension all 4.4.21v4.4.21-0u1804-1 [2.264 B]
Get:4 http://files.eid.belgium.be/debian bionic/main amd64 eid-mw amd64 4.4.21v4.4.21-0u1804-1 [1.868 B]
Fetched 86,4 kB in 10s (8.498 B/s)
Selecting previously unselected package beid-mozilla-webext.
….
….
Unpacking beid-mozilla-extension (4.4.21v4.4.21-0u1804-1) …
Selecting previously unselected package eid-mw.
Preparing to unpack …/eid-mw_4.4.21v4.4.21-0u1804-1_amd64.deb …
Unpacking eid-mw (4.4.21v4.4.21-0u1804-1) …
Selecting previously unselected package libacsccid1.
Preparing to unpack …/libacsccid1_1.1.5-1_amd64.deb …
Unpacking libacsccid1 (1.1.5-1) …
Setting up libacsccid1 (1.1.5-1) …
Setting up beid-mozilla-webext (4.4.21v4.4.21-0u1804-1) …
Setting up beid-mozilla-extension (4.4.21v4.4.21-0u1804-1) …
Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
Setting up eid-mw (4.4.21v4.4.21-0u1804-1) …

De software lijkt geïnstalleerd. Nu zou het handig zijn een paar testcommando’s ter beschikking te hebben…
even proberen:

sudo eid-viewer --help

“could not open file”?

en

venster met “eid-viewer”;

Ready to read identity card

Bij insteken kaart:

Reading ..

Toont foto en gegevens..

eid viewer ok.

Browser plugin?

Browser firefox, Add-ons manager. (about:addons)

Manage your extensions: Enabled:
eID Belgium.
Use the Belgian electronic identity card (eID) in Firefox.

Run in Private Windows
Allow Don’t Allow
When allowed, the extension will have access to your online activities while private browsing. Learn more
Version
1.0.29
Last Updated
November 16, 2018
Homepage
https://eid.belgium.be/

De plugin is aanwezig in de browser.

De test op de eid pagina werkt niet….
Test opnieuw in private browsing mode:

vraagt pincode …

Aanmelden geslaagd

De eID software en uw internetbrowser zijn correct geconfigureerd zodat u kan aanmelden met uw eID.
Opgelet! U blijft aangemeld bij alle online overheidsdiensten totdat u uw browser afsluit of zich afmeldt via een online overheidsdienst.

Daarna werkt het in de test :
https://iamapps.belgium.be/tma/success

En ook in bv
https://certificaatbeheer.vlaanderen.be/Central.UniekLoket.Web/Registration/Details?pApp=HD_HandelsDatabank

10/9/2019

Sailfish X installatie-log

Filed under: — cybrarian @ 10:38 pm

zie ook sailfish – Data van Sailfish naar SailfishXSailfish X installatie op XA2

Dit is een gedetailleerde log van de installatie van Sailfish X op Xperia XA2 vanop Linux (ubuntu 18.04.3 LTS), met een de commando’s en de reaktie op het scherm (soms ingekort).
Het is geen handleiding, maar eerder een verslag hoe het hier gegaan is.

Reeds gebeurd:
– Aankoop en download van Sailfish X: niet genoteerd. De betaling via creditcard wordt snel gevolgd door de mails met de gegevens. De download gaat in de browser in de achtergrond.

Voorbereidingen:

1. fastboot tools:
(5 tal minuutjes)

(ps: openSUSE: https://build.opensuse.org/package/show/hardware/android-tools ?)

install android-tools-fastboot…. (meer…)

Powered by WordPress