Получение данных: Получение данных с сервера — Изучение веб-разработки

Содержание

Получение данных от сервера с помощью fetch

В этом уроке мы с вами разберем что такое fetch и как он отличается от XMLHttpRequest.
Fetch — это улучшеный XMLHttpRequest, который по умолчанию использует промисы и более простое и чистое API.

Следует сразу заметить, что fetch не поддерживается всеми браузерами. Например в IE 10-11 он не работает. В Safari он работает с версии 10. Конечно для него есть полифил, который использует XMLHttpRequest с старых браузерах.

Для того, чтобы обращатся на сервер за данными, давайте создадим API с тестовыми данными с помощью сервиса mocky.io.

Вот у меня есть JSON данных

[
  {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    "userId": 1,
    "id": 2,
    "title": "qui est esse",
    "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
  },
  {
    "userId": 1,
    "id": 3,
    "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
    "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
  }
]

Вставляем его в body запроса и в advance mode выбираем

 Access-Control-Allow-Origin:*

Для того, чтобы любой домен мог обращатся к этому API.

Нажимаем Generate response и получаем ссылку на наш API.

Теперь давайте напишем запрос с помощью fetch, который позволит нам получить данные.

fetch('http://www.mocky.io/v2/5944e07213000038025b6f30')
  .then(function (response) {
    console.log('response')
  })

Один из нюансов в fetch, что мы не получаем сразу в response данные, а Stream-обьект. Это значит, что мы должны наш response парсить, для того, чтобы получить данные.

fetch('http://www.mocky.io/v2/5944e07213000038025b6f30')
  .then(function (response) {
    response.json().then(function (data) {
      console.log('data', data)
    })
  })

Здесь мы используем метод .json, чтобы парсить ответ как json. Результат вызова .json тоже является промисом, поэтому мы должны писать then, в котором мы получим результат.
Если мы посмотрим в браузер, то у нас в консоли вывелись данные.

Этот код можно написать чуть чище, разбив на 2 then конструкции и избежав глубокой вложенности

fetch('http://www. mocky.io/v2/5944e07213000038025b6f30')
  .then(function (response) {
    return response.json()
  })
  .then(function (data) {
    console.log('data', data)
  })

Если мы посмотрим в браузер, то наш код работает точно также.

В получении данных часто возникают ошибки и их нужно как-то обрабатывать. В fetch с этим есть нюансы. Обычно думаешь, что если написать .catch, то отловишь любую ошибку.

fetch('http://www.mocky.io/v2/5944e07213000038025b6f30')
  .then(function (response) {
    return response.json()
  })
  .then(function (data) {
    console.log('data', data)
  })
  .catch(function (error) {
    console.log('error', error)
  })

Мы с вами добавили catch, но с спецификации fetch сказано, что туда попадают только network ошибки. То есть связанные с сетью. Например, когда запрос отваливается по таймауту.

Если мы хотим отловить обычные ошибки, их нужно обрабатывать в первом блоке .then. И так как мы работаем с промисами, то мы можем их резолвить и реджектить когда хотим

fetch('http://www. mocky.io/v2/5944e07213000038025b6f30')
  .then(function (response) {
    if (response.status !== 200) {
      return Promise.reject(new Error(response.statusText))
    }
    return Promise.resolve(response)
  })
  .then(function (response) {
    return response.json()
  })
  .then(function (data) {
    console.log('data', data)
  })
  .catch(function (error) {
    console.log('error', error)
  })

Мы добавили еще один блок с resolve и reject, который позволяет сделать нашу работу с fetch правильной. Ни один из следующих then не выполнится при ошибке, а мы сразу попадем в catch.

Теперь мы можем вынести 2 функции из этой цепочки, так как они у нас будет одинаковые во всех использованиях fetch.

var status = function (response) {
  if (response.status !== 200) {
    return Promise.reject(new Error(response.statusText))
  }
  return Promise.resolve(response)
}
var json = function (response) {
  return response.json()
}
fetch('http://www.mocky.io/v2/5944e07213000038025b6f30')
  . then(status)
  .then(json)
  .then(function (data) {
    console.log('data', data)
  })
  .catch(function (error) {
    console.log('error', error)
  })

