[Закрываются] дешевые программируемые устройства GPS

Как правило, когда вы анализируете случай в программе проверки теорем, многие случаи сводятся к «не может быть». Например, если вы доказываете некоторый факт о целых числах, вам может потребоваться выполнить анализ случая того, является ли целое число i положительным, нулевым или отрицательным. Но в вашем контексте могут быть и другие гипотезы, или, возможно, какая-то часть вашей цели, что противоречит одному из случаев. Например, вы можете знать из предыдущего утверждения, что i никогда не может быть отрицательным.

1143 Однако Кок не такой умный. Таким образом, вам все еще нужно пройти через механизм фактического показа, что две противоречивые гипотезы могут быть склеены в доказательство абсурда и, следовательно, доказательство вашей теоремы.

Подумайте об этом, как в компьютерной программе:

switch (k) {
  case X:
    /* do stuff */
    break;
  case Y:
    /* do other stuff */
    break;
  default:
    assert(false, "can't ever happen");
}

Цель false = true - «никогда не случится». Но вы не можете просто заявить о себе в Coq. На самом деле вы должны записать проверочный термин.

Итак, выше, вы должны доказать нелепую цель false = true. И единственное, с чем вам нужно работать - это гипотеза H: andb false c = true. Мгновенная мысль покажет вам, что на самом деле это абсурдная гипотеза (потому что andb false y сводится к ложному для любого y и, следовательно, не может быть правдой). Таким образом, вы бьете по цели, имея в своем распоряжении единственную вещь (а именно H), и ваша новая цель - false = andb false c.

Таким образом, вы применяете абсурдную гипотезу, пытаясь достичь абсурдной цели. И вот, в итоге вы получите что-то, что вы действительно сможете показать рефлексивностью. QED.

ОБНОВЛЕНИЕ Формально, вот что происходит.

Напомним, что каждое индуктивное определение в Coq имеет принцип индукции. Вот типы принципов индукции для равенства и предложение False (в отличие от термина false типа bool):

Check eq_ind.
eq_ind
  : forall (A : Type) (x : A) (P : A -> Prop),
    P x -> forall y : A, x = y -> P y
Check False_ind.
False_ind
 : forall P : Prop, False -> P

Этот принцип индукции для False говорит, что если вы дадите мне доказательство False, я могу дать вам доказательство любого предложения P.

Принцип индукции для eq является более сложным. Давайте рассмотрим это только в bool. И конкретно к false. В нем говорится:

Check eq_ind false.
eq_ind false
 : forall P : bool -> Prop, P false -> forall y : bool, false = y -> P y

Итак, если вы начнете с некоторого предложения P(b), которое зависит от логического значения b, и у вас есть доказательство P(false), то для любого другого логического значения y, которое равно false, у вас есть доказательство P(y).

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

Check eq_ind false (fun b : bool => if b then False else True).
eq_ind false (fun b : bool => if b then False else True)
 : (fun b : bool => if b then False else True) false ->
   forall y : bool,
   false = y -> (fun b : bool => if b then False else True) y

Немного упрощая, это говорит True -> forall y : bool, false = y -> (if y then False else True). ​​

Итак, для этого требуется доказательство True, а затем некоторое логическое значение y, которое мы можем выбрать. Итак, давайте сделаем это.

Check eq_ind false (fun b : bool => if b then False else True) I true.
eq_ind false (fun b : bool => if b then False else True) I true
 : false = true -> (fun b : bool => if b then False else True) true

И вот мы: false = true -> False.

В сочетании с тем, что мы знаем о принципе индукции для False, мы имеем: если вы дадите мне доказательство false = true, я могу доказать любое предложение.

Итак, вернемся к andb_true_elim1. У нас есть гипотеза H, то есть false = true. И мы хотим доказать какую-то цель. Как я показал выше, существует термин «доказательство», который превращает доказательства из false = true в доказательства того, что вы хотите. Так, в частности, H является доказательством false = true, так что теперь вы можете доказать любую цель, которую хотите.

Тактика - в основном механизм, который строит термин доказательства.

18
задан luvieere 7 October 2009 в 22:08
поделиться

8 ответов

Попробуйте найти такие устройства, как Trimble Trimtrac Locator , или введите запрос «gps gsm» в Google.

7
ответ дан 30 November 2019 в 09:15
поделиться

У меня есть дешевый GPS, который я купил в Великобритании (около 100 $) ;-) Я можно использовать для навигации. это все не более того.

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

Вы можете использовать дешевые подержанные мобильные телефоны с GPS. У вас есть GPS, и вы можете легко разработать программу для Windows Mobile, Symbian или Java для передачи сопутствующих данных на сервер.

Что касается дождя ... Вы можете легко построить водонепроницаемый бокс; -)

Редактировать: GPS используется многими из них в Великобритании. Но я живу в Индии, и большинство людей здесь не знают, что такое GPS ;-), а карты здесь не работают должным образом, так что здесь легко найти хороший подержанный мобильный телефон Nokia или Windows.

Вы можете легко построить водонепроницаемый бокс; -)

Редактировать: GPS используется многими из них в Великобритании. Но я живу в Индии, и большинство людей здесь не знают, что такое GPS ;-), а карты здесь не работают должным образом, так что здесь легко найти хороший подержанный мобильный телефон Nokia или Windows.

