Archive for the ‘Android’ Category

Datorarkeologi 2026

02/04/2026

Jag har lekt med en Clockwork PicoCalc som man kan köpa som en enkel byggsats. PicoCalc är egentligen ett tangentbord och en skärm med 320×320 pixlar d.v.s. en skärm som motsvarar en typisk hemdator från 1980-talets början t.ex. en Commodore 64. Byggsatsen görs till en fungerande dator genom att lägga till något av processorkorten Rasapberry Pi Pico, Pico2 eller Pico W. Hobbyister har också kört andra processorer och lyckats köra Linux utan större problem. Användning av andra processorer än Pico kräver dock i allmänhet att man hackar hårdvaran d.v.s. löder om själva PicoCalc. Jag tycker av princip illa om att gå in och löda i fungerande hårdvara vilket är orsaken till att jag kör en normal PicoCalc och inte Linux.

Bilden visar att Turbo pascal d.v.s. turbo har startat och programmet frågar efter den fil vi vill editera och kompilera. I vårt fall TEST.PAS. Vi ser en CP/M mikroskärm med radlängden 40 tecken. En speciell font har skapats för att få möjligast mycket text att rymmas på en rad.

PicoCalc ser ut som en normalstor kalkylator från 1980-talet i vilken man kan programmera och köra Basic, Python och Lua. Under Basic och Python fungerar den förvånande bra som en programmerbar kalkylator. Det visade sig snabbt att processorn är tillräckligt snabb och det finns tillräckligt minne för att köra operativsystemet CP/M som var dominerande från mitten av 1970-talet till mitten av 1980-talet. CP/M trängdes ut av IBM:s PC kring mitten av 1980-talet. IBM PC körde ett mycket liknande operativsystemsom CP/M kallat Ms-DOS.

https://en.wikipedia.org/wiki/IBM_Personal_Computer

https://en.wikipedia.org/wiki/CP/M

ARM processorn i en RPi Pico klarar av att emulera en Intel 8080 eller en Zilog Z80 i realtid. Pico:ns lilla minne räcker till för att ge CP/M ett fullt arbetsminne trots att en stor del av Pico kapaciteten går åt till att emulera en främmande processor.

Storleken på en Raspberry Pi Pico är ungefär två normalstora frimärken i bredd. Bildens Pico har storleken 20×50 mm.

Ett mycket vanligt programmeringsspråk på 1980-talet både under CP/M och PC-DOS var Turbo Pascal som erbjöd en enligt dåtida mått mycket trevlig programmeringsomgivning för programspråket Pascal. Pascal är ett i många avseenden mycket klarare och ”renare” programspråk än t.ex. programspråket C som användes då Unix och senare Linux skapades. Med hjälp av Turbo Pascal kunde man i akademiska sammanhang enkelt t.ex. göra statistiska analyser på en liten bordsmaskin, analyser som tidigare krävde tillgång till en stordator med all den byrokrati och kostnad detta medförde. Med hjälp av Turbo Pascal kunde man också med hjälp av diverse instickskort använda en PC för förvånande avancerade automatiska mätningar. Turbo Pascal fanns tillgängligt både för CP/M baserade datorer och för Ms-DOS maskiner d.v.s. IBM-PC samt mängder av liknande kloner.

Att köra program i 64 kilo Byte minne

Dagens datorer t.ex. en PC tenderar att ha ett centralminne på 4-32 GigaByte ibland mera. Min personliga PC som kör Linux har 32 GigaByte minne som är 500 000 gånger större än än det totala minnet i forntidens CP/M dator.

Jag kompilerade på skoj ett program TEST.PAS som ger ett nytt kommando till CP/M systemet som enligt Unix tradition kallas cat d.v.s. catenate eller skriv ut/kombinera ihop. Programmet kan läsa en eller flera textfiler och skriva ut dem till skärmen eller skicka resultatet till en annan fil. Under Linux skulle jag kunna skicka filen utan förändringar till t.ex. LPR dvs skriva ut till skrivare allt det som annars skulle gå till skärmen. Jag antar att jag inte kommer riktigt så enkelt undan under CP/M. Länken nedan diskuterar hur man kommer åt en skrivare, stans för hålremsa etc. under CP/M.

https://www.mark-ogden.uk/mirrors/www.cirsovius.de/CPM/Projekte/Artikel/Grundlagen/IOByte/IOByte-de.html

Då jag kompilerar programmet under Turbo Pascal under CP/M på PicoCalc får jag ett körbart program med storleken 635 bytes vilket motsvarar en vanlig text utskriven med 80 tecken par rad som då blir ungefär åtta rader lång. Jag testade programmet under CP/M så att jag använde det kompilerade programmet till att lista ut sig själv på PicoCalc skärmen. Texten är väldigt liten och ganska svårläst men programmet fungerade OK.

