Поиск по сайту
Результаты поиска по тегам 'gps'.
Найдено 2 результата
-
GPS это куча оборудования, трата энергии и времени, но иногда может понадобится там, где нет встроенного акселерометра, как у робота. Попробуем разобраться, как настроить и построить сеть спутников, по которым можно вычислить свои координаты. Где-то была готовая программа, но я ее не нашел, поэтому восстановил основной функционал, по примеру КомпутерКрафта. Для начала нужен компьютер с установленной OpenOS. Скачиваем для него программатор хостов: pastebin get ZD8GysNP /bin/fgps.lua Эта программа позволяет устанавливать прошивку для спутников-микроконтроллеров, которые будут рассылать свои координаты по запросу. Далее, соберем несколько микроконтроллеров с беспроводными картами, при необходимости обеспечим их энергией. Теперь надо установить прошивку для первой партии: узнаем координаты, где будет стоять очередной хост вставляем EEPROM в компьютер запускаем программатор, с указанием координат через пробел (например: fgps 1652 64 -152) Прошитые карточки вставляем в микроконтроллеры (в сетке крафта) и расставляем в соответствии с координатами, указанными при прошивке. Самое главное - не перепутать координаты. Если навести курсор на микроконтроллер и зажать LSHIFT, то будет виден лейбл биоса, который является подсказкой для его позиции. Когда первая партия размещена и активированна, остальные хосты можно прошивать без указания координат - они определят позицию сразу при включении (если они будут в радиусе действия четырех рабочих хостов) Но лучше, конечно, чтобы каждый хост знал свои точные координаты. Ибо в случае небольшой ошибки в начале постройки, по мере расширения сети, погрешность будет увеличиваться, т. к. поправка будет производится по неверно вычисленным координатам хостов. Теперь проверим работу системы в деле. Возьмем, например, планшет с беспроводным модемом. Скачаем библиотеку GPS: pastebin get Dja9ZceV /lib/gps.lua Запустим консоль Lua. Загрузим библиотеку: local gps = require('gps') И попробуем получить координаты: gps.locate(true) (параметр DEBUG передаваемый в функцию работает как и в ComputerCraft - выводит все вспомогательные сообщения) Каждый хост, при старте устанавливает wake-up сообщение и включается только чтобы ответить на запрос координат. Такой подход экономит огромное количество энергии и позволяет добиться полной автономности хостов - встроенной солнечной панели вполне хватает для работы. Для стабильной работы надо будет добавить data-карту и реализовать протокол управления спутниками по прошитому открытому ключу, чтобы удобно было прошивать новые координаты при перемещении хоста на новое место.
- 5 ответов
-
- 9
-
- opencomputers
- навигация
-
(и ещё 1 )
Теги:
-
Написал небольшую утилиту,для расчета координат черепахи без gps.Pastebin http://pastebin.com/jEsjVFjt Описание: есть все стандартные функции turnLeft() turnRight() forward() up() down() все я думаю знают что они делают,если не знаете бегом на вики. эти функции использовать как стандартные. это не библиотека ,это больше похоже на шаблон,в переменных x,y,z хранятся координаты,sides сторона, SOUTH= 0 -- юг EAST= 3 -- восток NORTH= 2 -- север WEST= 1 -- запад . можно изменять только Max_World_Y ,и Min_World_Y ,они обозначают пределы мира по y координаты,не изменять больше чем пределы мира. про все баги сообщать мне. Использование: при запуске программы вести аргументы это данные черепашки ,их можно узнать став на нее сверху и нажать F3 1. сторона f в которую черепаха смотрит(линия на черепашке, похожа на дисковод) 2. x 3. y-1 так как вы стоите на ней,она ниже на 1 блок вас. 4. z