Вы можете легко построить водонепроницаемый бокс; -)

Редактировать: GPS используется многими из них в Великобритании. Но я живу в Индии, и большинство людей здесь не знают, что такое GPS ;-), а карты здесь не работают должным образом, так что здесь легко найти хороший подержанный мобильный телефон Nokia или Windows.

0
ответ дан 30 November 2019 в 09:15
поделиться

Посмотрите на Garmin GPS18x OEM . Его можно найти за 85 долларов и меньше.

GPS 18x - это OEM-датчик GPS для использования в автомобилях, транспортных средствах и электронике, требующих небольшого высокоточного приемника GPS.

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

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

gpsd - это сервисный демон, который отслеживает один или несколько устройств GPS, подключенных к главному компьютеру через последовательные или USB-порты, делая все данные о местоположении / курсе / скорости датчиков, доступных для запроса через TCP-порт 2947 хост-компьютера. С помощью gpsd несколько клиентских приложений GPS (таких как программное обеспечение для навигации и вождения) могут совместно использовать доступ к GPS без конфликтов или потери данных.

1
ответ дан 30 November 2019 в 09:15
поделиться

Существует модульная аппаратная платформа с открытым исходным кодом, называемая Ошибка , которая поддерживает GPS. Базовый модуль Bug стоит 250 долларов США, а модуль GPS - 99 долларов США. Некоторые из их частей уже заказаны, но похоже, что у платформы есть некоторый потенциал.

0
ответ дан 30 November 2019 в 09:15
поделиться

Посмотрите на OEM-модели, скажем, от Garmin, GPS 10 по цене чуть более 200 долларов. Вы найдете более дешевые варианты, когда начнете искать. Не берите сотовый телефон для GPS, то есть, если у вас уже нет под рукой старый с GPS (в этом случае вы не будете спрашивать здесь).

0
ответ дан 30 November 2019 в 09:15
поделиться

Если вы не хотите покупать iPhone и все остальные компоненты и вообще не хотите беспокоиться о телефоне, вы можете создать свой собственный GPS-модуль.

Вам понадобится сам GPS-модуль, который вы можете получить по адресу SparkFun примерно за 50 долларов. Фактически, у них также есть хорошее руководство для покупки. Найдите его здесь.

После того, как у вас будет GPS-приемник и вы сможете получать данные, вам просто нужно будет начать маршрутизацию данных по своему усмотрению. Первоначально вы могли очень легко настроить связь через последовательный порт. Или, если вы хотите оказать ему поддержку в Интернете, существуют различные платы, которые принимают последовательные данные, преобразуют их и отправляют по Ethernet-соединению (также известному как Интернет).

Что касается защиты от падений и тому подобного, вы должны иметь возможность изготовить корпус или корпус за 10-20 долларов. .

Такой подход потребует от вас немного больше усилий, но вы сможете получить именно то, что хотите, сэкономить немного денег и узнать все об аппаратном обеспечении и электронике!

Удачи!

Изменить: посмотрев еще немного на SparkFun, я обнаружил, что они на самом деле продают коммутационные платы GPS, которые автоматически подключают последовательный порт и порт USB для использования менее чем за 40 долларов! Посмотрите здесь .

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

Удачи!

Редактировать : Посмотрев еще немного на SparkFun, я обнаружил, что они на самом деле продают коммутационные платы GPS, которые автоматически подключают последовательный порт и порт USB, чтобы вы могли их использовать, по цене менее 40 долларов! Посмотрите здесь .

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

Удачи!

Редактировать : Посмотрев еще немного на SparkFun, я обнаружил, что они на самом деле продают коммутационные платы GPS, которые автоматически подключают последовательный порт и порт USB, чтобы вы могли их использовать, по цене менее 40 долларов! Посмотрите здесь .

8
ответ дан 30 November 2019 в 09:15
поделиться

Некоторое время назад я создал примитивную встроенную систему, которая передавала координаты по радиоканалу.

У меня есть два радиомодуля передатчика / приемника и модуль GPS (точный не помню. цена, но в целом она была меньше 100 долларов).

Я подключил приемник к COM-порту ПК и написал приложение на C #, которое считывало данные из порта.

На другом конце я создал встроенный модуль, который отправлял данные.

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

Сначала вы должны определить, для чего вы будете использовать ваше решение (диапазон, скорость соединения, безопасность ...), а после этого вы можете искать соответствующие модули. Существуют тысячи доступных модулей, которые вы можете использовать для своего решения.

0
ответ дан 30 November 2019 в 09:15
поделиться

Для нашего собственного побочного проекта ( http://woophoo.com ) мы протестировали самые дешевые китайские устройства слежения за GPS по цене около 100 $.

В основном одни и те же единицы могут быть получены от разных небольших фирм (например, «Бофан») с разными названиями. Они представляют собой интегрированные устройства GPS-GSM, способные к обмену данными по GPRS и SMS, отправляя измеренные местоположения на центральный сервер в режиме онлайн, используя один и тот же протокол. Мы обнаружили, что их можно использовать, однако имеют какое-то странное поведение. Но, по сравнению с другими устройствами gprs-gps, их цена очень низкая. Я не уверен, но если онлайн-отслеживание - это то, что вы ищете, а надежность - не первое требование, тогда можно рассмотреть эти устройства.

0
ответ дан 30 November 2019 в 09:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: