For at oprette et alarmsystem på en Ubuntu-server uden grafisk interface, som afspiller lydfiler via kommandolinjen og PC'ens lydudgang, samt integrere det med en socket listener som Ruby Sinatra, kan du følge disse trin:
sudo apt-get update
mpg123
til afspilning af MP3-filer:
sudo apt-get install mpg123
aplay
til afspilning af WAV-filer (forudinstalleret på de fleste Ubuntu-systemer):
sudo apt-get install alsa-utils
sudo apt-get install ruby
gem install sinatra
Opret en fil kaldet alarm_system.rb
og tilføj følgende kode:
require 'sinatra'
set :bind, '0.0.0.0'
set :port, 4567
get '/play/:file' do
file = params[:file]
if file.end_with?('.mp3')
system("mpg123 #{file}")
elsif file.end_with?('.wav')
system("aplay #{file}")
else
"Unsupported file format"
end
end
Kør følgende kommando for at starte din Sinatra applikation:
ruby alarm_system.rb
For at teste alarmsystemet, kan du bruge en webbrowser eller et værktøj som curl
til at sende en GET-forespørgsel til serveren:
curl http://localhost:4567/play/path/to/your/soundfile.mp3
Erstat path/to/your/soundfile.mp3
med den faktiske sti til din lydfil.
For at sikre, at din Sinatra applikation starter automatisk ved opstart, kan du oprette en systemd service:
/etc/systemd/system/alarm_system.service
og tilføj følgende indhold:
[Unit]
Description=Alarm System Service
After=network.target
[Service]
ExecStart=/usr/bin/ruby /path/to/alarm_system.rb
Restart=always
User=your_username
Group=your_groupname
[Install]
WantedBy=multi-user.target
sudo systemctl enable alarm_system.service
sudo systemctl start alarm_system.service
Dette setup vil sikre, at din Ubuntu-server kan afspille lydfiler via kommandolinjen og integreres med en Ruby Sinatra socket listener.
Spar dig selv for besvær og kom igennem din to-do liste i dag
1
Beskriv din opgave
2
Modtag bud
3
Få løst din opgave
Møbelsamling
Hjælp med at samle Ikea klædeskab
Maler
Klargøring af lejlighed til flyttesyn
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Havearbejde
Beskæring af 4 større træer
IT support
Geninstallering af windows + programmer
Elektriker
Installation af Sonos musikanlæg i hus
Rengøring
Ugentlig rengøring af lejlighed (114kvm)
Flyttehjælp
Flytning af 150 kvm hus til Roskilde fra København
Elektriker
Opsætning af lamper i stue og soveværelse
Catering
3-retters menu til 14 mennesker