Class detail data in realtime

Class detail data will be pushed in real time during class. The types available are listed as : hands up, rewards, position of camera, authorise, enter the classroom, leave the classroom, kick off, mute all, mute, Answering tool, Responder, up and down stage, IM text msg in classroom, IM picture msg in classroom, network condition of the classroom(summary for every 5 minites), device report in classroom, help msg from teacher and students, extension of the class time, user login msg in live page, recording start msg

  • different 'cmd' value iditify different type of msg.

  • please notice that some type of the data will also be included in type of 'class total data', which is a summary of teaching behavior, so if you dont need the data to send in realtime, you may substript 'class total data' instead of 'hands up','rewards','enter the classroom' etc.

Hands up

Key type Instruction
Cmd Int32 Command word 67375105
Color String hands up+user ID
Handsup Boolean True is head up status,False is Hands down status

Rewards

Key type Instruction
Cmd Int32 Command word 67375105
Color String award + users ID
Times Int32 Number of reward

position of the camera

Key type Instruction
Cmd Int32 Command word 67375105
Color String webcamPosition + UID
Area Struct coordinate of the camera
└ X1 Int32 X coordinate of the upper left corner
└ Y1 Int32 Y coordinate of the upper left corner
L X2 Int32 X coordinate of the lower right corner
L Y2 Int32 Y coordinate of the lower right corner
OnTop Bool is in the seat area,0:No 1: Yes
Channel Int32 Serial Number of camera,0: The main camera 1: the auxiliary camera

authorise

Key type Instruction
Cmd Int32 Command word 67371520
Operation Boolean True is authorization,False is Cancel the authorization

Enter the classrom

Key Type Instruction
Cmd Int32 Command word 67371107
NickName String The user nickname
AllowEnterTime Int32 Users are kicked out and allowed to enter time again
UID Int32 User ID
LoginMobile String Mobile phone no
Identity Int32 User's identity 1:student, 2:attend, 3:teacher, 4:teaching assistant, 193:Agency principals, 194:Principal's assistant
Device Int32 Login the client type,0x00:PC,0x01:iphone,0x02:ipad,0x03:web client,0x04:Android mobile phone,0x05:Android pad,0x06:Android TV

Out of the classroom

Key Type Instruction
Cmd Int32 Command word 67371111
UID Int32 User ID
Identity Int32 User's identity
Reason Int32 Exit reason,0: unknown exception, 1: normal exit, 2: classroom closed, 3: abnormal exit, 4: kicked out of the classroom, 5: Service shutdown, 6: disconnection, 7: cancellation of course scheduling, 8: user role change

Kick out

Key Type Instruction
Cmd Int32 Command word 67371523
Duration Int32 Kick out the maintenance time
TargetUID Int32 Kicked out student ID
Operation Int32 1 Kicked out

mute

Key Type Instruction
Cmd Int32 67371522 for mute independently , 67371586 for mute all
TargetUID Int32 mute target UID
Operation Int32 1 mute ,0 Cancel the mute

Answering tool

Key Type Instruction
Area Struct The window coordinates
└ X1,Y1,X2,Y2 Int32 Null
Color String When send questions is ‘standaloneSelectorToolglobalData’,When students answer the question is‘standaloneSelectorTool’ + student ID
Cmd Int32 Command word 67375105
QSentTime Int32 time when the tool's send out
CurState Int32 Current answer status 0:Start state,1:Send the topic status,2:State of closed questions
QCollectTime Int32 Closed questions time
CorrectItems String The correct answer
Commited Int32 Student answer status 0: start status, 1: answer status, 2: submit
SelectedItem String Answers chosen by students
AllItems String All alternative answers
Participants Struct students name
└ ShowName String nickname
└ Uid Int32 student ID
L Identity Int32 Answer the questions person identity
RecvQuestionTime Int32 The students received the test time
LastCommitTime Int32 Time for students to submit answers

The Responder

Key Type Instruction
Area Struct The window coordinates
└ X1,Y1,X2,Y2 Int32 Null
Color String Send the topic message is standaloneResponderToolglobalData,The students answered the news is standaloneResponderTool+UID
Cmd Int32 Command word 67375105
RandomTopLeft Struct Random position coordinates
└ X,Y Int32 Null
Participants Struct Students participating in the response
└ ShowName String student nickname
└ Uid Int32 student ID
L Identity Int32 espondents
EndTime Int32 Vies to answer first end time
CurState Int32 The current state,0:Initial state,1:begins,2:Student vies to answer first,3:After the answer, wait,4:end
nId Int32 Fastest responder ID
FastestGuyTime Int32 The fastest time to answer the question
FastestGuyName String The fastest responder person

on stage and down the stage