Если например бы хотим сделать POST запрос, то там достаточно указать method post. Также мы можем добавить body, которое мы хотим передать в запросе.

var status = function (response) {
  if (response.status !== 200) {
    return Promise.reject(new Error(response.statusText))
  }
  return Promise.resolve(response)
}
var json = function (response) {
  return response.json()
}
fetch('http://www.mocky.io/v2/5944e07213000038025b6f30', {
  method: 'post',
  body: 'test=1'
})
  .then(status)
  .then(json)
  .then(function (data) {
    console.log('data', data)
  })
  .catch(function (error) {
    console.log('error', error)
  })

Как мы видим, fetch намного более гибкий чем XMLHttpRequest. Из-за использования промисов он позволяем нам комбинировать код, как нам нужно.

И хоть много компаний уже испольют fetch я хочу озвучить ряд минусов, которые я вижу.

  1. Кода все равно получается много и приходится писать свою обертку вокруг fetch, чтобы было удобно его использовать
  2. Парсинг данных не особо полезен, если я получаю от сервера всегда JSON, а код приходится писать
  3. Если вы хотите передавать данные в body в виде обьекта, то вам нужно на обьекте вызывать JSON.stringify, что неудобно
  4. Обработка ошибок в fetch, когда не все ошибки падают в catch лично мне не нравится. Для меня логично что все ошибки всегда падают в catch

Есть ли у меня решение на эти вопросы? Я предпочитаю использовать библиотеки superagent или axios, где все эти вопросы уже решены и нужно писать мимимум кода. Поэтому если у вас есть выбор, какую технологию использовать, то попробуйте эти библиотеки.

Если у вас возникли какие-то вопросы или комментарии, пишите их прямо под этим видео.

Получение данных от сервера в jQuery

В этом видео мы с вами разберем, как писать запросы к серверу в javascript используя jQuery.

Напоминаю, что идея состоит в том, чтобы получить данные от сервера асинхронно с помощью HTTP-запроса и изменить страницу у пользователя без перезагрузки.

Для того, чтобы обращатся на сервер за данными, давайте создадим API с тестовыми данными с помощью сервиса mocky.io.

Вот у меня есть JSON данных

[
  {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
  },
  {
    "userId": 1,
    "id": 2,
    "title": "qui est esse",
    "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
  },
  {
    "userId": 1,
    "id": 3,
    "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
    "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
  }
]

Вставляем его в body запроса и в advance mode выбираем

 Access-Control-Allow-Origin:*

Для того, чтобы любой домен мог обращатся к этому API.

Нажимаем Generate response и получаем ссылку на наш API.

Теперь давайте посмотрим на мою заготовку для урока. Это просто базовый html файл, в который подключено два скрипта jquery и code.js в котором мы будем писать код.

Давайте напишем код, который получит данные от сервера.

var promise = $.ajax({
  url: 'http://www.mocky.io/v2/5944e07213000038025b6f30'
})

Очень важно помнить, что в результате выполнения мы получаем не данные, а промис. Это значит, что мы можем подписаться на получение данных из промиса с помощью .then, передав туда callback. Тогда первым аргументом, мы получим наши данные.

$.ajax({
  url: 'http://www.mocky.io/v2/5944e07213000038025b6f30'
}).then(function (result) {
  console.log('result', result)
})

Если мы посмотрим в браузер, то у нас вывелся в консоль наш массив обьектов.

Что делать если мы хотим обработать ошибку? Нам нужно подписаться с помощью .catch на error.

$.ajax({
  url: 'http://www.mocky.io/v2/5944e07213000038025b6f30'
}). then(function (result) {
  console.log('result', result)
}).catch(function (err) {
  console.log('err', err)
})

Если мы изменим ссылку на неправильную то попадем в error.

В $.ajax можно также использовать методы done и fail, которые являются аналогами then и catch, но я советую придерживаться в работе с любыми промисами использования then и catch, так как это ближе к стандарту. Например в es6 промисах у вас тоже будут the и catch, а это значит, что код будет выглядит одинаково.

