Commit ed01123d authored by 罗小雨's avatar 罗小雨
Browse files

车辆位姿数据完善字段

parent 9d19c112
......@@ -20,6 +20,7 @@ data class CarVehicleItem(
val light: Int,
val longitude: Double,
val msgId: String,
val modelId:String,
val parkInLot: Int,
val receiveTime: Long,
val reportTime: Long,
......@@ -30,6 +31,7 @@ data class CarVehicleItem(
val vehicleId: String,
val vehiclePlate: String,
val vehiclePurpose: String,
val vehicle_purpose_special_vehicle_qs: String,
val waterState: Int,
val wheelAngle: String,
val wiper: Int
......
......@@ -12,6 +12,7 @@ import com.sd.cavphmi.databinding.ActivityMainBinding
import com.sd.cavphmi.intfaces.OnConCan
import com.sd.cavphmi.ui.fragment.CarPanelFragment
import com.sd.cavphmi.ui.fragment.ExoPlayFragment
import com.sd.cavphmi.ui.view.CustomDialog
import com.sd.cavphmi.utils.DisplayUtil
import com.sd.cavphmi.viewmodels.MainVm
import com.sd.cavphmi.viewmodels.MockVM
......@@ -105,7 +106,13 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>() {
binding.btV2x.setOnClickListener {
mainVm.subStartV2x()
}
//模拟选择车辆
binding.btSetcar.setOnClickListener{
val dialog=CustomDialog(this)
var list= listOf("skywell.1ggvlp16.car10","skywell.1ggvlp16.car8")
dialog.setData(list)
dialog.show()
}
}
......
package com.sd.cavphmi.ui.fragment
import android.util.Log
import androidx.fragment.app.activityViewModels
import androidx.lifecycle.ViewModelProvider
import com.sd.cavphmi.BR
import com.sd.cavphmi.R
import com.sd.cavphmi.base.BaseFragment
import com.sd.cavphmi.databinding.FragmentCarPanelBinding
import com.sd.cavphmi.highmap.HighMapApi
import com.sd.cavphmi.viewmodels.CarPanelVM
import com.sd.cavphmi.viewmodels.MainVm
import dagger.hilt.android.AndroidEntryPoint
......@@ -117,6 +119,11 @@ class CarPanelFragment : BaseFragment<FragmentCarPanelBinding, CarPanelVM>() {
mainVm.carVehicle.observe(this) {
//更新车辆仪表,这里模拟只取第一个
viewModel.setCarPanelBean(it)
for( item in it){
Log.e("Car", "------车辆位姿数据----$item")
HighMapApi.setCarPosition(20.80189f,item.heading,item.latitude,item.longitude)
}
}
}
......
......@@ -19,14 +19,16 @@ object MyContants {
// private val reType = "51world"
//跟踪车辆的ID 267(模拟) skywell.1ggvlp16.car10 skywell.1ggvlp16.car8
private val VEHICLEID = "skywell.1ggvlp16.car8"
var WSHOST = "wss://itg-dev.cu-sc.com:19443/WSPLUSV5/socket?token=${WSTOKEN}&vehicleId=${VEHICLEID}&"
// var WSHOST = "wss://itg-dev.cu-sc.com:19443/WSPLUSV5/socket?token=${WSTOKEN}&vehicleId=${VEHICLEID}&"
var WSHOST = "wss://172.24.124.130:19443/wsplus/socket?token=121&reType=freedo&vehicleId=7&"
// var PORT = if (IS_DEBUG) "123" else "34534"
/***感知目标物 &intersectionCode=17 停车场 不传就是整个园区***/
var WS_FEEL_TARGET = "${WSHOST}msgType=1&intersectionCode=17"
/***网联车辆位姿 &vehicleId=***/
var WS_VEH_LOC = "${WSHOST}msgType=2"
// var WS_VEH_LOC = "${WSHOST}msgType=2"
var WS_VEH_LOC = "wss://172.24.124.130:19443/wsplus/socket?token=121&reType=freedo&msgType=2&vehicleId=7"
/***V2X预警 vehicleId 传了就是获取某一辆车的预警 &vehicleId=***/
var WS_V2X = "${WSHOST}msgType=4"
......
......@@ -4,15 +4,27 @@ package com.sd.cavphmi.websockets
import org.java_websocket.client.WebSocketClient
import org.java_websocket.drafts.Draft
import org.java_websocket.handshake.ServerHandshake
import java.net.Socket
import java.net.URI
import java.nio.ByteBuffer
import java.security.SecureRandom
import java.security.cert.X509Certificate
import javax.net.ssl.SSLContext
import javax.net.ssl.SSLEngine
import javax.net.ssl.SSLSocketFactory
import javax.net.ssl.TrustManager
import javax.net.ssl.X509ExtendedTrustManager
/*****网联车辆位姿**/
class VecLocWSClient : WebSocketClient {
private val TAG = "-----VecLocWSClient"
constructor(serverUri: URI) : super(serverUri)
constructor(serverUri: URI) : super(serverUri){
if(serverUri.toString().contains("wss://")){
trustAllHosts()
}
}
constructor(serverUri: URI?, protocolDraft: Draft?) : super(serverUri, protocolDraft)
......@@ -56,5 +68,63 @@ class VecLocWSClient : WebSocketClient {
fun onMsg(str: String)
}
private fun trustAllHosts() {
val trustAllCerts =
arrayOf<TrustManager>(object : X509ExtendedTrustManager() {
override fun checkClientTrusted(
chain: Array<out X509Certificate?>?,
authType: String?,
socket: Socket?
) {
}
override fun checkServerTrusted(
chain: Array<out X509Certificate?>?,
authType: String?,
socket: Socket?
) {
}
override fun checkClientTrusted(
chain: Array<out X509Certificate?>?,
authType: String?,
engine: SSLEngine?
) {
}
override fun checkServerTrusted(
chain: Array<out X509Certificate?>?,
authType: String?,
engine: SSLEngine?
) {
}
override fun checkClientTrusted(
chain: Array<out X509Certificate?>?,
authType: String?
) {
}
override fun checkServerTrusted(
chain: Array<out X509Certificate?>?,
authType: String?
) {
}
override fun getAcceptedIssuers(): Array<out X509Certificate?>? {
return null
}
})
try {
val ssl = SSLContext.getInstance("SSL")
ssl.init(null, trustAllCerts, SecureRandom())
val socketFactory: SSLSocketFactory? = ssl.getSocketFactory()
this.setSocketFactory(socketFactory)
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
}
}
\ No newline at end of file
......@@ -79,6 +79,13 @@
android:layout_height="wrap_content"
android:text="网联车辆状态"
android:visibility="gone" />
<Button
android:id="@+id/bt_setcar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择车辆"
/>
<!-- <Button-->
<!-- android:id="@+id/bt_tarpre"-->
<!-- android:layout_width="wrap_content"-->
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment