Tevo Tarantula. Upgrade. Часть 5. Переводим каретки оси Z на 3 колеса
2017-06-12 12:42:22
4 колеса в стоке - расточительство. Плюс малейший перекос и диагональные колеса пережимаются и есть ...
+ развернуть текст сохранённая копия
4 колеса в стоке - расточительство. Плюс малейший перекос и диагональные колеса пережимаются и есть вероятность выхватить клин. Не раз были случаи облома верхнего крпеленения (стокового) мотора винта Z. Ну и вообще акрил со временем выгибает от температуры и нагрузки.
Подробнее...
Тэги:
техничка
Диетический апельсиновый осьминог и USB камера - автомобильный видеорегистратор
2017-06-11 19:23:50
Продолжение статьи Апельсиновый диетический осьминог. Octoprint.
В комментариях к статье ...
+ развернуть текст сохранённая копия
Продолжение статьи Апельсиновый диетический осьминог. Octoprint.
В комментариях к статье просили рассказать как привязать USB камеру к серверу печати.
Своей USB вебкамеры у меня никогда не было. Не нужная мне игрушка. Однако, с моей и с машины супруги в хозяйстве завалялась пара старых автомобильных видеорегистраторов. Регистратор с машины супруги Lexand погиб из-за раздувшейся батарейки, выгнуло плату и где-то что-то отвалилось (об этом я узнал уже после замены батарейки, регистратор стал виснуть), второй с моей прошлой машины - Highscreen, с машиной продал кабель питания, а кабель был хитрый, только с ним регистратор вставал автоматически на запись. Тоже не сразу понял почему регистратор на запись не встает, поменял батарейку, но бесполезно.
Супруге и мне купили новые регистраторы, эти давно валялись дома.
Lexand удалось оживить, прогрев воздушным паяльником процессор и обвязку
.
Многие авто видео регистраторы умеют работать кард ридером и веб камерой. Решил воспользоваться данной возможностью и попробовать прикрутить камеру к апельсинке. Из двух регистраторов только Lexand захотел стать вебкой. Highscreen упорно прикидывался card reader-ом.
Единственный USB порт на Orange Pi Zero занят принтером, зато на плате есть 13pin гребенка под плату расширения, на которой есть выходы двух
USB. Решил ей и воспользоваться.
Вот распайка гребенки.
1x13 Header
1 5V
2 GND
3 USB-DM2
4 USB-DP2
5 USB-DM3
6 USB-DP3
7 LINEOUTR
8 LINEOUTL
9 TV-OUT
10 MIC-BIAS
11 MIC1P
12 MIC1N
13 CIR-RX
Первый вывод рядом с разъемом ethernet.
Обрезал usb кабель, к кабелю припаял разъемчик маму.
Красный плюс, черный минус, белый и зеленый с данными. Их запаял как получится, с первого раза угадал. Вариантов то все равно 2, и регистратор или будет, или не будет работать.
Ставить поддержку камеры решил на DietPi и Orange Pi с 512Мб памяти. На этой моей апельсинке радиатор побольше.
Начинаем установку.
Как обычно через Putty заходим на апельсинку, под пользователем octoprint.
Инструкцию взял на официальной страничке октопринта.
sudo apt-get update && apt-get upgrade
cd ~
sudo apt-get install subversion libjpeg8-dev imagemagick libav-tools libv4l-dev cmake
При попытке установить получаем сообщение
Package libjpeg8-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libjpeg62-turbo-dev
Пробуем еще раз
sudo apt-get install subversion libjpeg62-turbo-dev imagemagick libav-tools libv4l-dev cmake
Ждем долго, около 10 минут.
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
export LD_LIBRARY_PATH=.
make
За пару минут все скомпилировалось.
Для пробы запускаем
sudo ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so"
Фантастика, запустилось.
Заходим по адресу
http://IP адрес апельсинки/?action=stream
Но изображение какое-то всё глючное, с непонятными артефактами, но оно есть. Хорошее начало!
Попробовал поэкспериментировать с ключами. mjpg_streamer выдает подсказку если где-то ошибиться в ключе.
Интересуют нас ключи -r и -f
В итоге после экспериментов камера нормально запустилась в HD режиме -r HD
sudo ./mjpg_streamer -i "./input_uvc.so -r HD -f 5" -o "./output_http.so"
Эксперименты с FPS дали приемлемое значение -f 10
sudo ./mjpg_streamer -i "./input_uvc.so -r HD -f 10" -o "./output_http.so"
Не смотрите не перевернутую картинку, мне регистратор так было удобнее поставить.
Для того чтоб пользователь octoprint имел доступ к видеокамере, его надо включить в группу Video
sudo usermod -a -G video octoprint
После этого надо выйти из системы и заново войти под пользователем octoprint
Проверяем
cd mjpg-streamer/mjpg-streamer-experimental
./mjpg_streamer -i "./input_uvc.so -r HD -f 10" -o "./output_http.so"
Теперь работает без sudo, отлично.
Пол дела сделано.
В качестве варианта запуска на официальной страничке октопринта предложено запускать с ключиком -w ./www
./mjpg_streamer -i "./input_uvc.so -r HD -f 10" -o "./output_http.so -w ./www"
Проверил, запускается. И ладно.
Для того чтоб иметь возможность запускать видео прямо из октопринта, создадим несколько скриптов. Честно скопипастил их из официального мануала
cd ~
cd OctoPrint/scripts
nano webcam
Внутри скрипта пишем (копипастим внутрь)
#!/bin/bash
# Start / stop streamer daemon
case "$1" in
start)
/home/octoprint/OctoPrint/scripts/webcamDaemon >/dev/null 2>&1 &
echo "$0: started"
;;
stop)
pkill -x webcamDaemon
pkill -x mjpg_streamer
echo "$0: stopped"
;;
*)
echo "Usage: $0 {start|stop}" >&2
;;
esac
Сохраняем готовый скрипт по CTRL+O
Выходим из nano по CTRL+X
nano webcamDaemon
Внутри скрипта пишем (копипастим внутрь)
#!/bin/bash
MJPGSTREAMER_HOME=/home/octoprint/mjpg-streamer/mjpg-streamer-experimental
MJPGSTREAMER_INPUT_USB="input_uvc.so"
MJPGSTREAMER_INPUT_RASPICAM="input_raspicam.so"
# init configuration
camera="auto"
camera_usb_options="-r HD -f 10"
camera_raspi_options="-fps 10"
if [ -e "/boot/octopi.txt" ]; then
source "/boot/octopi.txt"
fi
# runs MJPG Streamer, using the provided input plugin + configuration
function runMjpgStreamer {
input=$1
pushd $MJPGSTREAMER_HOME
echo Running ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
LD_LIBRARY_PATH=. ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
popd
}
# starts up the RasPiCam
function startRaspi {
logger "Starting Raspberry Pi camera"
runMjpgStreamer "$MJPGSTREAMER_INPUT_RASPICAM $camera_raspi_options"
}
# starts up the USB webcam
function startUsb {
logger "Starting USB webcam"
runMjpgStreamer "$MJPGSTREAMER_INPUT_USB $camera_usb_options"
}
# we need this to prevent the later calls to vcgencmd from blocking
# I have no idea why, but that's how it is...
vcgencmd version
# echo configuration
echo camera: $camera
echo usb options: $camera_usb_options
echo raspi options: $camera_raspi_options
# keep mjpg streamer running if some camera is attached
while true; do
if [ -e "/dev/video0" ] && { [ "$camera" = "auto" ] || [ "$camera" = "usb" ] ; }; then
startUsb
elif [ "`vcgencmd get_camera`" = "supported=1 detected=1" ] && { [ "$camera" = "auto" ] || [ "$camera" = "raspi" ] ; }; then
startRaspi
fi
sleep 120
done
Сохраняем готовый скрипт по CTRL+O
Выходим из nano по CTRL+X
chmod +x /home/octoprint/OctoPrint/scripts/webcam
chmod +x /home/octoprint/OctoPrint/scripts/webcamDaemon
Далее
cd ~
cd .octoprint
nano config.yaml
Конфиг практически дефолтный
accessControl:
salt: y0pnvQf2Xdv3wKIm1Hu7onQJUwibqXNe
api:
key: 2BE34DF7924C400C95A71825CBE806F5
plugins:
announcements:
_config_version: 1
channels:
_blog:
read_until: 1495612800
_important:
read_until: 1478614200
_octopi:
read_until: 1490979600
_plugins:
read_until: 1495238400
_releases:
read_until: 1496325600
discovery:
upnpUuid: 084b7f82-8a71-4a98-a80f-abb4a2b5170a
softwareupdate:
_config_version: 5
check_providers:
navbartemp: navbartemp
printerProfiles:
default: _default
serial:
autoconnect: true
baudrate: 250000
port: /dev/ttyUSB0
server:
firstRun: false
secretKey: P3ZKW0v4hEcIUF6wr8LFnXYFHuz5C30L
seenWizards:
corewizard: null
cura: null
softwareupdate: null
К концу конфига дописываем копипастом
system:
actions:
- action: streamon
command: /home/octoprint/OctoPrint/scripts/daemon start
confirm: false
name: Start video stream
- action: streamoff
command: /home/octoprint/OctoPrint/scripts/daemon stop
confirm: false
name: Stop video stream
Сохраняем конфиг по CTRL+O
Выходим из nano по CTRL+X
Перезапускаем OctoPrint
sudo service octoprint restart
После перезапуска в верхней части октопринта появится меню system, в котором будет 2 пункта
Start video stream
Stop video stream
Стандартные скрипты рабочие 100%, но написаны под универсальный вариант, в том числе и под камеру распберри пи.
Я слегка оптимизировал скрипт, все лишнее убрал, и вместо 2х скриптов сделал всего 1.
cd ~
cd OctoPrint/scripts
nano streamer
Внутри скрипта пишем (копипастим внутрь)
#!/bin/bash
# Start / stop streamer
MJPGSTREAMER_HOME=/home/octoprint/mjpg-streamer/mjpg-streamer-experimental
MJPGSTREAMER_INPUT_USB="input_uvc.so"
# init configuration
camera_usb_options="-r HD -f 10"
# runs MJPG Streamer, using the provided input plugin + configuration
function runMjpgStreamer {
input=$1
pushd $MJPGSTREAMER_HOME
echo Running ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
LD_LIBRARY_PATH=. ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
# LD_LIBRARY_PATH=. ./mjpg_streamer -o "output_http.sow" -i "$input"
popd
}
# starts up the USB webcam
function startUsb {
logger "Starting USB webcam"
runMjpgStreamer "$MJPGSTREAMER_INPUT_USB $camera_usb_options"
}
case "$1" in
start)
startUsb >/dev/null 2>&1 &
echo "$0: started"
;;
stop)
pkill -x mjpg_streamer
echo "$0: stopped"
;;
*)
echo "Usage: $0 {start|stop}" >&2
;;
esac
Сохраняем конфиг по CTRL+O
Выходим из nano по CTRL+X
chmod +x /home/octoprint/OctoPrint/scripts/streamer
cd ~
cd .octoprint
nano config.yaml
К концу конфига дописываем копипастом
system:
actions:
- action: streamon
command: /home/octoprint/OctoPrint/scripts/streamer start
confirm: false
name: Start video stream
- action: streamoff
command: /home/octoprint/OctoPrint/scripts/streamer stop
confirm: false
name: Stop video stream
Сохраняем конфиг по CTRL+O
Выходим из nano по CTRL+X
Перезапускаем OctoPrint
sudo service octoprint restart
Все точно так же работает.
Теперь заходим на октопринт и в плагинах настраиваем адрес откуда будет браться потоковое видео
В Stream URL прописываем
http://ip_адрес_апельсина:8080/?action=stream
У меня это
http://192.168.0.2:8080/?action=stream
Для того чтоб проверить работоспособность, предварительно стартуем stream через меню system
После этого можно нажать на кнопку test и посмотреть видео
Камера у меня перевернута вверх ногами.
Для таких деятелей как я в настройке плагина есть галка Flip webcam vertically
Не забываем сохранять настройки плагина при выходе.
Теперь при входе во вкладку Control
можно наблюдать что делает принтер.
Для чего я прикрутил регистратор веб камеру ? Было интересно прикрутить и попробовать. В конце концов опыт.
Буду ли я ей пользоваться - навряд ли.
А вот теперь немного фото того как это выглядит
Из заметных минусов: с включенной камерой апельсин стал сильнее греться. На время испытаний к нему притулил вентилятор. Если использовать постоянно - неплохо бы подумать над активным охлаждением.
Именно этот видеорегистратор немного глючный, изображение часто отваливается, помогает ресет регистратора.
В остальном я неплохо провел день, пока на улице стоит ужасная погода.
Подробнее...
Тэги:
техничка
Сериал "ОЧумелые и все остальные" 3Dчатаем CNC (ЧПУ) и потихоньку собираем Cyclone-PCB-Factory
2017-06-11 12:54:06
новый сериал посвященный самостанкостроителям, вот начал .. кто не спрятался - я не виноват.
...
+ развернуть текст сохранённая копия
новый сериал посвященный самостанкостроителям, вот начал .. кто не спрятался - я не виноват.
Приступим.
приобретя и собрав свой 3D принтер (станок с ЧПУ нумер раз)
/topic/182738-3d-pri...-не-как-у-всех/ я стомильёнов раз задумывался о том - куда его применить, творил, выдумывал, брал заказы, словом всё как всегда - купил, а потом подумал - ЗАЧЕМ? кстати - последнее утверждение ко мне относится мало, таки я уже знал на что иду и с помощью наших китайских братьев мало-мало поднять промышленный потенциал родного государства (эт в котором сам родился и пригодился). Цепочка стандартная: 3д принтер, фрезер-чпу, лазерный резак.... зубы на полку
(шютка).
значитца назрел у нас тут пункт нумер два - чпу фрезер. Перебрал кучу вариантов и очень фанерный и не очень - остановился всё же на
Cyclone-PCB-Factory
симпатишный дизайн и что важно - есть куда модернизировать
да хоть портального типа его строй
https://www.thingiverse.com/thing:238329
загорелось так сказать..
пока настраивал свой принтер, тестил различные пластики (http://3dtoday.ru/blogs/bigdad/the-contest-nylon-or-carbon-2-brains-im-afraid-delta-does/) - напечаталось некоторое количество деталей и вот сегодня, в этот снежный летний день я решил как нить скидать всё в кучу.
а куча так себе - не маленькая.
тут и шаговые двигатели
http://3dtoday.ru/blogs/bigdad/oh-la-have-prisavlje-namoi-/ и пара плат с ардуинками для управления этими самыми ШД
и всяких винтаков-шпунтиков что остались от каких-то приборов, аппаратов и пр.. некоторые даже пригодились на напечатанные шестерни
а что-то ещё печаталось
пара валов на 8мм осталась от почившего в Бозе стусла. куда остальные 2 дел - не помню. а нада.
основой всему послужила моя школьная работа по росписи разделочной доски
которая служила дверцей шкафа и полигоном для испытания кучи всяких лаков, сухая, выдержаная, ПРЯМАЯ. за 35 лет ничё ей не сделалось
распечатал лист с расположением деталей
и пришурупил энти детали по месту
потом выяснилось что на 3 у меня ток одна гайка
вышел из положения вплавив резьбовые втулки ( технология тут http://www.taker.im/phpBB2/topic/182738-3d-printer-delta-образный-просто-чтоб-не-как-у-всех/page__view__findpost__p__3098899 )там где это необходимо
и использовав их же вместо гаек без вплавления
И давай всё вкручивать куда нужно и как попадя.
а ось ыкс решил собирать первой - так чтоб хоть как то защитить конструкцию от резкого сбрасывания на пол главным распорядителем работ
думаю ему на нем и работать... судя по тому как долго папа запрягает
На данный момент кончились винты 3х20, 3х12, 3х10, 3х8, гайки М3, гайки, шайбы М8, валы 8мм, теперь или в гараж идти или гайки печатать, благо нейлон есть в пробниках..
пока не подключена электроника - распечатал вот такие прикольные штурвальчики
чтобы вращать оси станка вручную
такой стимпанковский вид приобретает аппарат, что впору задуматься.. может и трубу ему с паром приспособлю
нашел пару мебельных аксессуаров с валами подходящей длины и диаметра (7,96мм).
поставил на место. держатель слева пришлось чуть выдвинуть, таки не хватало места для защиты шестеренок. при разметке стола выяснил, что ПДФ файл с которого я печатал - дает уменьшение рисунка на 5-7 мм по этой стороне почему-то. наверное настройка печати у меня как то хромает. где ее подкрутить - мелкомягкие не подсказали. встроенные средства виндовса @#$ ... три раза....
на сегодняшний день станок выглядит так
в мастерской столик и новая основа из ОСП готовы, заберу - перекручу, а то эти финты из винды с 95% при печати мне не равятся. поставил фоксит-ридер и распечатал по человечески, и выпилил соответственно.
как грится: -Продолжение следует!
подписывайтесь на сериал, закидывайте автора помидорами и вредными советами,.. спрашивайте - за спрос денег не беру
Подробнее...
Тэги:
техничка
ЧПУ фрезер Cyclone PCB Factory. Электроника, настройка прошивки GRBL 1.1f и немного про софт.
2017-06-10 22:05:44
В прошлой записи про ЧПУ фрезер Cyclone PCB Factory рассказал про постройку станка.
Немного ...
+ развернуть текст сохранённая копия
В прошлой записи про ЧПУ фрезер Cyclone PCB Factory рассказал про постройку станка.
Немного помучившись со всякими мелочами, я его собрал.
На очереди была прошивка платы arduino, настройка прошивки, подключение электроники, концевых выключателей и шаговых двигателей.
Начну с прошивки.
В оригинальном проекте была использована какая-то специфичная плата, соответственно и ссылка на прошивку была под эту плату. Я же под имеющуюся у меня arduino uno на atmega 328p купил CNC Shield v3.0. Это пожалуй самое бюджетное решение. Картинка бутерброда из интернета.
Фото моей платы:
Скачал последнюю прошивку GRBL 1.1f
Сначала хотел попробовать по рекомендациям добавить что-то там в среду Arduino (или расширение, или плагин, не суть) и прошить плату, но что-то пошло не так. Не получилось. Немного помучившись вычитал про замечательную программу XLoader.
С ее помощью, выбрав ком порт и тип платы, пролил GRBL в Arduino буквально в несколько кликов мышкой.
Плата CNC Shield v3.0 разрабатывалась под версию прошивки 0.9, в более поздних версиях прошивки автор сделал одно изменение - поменял порты местами, для того чтоб иметь возможность регулировать скорость шпинделя через pwm. При этом концевик по Z переехал на Spn En.
Для того чтоб было более наглядно, вот картинка с правильным расколожением подключения концевиков.
В остальном все совпадает.
После установки драйверов шагового двигателя, а у меня это a4988 высвободившиеся после замены их на принтере на 8825, надо отрегулировать ток на драйверах. Сложности это не представляет, статей тьма.
Подключить шаговые двигатели на разъемы X Y Z сложности так же не представляет. Если двигатель крутится не в ту сторону, надо всего лишь перевернуть разъем.
Итак, концевики и шаговые двигатели подключены, приступим к настройке прошивки.
С помощью putty, можно с помощью встроенного терминала в ардуино, настроив COM порт и нужную скорость подключиться к мозгам чпу станка.
После этого надо ввести команду
$$ и нажать enter
С этого момента ленивые могут дальше не читать и просто перенести настройки к себе на станок.
Напомню конфигурацию своего станка: шаговые двигатели 17hs4401S - шаг 1,8 градуса, 200 шагов на оборот.
Ходовые винты - шпилька М8 из строительного магазина. Концевик по оси Z сверху. Драйвера a4988 с делением шага 16.
Итак.
$$ - выводит все параметры сохраненные в eeprom
$100=2560 - количество шагов на мм по оси X
$101=2560 - количество шагов на мм по оси Y
$102=4800 - количество шагов на мм по оси Z
Как расчитал? Легко.
Оси X и Y
200 шагов на оборот, перемножил на 16 - микрошаг. Разделил на шаг резьбы 1,25 - это стандартный шаг резьбы.
200*16/1,25=2560 шагов на мм.
Ось Z
Тут у нас 2 шестерни с разным количеством зубов: 8 на ШД и 15 на ходовом винте.
15/8=1.875
1,875 оборота должен сделать шаговый двигатель, чтоб ходовой винт повернулся на 1 оборот.
2560*1.875=4800 шагов на мм.
Заносим конфигурацию в прошивку.
$100=2560
$101=2560
$102=4800
Заносим программные пределы для перемещений:
$130=200.000 ось X
$131=100.000 ось Y
$132=45.000 ось Z
пределы определил двигая оси по сантиметру от начала до конца и смотрел на сколько в итоге можно продвинуть ось.
Максимальные ускорения мм/сек^2
$120=10.000 ось X
$121=10.000 ось Y
$122=10.000 ось Z
Максимальные скорости перемещения, мм/мин
$110=200.000
$111=200.000
$112=200.000
Со максимальными скоростями и ускорением можно поиграться. Я пока оставил так.
$3=0 (бинарное число для инвертирования движения по осям:00000ZYX, где для инверсии например оси Z надо вбить двоичное число 00000100, только сначала перевести его в десятичный вид) По-моему проще перевернуть разъем на шаговом двигателе, но вот так можно и программно. Вооружаемся виндовым калькулятором в режиме программист, вводим в бинарном режиме и переводим число в десятичный вид.
Концевики или головная боль.
На настройку концевиков у меня ушло пара или тройка вечеров. Не смог быстро найти доступным языком написанную инструкцию. И не сразу понял логику работы.
Для начала надо включить концевики. Делается это командами
$21=1 (включить аппаратные концевики)
$22=1 (включить программные концевики)
Концевики я включил и начал двигать осями. При касании концевика станок ругался и халтился, помогали только аппаратные и программные ресеты. Так со всеми 3мя осями.
На сразу до меня дошло что концевики работают только для режима парковки! Команда
$H
Во всех других случаях срабатывание концевика аварийная ситуация !
Далее.
$24=25.000 скорость точной подачи для парковки, мм/мин
$25=250.000 скорость ускоренной подачи для парковки, мм/мин
$27=3.000 расстояние в мм на которое надо отойти оси, чтоб разомкнулся концевик
И еще один важный параметр
$23=3 направление парковки осей. Вводим команду парковки
$H и смотрим куда движутся оси. В моем случае ось Z вместо того чтоб ехать вверх, поехала вниз. По аналогии с описанием $3 двоичное число 00000100 при переводе в десятичный вид становится числом 3.
Вот так я настроил свой станочек.
Остальное можно не трогать.
Картинка с настройками была выше, но я ее еще раз повторю
Вдогонку, как очистить конфигурацию eeprom grbl.
$RST=* сбросит абсолютно все настройки в настройки по умолчанию
$ RST=$ сбросит все настройки в настройки $$ по умолчанию, в случае если где-то сильно напортачили
Что касается программ по управлению ЧПУ станком с могзами на Arduino и прошивкой GRBL:
Candle
GrblController
UniversalGcodeSender
Тыкаем в нужную, качаем, устанавливаем.
Лично мне понравился GrblController
хотя рабочие все 3. Все 3 я ставил, все 3 работали.
Станок у нас собран, настроен, программа для управления станком установлена. Но что дальше ???
О самом главном, как и чем сформировать g-code для станка, пожалуй постараюсь коротко рассказать в следующей записи. По крайней мере постараюсь показать один из вариантов.
Чуть не забыл еще об одной электрической тонкости.
Даже с учетом того что шпиндель у меня питался от отдельного источника питания, если я пытался запустить какую-нибудь команду на станок ПРИ ВКЛЮЧЕННОМ ШПИНДЕЛЕ, станок начинал двигать осью а потом намертво вис. При этом С ОТКЛЮЧЕННЫМ ШПИНДЕЛЕМ проблем не возникало.
Избавиться от помех удалось соединив минус источника питания шпинделя с корпусом шпинделя. Экранировал
Обратите внимание на желтый провод на картинке
Удачи в постройке станков
Подробнее...
Тэги:
техничка
К 2021 году большинство интернет-устройств не будут нуждаться в людях…
2017-06-09 13:43:33
Кроме прочего, аналитики приходят к выводу, что использование интернета нынешними темпами приведут к ...
+ развернуть текст сохранённая копия
Кроме прочего, аналитики приходят к выводу, что использование интернета нынешними темпами приведут к тому, что через несколько лет глобальная система будет занимать 3,000,000,000,000,000,000,000 байт. Что же прогнозируют эксперты? Всего через пять лет, машин, общающихся между собой, станет значительно больше, чем людей, использующих смартфоны, планшеты и ноутбуки. Связь машина-машина, называемая также M2M, будет расти, приблизившись к 51
Тэги:
техно
Страницы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...