Search

Archives

Pages

Op mijn desktop:

Suggesties, commentaar, ... (klik of schrijf zelf:)e-mail webgang
Laatste titels:

Unipi dilemma

WebGang blog ** October 15th, 2021 by wim.webgang **

Jumpers
Hardware configuratie gebeurt op twee plaatsen met “jumpers” of bruggetjes om een verbinding te leggen. Op mijn bord is J1 standaard verbonden, de andere 5 staan open. Die jumper 2 tot 5 dienen ingesteld te worden als er nog aan andere voeding is voor aangesloten apparaten op de inputs. Standaard worden die van binnenuit bediend met 12V. Als dat veranderd wordt moeten de jumpers in de juiste volgorde aangepast worden.

Voeding
Het Unipi bord heeft een eigen stroom-aansluiting, wat handig is omdat je alleen het bord kan voeden en de Raspberry Pi die er op geprikt zit, mee van die voeding kan laten gebruikmaken, zodat je niet twee adapters moet aansluiten. Het bruggetje naast de voedingsaansluiting op het Unipi bord moet dan op zijn plaats zitten; dan wordt de spanning doorgegeven (via de GPIO pinnen vermoed ik).
Maar zelfs met een voeding van 5 V 2A krijg ik een melding van low voltage op het scherm bij het Raspberry Pi besturingssysteem gewoon bij het opstarten, zonder (intensief) gebruik. Officieel hebben ze samen 2.5 A nodig … de UniPi kan maar 750mA leveren aan de Raspberry Pi. Op de 12 volt uit (oranje) mag je maximaal 200ma gebruiken.

Ik ga de voeding dus splitsen: een Pi voeding voor de Raspberry Pi, en de 5 volt voeding voor het Unipi bord.
Er wordt nergens gesproken over een volgorde van voeding inschakelen.
Bij het inschakelen van de stroom van het bord zie ik nergens reaktie, ik had minstens ergens een brandende led verwacht…

Software
Het zal er dus op aankomen de juiste software-laag te vinden. Er is van de leverancier zowel bedrjifseigen- (proprieatary) als open source software beschikbaar.
Die laatste is te downloaden van GitHub en heet EVOK – The UniPi API; eigenlijk een softwarelaagje dat het mogelijk maakt om vanuit je eigen programma’s de UniPi aan te spreken.
EVOK wordt beschreven als de Web-services API voor een aantal van hun apparaten van dezelfde familie als de UniPi (maar nog wat professioneler uitziend – en duurder).

Maar dus ook RESTful WebForms API, RESTful JSON API, Bulk request JSON API, WebSocket API, SOAP API, JSON-RPC API, webhook notifications.

Ik heb EVOK afgehaald, maar vind niet onmiddellijk een manier om die te integreren in mijn Home Assistant.

Raspbian

Vanuit welk systeem je moet vertrekken is niet altijd even duidelijk;
Op de EVOK documentatie pagina’s zeggen ze:

In order to install EVOK on Neuron you will need an SD card with a standard Raspbian Jessie or Raspbian Stretch image. It is also necessary to enable SSH on the image by creating an empty file named “ssh” in the boot partition of your SD card

Hier op Github vind ik een andere/duidelijke richtlijn: Home Assistant supports various installation methods. EVOK requires raspbian, m.a.w. hoewel er verschillende manieren zijn om Home Assistant te installeren, is het voor EVOK nodig om te beginnen vanuit Raspbian. https://www.raspbian.org/

Ik gooi de bestaande Home Assistant OS dan maar weg en begin opnieuw… En ik hoop dat Raspberry Pi OS dan ook meetelt (opvolger van Raspbian)
Bv :

Raspberry Pi OS Lite
Release date: May 7th 2021
Kernel version: 5.10

Die geeft:
2021-05-07-raspios-buster-armhf-lite.zip
Uitgepakt met unzip 2021-05-07-raspios-buster-armhf-lite.zip
2021-05-07-raspios-buster-armhf-lite.img.

(Mijn eerste keer die op SD kaart zette mislukte, dus haal het een tweede keer af om zeker te zijn. )

Met fdisk zonder de sd-kaart en met de sd kaart kan je uit vergelijking de drive halen:

fdisk -l