En intressant fråga blir då: Om jag tar samma program och kompilerar det under Linux (eller Windows eller Mac) hur stort blir då programmet på en modern dator? Notera att jag kompilerar för användning på kommandoraden helt utan GUI (grafiskt användargränssnitt). Om jag skulle skapa ett GUI för programmet gissar jag att det skulle växa ytterligare med kanske en faktor tio.

För kompileringen under Linux använde jag fpc d.v.s. Free Pascal Compiler som är basen i bl.a. Lazarus som idag är en trevlig omgivning för att generera program med grafiskt användargränssnitt GUI. Lazarus är mycket nära besläktad med Delphi (tidigare Borland Delphi). Lazarus är trevligt eftersom program enkelt kan skrivas för Linux, Windows, Mac, Android och FreeBSD och det finns funktionalitet som i hög grad förenklar designen av ett program med GUI. Fpc är således funktionsmässigt nära släkt med Borlands Pascal d.v.s. Turbo Pascal.

Jag kompilerade om programmet TEST.PAS under fpc med:

fpc -gl TEST.PAS

Kompileringen gick igenom utan problem men jag putsade bort en del onödiga fyllnadstecken i slutet av filen, tecken som i sig inte störde kompileringen. Då jag körde programmet:

./TEST TEST.PAS

Skrevs texten till TEST.PAS ut korrekt men jag fick ett felmeddelande på den nästsista raden (se programlistningen nedan) där programmet försöker stänga filen wrf d.v.s. en fil som används om man skulle vilja att resultatet går till en annan fil och inte på skärmen. Om jag skriver till skärmen behövs inte wrf och om jag försöker stänga wrf som aldrig har öppnats uppstår det ett fel. Felet är enkelt att åtgärda genom att kontrollera om vi har alternativet redirect innan vi försöker stänga filen. Längden på det körbara programmet blev nu under 64-bitars linux med kompilatorswitchen -gl som jag använde för att komma åt vilken rad i programmet som gav felet 420968 Byte d.v.s. ungefär 663 gånger större än under CP/M.

Om jag kompilerar om programmet efter rättning utan flaggan -gl blir resultatet 188304 Byte d.v.s. ungeför 297 ggr större än under CP/M.

Vad beror storleksskillnaderna på? En självklar orsak är naturligtvis att datorns s.k. ordlängd d.v.s. hur lång en typisk instruktion är har vuxit från 8-bitar till 64-bitar. Om vi antar att vårt program fortfarande behöver ungefär samma maskinspråksinstruktioner så kan vi få en vettigare jämförelse genom att dividera Linux-varianten med åtta d.v.s. ungefär 23538 instruktioner vilket är 37 ggr större än antalet instruktioner i CP/M varianten. Jag gissar att man genom väl genomtänkta optimeringar vid kompileringen kan krympa Linuxvarianten ytterligare. En stor orsak till att programmet har blivit större är antagligen kontroll av olika fel d.v.s. debuggning som utvecklats mycket under åren. De bibliotek vi länkar mot under Linux har bättre funktionalitet men de har också vuxit betydligt och innehåller sannolikt kod vi inte behöver. Vid kompileringen kan vi ange olika nivåer av optimering som påverkar snabbhet , minnesåtgång samt stöd för olika typer av felsökning. Körning av programmet ger:

./TEST TEST.PAS
ParamCnt=1/home/lasi/Prog/Pascal/TEST
Testing for file redirection
Got last par=TEST.PAS
TEST.PAS
program cat(input,output);
(* Make a new CP/M command cat
cat xxx yyy zzz … List all files to screen
cat xxx yyy >zzz List files xxx, yyy to the file zzz
*)
var i,nfiles:integer;
red:Boolean;
rdf: Text;
wrf: Text;
line: String[255];
destF: String[10];
function CkRedirect: boolean;
(* Is the destination a file or stdout?
The last file is assumed to be the redirection file if it exists.
Write all non redirection files to a temporary file and then
dump that to stdout or rename it to the destination file.
*)
var line:String[80];
begin
writeln('Testing for file redirection');
line := ParamStr(ParamCount);
writeln('Got last par=',line);
if (line[1] = '>') then
begin
writeln('Found redirect');
CkRedirect := True;
end;
end;
begin
writeln('ParamCnt=',ParamCount,ParamStr(0));
nfiles := ParamCount;
red := False;
if CkRedirect then
begin
writeln('Redirect');
nfiles := ParamCount - 1;
red := True;
destF := ParamStr(ParamCount);
Delete(destF,1,1); (* Remove '>') ) writeln('Redirect to:', destF); end; for i:=1 to nfiles do begin ( Type one file ) writeln(ParamStr(i)); Assign(rdf,ParamStr(i)); Reset(rdf); if red=True then begin Assign(wrf,destF); Rewrite(wrf); end; while not Eof(rdf) do begin Readln(rdf,line); if red=True then begin Write(wrf,line); end else Writeln(line); end; close(rdf); Writeln(' '); end; ( Caused error on the fpc compiler *)
if CkRedirect then close(wrf);
Writeln('Done …');
end.