В $.ajax можно задавать множество разнообразных опций, но я перечислю только самые используемые из них.

Первое это конечно method. По умолчанию он get и мы можем менять его например на post, чтобы отправить post запрос.

$.ajax({
  method: 'POST',
  url: 'http://www.mocky.io/v2/5944e07213000038025b6f30'
}).then(function (result) {
  console.log('result', result)
}).catch(function (err) {
  console.log('err')
})

Конечно чаще всего в POST запрос мы хотим передать какие-то данные. В этом нам поможет поле data

$.ajax({
  url: 'http://www.mocky.io/v2/5944e07213000038025b6f30',
  method: 'POST',
  data: {
    test: 1
  }
}).then(function (result) {
  console.log('result', result)
}).catch(function (err) {
  console.log('err')
})

Если мы посмотрим в network, то увидим, что данные у нас передаются.

Также в jQuery есть алиасы метода $.ajax. Это $.get, $.post, $.getJSON, которые хоть и более короткие, но на мой взгляд менее читабельные и лучше придерживаться полной записи.

Напоминаю, что $.ajax, это всего лишь обертка нам стандартным для javascript XMLHttpRequest.

Какие же основные преимущества она нам дает?

  1. Как результат выполнения мы получаем промис, а это значит с ним очень удобно работать с помощью .then и .catch
  2. Очень простое API. Мы просто указываем обьектом опции и все работает.

Если у вас что-то не получается, либо возникли вопросы и комментарии, пишите их прямо под этим видео и я обязательно на них отвечу.

Сбор данных

Решения для сбора данных от Measurement Computing обеспечивают широкий спектр приложений и интерфейсов. Измеряете ли вы ток, напряжение, температуру, напряжение или цифровые сигналы,
MCC предлагает высококачественное оборудование с сопутствующим программным обеспечением и драйверами для быстрого и настраиваемого решения по сбору данных для вашего уникального приложения.

Что такое сбор данных?

Сбор данных, или DAQ, как его часто называют, представляет собой процесс оцифровки данных из окружающего нас мира, чтобы их можно было отображать, анализировать и сохранять в компьютере. Простым примером является процесс измерения температуры в помещении в виде цифрового значения с помощью датчика, такого как термопара. Современные системы сбора данных могут включать дополнительное программное обеспечение для анализа данных и составления отчетов, сетевое подключение, а также возможности удаленного управления и мониторинга.

Компоненты системы сбора данных

Все системы сбора данных состоят из трех основных элементов: датчика, преобразователя сигнала и аналого-цифрового преобразователя (АЦП).

Аналого-цифровой преобразователь

В основе всех систем сбора данных лежит аналого-цифровой преобразователь (АЦП). Как следует из названия, этот чип берет данные из окружающей среды и преобразует их в дискретные уровни, которые может интерпретировать процессор. Эти дискретные уровни соответствуют наименьшему обнаруживаемому изменению измеряемого сигнала. Чем выше число «битов» АЦП (12-разрядный, 16-разрядный, 18-разрядный и т. д.), тем большее количество дискретных уровней может представлять аналоговый сигнал и тем выше разрешающая способность АЦП. Разрешение АЦП по существу аналогично делениям на измерительной линейке. Измерительная линейка с отметками в миллиметрах имеет большее разрешение, чем измерительная линейка с отметками только в см. Нужны ли вам деления в миллиметрах или сантиметрах, зависит от того, что вы измеряете — то же самое верно и для разрешения АЦП.

Датчики (преобразователи)

Датчики, часто называемые преобразователями, преобразуют явления реального мира, такие как температура, сила и движение, в сигналы напряжения или тока, которые можно использовать в качестве входных данных для АЦП. Обычные датчики включают термопары, термисторы и термометры сопротивления для измерения температуры, акселерометры для измерения движения и тензометрические датчики для измерения силы. При выборе правильного датчика для вашей измерительной системы важно учитывать такие факторы, как точность датчика и преобразование сигнала, необходимое для записи читаемого сигнала.

