How to setup SiriProxy

 วันนี้เรามาดูวิธีการทำ Siri Proxy กันดีกว่าครับ (วิธีการนี้เอามาจาก https://github.com/plamoni/SiriProxy) ลักษณะการทำงานของระบบ Siri จากที่สังเกต log ไฟล์จากโปรแกรม จะเป็นดังนี้

iPhone 4S จับคำพูดเป็น Package –> ข้อมูลส่งไปที่เครื่องเซอร์เวอร์ Siri ของแอบเปิ้ลเพื่อแปลงเป็น Text –> ประโยคที่พูดถูกส่งกลับมาเพื่อตรวจสอบกับ Application Server เพื่อทำงาน -> ผลลัพท์จาก Application Server ส่งกลับไปไอโฟนเพื่อพูดหรือแสดงผล

เรามาดูวิธีการติดตั้งกันด้านในเลยครับ


 ความต้องการของระบบ
– Ubuntu Linux 9.1 -> 11.1 ตัวไหนก็ได้
– iPhone 4S

ขั้นที่ 1) เพื่อเป็นความง่ายในการติดตั้งและลองทดสอบใช้งาน ให้ล๊อคอินเป็น root เสียก่อนครับ และมาลงไฟล์ที่ต้องการใช้งานกับระบบ SiriProxy ด้วยคำสั่ง apt-get

# apt-get install dnsmasq ruby build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion

ขั้นที่ 2) ตั้งระบบ DNS สำหรับ SiriProxy เพื่อดักข้อมูลที่ส่งไป Siri ของแอปเปิ้ล และการ forward การใช้งาน DNS อื่นๆ  ที่ไม่เกี่ยวข้อง

#vi /etc/dnsmasq.conf

เพิ่มบรรทัดข้างล่างเข้าไปในไฟล์ dnsmasq.conf
address=/guzzoni.apple.com/<server_ip_address>
แล้วทำการรีสตาร์ท service dnsmasq
#/etc/init.d/dnsmasq restart
ขั้นที่ 3) ติดตั้งโปรแกรม RVM และ Ruby 1.9.3
#bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
#echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
ถึงขั้นตอนนี้โปรแกรม RVM จะถูกติดตั้งไปใน /usr/local/rvm

#/usr/local/rvm/bin/rvm install 1.9.3

ถ้าใครไปอ่านขั้นตอนจากเว็บต่างประเทศแล้วยังทำไม่ได้ ให้ทำตามนี้เพิ่มเติมครับ

# ln -s /usr/local/rvm/bin/gem-ruby-1.9.3-p0 /usr/bin/gem
# ln -s /usr/local/rvm/bin/ruby-1.9.3-p0 /usr/bin/ruby
ขั้นที่ 4) ติดตั้งโปรแกรม rake และ bundler
#/usr/local/rvm/bin/rvmsudo gem install rake bundler
หลังจากติดตั้งเสร็จ
# ln -s /usr/local/rvm/bin/rake-ruby-1.9.3-p0 /usr/bin/rake

 

ขั้นที่ 5) ทำการโคลนไฟล์ของ SiriProxy มาไว้ในเครื่อง

cd /root
#git clone git://github.com/plamoni/SiriProxy.git
#cd SiriProxy
#/usr/bin/rake install
#mkdir /root/.siriproxy
#cp ./config.example.yml ~/.siriproxy/config.yml
#./bin/siriproxy gencerts

การเชื่อมต่อระบบเข้ากับ SiriProxy จะทำผ่าน SSL Server โดยจะมีการใช้ Private/Public key คำสั่งสุดท้ายที่ทำจะเป็นการสร้างไฟล์ ca.pem เพื่อให้เครื่อง iPhone 4S รู้จักกับ SiriProxy ของคุณหลังจากนี้ก็ให้ทำการ copy ไฟล์ ca.pem ที่อยู่ใน /root/.siriproxy/ca.pem ส่งเมล์เข้าไปในเครื่อง iPhone แล้วทำการติดตั้ง CA นี้ในเครื่องให้เรียบร้อยขั้นที่ 6) เตรียมความพร้อมของ SiriProxy

#./bin/siriproxy bundle
#/usr/local/rvm/bin/rvmsudo ./bin/siriproxy server

เท่านี้เครื่อง Server ของคุณก็พร้อมใช้งานกับ iPhone 4S ผ่านระบบ Siri แล้วครับ

การทดสอบก็พูดว่า “test siri proxy” แล้วรอฟังผลลัพท์

Leave a Reply