Testing for file redirection
Got last par=TEST.PAS
Done …

Konklusion

Den här lilla programmeringsövningen visar egentligen hur ofattbart mycket tekniken har utvecklats under en livstid. Generellt kan man antagligen säga att alla intressanta parametrar har förbättrats med en faktor tusen eller mera. Några exempel:

  • Processons klockfrekvens 1 MHz –> 4 GHz (dagen datorer är ungefär 4000 ggr snabbare sett till processorns klockfrekvens.
  • Maskinens centralminne RAM 64 kByte –> 64 GByte (1 000 000 gånger större minne i dagens persondatorer av topp klass).
  • Skivminne/Lagringsminne 100 kByte –> 4 TByte (4 000 000 ggr större idag).
  • Maskinens pris $5000 –> $100 (50 ggr dyrare än idag). Notera att jämförelsen är felaktig eftersom penningvärdet har försämrats kraftigt på 40 år. Jag gissar att en korrekt jämförelse kunde vara åtminstone 100 ggr.

Om vi glömmer dagens AI boom där AI av vanliga användare körs över nätet och således inte belastrar den egna maskinen i någon större utsträckning så används datorerna fortfarande till liknande uppgifter som i ”forntiden” d.v.s. textbehandling, skicka brev och hantera kalkylark av olika typer. Gårdagens datorer kändes responsmässigt ungefär lika som dagens datorer. Vart har en prestandaökning på mellan 1000 och 1 000 000 ggr. försvunnit? Min uppfattning är att vi har fått en ofantlig mängd ”bling” som egentligen endast gör skärmen trevligare att titta på. Vi har halvtransparenta fönster som uppdateras hela tiden medan vi flyttar dem. En gammal dator skulle ha storknat genast. I våra datorer körs mängder av program i bakgrunden hela tiden. Program som meddelar oss att vi har fått meddelanden, program som skickar information om var vi gör till Microsoft etc. Det är lätt att bränna datorkapacitet och minneskapacitet i en värld där maskinen jag använder egentligen redan länge har varit tillräckligt kraftfull för det den skapades för.

Min laptop som också kör Linux fungerar helt OK trots att den är strax över tio år gammal. En bekant fick problem d.v.s. den heliga röken som datorn antagligen kör på slapp ut och maskinen slutade fungera. Jag hjälpte personen att rädda foton och dokument från datorn och fick sedan överta skrotet. Efter egen reparation har maskinen fungerat klanderfritt i många år. Jag kör en linuxvariant där allt onödigt ”bling” är bortplockat och maskinen fungerar bra som den är.

Ett annat intressant exempel på datorns ofantliga utveckling är ”mini”-datorn PDP-11 som operativsystemet Unix utvecklades på. Maskinen skulle ha kostat en privatperson tiotals tusen dollar att köpa. Jag har idag en replica av en PDP-11/70 d.v.s. den sista PDP:n som hade en frontpanel som tillåter mig att knappa in maskinkod bit för bit. Min replika kör, liksom CP/M på PicoCalc, en emulator men i detta fall på en Raspberry Pi 4. Den emulerade minidatorn från 1970-talet kör engefär tio gånger snabbare än orginalet trots att varje maskininstruktion emuleras av ett emulatorprogram på Raspberry Pi. En raspberry pi kostar idag beroende på variant kring 100 Euro.

Världens första egentliga superdator var Cray-1. Maskinen användes för mängder av vetenskapliga beräkningar. Man har uppskattat att en Raspberry Pi 5 (100 Euro), då man använder display hårdvaran (GPU) som en vektorprocessor är snabbare än en Cray-1 superdator. En Cray-1 behövde ungefär 115 kW eleffekt. En Raspberry Pi behöver ungefär 7W. Även på effektområdet ser vi alltså en förbättring på ungefär sextontusen gånger.

https://en.wikipedia.org/wiki/Cray-1

Fjärrstyrd kamera

15/03/2020

Man hittar idag mängder av intressanta elektroniska moduler som är relativt enkla att kombinera ihop till något man inte hittar färdigt på butikshyllan.

Jag köpte i slutet av senaste sommar en radiostyrd drönare (drone) av typen Dji Phantom 3 Professional. Jag betalade inte speciellt mycket för drönaren eftersom kameran inte fungerade. Det här blev en ny inkörsport till rc-flygandets värld, jag har sysslat med RC-flygande för kanske tjugo år sedan,  och samtidigt ett intressant sätt att lära sig modernare teknik på området. Efter många om och men flyger nu drönaren och kameran fungerar men vissa störningar kan förekomma. Bildkvaliteten är god.

DCIM100MEDIADJI_0008.JPG

Fig. 1   Bilden är tagen med den reparerade drönaren ca. 50 m ovanför gårdsplanen till vårt hus på Sommarö i Esbo skärgård. Man ser Helsingfors i bakgrunden. Den vita röken kommer från ett kraftverk vid Drumsö bro.

Reparationen av drönaren gav inspiration till att eventuellt modifiera ett existerande RC flygplan med fast vinge så att förbränningsmotorn byts mot elmotor och kamera monteras så att flygaren kan beundra utsikten från flygplanet. Jag har ett lämpligt flygplan som bör vara lätt att modifiera. Ett elflygplan ger möjlighet att flyga betydligt friare än tidigare eftersom planet är väldigt tyst i jämförelse med en konventionell förbränningsmotor.

Jag har en hel del RC-servon i miljonlådan och de mekaniska komponenter jag behöver kan jag skriva ut på 3d-skrivare. Jag stötte på en enkel mycket vidvinklig kamera på en kinesisk vebbsida, på samma sida hittade jag en videosändare som sänder inom området 5.8 GHz samt en matchande mottagare som kan kopplas till dator och i princip mobiltelefon. Kameran kommer att av datorn uppfattas som en vebbkamera och det är möjligt att spela in videosignalen om så önskas.  I princip borde samma sak gå att göra på mobiltelefonen men jag har någon typ av kompatibilitetsproblem som gör att telefonen inte åtminstone ännu fungerar som bildskärm.

Det första experimentet med kameran blir en jordbunden fjärrstyrd kamera som jag tänker studera våra rådjur med. Det springer en flock på 5-6 rådjur på området.  Att bygga en radiostyrd kamera betyder att jag inte genast i försöksskedet slår sönder systemet … hoppas jag.

Fjärrstyrd viltkamera

Jag beslöt att använda två RC-servon för att styra kameran i sid- och i höjdled. Ett RC-servo monteras i systemets bas och styr kameran horisontellt. Ett annat servo monteras på en 3d-utskriven L-formad bit. Kameran är via en enkel adapter kopplad till detta servo som alltså vrider kameran i höjdled.

På den L-formade biten limmades två 3d-utskrivna fickor/hållare för videosändaren och ett styrkort för kameran.

Spänningsmatningen till systemet görs via en såkallad UBEC som är en chopper spänningsregulator som förvandlar en inspänning på 5,5 -27V till konstant 5V spänning som kameran, servona och RC-mottagaren behöver. En chopper/hackare har en mycket bättre verkningsgrad än en linjär spänningsregulator. En god verkningsgrad är speciellt viktig i ett RC-flygplan där mycket el behövs för drivmotorn.

Styrningen av kameran kan göras med en normal RC-sändare och matchande mottagare. Jag har åtminstone två sändare liggande som bör fungera.

Tillverkning av de mekaniska komponenterna

De mekaniska komponenterna konstruerades i programmet OpenScad som egentligen är ett programmeringsspråk för 3d-konstruktioner. Precis samma slutresultat fås naturligtvis också genom att använda ett CAD-program (det finns många gratisversioner) som kan generera STL-kod d.v.s. som kan översätta CAD-bilden till STL-kod som förstås av 3d-skrivarens styrprogram.  För mig känns OpenScad bekvämt genom att jag har skrivit programkod i tiotals år. Ett CAD-program som jag använder sporadiskt och således hinner glömma kräver mera jobb än att skriva koden direkt. Det är självklart att det här kan verka konstigt för personer vana vid helt grafiskt konstruerande. OpenScad har ett relativt bekvämt användargränssnitt där jag i grafisk form kan se resultatet av kodskrivandet … skillnaden mot ett rent CAD program är eventuellt inte speciellt stor.

Styrprogrammet, i mitt fall ”RepetierHost”, använder ett ”slicer”-program som skivar konstruktionen i 0,2mm höga skivor som omvandlas till 0,2mm höga och 0,4mm breda plaststrängar som lager för lager bygger upp komponenten jag har skapat. Utskriften av de olika delarna tog 5 minuter till ca. en och en halv timme beroende av komponentens storlek. De större komponenterns skrevs ut med en fyllnadsgrad på 50% vilket betyder att komponenten inuti består till ca. 50% av luft. Delarna som kopplas till servona skrevs ut med en fyllnadsgrad på 100% för att göra dem möjligast styva och starka.

Camera_box_bearing

Fig. 2  Hållare för servot som vrider kameran i horisontell riktning.  Uppe till vänster finns askens lock med plats för ett kullager som gör konstruktionen stadigare.

Camera_ball_bearing

Fig. 3  Locket med plats för kullagret konstrueras med hjälp av två moduler.

Modulen (subrutinen) ballBearingBase() skapar den fyrkantiga bottenplattan med ett 10.5 mm hål i mitten. Detta görs så att en låda (cube) skapas från vilken man tar bort en cylinder med diametern 10.25 mm. Därefter skapas hållaren för kullagret d.v.s. den centrala ringstrukturen genom att lägga en cylinder med diametern 26 mm ovanpå den fyrkantiga plattan varefter man tar bort en cylinder med diametern 22.8 mm vilket leder till att endast ringstrukturen blir kvar.

Modulen ballBearing() använder sig av den tidigare skapade plattan med ringstruktur och hål i mitten och tar bort fyra cylindrar med radien 2 mm d.v.s. borrar fyra st 4 mm hål för fastsättningsskruvar. Skruvarna fästs så att man smälter fast fyra gängade mässingsholkar i lådans hörn.

Camera_L-part

Fig. 4  L-biten i vilken servot som vrider kameran i vertikalriktningen. Den lilla biten till vänster trycks fast i servots axel. Denna lilla bit limmas fast i L-bitens skåra närmast betraktaren. Orsaken till att det lönar sig att skriva ut den lilla biten separat är att det är mycket svårt att utan specialteknik skriva ut ”överhäng”. L-biten låg med servoöppningen mot skrivarens bottenplatta Det enda överhäng som fanns var skåran för limning av den lilla biten … detta klarar skrivaren utmärkt. Den lilla biten skrevs ut som på bilden.

Camera_komplett

Fig. 5  Kameran komplett men utan RC-mottagare för styrning av servona. Jag väntar ännu på några delar.

Servot för styrning i horisontalriktning är den lilla blå komponenten till vänster om kameran. Ett likadant mikroservo används för att vrida hela L-delen horisontellt. Det horisontella vridservot finns inne i den fyrkantiga asken som till storleken motsvarar ungefär två små tändsticksaskar. Under den fyrkantiga lådan kommer det att monteras en ungefär lika stor ask i vilket jag monterar RC-mottagaren och spänningsregulatorn UBEC. Ovanför servot finns det hållare för två olika elektronikmoduler Närmast kameran ser man kamerans kontrollpanel med fem tryckknappar. Bakom kontrollpanelen finns videosändaren som sänder på 5.8 GHz. Man skymtar antennens bas (mässing). Hela antennen är ungefär 60 mm lång varav den aktiva delen utgör ungefär 30 mm. Den aktiva delen utgör sannolikt ungefär en halvvågsantenn. Våglängden vid 5.8 GHz är ungefär 52 mm.

Kamerans dimensioner är ca. 30 mm i riktningen för den optiska axeln i övrigt ungefär kvadratisk 25×25 mm.

De följande stegen

  • Följande steg blir nu att fixa till ett batteripaket, jag har hittills använt ett laboratorienätaggregat.
  • Skriv ut fastsättning som tillåter montering t.ex. mot en trädstam.
  • Testa radiolänkens räckvidd. Jag förväntar mig åtminstone nåra hundra meters räckvidd vilket tillåter mig att ställa den portabla datorn i farstun och sitta inne i värmen medan jag tittar på rådjuren i skogen.

Jag återkommer med en senare artikel med bildmaterial på hur det hela fungerar i praktiken.

 

Att hacka gammal elektronik

02/02/2020

Min goda vän Anders kom över en portabel, batteridriven, ljudanläggning som ursprungligen har planerats för en Apple mobiltelefon eller iPod … eller båda. Telefonen kunde ställas och stå i ett fack överst på spelaren och lådan kunde då spela upp musik som fanns lagrad på telefonen.

Förstärkarlådan hade några små problem:

  • Den var stendöd . Gissningen var att batteriet/ackumulatorn var död varför anläggningen som sådan inte visade några livstecken.
  • Musikanslutningen via iPhone/iPod var oanvändbar eftersom det inte längre finns telefoner med en mångpolig anslutning … alla använder idag USB i någon form eller ännu enklare trådlös överföring via WiFi eller Bluetooth.

Anders bytte batteriet/ackumulatorn som är ett litet ”motorcykelbatteri”. Ett nytt problem dök upp. Det såg ut som om batteriet inte laddades trots att lådan var kopplad till nätström. Orsaken var att lådans huvudsäkring hade brunnit. Efter byte av säkring verkade lådan fungera.

Förstärkaren har ingångar för mikrofon eller Line In d.v.s. den är nog användbar men inte helt bekvämt. Kunde man månne modernisera lådan så att den inte skulle behöva någon USB-anslutning utan vilken som helst modern telefon/platta med Bluetooth skulle kunna användas som musikkälla?

IMG-20200202-WA0003

Fig.  Den modifierade portabla spelaren ser ut så här. Där det svarta locket nu finns fanns tidigare en dockningsstation för iPhone/iPod. Under locket finns en Bluetooth adapter som är kopplad till baksidan av de vit/röda BNC kontakterna.

Jag hittade en lovande Bluetooth modul som jag beställde från kina. Som vanligt beställde jag två eftersom det alltid finns risk att man får ett defekt exemplar. Delarna är relativt billiga vilket gör att förlusten inte är så stor om ett exemplar flyttas till miljonlådan.

IMG-20200202-WA0007

Fig.  Frontpanelen kan skruvas loss vilket gör att det är relativt enkelt att komma åt baksidan. Här löder jag signalkablarna från bluetooth modulen till Line In ingången. Lödningarna görs på baksidan vilket blir snyggt.

Till vänster på spelaren syns den gamla dockningsstationen. Vi tar 5V från en USB-kontakt som tydligen har använts för laddning. Vi slipper på detta sätt att söka efter 5V inne i apparaten … eller att montera en egen spänningskälla för Bluetooth. iPhone kontakten plockades bort men den vita kontrollpanelen lämnades kvar under ett nytt 3D-utskrivet lock … som råkade bli svart eftersom mitt vita filament råkade vara nästan slut. Bluetooth modulen är det lilla röda kretskortet vid min högra hand.

IMG-20200202-WA0004

Fig.  Det finns en egen på/av strömbrytare som ursprungligen användes för att ladda en iPod. Vi använder denna strömbrytare för att slå på eller stänga av Bluetooth. Med Bluetooth avstängd torde Line In att gå att använda som förut utan problem.

Det slutliga testet

Då modifikationen var gjord och den gamla dockningsstationen hade mätts så att jag skulle kunna designa ett nytt lock så var det tid att testköra.

Vi kopplade på Bluetooth från strömbrytaren bak på förstärkaren och kunde inte se någon rök, röktestet var alltså ok. Elektronik har den intressanta egenskapen att den tydligen är beroende av rök för att fungera … släpper man ut röken så fungerar det inte längre!

Jag kopplade på Bluetooth i min telefon och hittade efter en kort stund en ny Bluetooth enhet med id koden JZ-B5W2 som telefonen trodde var Bluetooth hörlurar. Så långt helt OK!

Jag valde nu slumpmässigt ett teststycke från youtube och satte igång uppspelningen av videon.

Video:  Telefonen kopplar utan problem till bluetooth modulen och därifrån vidare till spelaren och ljudstyrkan är mer än tillräcklig och ljudkvaliteten OK d.v.s. den förväntade för denna typ av musikspelare.

Slutkommentar

Det var intressant att se hur enkelt det var att modifiera och modernisera en gammal musikspelare. Med Bluetooth anslutning så blev spelaren plötsligt helt användbar och kommer antagligen att tjäna i ytterligare att antal år.

Jag planerar att göra samma modifikation i min 2x30W ”klassiska” Radio-förstärkare. Jag räknar med att också i den kunna koppla Bluetooth till t.ex. Line In eller till bandspelaringången. Strömförsörjningen fixar jag antagligen via ett separat litet strömaggregat för nätström som jag räknar med att finna plats för på insidan. Genom att använda nätström direkt via eget nätaggregat så slipper jag att söka efter en lämplig spänning på ett obekant kretskort.

Om någon läsare råkar ha en klassisk Hi-Fi förstärkare som nu samlar damm till följd av att man så sällan spelar vinyl eller CD så går det att ta kontakt och diskutera en modifikation som kan ge trotjänaren, som ofta ljudmässigt är mycket högklassig, nytt liv!

Tack till Anders för bilder och video!

 

Noter på stor TV-skärm

17/12/2019

Notera!

Jag har inga kontakter/samarbete med Zubersoft (http://www.zubersoft.com) som har skrivit programmet MobileSheetsPro. Artikeln nedan är inte en betald annons för ifrågavarande program.

————————-

Jag spelar i spelmanslaget Altra Volta som är föreningen Arbetets vänners musikklubb. Vi spelar främst finlandssvensk och nordisk folkmusik med inslag av keltisk musik, irländsk etc.

Vi har medlemmar med spelteknik på alla nivåer börjande från absoluta nybörjare till rätt avancerade spelare med lång erfarenhet. Det faktum att vi har också nybörjare betyder att vi har en egen övningsstil. Vi tenderar att spela samma melodi många gånger (5 – 6 ggr) vilket ger personer som spelar på gehör möjlighet att lära sig nya låtar relativt bekvämt. Personer som läser noter använder noter till en början för att senare, får man hoppas, lära sig låten utantill.

Noter utgör ett problem genom att nothäften med någon speciell repertoar blir rätt dyra om en stor bunt skall köpas. Noter tenderar att ”diffundera” d.v.s. noter lånas och kommer aldrig tillbaka. Om man kopierar upp noter och delar ut lösblad så hamnar man rätt snart i ett lösbladshelvete där noter flyter omkring i en salig blandning och det är svårt att hitta en specifik låt då den behövs. Ett sätt att försöka hantera lösbladshelvetet är att samla ihop noter i egna häften … detta fungerar delvis eftersom häften plockas isär, sidor tappas bort och de med möda skapade häftena diffunderar iväg någonstans till nothäftenas okända begravningsplats.

Ett alternativ till att få ordning på noterna hittade vi då vi nyligen blev tvungna att flytta från vår traditionella övningslokal till en ny plats i samma hus. I det nya övningsutrymmet finns en stor TV-skärm i storleken 50-60 tum. Vi märkte att man kan koppla en minnepinne till TV:n och att TV:N klarade av att hantera jpeg-bilder. Vi hade nu ett bekvämt sätt att visa noter i tillräckligt stort format för att hela gruppen skall kunna använda samma noter. Vi upptäckte att noterna på skärmen eventuellt gav bättre focus eftersom allas intresse var fokuserat i samma riktning.

Fig. 1  Ordning på lösbladshelvetet! Författaren sitter längst ut till höger.

Läsplatta

Vi har provat programmet MobileSheetsPro för Androidoperativsystemet och programmet känns logiskt och vettigt att använda. Programmet stöder fotpedal och olika notformat d.v.s. både jpeg-bilder och pdf. Man kan organisera noter i album och skapa spellistor från existerande album. Man kan också söka efter musiktyp, söka på en låts namn etc. MobileSheetsPro kör utan problem i en gammal billig kinesisk surfplatta på tio tum. Plattans pris är ca. 50 E (500 SEK). Plattan har 16 GB internminne vilket räcker för tusentals notblad efter att jag plockade bort alla onödiga applikationer.

Vårt problem blev nu att försöka få MobileSheetsPro kopplat till den stora TV-skärmen. Problemet är att väldigt få läsplattor idag har HDMI-kontakt så att plattans skärm skulle kunna visas på TV-skärmen.

Det slog mig plötsligt att problemet kunde lösas med hjälp av en Raspberry Pi dator. Problemet är dock att programmet vi vill använda inte finns för Raspberry Pi. Vi kunde alltså använda Raspberry Pi som en normal dator och visa noter manuellt på skärmen. Skulle det finnas ett bekvämare sätt?

Android på Raspberry Pi

IMGP6971.JPG

Fig. 2  En Raspberry Pi är en liten dator som normalt kör Linux på en ARM processor. De flesta mobiltelefoner idag använder närbesläktade ARM processorer varför det borde vara möjligt att köra Android på en Rasbberry Pi.

Första försöket misslyckades och Raspberry Pi startade inte. Man kunde se att processorn via sin LED försökte signalera att någonting hade gått del.  Lite Googlande visade att EmteriaOS (Android) kunde vara ett vettigt alternativ.

Det visade sig att det finns en fri testversion av EmteriaOs som utan problem gick att installera på Raspberry Pi. Versionen är tidsbegränsad till åtta timmar varefter systemet stoppar. En licens kostar 19E vilket är överkomligt. Jag har en köpt version av MobileSheetsPro som kostar 15E på Google Play, programmet rekommenderas varmt.

IMGP6970.JPG

Fig. 3  EmteriaOS Android kör på Raspberry Pi.

IMGP6972.JPG

 

Fig. 4  MobileSheetsPro kör på Raspberry Pi.

Det visade sig att programmet fungerar utmärkt på Raspberry Pi. Vi har nu ett lätt hanterbart system för visning av noter på stor skärm som är lätt att administrera, lätt att skriva ut noter om det behövs samt ett system som låter oss skapa program för olika uppträdanden.

Installation av Android på Raspberry Pi

Man hittar information om Android på Raspberry Pi på:

https://pimylifeup.com/raspberry-pi-android/

Registrering av Emteria OS:

https://emteria.com   (registrering krävs)

Totalpriset på en notvisningsdator för en stor TV-skärm med HDMI-anslutning blir då följande:

  • Raspberry Pi model 3 B+  kostar ca. 40 Euro
  • Minneskort 64 GByte kostar ungefär 10 Euro
  • Skal/inneslutning till Raspberry Pi kostar ca. 15 Euro
  • Android operativsystem EmteriaOs utan restriktioner kostar 19 Euro. Det finns en gratis testversion som stänger av sig efter åtta timmar men som kan återstartas för åtta timmar igen … min uppfattning är att gratisversionen är helt adekvat.
  • MobileSheetsPro kostar ungefär 15 Euro på Google play

Totalt ca. 100 E dock så att nästan alla komponenter fanns i min miljonlåda … jag behövde inte åka iväg kör att köpa någon saknad komponent.

Plats finns för kanske tiotusen sidor noter i extremt kompakt format. Lägger jag till ett SD-minne så finns det plats för hundratusen sidor.

Efter att jag gjorde ovanstående analys av kostnaderna så undersökte jag andra alternativ. Det visar sig att jag kan köpa en motsvarande TV-box med Android operativsystem på Ebay för ca. 19E inklusive transport … så jag beställde ett sådant system men jag får vänta till efter julen på att systemet skall levereras.

Resultatet blir att jag kommer att experimentera med Raspberry Pi alternativet under några veckor medan jag väntar på TV-boxen. Det finns naturligtvis en, mycket liten, risk att programmer MobileSheetsPro inte kan köras på den beställda TV-boxen men jag uppfattar att risken är obetydlig. Jag valde en lite äldre box som kör Android 7.1 eftersom EmteriaOS bygger på samma Androidversion. Det finns TV-boxar som kör t.o.om. Android 9 men jag har lärt mig att det ofta gör ont att vara i absolut första ledet vad gäller dator/program versioner.

Noter för ett spelmanslag

Erfarenheterna med MobileSheetsPro är att noter bör samlas på minnepinne sorterade i kataloger enligt något logiskt system. Från minnepinnen kan man sedan enkelt importera en katalog i taget till olika Album d.v.s. logiska ”nothäften” som får samma namn som katalogerna på pinnen. Samma minnepinne kan dupliceras till alla spelmän (spelmanslag spelhen = hönsflock?) och utskrift till papper får skötas av individen.

Då noterna finns nere på TV-boxen kan jag konstruera spellistor d.v.s. repertoar för olika gigs utgående från material i de olika albumen.

Om en spelman dyker upp med ett intressant stycke som det finns noter till så kan jag enkelt lägga in stycket i samlingen genom att med telefonen ta en bild av notbladet och importera bladet till önskat album.

Jag kompletterar artikeln senare med erfarenheter kring hur TV-boxen fungerar ihop med MobileSheetsPro.

Hur installerar jag MobileSheetsPro

MobileSheetsPro finns på Google Play. Programmet är inte gratis, det kostar ca. 15E d.v.s. ca. 150 SEK. För att kunna ladda ner programmet måste man ha skapat ett betalkonto på Google Play. Jag har aldrig haft några problem med betalning via Google Play.

Välj MobileSheetsPro i Google Play och tryck ”Install”. Installationen går på kanske fem minuter. Det kan vara en god idé att ögna igenom programmets rätt omfattande bruksanvisning så att man får en bild av vilken funktionalitet programmet erbjuder. Bruksanvisningen ger också en förklaring till den terminologi som används i användargränssnittet.

 


Pointman's

A lagrange point in life

THE HOCKEY SCHTICK

Lars Silén: Reflex och Spegling

NoTricksZone

Lars Silén: Reflex och Spegling

Big Picture News, Informed Analysis

Canadian journalist Donna Laframboise. Former National Post & Toronto Star columnist, past vice president of the Canadian Civil Liberties Association.

JoNova

Lars Silén: Reflex och Spegling

Climate Audit

by Steve McIntyre

Musings from the Chiefio

Techno bits and mind pleasers

Bishop Hill

Lars Silén: Reflex och Spegling

Watts Up With That?

The world's most viewed site on global warming and climate change

TED Blog

The TED Blog shares news about TED Talks and TED Conferences.

Larsil2009's Blog

Lars Silén: Reflex och Spegling