Search

Archives

Pages

Op mijn desktop:

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

RadioLab LTS 04-2023: The StockPi project

RadioLab ** April 27th, 2023 by wim.webgang **

Special guest
Marthe heeft ook nog een gast meegebracht: DJ Conconbre, zodat we met 4 zijn in ons RadioLAB. We haasten ons dus live van de kleine studio naar de grote.
Een Special guest die bovendien ook de muziek verzorgt tijdens het programma, maar ook thuis is in servers, hacking, javascript, Processwire, enz…

The StockPi project
Marthe geeft ons al een idee van de hardware: Raspberry pi, in te bouwen camera met platte draad, enz:

We werken ondertussen aan ons in maart opgestarte LTS project “StockPi”…

Voor de software zullen we git gebruiken (zie verder).

Marthe stelt nog een online edit programma voor om online live samen te werken (..)
Voor de documentatie kunnen we de wiki van GitLab gebruiken.

Git
Het is Linus Torvalds’ broncode-beheer-systeem voor de ontwikkeling van de Linux kernel, dat als vrije software de wereld (van de programmeurs en ontwikkelaars) veroverde.
Het is eenvoudig te installeren uit de bronnen van de eigen Linux distributies.
Het maakt het mogelijk om van broncode en andere teksten verschillende versies (of takken) te maken (bv try-out, afwijkende hardware, definitieve versie), en die eventueel terug te integreren in een of meer voortlevende takken, of gewoon te laten afsterven als je ze niet meer nodig hebt.
We moeten dus git installeren, ook als je wil volgen is dat handig.

Zie Reeks Git – handboek (nl) – commando’s vb – branch, merge – GitLab vb – SourceForge vb – git en gambas op linuxuser.copyleft.be

Gitlab
We kozen voor git Gitlab om ons project op te ontwikkelen; het is een platform gebouwd rond git, en voorlopig nog niet opgekocht door één van de grote internetmonopoliegarchen.

1. Gitlab, project, members

- Een account op gitlab maken (hadden wij allemaal al)
- Een project maken. Ingelogd op gitlab, nieuw project, naam geven, publiek, licentie: gpl3.
https://gitlab.com/wim.webgang/stockpi
- Een gebruiker toevoegen:

menu Project information / members

Project members
You can invite a new member to StockPi or invite another group.

- Knop “Invite members”
- naam intikken, toevoegen en rol kiezen (bv guest, reporter*, developer, maintainer, owner)
- zichtbaar in de lijst van Members binnen het project

We moeten tijdens het programma eens overlopen wat voor rol de “rol” speelt… TODO (daar was geen tijd voor in de uitzending).
(upd: alle rollen op Maintainer gezet)

2. Gitlab, README.md
Deze is automatisch aangemaakt bij de creatie van het project, en bevat een soort help-tekst. Je moet die verwijderen en vervangen door relevante inhoud voor je eigen project.

TODO (zie onderaan)

3. Gitlab repository, subdirectories, branch
Hoe organiseren we het project? Beginnen we direkt met code in de map van het project?
Of maken we een onderverdeling, met een map voor “Documentatie”, “Gb3code”, “ArduinoCode”, “schema”, …

Dan kan je een pull doen van alleen die code?
Of komt alles mee binnen? “Cloning only a subdirectory is not possible in Git” (2013)
Bestaat git “Sparse checkout“?

4. Gitlab tools
Gebruiken we nog andere onderdelen van gitlab, zoals …

  • de blog? (hebben ze dat?)
  • de wiki ?
  • Website
    Gitlab biedt bv “Static Pages” die je wel kan (laten) genereren met Static Site Gereration.
  • ticket system: problemen of wensen kunnen gemeld worden in dit systeem, en afgevinkt als ze gerealiseerd zijn.
  • backups? logs? statistieken?
  • CI/CD …
  • Er is ook een handig aktiviteiten overzicht
  • 5. Aktie: clone StockPi

    Eens de beslissingen genomen zijn, of zelfs vanaf de repository aangemaakt is, kan je hem naar je computer halen met een “git” commando dat ook te kopieren is op de gitlab site bij de git branch pagina’s:
    Ik maakte eerst een map voor het hele project, daarbinnen ga ik mijn git krijgen.

    ~/webgang/prj> mkdir StockPiPrj
    ~/webgang/prj> cd StockPiPrj/

    Daar doe je dan:

    StockPiPrj>git clone https://gitlab.com/wim.webgang/stockpi.git

    De reaktie is iets als:

    Cloning into 'stockpi'...
    remote: Enumerating objects: 6, done.
    remote: Counting objects: 100% (6/6), done.
    remote: Compressing objects: 100% (4/4), done.
    remote: Total 6 (delta 1), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (6/6), done.
    Resolving deltas: 100% (1/1), done.

    Het gevolg is dat je een directory hebt met alle broncode bestanden van ons project in (bij aanvang dus leeg), en die wat extra git-eigen hulpdirectories en bestanden bevat, die onzichtbaar zijn en die je ook zelf niet nodig hebt.

    StockPiPrj> ls
    stockpi

    Hier, in StockPiPrj kan ik zefl bestanden zetten, nota’s, tijdelijke dingen, vragen enz. Die komen niet in het git project terecht.

    Maar als ik in de “stockpi” map ga, zit in “in” het git project. Git gaat hier zelf bestanden zetten en directories maken, bv als je synchroniseert met de toestand van het project online.
    Je kan hier dingen zetten, en kiezen om ze niet mee op te nemen in git, maar dat zou ik afraden, hou die in de hogere StockPiPrj directory.

    Editing the readme

    Name:
    StockPi

    Description:

    In één apparaat gemakkelijk een onderdeel “opslaan” in mijn “stock”, met onmiddellijk een foto erbij van het onderdeel (of de verpakking als ik te weinig tijd heb), en gemakkelijk door mijn onderdelen bladeren, op foto of als lijst of door een zoekwoord in te geven, of op platform (pi, arduino..), of op type (bord, uitbreiding).. enz.
    Het zou natuurlijk ook goed zijn via het netwerk dat allemaal te kunnen raadplegen, eventueel met een web-interface of anders een applicatie (of dezelfde applicatie als op de StockPi).

    - vergelijkbare? Er zal zeker wel commerciele stock-software bestaan..

    Project STatus
    - ontwerp!

    Installation
    - weten we nog niet echt

    Gebruik
    - bedoeld voor verzameling of stock van hardware bordjes en onderdelen, maar kan mogelijk ook voor andere doelen gebruikt worden..

    Support
    - live radioshow ..(mail)
    - later misschien via gitlab tools

    Roadmap
    - ontwerp (nu)
    - bouw
    - installaren
    - programmeren
    - testen
    - evalueren…

    Contributing
    - in deze conceptfase: reageren
    - later bij programmeerwerk: geef feedback en/of fork en documenteer..

    Authors
    - webgang (.. , ..)

    License
    - GPL3

    Lift ^ | Lift v | Comments Off

    Comments are closed.