Формирование сигнала

Для качественных измерений преобразователей часто требуется дополнительная схема между преобразователем и АЦП. Эта схема обычно называется преобразованием сигнала и может включать в себя усиление/ослабление, фильтрацию, построение моста Уитстона, возбуждение, линеаризацию, калибровку и компенсацию холодного спая (CJC). Различные датчики имеют разные требования к формированию сигнала. Например, преобразование сигнала для тензометрического датчика требует возбуждения, завершения перемычки и калибровки. Термопары, которые выдают сигналы в диапазоне мВ, должны быть усилены, а также отфильтрованы перед прохождением через АЦП.
Во многих случаях схема преобразования сигнала содержится в устройстве сбора данных, но преобразование сигнала также может быть частью преобразователя. Тензодатчики, например, содержат завершение моста, схему калибровки и усиление. Многие МЭМ (микроэлектромеханические) датчики также содержат преобразование сигнала.

Опции сбора данных

Существует широкий выбор систем:

Регистраторы данных

Регистрация данных — это запись собранных данных за определенный период времени. В зависимости от приложения данные могут быть измерениями температуры, напряжения, тока, влажности или другими интересующими сигналами. Регистратор данных — это автономная система сбора данных со встроенным процессором и предустановленным программным обеспечением, встроенным в устройство. Регистраторы данных могут работать как автономные устройства и популярны, потому что они портативны и просты в использовании для конкретных задач.
Все регистраторы данных имеют локальное хранилище для сохранения данных, а некоторые имеют слоты SD для дополнительной памяти. Веб-логгеры данных можно настроить и обмениваться данными по сети. Для дополнительной портативности некоторые регистраторы данных питаются от батареи.

Устройства сбора данных

Устройство сбора данных (USB, Ethernet, PCI и т. д.) содержит преобразование сигнала и аналого-цифровой преобразователь, но для работы его необходимо подключить к компьютеру. Эти устройства очень гибкие и могут использоваться во многих различных приложениях, что делает их популярным выбором.
Пользователи подключаемых устройств могут использовать предустановленное программное обеспечение для сбора данных, такое как DAQami™, или среду программирования, такую ​​как Python™, C++®, DASYLab®, MATLAB® и NI LabVIEW™. Благодаря различным вариантам шины и гибкости в использовании предпочтительного программного обеспечения устройства сбора данных предлагают настраиваемое решение для вашего уникального приложения.

Системы сбора данных

Модульные системы сбора данных предназначены для большого количества каналов и сложных систем, которым необходимо интегрировать и синхронизировать несколько типов датчиков. Эти системы сложнее интегрировать и использовать, но они чрезвычайно гибки.

Модульные системы являются самым дорогим вариантом сбора данных, но для многих приложений требуются функции, которые может обеспечить только система сбора данных, такая как PXI.

  Регистратор данных Сбор данных
Устройство
Сбор данных
Система
Стоимость Низкий-средний Низкий-средний Средне-высокий
Простота использования Высокий Средне-высокий Низкий
Гибкость Низкий Средний Высокий
Количество каналов 1-16 каналов 4-32 канала 8-1000 каналов

Недорогие устройства сбора данных (DAQ)

 

Загрузка. ..

 

Разработанные для большинства приложений и бюджетов, устройства сбора данных USB и Ethernet предлагают аналоговый ввод и вывод, цифровой ввод/вывод и счетчики/таймеры.


Узкие результаты (показаны 18 результатов)

Тип шиныUSBData LoggerEthernetRaspberry PiWirelessPCI/PCIe

ДатчикТермопараRTDТермистор

Входное разрешение12-14 бит16 бит18-24 бит

Входные каналыНизкий (1-8)Средний (12-24)Высокий (32-64)

Частота дискретизации< 100 кГц100 кГц - 500 кГц> 500 кГц

Аналоговый выход Низкий (2–6) Высокий (8–16)


МСС 128

DAQ HAT для измерения напряжения для Raspberry Pi®, 16 бит, 100 квыб/с

