精华内容
下载资源
问答
  • 传感器数据采集

    2019-03-07 19:22:20
    用于传感器数据采集
  • matlab开发-Android传感器数据采集位置传感器示例。从运行matlab的计算机获取和可视化移动设备的位置数据。
  • 基于安卓手机平台的多传感器数据采集工具,可以得到九轴惯导数据,GPS数据,wifi,光传感器等,可用于室内外定位算法的开发
  • matlab开发-多向传感器数据采集。从运行matlab的计算机中捕获移动设备的方向。
  • linux环境下的车辆多传感器数据采集系统设计,柯小路,李旭,为给组合导航的数据融合提供基本保障,在linux环境下使用C语言和多线程技术构建了一个多传感器数据采集系统。详细介绍了系统的软硬
  • 亲测有效的基于CC2530的烟雾传感器数据采集系统,内含串口助手,采集的数据会显示在串口助手中。
  • 基于8086温湿度传感器数据采集测控仪设计,内有仿真图,仿真原理图,适合微机原理设计 单片机设计 课程设计
  • 本文设计了一种基于S3C2410的CMOS图像传感器数据采集系统。该系统成本更为低廉、结构更为简单、设计更为新颖。
  • 多路传感器数据采集控制模块:SY AD 02A/04A 手册pdf,多路传感器数据采集控制模块:SY AD 02A/04A 手册
  • stm32 实现对传感器数据采集 上传到上位机 ,算法采用四元数算法 +互补滤波算法 ,卡尔曼滤波算法也已经实现
  • 传感器数据采集是许多深度嵌入式应用的基础,并在不断发展的物联网(IoT)中发挥着作用。随着依赖能量收集的趋势,基于传感器的设计需要越来越有效的解决方案来有效和准确地处理传感器信号。在可用的替代产品中,...
  • 低功耗IEPE传感器数据采集系统的设计与实现,硬件电路设计和软件开发
  • 1.3/0.96 OLED屏驱动,攀藤传感器数据采集 OLED驱动 攀藤 STM32
  • 多客户端传感器数据采集系统

    千次阅读 2017-01-02 14:50:23
    多客户端传感器数据采集系统GitHub项目地址:https://github.com/LeoCai/Multi-Sensor-DataCollector项目简介 用于多客户端传感器采集和发送; 可用于科研采集数据; 可利用wifi实时传输传感器数据; 支持一个主节点...

    多客户端传感器数据采集系统

    GitHub项目地址:https://github.com/LeoCai/Multi-Sensor-DataCollector

    项目简介

    • 用于多客户端传感器采集和发送;
    • 可用于科研采集数据;
    • 可利用wifi实时传输传感器数据;
    • 支持一个主节点进行蓝牙控制,多个从节点同时开始采集数据;
    • 支持利用sokect实时传输传感器数据到服务器

    s5.png
    s7.png
    s6.png

    待解决问题

    1. sockect模式下不能重复连接使用
    2. sockect模式下传输数据丢包

    采集的数据类型

    • 加速度 Sensor.TYPE_ACCELEROMETE
    • 陀螺仪 Sensor.TYPE_GYROSCOPE
    • 磁力计 Sensor.TYPE_MAGNETIC_FIELD
    • 重力 Sensor.TYPE_GRAVITY
    • 线性加速度 Sensor.TYPE_LINEAR_ACCELERATION

    修改位置:MySensorManager.java

    参数修改

    频率周期修改: CollectorConfig.java

    项目配置

    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    关联项目

    使用方式

    1. 安装multi_sensor_collector module到各个手机上
    2. 在控制主手机上点击MASTER
    3. 在传感器手机熵点击CLIENT,从手机显示CONNECTED, 主手机显示1 CONNCECTED
    4. 若为本地采集CSV模式:
      1. 输入文件名
      2. 按下主手机上的INIT FILE
      3. 从手机显示FILE INITED
      4. 主手机按下START,从手机显示STARTING,开始采集数据到本地csv
    5. 若为sockect传输模式
      1. 输入主机IP地址
      2. 按下助手及上的INIT FILE
      3. 从手机显示FILE INITED,服务端显示…CONNECTED
      4. 主手机按下START,服务端按下READY,开始传输数据

    主要函数介绍

    module 介绍

    • multi_sensor_collector 项目界面模块,用于安装app,依赖publiclibs
    • publiclibs 封装了采集数据和传输框架,依赖spacesync.jar
    展开全文
  • ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和...本文介绍的是CC2420和MMA7260在无线传感器数据采集系统的应用。
  • 本文介绍了一种以DSP-ADSP-2188M为核心的传感器数据采集系统的软、硬件设计和工作原理,以及与上位机通信的设计和实现过程。该系统可以应用于移动机器人、智能轮椅、自动制导车辆等移动智能系统中。 引言在自主移动...
  • 无线传感器数据采集传输系统,可以实现对温度,压力,气体,温湿度,液位,流量,光照,降雨量,振动,转速等数据参数的实时采集,无线传输,无线监控与预警。在实际应用中,无线传感器数据采集传输系统常见的有信立...

    无线传感器数据采集传输系统,可以实现对温度,压力,气体,温湿度,液位,流量,光照,降雨量,振动,转速等数据参数的实时采集,无线传输,无线监控与预警。在实际应用中,无线传感器数据采集传输系统常见的有信立XL农业物联网智能大棚环境监控系统,智慧养殖环境监控系统,智慧管网管沟监控系统,仓储馆藏环境监控系统,机房实验室环境监控系统,危险品仓库环境监控系统,大气环境监控系统,智能制造运行过程监控系统,能源管理系统,电力监控系统等。

    无线传感器数据采集传输系统,比较常用的的无线数据传输组网技术包括433MHZ,Zigbee(2.4G),运营商网络(GPRS)等三种方式,其中433MHZ,Zigbee(2.4G)属于近距离无线通讯技术,并且都使用ISM免执照频段。运营商网络(GPRS)属于远距离无线通讯技术,按数据流量收费。

    1

    1、基于Zigbee(2.4G)的智能传感网络

    ZigBee的特点是低功耗、高可靠性、强抗干扰性,布网容易,通过无线中继器可以非常方便地将网络覆盖范围扩展至数十倍,因此从小空间到大空间、从简单空间环境到复杂空间环境的场合都可以使用。但相比于WiFi技术,Zigbee是定位于低传输速率的应用,因此Zigbee显然不适合于高速上网、大文件下载等场合。对于餐饮行业的无线点餐应用,由于其数据传输量一般来说都不是很大,因此Zigbee技术是非常适合该应用的。

    2、基于433MHz的智能传感网络

    433MHz技术使用433MHz无线频段,因此相比于WiFi和Zigbee,433MHz的显著优势是无线信号的穿透性强、能够传播得更远。但其缺点也是很明显的,就是其数据传输速率只有9600bps,远远小于WiFi和Zigbee的数据速率,因此433Mhz技术一般只适用于数据传输量较少的应用场合。从通讯可靠性的角度来讲,433Mhz技术和WiFi一样,只支持星型网络的拓扑结构,通过多基站的方式实现网络覆盖空间的扩展,因此其无线通讯的可靠性和稳定性也逊于Zigbee技术。另外,不同于Zigbee和WiFi技术中所采用的加密功能,433Mhz网络中一般采用数据透明传输协议,因此其网络安全可靠性也是较差的。

    3、基于运营商的智能传感网络

    GPRS无线传输设备主要针对工业级应用,是一款内嵌GSM/GPRS核心单元的无线Modem,采用GSM/GPRS网络为传输媒介,是一款基于移动GSM短消息平台和GPRS数据业务的工业级通讯终端。它利用GSM 移动通信网络的短信息和GPRS业务为用户搭建了一个超远距离的数据传输平台。

     

    展开全文
  • 基于FPGA多路时栅位移传感器数据采集与处理系统,简要介绍了数据采集与处理系统的设计,并给出了结果
  • 本文以PLC应用为例,说明多功能、低成本的高度集成 ADAS3022如何通过更换模拟前端(AFE)级,降低复杂性、解决多通道数据采集系统设计中遇到的诸多难题。这种高性能器件具有多个输入范围,非常适合高精度工业、仪器、...
  • iOS传感器数据采集

    千次阅读 2018-02-05 13:29:33
    传感器信息采集项目到了一定的节点,总结一下iOS中传感器信息采集的相关知识。 代码下载:https://github.com/haojinming/SensorInIOS ...

    传感器信息采集项目到了一定的节点,总结一下iOS中传感器信息采集的相关知识。

    代码下载:https://github.com/haojinming/SensorInIOS

    1. Accelerometer
    2. Gyroscope
    3. Magnetometer
    4. Pedometer
    5. Barometer
    6. GPS
    7. Bluetooth
    8. MotionActivity observer
    9. Audio decibel
    10. Wifi status and strength
    11. Ambient Light
    12. Shake status and times
    13. Steps/Pace/Distance
    14. Pressure
    15. NFC
    一、 首先是运动传感器,加速度仪、陀螺仪和罗盘。
    主要使用Core Motion模块进行采集,有Pull和Push两种模式。
    另外有原始数据和经过系统处理两种模式,主要区别在于系统对重力加速度进行了处理,只保留手机用户对手机的输入,在游戏和判断用户运动状态时很有用。
    代码示例(原数据):

    可以指定数据更新的频率,实时性比较好。

    if self.motionManager.isAccelerometerAvailable{
                self.motionManager.accelerometerUpdateInterval = timeIntervalUpdate
                self.motionManager.startAccelerometerUpdates()
            }
            if self.motionManager.isGyroAvailable {
                self.motionManager.gyroUpdateInterval = timeIntervalUpdate
                self.motionManager.startGyroUpdates()
            }
            if self.motionManager.isMagnetometerAvailable{
                self.motionManager.magnetometerUpdateInterval = timeIntervalUpdate
                self.motionManager.startMagnetometerUpdates()
            }
    //get the motion sensor data
            if let data = self.motionManager.accelerometerData{
                self.realTimeData.sensorData.accelerometerData = data.acceleration
            }
            if let data = self.motionManager.gyroData{
                self.realTimeData.sensorData.gyroscopeData = data.rotationRate
            }
            if let data = self.motionManager.magnetometerData{
                self.realTimeData.sensorData.magnetometerData = data.magneticField
            }
    代码示例(系统过滤掉重力加速度):

    if self.motionManager.isDeviceMotionAvailable{
                self.motionManager.deviceMotionUpdateInterval = timeIntervalUpdate
                self.motionManager.startDeviceMotionUpdates()
            }
    if let motionData = motionManager.deviceMotion{
                self.realTimeData.sensorData.accelerometerData = motionData.userAcceleration
                self.realTimeData.sensorData.gyroscopeData = motionData.rotationRate
            }
    二、气压,海拔
    气压海拔数据更新无法制定更新频率,只能通过Block的方式获取,实际会有几秒钟的延迟。
    if CMAltimeter.isRelativeAltitudeAvailable(){
                self.altitudeSensor.startRelativeAltitudeUpdates(to: OperationQueue.main, withHandler: {
                    data, error in
                    if error != nil{
                        print("Error occurs within altitude sensor.")
                    }
                    if let dataTemp = data{
                        self.realTimeData.sensorData.altitudeData = dataTemp
                    }
                })
            }
            else{
                print("Altitude sensor is not available.")
            }
    三、步行相关的传感器,计步器(Pedometer)采集Steps/Pace/Distance,MotionActivity 
    计步器:
    同样无法制定更新频率,延迟比较大,测试结果能达到10s或10m左右的延迟
    private func startPedometerData(){
            self.realTimeData.sensorData.pedometerData = CMPedometerData.init()
            if !CMPedometer.isStepCountingAvailable(){
                print("Pedometer is not available.")
            }
            if !CMPedometer.isPaceAvailable(){
                print("Pace is not available.")
            }
            self.pedometer.startUpdates(from: Date.init(), withHandler: { data, error in
                if (error != nil){
                    print(error.debugDescription)
                }
                if let tempData = data{
                    self.realTimeData.sensorData.pedometerData = tempData
                }
            })
        }
        
        private func stopPedometerData(){
            if CMPedometer.isStepCountingAvailable(){
                self.pedometer.stopUpdates()
            }
        }
    MotionActivity :
    同样会有延迟,延迟三秒左右。


    四、间接传感器,摇一摇,接近传感器
    if self.canBecomeFirstResponder{
                self.becomeFirstResponder()
            }
    override func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
            tableView.endEditing(true)
        }
        
        override func motionBegan(_ motion: UIEventSubtype, with event: UIEvent?) {
            sensorDataCollector.setShakeStatus(status: "ShakeBegan")
        }
        
        override func motionCancelled(_ motion: UIEventSubtype, with event: UIEvent?) {
            sensorDataCollector.setShakeStatus(status: "ShakeCancelled")
        }
        
        override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {
            sensorDataCollector.setShakeStatus(status: "ShakeEnded")
            sensorDataCollector.setShakeTimes(times: sensorDataCollector.getShakeTimes() + 1)
        }
    接近传感器:
    private func startProximityStatus(){
            let curDevice = UIDevice.current
            let isOpend = curDevice.isProximityMonitoringEnabled
            if !isOpend{
                curDevice.isProximityMonitoringEnabled = true
            }
            let defaultCenter = NotificationCenter.default
            defaultCenter.addObserver(self, selector: #selector(self.proximityStateDidChange), name: Notification.Name.UIDeviceProximityStateDidChange, object: nil)
        }
        
        // stop collect proximity status
        private func stopProximityStatus(){
            let curDevice = UIDevice.current
            let isOpend = curDevice.isProximityMonitoringEnabled
            if isOpend{
                curDevice.isProximityMonitoringEnabled = false
            }
        }
        
        // listen the state change of proximity sensor.
        @objc func proximityStateDidChange(){
            let curDevice = UIDevice.current
            if curDevice.proximityState{
                realTimeData.sensorData.proximityStatus = "Closing."
            }
            else{
                realTimeData.sensorData.proximityStatus = "Leaving."
            }
        }
    五、音视频数据采集
    音频可以采集分贝数:
    private func startRecordAudio(){
            let audioSetting = [AVSampleRateKey : Float(8000.0),
                                AVFormatIDKey : Int32(kAudioFormatMPEG4AAC),
                                AVNumberOfChannelsKey : 1,
                                AVEncoderAudioQualityKey : Int32(AVAudioQuality.medium.rawValue)] as [String : Any]
            self.audioSession.requestRecordPermission { (granted) in
                if granted{
                    var recordURL = self.createAudioURL()
                    if recordURL == nil{
                        recordURL = URL.init(fileURLWithPath: "dev/null")
                    }
                    do{
                        try self.audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, with: AVAudioSessionCategoryOptions.defaultToSpeaker)
                        try self.audioRecorder = AVAudioRecorder(url: recordURL!, settings: audioSetting)
                        self.audioRecorder.delegate = self
                        self.audioRecorder.isMeteringEnabled = true
                        self.audioRecorder.prepareToRecord()
                    }catch let error as NSError{
                        print(error)
                        return
                    }
                    if !self.audioRecorder.isRecording{
                        do{
                            try self.audioSession.setActive(true)
                            self.audioRecorder.record()
                            self.audioURL = nil
                        }catch{
                            print("Cann't enable audio record session.")
                        }
                    }
                }
                else{
                    print("Audio is not availible")
                }
            }
        }
        
        private func stopRecordAudio(){
            if audioRecorder != nil && audioRecorder.isRecording{
                audioRecorder.stop()
                do{
                    try self.audioSession.setActive(false)
                }catch{
                    print("Cann't disable audio record session.")
                }
            }
        }


    视频是用来检测环境光的:
    //get ambient light brightbess value from camera
        private func startGetAmbientLightValue(){
            AVCaptureDevice.requestAccess(for: AVMediaType.video) { (granted) in
                if granted && AVCaptureDevice.authorizationStatus(for: AVMediaType.video) == AVAuthorizationStatus.authorized{
                    //input of camera
                    if let cameraDevice = AVCaptureDevice.default(for: AVMediaType.video){
                        do{
                            let deviceInput = try AVCaptureDeviceInput.init(device: cameraDevice)
                            if self.session.canAddInput(deviceInput){
                                self.session.addInput(deviceInput)
                            }
                        }catch{
                            print("Error occurs during start recording audio.")
                        }
                    }
    
                    //ouput of camera
                    let deviceOutput = AVCaptureVideoDataOutput.init()
                    deviceOutput.setSampleBufferDelegate(self, queue: DispatchQueue.main)
                    if self.session.canAddOutput(deviceOutput){
                        self.session.addOutput(deviceOutput)
                    }
                    self.session.startRunning()
                }
                else{
                    print("Camera is not available.")
                }
            }
        }
        private func stopCaptureSession(){
            session.stopRunning()
        }
        
        func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
            let metaDataDict = CMCopyDictionaryOfAttachments(kCFAllocatorDefault, sampleBuffer, kCMAttachmentMode_ShouldPropagate)
            let metaData = NSMutableDictionary.init(dictionary: metaDataDict!)
            let exifMetaData = metaData.object(forKey: kCGImagePropertyExifDictionary) as! NSDictionary
            let brightness = exifMetaData.object(forKey: kCGImagePropertyExifBrightnessValue) as! Double
            self.realTimeData.sensorData.ambientLight = brightness
        }
    六、定位相关的,蓝牙、WiFi,GPS、NFC
    蓝牙:
    private func startScanPeripheral(){
            if self.cbCentralManager == nil{
                self.cbCentralManager = CBCentralManager.init(delegate: self, queue: DispatchQueue.main, options: [CBCentralManagerOptionRestoreIdentifierKey : "HJMID"])
            }
            if timerBLEDevice != nil{
                timerBLEDevice.fire()
            }else{
                timerBLEDevice = Timer.init(fire: Date.init(), interval: timeIntervalBLEScan, repeats: true, block: { (timerBLEDevice) in
                    switch self.cbCentralManager.state {
                    case .poweredOn:
                        if self.cbCentralManager.isScanning{
                            self.cbCentralManager.stopScan()
                        }
                        self.cbCentralManager.scanForPeripherals(withServices: [self.cbuuid], options: [CBCentralManagerScanOptionAllowDuplicatesKey: false])
                        self.realTimeData.sensorData.bleState = "PowerOn"
                    default:
                        break
                    }
                })
                RunLoop.main.add(timerBLEDevice, forMode: RunLoopMode.defaultRunLoopMode)
            }
        }
        
        private func stopScanPeripheral(){
            if timerBLEDevice != nil{
                timerBLEDevice.invalidate()
                timerBLEDevice = nil
            }
            if cbCentralManager != nil{
                cbCentralManager.stopScan()
                for peripheral in peripheralDevices{
                    cbCentralManager.cancelPeripheralConnection(peripheral)
                }
            }
        }
        
        func centralManagerDidUpdateState(_ central: CBCentralManager) {
            switch central.state {
            case .poweredOn:
                self.realTimeData.sensorData.bleState = "PowerOn"
                if self.cbCentralManager.isScanning{
                    cbCentralManager.stopScan()
                }
                cbCentralManager.scanForPeripherals(withServices: nil, options: [CBCentralManagerScanOptionAllowDuplicatesKey: true])
            case .poweredOff:
                self.realTimeData.sensorData.bleState = "PoweredOff"
            case .resetting:
                self.realTimeData.sensorData.bleState = "Resetting"
            case .unauthorized:
                self.realTimeData.sensorData.bleState = "Unauthorized"
            case .unsupported:
                self.realTimeData.sensorData.bleState = "Unsupported"
            default:
                self.realTimeData.sensorData.bleState = "Unknown"
                break
            }
        }
        
        let cbuuid = CBUUID.init(string: "0xFEA7")
        
        func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
            
            var bleState = "Not supported"
            switch peripheral.state {
            case .connected:
                bleState = "Connected"
            case .connecting:
                bleState = "Connecting"
            case .disconnecting:
                bleState = "Disconnecting"
            case .disconnected:
                bleState = "Disconnected"
                //cbCentralManager.connect(peripheral, options: nil)
            }
            var bleName = "No Name"
            if peripheral.name != nil {
                bleName = peripheral.name!
            }
            let bleUUID = peripheral.identifier.uuidString
            //print(bleUUID)
            let bleRSSI = RSSI.intValue
            let bleDevice = BLEDeviceData.init(name: bleName, uuid: bleUUID, state: bleState, rssi: bleRSSI)
            
            updateBLEDeviceDate(inputBleDevice: bleDevice)
            if !peripheralDevices.contains(peripheral) {
                self.peripheralDevices.append(peripheral)//Strong reference
            }
        }
        
        private func updateBLEDeviceDate(inputBleDevice : BLEDeviceData){
            //If exist same device, update its information.
            var currentIndex = -1
            for ii in 0..<realTimeData.sensorData.bleDevicesData.count{
                if realTimeData.sensorData.bleDevicesData[ii].uuid == inputBleDevice.uuid{
                    currentIndex = ii
                }
            }
            if currentIndex >= 0{
                realTimeData.sensorData.bleDevicesData.remove(at: currentIndex)
            }
            realTimeData.sensorData.bleDevicesData.append(inputBleDevice)
        }
        
        func peripheral(_ peripheral: CBPeripheral, didDiscoverServices error: Error?) {
            if error == nil{
                //print("Discover services in device.")
                for service in peripheral.services!{
                    peripheral.discoverCharacteristics(nil, for: service)
                }
            }
        }
        
        func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any]) {
            print("APP will restore")
            
            let restoreID = dict[CBCentralManagerOptionRestoreIdentifierKey]
            if restoreID != nil {
                cbCentralManager = CBCentralManager.init(delegate: self, queue: DispatchQueue.main, options: [CBCentralManagerOptionRestoreIdentifierKey : restoreID as! String])
            }else{
                cbCentralManager = CBCentralManager.init(delegate: self, queue: DispatchQueue.main, options: [CBCentralManagerOptionRestoreIdentifierKey : "HJMID"])
            }
        }
    GPS:
    private func startUpdateLocation(){
            if locationManager == nil {
                locationManager = CLLocationManager.init()
                locationManager.delegate = self
            }
            locationManager.requestWhenInUseAuthorization()
        }
        
        private func stopUpdateLocation(){
            locationManager.stopUpdatingLocation()
        }
        
        func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
            if status == .authorizedWhenInUse || status == .authorizedAlways{
                manager.startUpdatingLocation()
            }
        }
        
        func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
            if !locations.isEmpty{
                self.realTimeData.sensorData.location = locations[0].coordinate
            }
        }
        
        func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
            print(error)
        }
    NFC(iOS11及iPhone7 Plus之后才支持)

    public func startReadNFCTag(){
            if NFCNDEFReaderSession.readingAvailable {
                session = NFCNDEFReaderSession.init(delegate: self, queue: DispatchQueue.main, invalidateAfterFirstRead: false)
                session.begin()
            }
        }
        
        func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) {
            valid = false
            print(error)
        }
        
        func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) {
            valid = true
            self.messages.removeAll()
            for message in messages {
                for item in message.records{
                    var prefix = 0
                    let identifier = String.init(data: item.identifier, encoding: .utf8)!
                    let type = String(data: item.type, encoding: .utf8)!
                    if type == "U" {
                        prefix = 1
                    }else if type == "T" {
                        prefix = 3
                    }
                    let payload = String(data: item.payload.advanced(by: prefix), encoding: .utf8)!
                    let typeNameFormat = String(item.typeNameFormat.rawValue)
                    
                    let ndefData = NDEFData.init(identifier: identifier, payload: payload, type: type, typeNameFormat: typeNameFormat)
                    self.messages.append(ndefData)
                }
            }
        }

    
    展开全文
  • 传感器数据采集记录

    2020-07-14 10:43:19
    双击any,绿色箭头就代表通过网线来进行获取传感器数据的IP, 其中。192.168.1.201,192.168.202 是VLP16的,其他的相关的IP可以通过查看其launch文件获得,下面具体看一个。 这样就获得IP信息了。 如果通过网线连接...
    1. 检查传感器是否有问题
      方法:wireshark

    打开Terminal,输入sudo wireshark
    效果图如下:
    在这里插入图片描述双击any,绿色箭头就代表通过网线来进行获取传感器数据的IP,
    在这里插入图片描述

    其中。192.168.1.201192.168.202 是VLP16的,其他的相关的IP可以通过查看其launch文件获得,下面具体看一个。
    在这里插入图片描述这样就获得IP信息了。

    如果通过网线连接的传感器在wireshark中没有IP,很可能是掉线了。

    1. 采集数据。
      第一步,启动roslaunch All_sensors.launch
      第二步,进入data
    cd /data
    rosbag record --all 
    
    展开全文
  • 为此,设计并实现了一套基于物联网的多传感器生产环境数据采集系统。使用TQ6410 作为网关,将其融合在无线传感器网络中,调用 GPRS 服务,将采集到的生产环境数据可控地发送至远程的生产企业服务器进行甄别,之后再...
  • ARM9下的系统cmos图像传感器数据采集,一个不错的资料,值得你拥有
  • 传感器数据采集至服务器

    千次阅读 2018-12-11 16:39:39
    传感器数据采集设计整体架构 传感器与开发板的购买 云服务器的环境搭建 Java Web应用的开发 在Tomcat Web服务器上部署Java Web应用 Arduino的基本入门 Arduino与传感器之间的数据交互 短信、打电话...
  • 可编程逻辑控制器(PLC)是...这种高性能器件具有多个输入范围,非常适合高精度工业、仪器、电力线和医疗数据采集卡应用,可以降低成本和加快产品面市,同时占用空间很小,易于使用,在1 MSPS速率下提供真正的16位精度。
  • 免费可用的Android手机传感器数据采集程序(附程序) Sensor sense简介 该APP可以采集各种传感器的数据,并且实现数据可视化,在个人科研工作中可视化对于我用处颇多,比如3轴加速度计数据的可视化如下。 其中给我...
  • DS18B20单片温度传感器数据采集与LED数码管显示
  • 阿尔泰USB采集卡是一种基于USB总线的数据采集卡,可直接和计算机的USB接口相连,构成实验室、产品质量检测中心等各种领域的数据采集、波形分析和处理系统。也可构成工业生产过程监控系统。 采集软件界面有四个选项卡...
  • ZigBee无线传输协议是一种新兴的短距离、低功耗、低复杂度、低数据传输速率且低成本的双向无线网络通信技术,主要应用于工业控制、传感数据采集和系统监控等领域。工业中各种机构的振动对机械产品的工作性能有较大...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,873
精华内容 2,749
关键字:

传感器数据采集