Key Type Instruction
Cmd Int32 Command word 67371521
Operation Int32 0 is down of the stage,1 is on the stage

IM text msg in classroom

IM text msg user send in the classroom chating tool

Key Type Instruction
Cmd String Command word InMesText
Type Int32 data type of the msg(0 means text msg): 0
Content String string of the msg

IM picture msg in classroom

IM image msg user send in the classroom chating tool

Key Type Instruction
Cmd String Command word InMesImg
Type Int32 data type of the msg(1 means image msg): 1
Content String Base64 transcoding of compressed image data
EmoteType Int32 type of the image: 1-bmp, 2-jpg, 3-gif

a python exmaple to unzip the image

import zlib
import base64

imageData = base64.b64decode(data['Content'])
imageData = zlib.decompress(imageData)
with open('image.jpg', "wb") as f:
    f.write(imageData)

network condition of the classroom

A realtime feedback of network/cpu condition of users in the classroom that send each 5 mintes,which is the summary of the lastest 5 mintes.

Key Type Instruction
Cmd String string of 'Net'
Data json object data of the user
└ poor int number of times in poor network condition
└ bad int number of times in bad network condition
└ normal int number of times in normal network condition
└ good int number of times in good network condition
└ total int total number of times
└ cpuLow int number of times when cpu usage within [0,50)
└ cpuMedium int number of times when cpu usage within[50, 70)
└ cpuHigh int number of times when cpu usage within[70, 90)
└ cpuBusy int number of times when cpu usage within[90, 100]
└ cpuTotal int total number of times
└ localIP String IP of user (the last section is hidden)

example


{
    "ClassID": 290274,
    "ActionTime": 1521547386,
    "UID": 1001920,
    "CourseID": 122982,
    "TimeStamp": 1521547387,
    "Cmd": "Net",
    "_id": "5ab0f87aa3251e6e49b9e892",
    "SID": 1001920,
    "Data": {
        "poor": 0,
        "bad": 0,
        "total": 331,
        "good": 331,
        "normal": 0,
        "cpuLow": 0,
        "cpuMedium": 10,
        "cpuHigh": 31,
        "cpuBusy": 3,
        "cpuTotal": 44,
        "localIP": "1.2.3.*"
    }
}

device report in classroom

Key Type Instruction
Cmd String string of 'Check'
Data json object detail result of the device test
└ OperatingSystem string OperatingSystem
└ CPU string CPU info
└ NetworkDelay string NetworkDelay
└ FrameLoss string FrameLoss
└ MicrophoneArbitrary number status of microphone,1 normal,2 disable or no equipment found
└ HeadphoneArbitrary number status of Headphone,1 normal,2 disable or no equipment found
└ CameraArbitrary number status of Camera,1 normal,2 disable or no equipment found
└ EEO_VIDEO_DEVICE_NAME string selected camera
└ EEO_AUDIO_DEVICE_NAME string selected microphone
└ EEO_AUDIO_OUTPUT_NAME string selected headphone
└ EEO_DEVICE_LIST json object equipment list
  └ camera array camera equipment list
  └ micphone array microphone equipment list
  └ speaker array speaker equipment list
└ MicrophoneImpersonal number device test result of Microphone(1 normal, 2 abnormal or no audio data found), not valid for mobile device
└ CameraImpersonal number device test result of Camera(1 normal, 2 abnormal or no audio data found), not valid for mobile device.
└ HeadphoneImpersonal number device test result of Headphone(1 normal, 2 abnormal or no audio data found), not valid for mobile device
└ MicrophoneAttachment string attachment for micrphone test
└ HeadphoneAttachment string attachement for headphone test(should be empty recently)
└ CameraAttachment string attachment for camera test
└ ClassInVersion string version of classin app
└ Mac string MAC address of the device
└ addTime string time of the device test (timestamp)
└ InfoSource number trigger of the data: 1 initialization of the equipment;2,selection of the equipment,3, finish the self equipment testing;4, changes of equipment;5 finish setting of the equipment;

7, interrupt of the equipment testing; | └ DeviceType | number | type of the device: 0, unknown; 1 Windows; 2 iPhone ; 3 iPad ; 4 Android Phone ; 5 Android Pad ; 6 Mac; | └ ClientIP | string | IP of user (the last section is hidden)|

example

{
    "ClassID": 290274,
    "ActionTime": 1521547218,
    "UID": 1001920,
    "CourseID": 122982,
    "TimeStamp": 1521547219,
    "Cmd": "Check",
    "_id": "5ab0f7d2a3251e6e49b9e88b",
    "SID": 1001920,
    "SafeKey": "7e0a589d8fd68a82a523ac86c95c9d1d",
    "Data": {
        "MicrophoneArbitrary": null,
        "ClassInVersion": "2.1.1.60",
        "EEO_AUDIO_OUTPUT_NAME": "\u626c\u58f0\u5668 (Realtek High Definition Au",
        "FrameLoss": "",
        "EEO_AUDIO_DEVICE_NAME": "\u9ea6\u514b\u98ce (HD Webcam C270)",
        "CameraImpersonal": 0,
        "addTime": 1521547218,
        "CPU": "Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz",
        "OperatingSystem": "Windows 10 (1709)",
        "Mac": "00:15:5D:33:74:C4",
        "CameraArbitrary": null,
        "EEO_VIDEO_DEVICE_NAME": "Logitech HD Webcam C270",
        "ServerName": "EEO-A0134 (Auto)",
        "HeadphoneAttachment": "",
        "ClientIP": "10.0.1.*",
        "MicrophoneAttachment": "https://root_url/upload/autocheck/",
        "EEO_DEVICE_LIST": "{\"camera\": [\"Logitech HD Webcam C270\"], \"micphone\": [\"HD Webcam C270\"], \"speaker\": [\"LG HDR 4K\"]}",
        "MicrophoneImpersonal": 0,
        "CameraAttachment": "",
        "HeadphoneArbitrary": null,
        "InfoSource": 3,
        "NetworkDelay": ""
    }
}

help msg from teacher and students

teachers and students in the classroom can send help to eeo.cn. if there's help msg, this data could be send at the sametime.

Key Type Instruction
Cmd String 'HelpInfo'
ClassID int class ID
Data json object content
└ UID int UID of the user that send the help
└ Message string help msg
└ UserList int array UID of users in the classroom

example


{
    "SID": 1000958,
    "ClassID": 301417,
    "Data": {
        "UID": 1001558,
        "Message": "Speaker is abnormal. The user can't hear sound",
        "UserList": [1001558, 123456]
    },
    "Cmd": "HelpInfo"
}

extension of the class time

at 8 - 3 minutes before the class end time ,the teacher have a change to extend the class(can be set in classroom setting).
if he extend the class time, this data will be send.

Key Type Instruction
Cmd String 'ClassLen'
StartTime Int32 start time of the class,unix timestamp
PrelectTimeLength Int32 duration of the class after extension ,by second
CloseClassDelay Int32 delay after the classin,by second, should be 1200 second

example


{
    "SID": 1000958,
    "StartTime": 1568862650,
    "PrelectTimeLength": 1200,
    "CloseClassDelay": 1200,
    "Cmd": "ClassLen"
}

user login msg in live page

Key Type Instruction
Cmd String 'LiveWebLogin'
ClassID int classin ID
Data json object content
└ Telephone String phone number of the user
└ LoginTime int Unix timestamp
└ Nickname String nickname of the user

example


{
    "SID": 1000958,
    "ClassID": 301417,
    "Data": {
        "Telephone": "10015584345",
        "LoginTime": 1521547219,
        "Nickname": "XiaoMing"
    },
    "Cmd": "LiveWebLogin"
}

recording start msg

send eachtime the teacher starts a cloud recording,with details of the recording setting

Key Type Instruction
Cmd String string of 'LiveDetail'
Data json object Recording details
└ Audio mode string Audio mode", 'ClassIn Audio' or 'System Audio'
└ HighBitRate string BitRate: 'High', or 'Standard'
└ IP string IP of the pusher :maybe a domain name with 'livepush.eeo.cn' or a IP address
└ Micphone is recorded string is Micphone's recorded'Yes' or 'No'
└ Video Scope string Video Scope 'Desktop'OR 'Classroom'
└ Video Size string Video Size : 'HD(1280*720)' or 'FHD(1920*1080)'

example


{
    "SID": 1001920,
    "Data": {
        "Audio mode": "ClassIn Audio",
        "HighBitRate": "Standard",
        "IP": "livepush.eeo.cn",
        "Micphone is recorded": "Yes",
        "Video Scope": "Desktop",
        "Video Size": "HD(1280*720)"
    },
    "ClassID": 392429,
    "Cmd": "LiveDetail"
}

image data of the blackboard

each time when user clean the blackboard, the system will change the edb to an image and send in realtime.

Key Type Instruction
Cmd String 'EdbImg'
Url String address of the image
GroupId int group Id that the edb belongs to,GroupId=0 means the main classroom; it should be always 0 if the class did not use the group function

example


{
    "SID": 1001920,
    "ClassID": 393472,
    "Url": "http://www.eeo.cn/20200819/20200819_393472_0_bb_151823_853.jpg",
    "GroupId": 0,
    "Cmd": "EdbImg"
}

results matching ""

    No results matching ""