DAQ HAT для измерения напряжения для Raspberry Pi с 8 аналоговыми входами SE/4 DIFF, 16-битным разрешением, переменным коэффициентом усиления и частотой дискретизации до 100 квыб/с

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE/4 ДИФФ 16-битный 100 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
Цифровой ввод/вывод
Количество каналов Контроллер/Таймер Энкодер

199,00 долларов США

Серия USB-200

Многофункциональные USB-устройства с одним коэффициентом усиления

USB-устройства сбора данных (DAQ) с 8 аналоговыми входами SE, 12-битным разрешением, частотой дискретизации до 500 квыб/с, до двух 12-битных аналоговых выходов, восемью цифровыми входами/выходами и один 32-битный счетчик.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE 12-разрядный До 500 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 12-разрядный До 250 имп/с
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 8 До 1

ОТ 105,00 $

Серия USB-230

Многофункциональные USB-устройства

USB-устройства сбора данных (DAQ) с 8 аналоговыми входами SE/4 DIFF, 16-битным разрешением, частотой дискретизации до 100 квыб/с, двумя 16-битными аналоговыми выходами, восемью цифровыми входами/выходами, и один 32-битный счетчик.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE/4 ДИФФ 16-битный До 100 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 16-битный До 5 квыб/с
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 8 До 1

ОТ 289,00 $

МСС 118

DAQ HAT для измерения напряжения для Raspberry Pi®, 12 бит, 100 квыб/с

DAQ HAT для измерения напряжения для Raspberry Pi с 8 аналоговыми входами SE, разрешением 12 бит и частотой дискретизации 100 квыб/с

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE 12-разрядный 100 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер

$99. 00

МСС 134

DAQ HAT для измерения термопары для Raspberry Pi®

DAQ HAT для измерения термопары для Raspberry Pi с 4 каналами, разрешением 24 бита и частотой дискретизации 1 S/s.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
4 ДИФФ 24-битный 1 п/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер

149,00 долларов США

МСС 152

Выход напряжения и DIO DAQ HAT для Raspberry Pi®

Выход напряжения и DIO HAT для Raspberry Pi с 2 аналоговыми выходными каналами и 8 цифровыми входами/выходами.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 12-разрядный
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
8

149,00 долларов США

Серия USB-1208FS-Plus/LS/1408FS-Plus

Многофункциональные USB-устройства

USB-устройства сбора данных (DAQ) с 8 аналоговыми входами SE/4 DIFF, разрешением от 11 до 14 бит, частотой дискретизации до 50 квыб/с, до двух 12-битных аналоговых выходов, 16 цифровой ввод/вывод и один 32-битный счетчик.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE/4 ДИФФ От 12 до 14 бит До 50 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 От 10 до 12 бит До 50 квыб/с
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 16 До 1

ОТ 140,00 $

Серия USB-1608FS-Plus

Одновременные USB-устройства

USB-устройства сбора данных (DAQ) с восемью одновременными аналоговыми входами (А/Ц на канал), 16-битным разрешением, одним 32-битным счетчиком и восемью цифровыми входами/выходами.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE 16-битный 100 кСм/с/канал
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 8 До 1

ОТ 459,00 $

Серия USB-1608G

Высокоскоростные многофункциональные USB-устройства

USB-устройства сбора данных (DAQ) с 16 аналоговыми входами SE/8 DIFF, разрешением 16 бит, частотой дискретизации до 500 квыб/с, до двух аналоговых выходов, восемью цифровыми входами/входами O, два 32-битных счетчика и один 32-битный таймер.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
16 SE/8 ДИФФ 16-битный До 500 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 16-битный До 250 квыб/с
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
8 2/1

ОТ 459,00 $

Серия E-1608

Многофункциональные Ethernet-устройства

Ethernet-устройства сбора данных (DAQ) с 8 аналоговыми входами SE/4 DIFF, 16-битным разрешением, частотой дискретизации до 250 квыб/с, двумя 16-битными аналоговыми выходами, одним 32-битным входом счетчика и восемь цифровых входов/выходов.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE/4 ДИФФ 16-битный 250 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 16-битный До 500 имп/с
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 8 До 1

