This document describes an EOS project for a Morse code chatroom. It includes an architecture that uses functions like accept(), connect(), setname(), and reply() to set up client-server connections. It also describes the client-server activities like changing names and sending/receiving messages. Finally, it details the input/output design using a keypad and LCD for interaction and includes diagrams of the interfaces. It proposes using asymmetric encryption and select() for monitoring to optimize memory usage and improve real-time performance of the chatroom.
This document summarizes an embedded operating system final project presentation. The project involves developing an OS for group buying functionality. The presentation outlines the user guide, architecture, OS applications, I/O devices, and demonstrations of the system. The system allows users to search for groups, create groups, join groups, and receives notifications when a group is full. It uses multiple threads, semaphores, mutexes, and signals to synchronize data and notifications across client-server communication. Demonstrations show the behavior of multiple clients creating and joining groups simultaneously and receiving signals when a group is filled.
This document describes a taiko drum game system with the following key points:
1. The system displays songs on an LCD for players to follow symbols and hit corresponding drum areas. It tracks accuracy and displays scores.
2. It uses multiple processing threads for tasks like printing the field, detecting input, judging accuracy, and displaying scores.
3. Drum hits are represented as units with attributes like position and type (note or space). Accuracy is judged by comparing played units to a pattern.
4. The system has a main process that coordinates emptying the field, running the other threads, and sharing memory between components. Hardware includes a CPU, memory, codec and CPLD for input/output
This document describes the system architecture and communication protocol for a peer-to-peer voice messaging application. It discusses using (1) threads to handle server, receiver, and keypad functions, (2) sockets for communication between users with a central server, and (3) codecs for recording and playing voice messages. The socket implementation was modified to use dynamic ports for senders and receivers to allow multi-user communication through a central server.
This document outlines a communication platform that allows users to connect with friends. It describes a system architecture with two hosts that can send and receive text, voice, and pattern messages through an Ethernet connection. The working tasks are also defined, including using a keyboard and keypad to send messages, an LCD to display messages, a microphone and audio output for voice calls, and a 7-segment display to show call time. Work is divided between implementing internal socket and thread functions versus external user interface elements. The goal is to enable group connections and eventually incorporate wireless communication.
This document summarizes an embedded operating system final project presentation. The project involves developing an OS for group buying functionality. The presentation outlines the user guide, architecture, OS applications, I/O devices, and demonstrations of the system. The system allows users to search for groups, create groups, join groups, and receives notifications when a group is full. It uses multiple threads, semaphores, mutexes, and signals to synchronize data and notifications across client-server communication. Demonstrations show the behavior of multiple clients creating and joining groups simultaneously and receiving signals when a group is filled.
This document describes a taiko drum game system with the following key points:
1. The system displays songs on an LCD for players to follow symbols and hit corresponding drum areas. It tracks accuracy and displays scores.
2. It uses multiple processing threads for tasks like printing the field, detecting input, judging accuracy, and displaying scores.
3. Drum hits are represented as units with attributes like position and type (note or space). Accuracy is judged by comparing played units to a pattern.
4. The system has a main process that coordinates emptying the field, running the other threads, and sharing memory between components. Hardware includes a CPU, memory, codec and CPLD for input/output
This document describes the system architecture and communication protocol for a peer-to-peer voice messaging application. It discusses using (1) threads to handle server, receiver, and keypad functions, (2) sockets for communication between users with a central server, and (3) codecs for recording and playing voice messages. The socket implementation was modified to use dynamic ports for senders and receivers to allow multi-user communication through a central server.
This document outlines a communication platform that allows users to connect with friends. It describes a system architecture with two hosts that can send and receive text, voice, and pattern messages through an Ethernet connection. The working tasks are also defined, including using a keyboard and keypad to send messages, an LCD to display messages, a microphone and audio output for voice calls, and a 7-segment display to show call time. Work is divided between implementing internal socket and thread functions versus external user interface elements. The goal is to enable group connections and eventually incorporate wireless communication.
3. Blok diagram
Flash media
serverLogitech
webcam
c170
Socket : Server
MySQL
database
Apache
Server
Robot control kernel
Raspi Raspi
Creator PXA-270
Socket :
Client
GPIO:
control
USB
RTMP
WIFI
LAN
L298N
Motor driver
FA-130
DC Motor
FA-130
DC Motor
4. 軟體架構
gateway
AFM
server
apache
server
Robot control kernel
WEB UI
MySQL
Database
HTML /CSS3/JSP RTMP PHP
MySQL API
GStreamer
TCP Soclet
上層系統 : 藍色
負責前端網頁介面與即時影像串流,後端有一個MySQL 資料
庫,負責記錄使用這下達的控制命令,並且讓gateway到資料
庫裡面取得控制的命令。
Gateway : 綠色
取出資料庫的控制指令並傳到機器人核心程式。
Live streaming 把機器人的影像即時串流到網頁。
Robot Control kernel : 橘色
負責接收gateway傳來的 控制命令並藉由GPIO腳位輸出訊號給
馬達做運動控制。
5. 上層系統 : live streaming
Flash media server
?Flash Media Server卻是提供了RTMP的服務,不需要request and response,他與使用者之間的
連線是連續的,但Flash Media Server沒有所謂的人機介面,也不能自己直接初始化一個連線來連
接影片,這個產生連線的過程,必須要藉由Flash Player來完成
?可以對付多個client的問題
Gstreamer
?A framework for creating streaming media applications.
?Its main advantages are that the pluggable components (ex.omxh264enc) can be mixed and
matched into arbitrary pipelines so that it's possible to write a full-fledged video or audio
editing application.
FMS
GStreamer
Strobe
media
playback
webcam
PI PI
RTMP
6. 上層系統 : live streaming
Strobe media playback
?Provides more flexibility than Flash Media Playback, it can be deployed behind firewalls, and based
on Open Source Media Framework (OSMF).
?OSMF is a pure Action Script? 3.0 framework that gives developers complete flexibility and
control in creating their own rich media experiences.
RTMP(Real-Time Messaging Protocol)
? 可以進行 Live Streaming (線上直播串流)
? 能夠動態的根據網路頻寛調整影像 Streaming 傳送的品質對應。
? 播放器在重播片段的時後只要使用小小的 buffer不需要下載整個影片 ,可以節省頻寛
? RTMP 並不是使用 HTTP 的 Port 80走的也不是 http 通訊協定,因此可能會被一些防火牆擋住無法透通,
因此我們使用strobe media playback 把 flash player 內嵌在我們的網頁中,port 1935
7. Gateway
Socket thread
負責建立socket 並與client 做連線
MySQL thread
使用MySQL API 到資料庫擷取網頁端傳下來的資
料
在共有資源部分設一個mutex,每次只會有一個
thread 進行共同資源的存取
Socket create
Gateway
bind
listen
Accept
MySQL
connection
Fetch data
Data changed
Server
message
Request
command
send
yes
no
Mutex