RemotePI

Discussion in 'Hemmabyggen' started by SM0KBW, Jan 28, 2018.

  1. SM0KBW

    SM0KBW Well-Known Member

    Gårdagen ägnades åt att lära programmet att hantera de nya fjärrbrytarna och med
    http://tech.jolowe.se/arduino-home-automation-project/ eminenta analys av deras
    protokoll var det enkelt, hmmm - nåja, i alla fall inte för svårt att få till det.

    Nu kan dessa brytare styras från Raspberry Pi programmet.
     
  2. SM0KBW

    SM0KBW Well-Known Member

    Såg att Bosse skrev lite i sin tråd om RPi och remote, tänkte att en liten
    uppdatering av hur mitt projekt utvecklas kunde vara på sin plats.

    Hr nu två RPi som automatiskt kopplar upp sig med varandra det är det systemet
    som är min arbetsplattform.

    Går nu vidare med min lösning med att helt reducerar bort PC/windows i min
    remote anläggning.

    Jag har testat och funnit att Parole är ett utmärkt program för ljudöverföring.
    Med en bandbredd på drygt 3kb/s så ger det ett rätt anständigt ljud, det använder
    sig av Opus för överföringen.

    Den sista delen är att göra en "front" med en display, 10 switchar och en
    VFO ratt. Just nu är knapparna avkodade i koden och testade, displayen som styrs
    med I2C är också färdig att länkas in. nästa steg blir VFO avkodningen.

    Det är tänkt att fronten + de två RPi modulerna ska utgöra ett komplett system.

    Det är tänkt att hem-RPi ska tala med radion via hamlib på fjärr-RPi och att det
    på så sätt blir ett generiskt system då hamlib stödjer ett större antal riggar


    Allt är skrivet i C och körs under Linux naturligtvis :)
     
    Last edited: Mar 27, 2018
    SM0IKR, SM7SEK, SM6FPG and 1 other person like this.
  3. SM0KBW

    SM0KBW Well-Known Member

    Äntligen efter en hel del irrvägar så har jag nu mitt "remote" system uppe. Det består av en front kopplad till en RPi lokalt och i stugan en RPi med en egen utvecklad "shield", den har diverse interface till radion som inte rigctld hanterar. förbindelsen är över VPN med det tidigare i tråden beskrivna Softether paketet då vår 4g router i stugan fortfarande ligger bakom CGN/NAT444.

    Fronten har 10 tryckswitchar, en 2*20 tecken display samt en rotation avkodare, det är en modifierad stegmotor med HALL-effekt sensorer som ger kvadratur avkodningen.
    Systemet fungerar helt självständigt och inga datorer eller andra enheter behövs för att köra det.


    den slutliga lösningen är att jag använder hamlibs rigctld i min remote RPi, lokala RPin kopplar upp sig via en telnet session till rigctld på fjärr RPin. Programmet i den lokala RPi tolkar händelser på fronten och skickar lämpliga rigctld kommandon till remote stationen och hanterar information som sänds tillbaks. CW hanteras genom att förändringar i tillståndet på nyckelingången överförs med tidinformation till remote RPi som buffrar strömmen och sköter nycklingen av stationen. Har ingen bugg inbyggd utan vill man köra bugg så får man helt enkelt koppla in den i nyckelingången på fronten. för att skicka dessa signaler samt andra kontroll signaler som inte hanteras av rigctld så är en extra virtuell-serieport uppkopplad. Andra signaler som skickas över den är styrning av RF nät switchar, 3 stycken kan kontrolleras, det finns även 3 DC-switchar som kan fjärrstyras på stugans RPi.

    För audioöverföring används Parole som är baserat på Opus vilket är det bästa audiokompression paket som finns just nu. Man får en alldeles utmärkt audiokvalité med en dataström på endast 2,5 kB/s.

    Har inte implementerat alla funktioner som jag vill ha på fronten än men det är enkelt att lägga till dessa med tiden - man ska ju ha lite kvar att fila på :)
     
    SM7VGQ, SM6FPG and SM0GLD like this.
  4. SM6FPG

    SM6FPG Fritidskonsulent

    Kul att det blivit till belåtenhet!

    Ett alternativ för de som inte är bevandrade i RPi och programmering kan vara att använda Node-Red och Mosquitto!
     
  5. SM0KBW

    SM0KBW Well-Known Member

    Det finns många vägar att gå när man väl har fått upp ett VPN mellan sina RPi burkar. Man bör nog kunna köra Grig och liknande mjukvara om man vill ha en sådan lösning.

    Jag ville ha lite övning i att programmera i Linux (Unix) då det var alldeles för länge sedan sist. Kommer antagligen när jag testat klart och anser att systemet är moget för det, att släppa ut det under GPL.
     
  6. SM0KBW

    SM0KBW Well-Known Member

    Att just välja Hamlib som bas för fjärrstyrning av radion gör att det är enkelt att ansluta till godycklig rig som de stöder. Det är en rätt diger lista som stöds, nu är det tyvärr att det finns buggar och att man ibland måste återgå till riggens egna CAT kommandon. T.ex så fungerar inte kommandona för power on/off för TS-2000 drivaren utan jag var tvungen att "go native" för den funktionen.

    För I/O hantering och en del annan low level hantering så valde jag WiringPi, vilket är ett utmärkt bibliotek med många möjligheter.

    Jag har ett par QRP riggar som uppträder som IC-718 har jag för mig - kommer testa hur det fungerar med dem, antagligen i sommar. Har också en idé att se om det går att använda något grafisk program som Grig ihop med mitt system.
     
    Last edited: May 11, 2019
  7. SM0KBW

    SM0KBW Well-Known Member

    Glömde att nämna att det är Raspberry 3B+ som jag baserar mitt system på - men det går nog antagligen lika bra A modellen då programmen inte är speciellt tunga att köra.

    Syba SD-AUD20101 USB soundcard används för audio, mest för att jag köpte ett gäng av dem billigt på Ebay för några år sedan.
     
  8. SM0KBW

    SM0KBW Well-Known Member

    För mig var utgångspunkten att systemet skulle göras "old school" med det mesta skrivet i C och i övrigt förlita sig på Unix shellscript.
     
  9. SM6FPG

    SM6FPG Fritidskonsulent

    Det var ingen kritik mot din lösning!

    Jag har blivit väldigt såld på Node-Red och MQTT som en kombination vad gäller IoT.
    Som ex har jag tagit bort ser2net i remote RPin och istället implementerat detta i Node-Red med 2 black box object.

    Men som sagt var och en blir salig på sin tro !
     
  10. SM0KBW

    SM0KBW Well-Known Member

    Ingen kritik mot din lösning heller - men du kan knappast kalla det för ett "programmeringsfritt" system :)
     
  11. SM0KBW

    SM0KBW Well-Known Member

    Har i helgen testat att köra med Grig på en PC, alltså med en mjukvaruklient i stället för fronten och det fungerade utmärkt. Ljudkanal var Parole mjukvaran på RPi till RPi.
    Tänker kompilera Parole för windows Linux subsystem när de kommer med vår uppdateringen Win10, den ska inkludera en Linux kärna. Detta då Parole inte är skrivet för Windows.
     
  12. SM5AKU

    SM5AKU Janne i Vingåker

    Quack!?!
    Fattar jag dig rätt Bengt, M$ med Linux-kernel. Va?
    Giv mig en länk att stilla nyfikenheten.
     
  13. SM0KBW

    SM0KBW Well-Known Member

Share This Page