ОТ 559,00 $

Серия BTH-1208LS

Беспроводные многофункциональные устройства

Устройства сбора данных (DAQ) Bluetooth или USB с 8 аналоговыми входами SE/4 DIFF, разрешением 11 бит (SE)/12 бит (DIFF), 1 кВыб/с (Bluetooth) или 47 кВыб. / с (USB), два 12-битных аналоговых выхода, один 32-битный счетчик и восемь цифровых входов/выходов.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE/4 ДИФФ 12-разрядный 47 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 12-разрядный
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 8 До 1

ОТ 199,00 $

USB-TEMP и серия TC

Низкоскоростные USB-устройства для измерения температуры и напряжения

USB-устройства сбора данных (DAQ) для измерения температуры с восемью входами для термопар, резистивных датчиков сопротивления, термисторов или напряжения, до 2 выборок в секунду на канал, частота дискретизации, разрешение 24 бита, до до четырех входов напряжения, 8 цифровых входов/выходов и одного счетчика.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 ДИФФ 24-битный 2 п/с/канал
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 8 1

ОТ 419,00 $

Ethernet-устройство для термопар

Измерительное устройство для термопар, на базе Ethernet, с 8 каналами, разрешением 24 бита, частотой дискретизации 4 имп/с/канал и 8 дискретными входами/выходами

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 ДИФФ 24-битный 4 п/с/кан
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
8 1

$559,00

Серия USB-2408

Высокоточные термопары, USB-устройства для измерения напряжения

USB-устройства сбора данных (DAQ) с 8 термопарами или 16 входами по напряжению, 24-битное разрешение, частота дискретизации до 1 кС/с, до двух 16-битных аналоговых выходов, восемь цифровых входов/выходов и два 32-битных счетчика.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
16 SE/8 ДИФФ 24-битный 1 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 16-битный До 1 квыб/с
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
8 2

ОТ 689,00 $

Серия USB-1208HS

Высокоскоростные USB-устройства

Высокоскоростные USB-устройства сбора данных (DAQ) с 8 аналоговыми входами SE/4 DIFF, разрешением 13 бит, частотой дискретизации до 1 Мвыб/с, до четырех аналоговых выходов, 16 цифровых ввода-вывода и один 32-битный счетчик.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE/4 ДИФФ 13-битный 1 Мвыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
До 4 12-разрядный До 1 Мвыб/с
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 16 До 1 февраля

ОТ 579,00 $

Серия DT9812

Многофункциональные USB-устройства с малым количеством каналов

USB-устройства сбора данных (DAQ) с 8 аналоговыми входами SE, 12-битным разрешением, частотой дискретизации до 100 квыб/с, двумя аналоговыми выходами и 16 цифровыми входами/выходами, одним счетчиком /таймер.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
8 SE 12-разрядный До 100 квыб/с
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
2 12-разрядный
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 16 До 1

ОТ 479,00 $

DT9816 Серия

Высокоскоростные одновременные USB-устройства

USB-устройства сбора данных (DAQ) с 6 аналоговыми входами SE, 16-битным разрешением, частотой дискретизации до 750 квыб/с на канал, 16 цифровыми входами/выходами и одним счетчиком/ таймер.

АНАЛОГОВЫЙ вход
Количество каналов разрешение максимальная частота дискретизации
6 SE 16-битный До 750 тыс. отсчетов/с/канал
АНАЛОГОВЫЙ выход
Количество каналов разрешение максимальная частота дискретизации
Цифровой ввод/вывод
Количество каналов Контроль/Таймер Энкодер
До 16 До 1

ОТ 589,00 $

PCI-DAS08

PCI-плата аналогового ввода

PCI-плата сбора данных (DAQ) с восемью аналоговыми входами, 12-разрядным разрешением, частотой дискретизации 40 квыб/с, тремя 16-разрядными счетчиками, четырьмя цифровыми выходами и тремя цифровыми входами.