Schijf /dev/sda: 489,1 GiB, 525112713216 bytes, 1025610768 sectoren
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: 0x000246cf
...
Apparaat   Op.  Begin      Einde   Sectoren Grootte ID Type
/dev/sda1  *     2048     819199     817152    399M 83 Linux
/dev/sda2      819200 1025609727 1024790528  488,7G 8e Linux LVM
...
Apparaat       Op. Begin    Einde Sectoren Grootte ID Type
/dev/mmcblk0p1      8192 30716279 30708088   14,7G  c W95 FAT32 (LBA)

Image op SD kaart installeren; als je geen speciale (desktop) tool wil gebruiken gaat het ook gemakkelijk met “dd”:

Probook2A:/home/naam/ISO # dd bs=1M if=2021-05-07-raspios-buster-armhf-lite.img of=/dev/mmcblk0p1

Er komt pas feedback als hij klaar is (of als er een fout is):

1788+0 records gelezen
1788+0 records geschreven
1874853888 bytes (1,9 GB, 1,7 GiB) copied, 279,734 s, 6,7 MB/s

Deze SD kaart gebruiken om de Raspberry Pi mee te starten.

Lift ^ | Lift v | Comments Off

WeDo 2.0 + ontdekking: onder de BYOR

WebGang blog ** August 19th, 2021 by wim.webgang **

We doen
We doen de WeDo nog eens over, maar nu met volwassenen.

Ontdekking
Nog een ontdekking als vervolg op een vorig radiolab waarin we BYOR bekeken..
Als je het witte BYOR Easyboard bord omdraait zie je onderaan een blauw bord zitten. Dat is een arduino. Eigenlijk is de(ze) BYOR een Arduino shield.
De originele broncode van het bord (met Nederlandse commentaar) zou bestaan uit: (maar ik krijg dat zo niet ingeladen+aan het werk):

EasyboardV3.ino

// nvdr webgang: declareren van de input variabelen en initialiseren op nul :
int input1 = 0;
int input2 = 0;
int input3 = 0;
int input4 = 0;
int input5 = 0;
int input6 = 0;
// nvdr webgang: zie hieronder het schema "cheat sheet" van de poortnummers tov de aansluitingen op het bord
int output1 = 3;
int output2 = 5;
int output3 = 6;
int output4 = 9;
int output5 = 10;
int output6 = 11;
// nvdr webgang: A= analoog?
//
void setup() {
//
// Alle input-pinnen als input definieren
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
//
// Alle output-pinnen als output definieren
pinMode(output1, OUTPUT);
pinMode(output2, OUTPUT);
pinMode(output3, OUTPUT);
pinMode(output4, OUTPUT);
pinMode(output5, OUTPUT);
pinMode(output6, OUTPUT);
//
}
//
void loop() {
//
//Alle input-poorten uitlezen
input1 = analogRead(A5);
input2 = analogRead(A4);
input3 = analogRead(A3);
input4 = analogRead(A2);
input5 = analogRead(A1);
input6 = analogRead(A0);
//
// nvdr webgang: het mappen neemt de invoer van een poort tussen min en max waarde en zet die om naar een voor de uitvoer relevante schaal van min en max waarde
// Dit stukje zorgt ervoor dat de poortjes met elkaar kunnen praten - het uitgelezen signaal wordt een signaal wat de output-poort begrijpt en wordt mappedInput genoemd
//--------------------------------------------------------------------
int mappedInput1 = map(input1,25,1000,0,255);
mappedInput1 = constrain(mappedInput1, 0, 255);
int mappedInput2 = map(input2,25,1000,0,255);
mappedInput2 = constrain(mappedInput2, 0, 255);
int mappedInput3 = map(input3,25,1000,0,255);
mappedInput3 = constrain(mappedInput3, 0, 255);
int mappedInput4 = map(input4,25,1000,0,255);
mappedInput4 = constrain(mappedInput4, 0, 255);
int mappedInput5 = map(input5,25,1000,0,255);
mappedInput5 = constrain(mappedInput5, 0, 255);
int mappedInput6 = map(input6,25,1000,0,255);
mappedInput6 = constrain(mappedInput6, 0, 255);
//---------------------------------------------------------------------
//
//Op alle output-poorten schrijven wat er op de input-poorten binnenkomt
analogWrite(output1, mappedInput1);
analogWrite(output2, mappedInput2);
analogWrite(output3, mappedInput3);
analogWrite(output4, mappedInput4);
analogWrite(output5, mappedInput5);
analogWrite(output6, mappedInput6);
//
}

