Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2024-09-27, 10:28
  #1
Medlem
Luismis avatar
Jag håller på med ett projekt där jag vill simulera en telefonväxel, där olika knappval leder till olika meddelanden. Tänk typ "För att komma till telefonist, tryck 1. För att lämna ett meddelande, tryck 2".

Jag lutar åt att använda en gammal hemtelefon med telefonlur och knappar, som jag plockar isär så att jag kan dölja en eller flera små högtalare i luren. Tänker mig att jag på något vis bör kunna lösa det så att ett visst knapptryck spelar upp ett visst meddelande, totalt krävs det fyra ljudspår på max ca 90 sekunder vardera. Om man trycker på en annan knapp medan ett ljudspår spelas behöver det senast klickade spåret kunna avbryta den pågående uppspelningen.

Min fråga är hur jag ska lösa detta rent praktiskt? Jag har noll kunskap om teknik, men har en sambo som kan hjälpa mig att fatta det tekniska när jag väl köpt materialet. Han har dock inte jobbat med den här typen av grejer på ett gäng år och var lite osäker på vilka prylar som är mest lämpliga av det som finns på marknaden nu.

Min tanke just nu är att antingen köpa de delar som behövs och låta sambon peta ihop dem, eller att köpa någon färdig lösning, men i så fall vad? Funderade på att ta loss tekniken ur t ex ett par såna där grattiskort med ljud och peta in det hela i telefonluren. Ljudspåren jag ska använda är dock förinspelade filer och inget jag kan spela in direkt på ett sånt kort. Skulle även vilja ha åtminstone lite bättre ljudkvalitet än såna kort brukar ha och som sagt behöver ljudspåren kunna avbryta varandra. Men det kanske finns något liknande som funkar.

Tar gärna emot input och tankar kring lösningar och problem som kan uppstå med den ena eller andra lösningen
Citera
2024-09-27, 10:33
  #2
Avstängd
PalmeKillers avatar
Finns färdig öppen källkod, du kan simulera med olika sip klienter.

https://www.asterisk.org/
Citera
2024-09-27, 10:44
  #3
Medlem
Grattiskorten låter som en dålig idé. Det finns IC-kretsar från telefonsvarare på ebay om du ska göra en elektronisk lösning. En arduino och några sådana skulle funka?

Eller en rasberry pi och en mjukvarulösning?

Eller en vanlig pc?
Citera
2024-09-27, 15:15
  #4
Medlem
Neksnors avatar
Du vill alltså bygga om en gammal hemma telefon så att du kan lyfta på luren och leka att du kommunicerar med en växel?
Raspberry pi bör funka, det finns en del stift som kan användas för IO. Koppla knapptelefonens knappar och "sensorn" som registrerar lyft lur till stiften och låt sedan datorn sköta allt.
Citera
2024-09-27, 23:23
  #5
Medlem
xitunos avatar
Jag hade löst det så här:

1. Skaffat en ATA-box (analog telefoniadapter)
Det är en box som omvandlar vanlig gammal telefoni till ip-telefoni.

Du behöver då alltså inte modifiera telefonen.

Exempelvis Grandstream HT801 ATA (för en telefon) eller Grandstream HT802 ATA (för två telefoner).
Nya kostar de 500-600 kronor, men letar du bör du hitta en begagnad.


2. Skaffa en Raspberry Pi eller använd en gammal dator och installera Asterisk på den.

Asterisk är en digital telefonväxel (som inte kostar något), som du kan göra mycket med.

När man lufter luren får du kopplingston (genereras av ATA-boxen), eller så konfigurerar man boxen så att den ringer upp ett förvalt nummer så fort man lufter luren. När du slår ett nummer skickas det till asterisken, och du kan spela upp vilka ljudfiler du vill, eller (om du har ett sip-abonnemang) göra ett riktigt samtal.

Om du aktiverar en sip-telefon på din mobil kan du ringa mellan den analoga telefonen och din mobil
Om du har saker som går att styra via nätet, kan du använda den analoga telefonen till att göra styrningen.

Och vill du byta telefon i framtiden, är det bara att byta, utan att göra några modifieringar.

Många ATA-boxar kommer med två anslutningar, så du kan ansluta två telefoner. Eller skaffa fler boxar och ansluta en analog telefon i varje rum, och med asterisken göra den möjligt att ringa till olika rum.

En del ATA-boxar klarar även av puls-signalering, det vill säga telefoner med snurr-skiva.
Citera
2024-10-05, 10:52
  #6
Medlem
xitunos avatar
Du får gärna berätta hur det går.
Citera
2024-11-13, 08:51
  #7
Medlem
Luismis avatar
Citat:
Ursprungligen postat av PalmeKiller
https://www.asterisk.org/



