11 подписчиков
Диктовка скорости движения смартфоном с GPS.
Часто по ТВ обсуждают проблемы с наездами на пешеходов людей на самокатах и электровелосипедах.
Похоже, что уже по закону ограничили скорость 25 км/час.
Я написал программу для Basic! для Андроид старых версий, до 13, которая позволяет определять по GPS скорость и диктовать её вслух с заданным периодом. Так что теперь могу ездить на электровелосипеде "по закону".
На другие типы спидометров надо смотреть, а это отвлекает от слежки за неровностями на дороге.
Заодно координаты, время, скорость записываются в файл и можно потом скопировать координаты, вставить в Google Maps и увидеть, где был телефон в какое-то время.
Файл сохраняется в директории rfo-basic/data и может служить доказательством того, что я не нарушал закон о скорости движения, если что...
Возможно, что водителям разных транспортных средств моя программа будет полезна. Её можно переписать для других, более новых, языков программирования, я не возражаю.
Знак ! отключает выполнение последующей команды, но я вставил строчки с ним для ознакомления.
WAKELOCK 2
GPS.OPEN
loop:
GPS.PROVIDER provider$
GPS.ACCURACY accuracy
GPS.SATELLITES sats
GPS.LATITUDE latitude
GPS.LONGITUDE longitude
GPS.ALTITUDE altitude
GPS.BEARING bearing
GPS.SPEED speed
GPS.TIME time
? "видимых спутников",sats
?"Time GPS (may be wrong if not changing) : " + USING$(, "%tT", int(time))
? "время по GPS устанавливается с задержкой"
latitude=INT(latitude*1000000) /1000000
longitude=INT(longitude*1000000) /1000000
speed=INT(speed*10) /10
sp$=str$(speed)
? далее собственное время смартфона
TIME year$, month$, day$, hrs$, min$, sec$
datefile$ = year$ + " "+month$ + "/"+day$ +" "+ hrs$ +":"+ min$+":"+ sec$+" точность "+INT$(accuracy)+" м"
message$=str$(latitude)+" "+str$(longitude)+" speed "+str$(speed)+" м/сек "+ datefile$+" "+provider$
? message$
tts.init
!tts.speak Hour$
!tts.speak "часов"
!tts.speak Minute$
!tts.speak "минут"
!tts.speak Second$
!tts.speak "секунд"
tts.speak sp$
tts.stop
PAUSE 5000
cls
TEXT.OPEN a, FN2, "coordinates time speed.txt"
TEXT.WRITELN FN2, message$
TEXT.CLOSE FN2
GOTO loop
ONERROR:
END
Комментарий 8_5_2025: Скомпилировал программу, на телефоне с Андроид 11 и полученную программу
gpsToText.apk
переслал на смартфон с Андроид 14. На него не устанавливалась программа Basic!, в которой я написал программу gpsToText.bas
Думал, что смартфон с Андроид 14 не позволит установить мой файл для инсталляции gpsToText.apk
но он установился и работает!
Там есть в конце описание на основании чего вычисляются координаты и несколько минут я видел "network".
Думаю, что моя программа в смартфоне подглядывала за роутерами с WiFi поблизости и от них узнавала координаты с точностью 35 м. Я походил по улице и через несколько минут вместо "network" появилось "gps" и точность улучшилась.
Если вам интересно, то можете попробовать загрузить basic-compiler и скомпилировать
gpsToText.apk и вы сможете установить программу у себя на смартфоны с Андроид >11. Она создаст окошко на экране и директорию с под Директорией "data", в которую будут записываться файлы с координатами, скоростью и временем измерения.
2 минуты
3 июля 2025