Het gevolg is dat je een analoge meting hebt op de ingangen, en een analoge uitvoer/sturing op de uitgangen.
Nadeel daarvan: als er een “beetje” invoer wordt gevoeld, wordt er een “beetje” uitvoer gegeven, continue, wat de uitvoer warm kan doen lopen (motor bv).

Eigenaardig dat soms van 0-5 geteld wordt, en soms van 1-6.

De poorten cheat sheet heet “Cheatsheet.pdf” en kan/kon je downloaden van https://www.byor.nl/en/support/
Het komt erop neer dat A=ingang en het getal is uitgang:

A0 - 3
A1 - 5
A2 - 6
A3 - 9
A4 - 10
A5 - 11

In principe zou je de arduino dus kunnen laden met een aangepaste versie van stuursoftware. Bv:

A0 in wordt evenredig uit (zoals het nu is )
A1 in wordt evenredig uit (zoals het nu is )
A2 in wordt omgekeerd evenredig uit
A3 in wordt omgekeerd evenredig uit
A4 in schakelt vanaf bepaalde waarde uit (met bepaalde waarde)
A5 in schakelt vanaf bepaalde waarde uit (met bepaalde waarde)

Of je zou voor een vaste installatie een tijdsinterval kunnen voorzien waarmee iets loopt/herhaald wordt.

Lift ^ | Lift v | Comments Off

September: databanken en statistiek?

WebGang blog ** August 18th, 2021 by wim.webgang **

Klaar voor het nieuwe schooljaar? Covid wel …

Grafiek: Selectie covid-cijfers “Antwerpen”.

Lift ^ | Lift v | Comments Off

Power to the 32 People and the Pi 400

WebGang blog ** July 9th, 2021 by wim.webgang **

Zorin
Zorin Linux bestaat in een lichtgewicht versie, en deze distributie heeft het steeds uitzonderlijker wordende voordeel dat ze nog draait op 32 bit hardware. Heb je een oude pc (bv met een netwerkkaart die enkel 32-bit drivers heeft?) dan kan je Zorin proberen.
(op DVD te vinden bij de juni-editie van Linux Magazine).