Citat:
Ursprungligen postat av Sellowzki
Grattiskorten låter som en dålig idé. Det finns IC-kretsar från telefonsvarare på ebay om du ska göra en elektronisk lösning. En arduino och några sådana skulle funka?

Eller en rasberry pi och en mjukvarulösning?

Eller en vanlig pc?

Citat:
Ursprungligen postat av Neksnor
Du vill alltså bygga om en gammal hemma telefon så att du kan lyfta på luren och leka att du kommunicerar med en växel?
Raspberry pi bör funka, det finns en del stift som kan användas för IO. Koppla knapptelefonens knappar och "sensorn" som registrerar lyft lur till stiften och låt sedan datorn sköta allt.

Citat:
Ursprungligen postat av xituno
Du får gärna berätta hur det går.

Tack för tipsen allihop! Projektet har legat på is ett tag, men nu ska jag se om vi inte kan komma igång igen

Och ja, det är väl i princip leka växel jag vill göra. Det är till ett escape room-ish.
Citera
2024-11-14, 03:59
  #8
Medlem
xitunos avatar
Citat:
Ursprungligen postat av Luismi
Och ja, det är väl i princip leka växel jag vill göra. Det är till ett escape room-ish.

Då tycker jag definitivt att du skall titta närmare på mitt alternativ med ATA-box och asterisk som telefonserver.

Med ATA-boxen kan du enkelt byta telefon om den befintliga går sönder, eller du vill byta ut den mot en annan tidsperiod. Du kan ringa in till telefonen (från ditt eget nät) och ringa ut från telefonen (till ditt eget nät). Du kan enkelt byta vad som skall spelas upp när man ringer. Och har du en anknytning till går det att ha en konversation.

Och framförallt: det är betydligt mindre jobb än att pilla i telefonen och byta ut komponenter.
Citera
2024-11-14, 08:03
  #9
Medlem
asterisk pbx är som många skriver vad du ska ha.
Sen om du kör på en fullstor dator med analoga kort som du sätter i eller en Raspberry pi får du välja själv. Med Raspberry pi kör du med en voip gateway.
För gamla telefoner som inte har tonval måste du köra på analoga kort som inte säljs längre.
Citera
2024-11-14, 10:50
  #10
Moderator
Falukropps avatar
Citat:
Ursprungligen postat av Luismi
Jag håller på med ett projekt där jag vill simulera en telefonväxel, där olika knappval leder till olika meddelanden. Tänk typ "För att komma till telefonist, tryck 1. För att lämna ett meddelande, tryck 2".

Jag lutar åt att använda en gammal hemtelefon med telefonlur och knappar, som jag plockar isär så att jag kan dölja en eller flera små högtalare i luren. Tänker mig att jag på något vis bör kunna lösa det så att ett visst knapptryck spelar upp ett visst meddelande, totalt krävs det fyra ljudspår på max ca 90 sekunder vardera. Om man trycker på en annan knapp medan ett ljudspår spelas behöver det senast klickade spåret kunna avbryta den pågående uppspelningen.

Min fråga är hur jag ska lösa detta rent praktiskt? Jag har noll kunskap om teknik, men har en sambo som kan hjälpa mig att fatta det tekniska när jag väl köpt materialet. Han har dock inte jobbat med den här typen av grejer på ett gäng år och var lite osäker på vilka prylar som är mest lämpliga av det som finns på marknaden nu.

Min tanke just nu är att antingen köpa de delar som behövs och låta sambon peta ihop dem, eller att köpa någon färdig lösning, men i så fall vad? Funderade på att ta loss tekniken ur t ex ett par såna där grattiskort med ljud och peta in det hela i telefonluren. Ljudspåren jag ska använda är dock förinspelade filer och inget jag kan spela in direkt på ett sånt kort. Skulle även vilja ha åtminstone lite bättre ljudkvalitet än såna kort brukar ha och som sagt behöver ljudspåren kunna avbryta varandra. Men det kanske finns något liknande som funkar.

Tar gärna emot input och tankar kring lösningar och problem som kan uppstå med den ena eller andra lösningen


Ser två potentiella lösningar, tyvärr är ingen av dem helt trivial för den tekniskt utmanade att genomföra. Det kommer krävas ett visst mått av knowhow och praktiska kunskaper, dock inget man inte kan läsa/öva sig till om man har lite jävlaranamma när det kommer till att ro projektet i land.

1) Den som redan föreslagits, att sätta upp faktisk lokal telefoni med Asterisk.

2) Modifiera en gammal telefon. Knappsatsen består av vanliga brytare. Låt dessa styra digitalingångar på en microcontroller, som väljer ljudfil och spelar upp på en analogutgång, eller simulerar en analog ljudsignal via pulsviddsmodulering på en digitalutgång, beroende på vilken knapp man tryckt.

Programmeringen för att åstadkomma ovanstående är väldigt grundläggande, typiskt bra förstaprojekt faktiskt. Nötterna att knäcka är:

- Hitta en lämplig controller med tillräckligt mycket minne för att lagra den nödvändiga ljuddatan, eller lösa det med externt minne. Kan gå med Arduino, sett en del libbar för ljuduppspelning, men det hänger förstås på hur långa meddelanden du vill ha. Generellt har microcontrollers väldigt lite ickevolatilt minne.

- Konstruera ett förstärkarsteg som konverterar utnivån från microcontrollern till lämplig nivå för högtalaren i telefonluren. Detta består i bästa fall av bara en transistor. Alternativt kan man byta ut högtalaren i luren till något som microcontrollern orkar driva direkt.

Notera att det sannolikt finns bättre sätt att angripa detta än de jag föreslår. Se det som en utgångspunkt, har inte alls grävt i det. Sannolikt skulle jag ändra mig, kanske radikalt, om jag gjorde det.

Tillägg: ESP2866 skulle nog vara en utmärkt plattform för ovanstående:

- Kostar bara några tior, dvs inga stora pengar i sjön om projektet skulle fallera.
- Kan programmeras med Arduino-kod, som är väldigt väldokumenterad och lätt att hitta/få hjälp med i jättecommunityn kring Arduino.
- Har wifi, vilket öppnar för massor av intressanta möjligheter att bygga ut det och uppdatera kod/ljudfiler bekvämt OTA.
- Finns i utförande med 4MB minne, vilket är plenty i sammanhanget. Vi räknar högt med 1MB overhead till annat, och har 3MB minne kvar att lagra ljud på. Nyquist anser att vi behöver ~12KHz sample rate för att kunna reproducera de högsta frekvenserna i mänskligt tal med god marginal, kanske till och med kvinnliga skräckfilmsskrik om sådana är aktuella. Gissar att vi kommer undan med 8 bits kvantisering. Mellan tumme och och pekfinger skulle vi då kunna klämma in 4 min okomprimerat ljud på den tillgängliga lagringsytan.

ESP2866 är eventuellt tillräckligt kraftfull för att kunna avkomprimera åtminstone de lättaste protokollen i realtid, och det finns också marginaler att ta av på samplerate och kvantisering, om det skulle behövas längre total uppspelningstid än så.
__________________
Senast redigerad av Falukropp 2024-11-14 kl. 11:49.
Citera
2024-11-14, 11:16
  #11
Medlem
JohnsJohns avatar
Citat:
Ursprungligen postat av Falukropp
Ser två potentiella lösningar, tyvärr är ingen av dem helt trivial för den tekniskt utmanade att genomföra. Det kommer krävas ett visst mått av knowhow och praktiska kunskaper, dock inget man inte kan läsa/öva sig till om man har lite jävlaranamma när det kommer till att ro projektet i land.

1) Den som redan föreslagits, att sätta upp faktisk lokal telefoni med Asterisk.

2) Modifiera en gammal telefon. Knappsatsen består av vanliga brytare. Låt dessa styra digitalingångar på en microcontroller, som väljer ljudfil och spelar upp på en analogutgång, eller simulerar en analog ljudsignal via pulsviddsmodulering på en digitalutgång, beroende på vilken knapp man tryckt.

Programmeringen för att åstadkomma ovanstående är väldigt grundläggande, typiskt bra förstaprojekt faktiskt. Nötterna att knäcka är:

- Hitta en lämplig controller med tillräckligt mycket minne för att lagra den nödvändiga ljuddatan, eller lösa det med externt minne. Kan gå med Arduino, sett en del libbar för ljuduppspelning, men det hänger förstås på hur långa meddelanden du vill ha. Generellt har microcontrollers väldigt lite ickevolatilt minne.

- Konstruera ett förstärkarsteg som konverterar utnivån från microcontrollern till lämplig nivå för högtalaren i telefonluren. Detta består i bästa fall av bara en fälteffektstransistor. Alternativt kan man byta ut högtalaren i luren till något som microcontrollern orkar driva direkt.

Notera att det sannolikt finns bättre sätt att angripa detta än de jag föreslår. Se det som en utgångspunkt, har inte alls grävt i det. Sannolikt skulle jag ändra mig, kanske radikalt, om jag gjorde det.
Med faktisk lokal telefoni kan man ju utöka projektet så att det faktiskt går att ringa till ett intilliggande escaperoom.
Citera
2024-11-14, 11:32
  #12
Moderator
Falukropps avatar
Citat:
Ursprungligen postat av JohnsJohn
Med faktisk lokal telefoni kan man ju utöka projektet så att det faktiskt går att ringa till ett intilliggande escaperoom.

Hehe, den stora vinningen med det skulle väl i sådana fall vara att det går att ta ut på det "riktiga" telefonnätet också. Vill man bara prata med någon i rummet bredvid är det inga problem att åstadkomma på det andra sättet heller
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in