Pi 400 power
De geheimen van de power knop van de Raspberry Pi 400 beginnen zich stilaan te ontrafelen. We wisten al:
- aanzetten met Functie-F10 (de F110 toets heeft een frambooskleurig aan/uit knop icoon, de functietoets heet in dezelfde kleur het Fn opschrift en kombineert ook met de frambooskleurige cijfertoetsen op de 7 8 9, u i o, j k l , toetsen. Uitschakelen ging niet zo dachten we.

Maar:
- aanzetten gaat ook met alleen de F10 toets (even ingedrukt houden).
- uitzetten gaat met Fn + F10 (even ingedrukt houden).
- soms start de Pi400 als hij stroom krijgt op ZONDER dat je op F10 gedrukt hebt.

Lift ^ | Lift v | Comments Off

Curve buigt om: terug stijging

WebGang blog ** July 1st, 2021 by wim.webgang **

Zoals te verwachten was na de voetbalversoepelingen: de dalende curve buigt om naar stijging…
De slachtoffers die daardoor nog vallen zijn de prijs die we betalen.

Cijfers uit officiële gegevens sciensano, data aggregatie en presentatie: onze eigen Covid19DataBE Linux-app.

Lift ^ | Lift v | Comments Off

covid cijfers Antwerpen: eindelijk positief…

WebGang blog ** June 17th, 2021 by wim.webgang **

Lift ^ | Lift v | Comments Off

Covid19: Maasmechelen vs Antwerpen

WebGang blog ** April 28th, 2021 by wim.webgang **

Evolutie “CASES” zoals geregistreerd bij Sciensano voor NIS5 code 73107 en 11002:
(opgelet: verschillende y-as gradatie)

Lift ^ | Lift v | Comments Off

Micro:bit (5)

WebGang blog ** April 18th, 2021 by wim.webgang **

Programmeren met python
Aangezien de mogelijkheden van de Micro:bit en de Micro:bit v2 verschillen, is het niet onlogisch dat er ook een andere IDE voor is, of wat de online versie betreft, een andere link:
Versie 2: https://python.microbit.org/v/2
Originele: https://python.microbit.org/v/1

Documentatie: https://microbit-micropython.readthedocs.io/en/latest/display.html

1. Tekst over het scherm laten rollen (dat eigenlijk maar 1 letterteken breed is):
- letterlijke tekst:
display.scroll('Deze Tekst')
- uit een variabele:
display.scroll(mijnTekst)
- op het moment aaneengeplakt:
display.scroll('Hallo' + ' ' + varTekstWorld)
- Snelheid van scrollen: (standaard 150? Dit is in ieder geval sneller:)
display.scroll('Deze Tekst', delay=100)

2. Beeld
- Voorgedefnieerd beeld
display.show(Image.HEART)
- Zelf beeld definiëren:

coffee5 = Image("01000:"
                "21000:"
                "21000:"
                "09999:"
                "09990:")

3. Animatie met array
arrHotCoffee = [coffee1, coffee2, coffee3, coffee4, coffee5]
display.show(arrHotCoffee, delay = 900)

-Je moet de onderdelen voordien definiëren: zie hierboven

4. Radio
Een van de leukste mogelijkheden is een tekst “uit te zenden” en door andere microbit(s) te laten ontvangen; ze kunnen dus draadloos communiceren. Je moet import radio gebruiken aan het begin.
Bv: 1 hangt buiten en stuurt de temperatuur naar een binnen, die de buiten, binnen, en verschil weergeeft. (bord temperatuur).

import radio
radio.on()

-zenden:
radio.send("coffee")
-ontvangen:
fromkitchen = radio.receive()

Programmeerstrukturen
- deze lus gaat eeuwig door, meestal het hoofdprogramma:

while True:
  #code

- Meestal zit er een sleep in (om de snelheid af te remmen en om te laten onderbreken voor nieuwe code aanvoer via usb)

while True:
  # allerlei code
  sleep(n)

- de als-dan struktuur:

if True:
  #code

- de als-dan-anders struktuur:

if True:
  #code
else:
 #othercode

- de als-dan-ofals-dan-anders struktuur

elif button_b.is_pressed():
break

- vergelijking
if a == b

Lift ^ | Lift v | Comments Off

Raspberry pi 4

WebGang blog ** March 28th, 2021 by wim.webgang **

Het heeft lang geduurd eer we een raspberry pi 4 in handen kregen, maar nu is het gelukt.
Eerste vaststellingen:
- je hebt een speciale aansluiting nodig, namelijk een mini of micro hdmi voor de kant van de Pi.
- de Pi doet NIETS, ttz er komt geen beeld op geen enkel van de hdmi aansluitingen bij geen gewone start zonder systeem. En als je er een systeem-SD kaart in steekt dan misschien nog niet, want deze R4 heeft een nieuwer systeem nodig dan de Raspberry Pi 3x.

Lift ^ | Lift v | Comments Off

Sciensano data en site niet bereikbaar

WebGang blog ** March 22nd, 2021 by wim.webgang **

Ons covid19dataBE programma lijkt niet meer te werken. Het probleem blijkt bij het afhalen van de gegevens te zitten. Daarom ga ik manueel de gegevens downloaden van de bronlocatie, maar dat lukt ook niet…

Op sommige momenten, zoals nu [March 22, 2021 at 12:36 pm], is de sciensano site niet bereikbaar.
Noch de website, noch de gegevensbestanden die nodig zijn om zelf bv een grafiekje te trekken…
Zoals https://epistat.wiv-isp.be/covid/covid-19.html enz


Rond 16:00 nog eens gecheckt: was terug ok. Hier dus het volgend grafiekje..
De websites zijn ook terug bereikbaar, en daar lees ik een bericht zonder datum:

Hospitals are no longer providing their Saturday data in real time to Sciensano. The weekend numbers will now be reported on Sunday. As a result, Sciensano will no longer be able to publish a daily bulletin and the numbers will not be updated on the dashboard or in the open data on Sunday. The final figures of the weekend will be available every Monday morning from 9am on the dashboard and from 11am in the daily bulletin.

En ondertussen is het duidelijker, met datum: Published on: Friday, March 19, 2021
en als uitleg: Vanaf 20 maart 2021 moeten de ziekenhuizen niet meer hun data doort te sturen op zaterdag, maar mogen ze twee registraties doen op zondag; die voor zaterdag en die voor zondag. Dat betekent concreet dat de cijfers op zondag niet meer bijgewerkt zijn op de site.

Ping! Read the rest of this entry »

Lift ^ | Lift v | Comments Off

« Previous Entries Next Entries »