ПЛАНИНАРСКИ ФОРУМ Форуми ПЛАНИНАРСКИ ФОРУМ
всичко за планината
Регистрирайте сеТърсенеВъпроси/ОтговориПотребителиПотребителски групиВход
GPS тракер в реално време през GSM мрежа
Иди на страница Предишна  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Следваща
 
Напишете отговор    ПЛАНИНАРСКИ ФОРУМ Форуми » Екипировка, необходими неща Предишната тема
Следващата тема
GPS тракер в реално време през GSM мрежа
Автор Съобщение
dido



Регистриран на: 03 Яну 2007
Мнения: 6374

Мнение Отговорете с цитат
Всичко над 5-ия знак след десетичната запетая в десетични GPS-координати е безсмислено и спокойно може да се ореже.
В нашите ширини това дава ок. 3 метра линейна разлика в позицията, което е и максималната точност на стандартно гражданско GPS устройство.

Говорейки за оптимизация на предаваните данни, може да се пипне и времето - примерно да се предава като unix time.

_________________
Бутам след осмата бира Very Happy
Съб Мар 27, 2021 4:02 pm Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя ICQ Номер
lz1fw



Регистриран на: 28 Юли 2010
Мнения: 713
Местожителство: София

Мнение Отговорете с цитат
dido написа:
Всичко над 5-ия знак след десетичната запетая в десетични GPS-координати е безсмислено и спокойно може да се ореже.
В нашите ширини това дава ок. 3 метра линейна разлика в позицията, което е и максималната точност на стандартно гражданско GPS устройство.

Говорейки за оптимизация на предаваните данни, може да се пипне и времето - примерно да се предава като unix time.

Всичко е така и всичко е правилно. За целите на конкретното мое забавление (щеше ми се да мога да напиша проучване, ама на този етап ще е глупаво) обаче са важни детайлите, дори когато те видимо нямат практическа стойност. Затова ми изглеждат ценни неформатираните дълги цифри, получавани от GPSlogger.

Относно времената - към момента в базата се записват цели четири времена и всяко едно от тях си тежи на мястото. Примерно за една и съща точка в един запис от базата има
time = 2021-03-28 10:10:11
timestamp = 1616915411
timeUTC = 2021-03-28T07:10:11.000Z
startTimeStamp = 1616915323

Както вече казах, за забавлението ми са ми необходими детайли. Всичко се записва в базата данни на сървъра, но на външния потребител доста детайли ще бъдат спестени. Предполагам, че така се прави във всички подобни бази данни.
Нед Мар 28, 2021 11:01 am Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Николай_K



Регистриран на: 03 Фев 2021
Мнения: 129

Мнение Отговорете с цитат
lz1fw написа:
На тези GPS модули даните са трудни за разчитане.

Напротив, това си е стандартния NMEA протокол, който се декодира лесно - Quectel L86. Има възможност за доста настойки.

lz1fw написа:
Като гледам - работиш за Юри и Виктор. Имаш ли повиквателен знак?

Нямам повиквателен знак. Имам конструкторски клас "С" и после конструирането ми стана занаят, но не можах да се "зарибя" в комуникациите.

Защо unix time?
Пон Мар 29, 2021 12:49 pm Вижте профила на потребителя Изпратете лично съобщение
djogobg



Регистриран на: 28 Дек 2016
Мнения: 106

Мнение Отговорете с цитат
Ето и инструкциите за приложението, което намерих.
Преди всичко искам да кажа, че едно приложение на телефона не може да замести главата на раменете. Също, тъй като не съм правил аз приложението, а само работния поток, който приема, оценява и праща смс, не знам, дали няма да ви източат данните. Доколкото съм в сферата на ИТ и имам опит с програмиране, аз се доверявам на това приложение, но това си е лично моя преценка. Отделете време и се запознайте с често задаваните въпроси, както и с документацията на страницата на създателите на приложението: https://llamalab.com/automate/doc/faq.html
Тъй или иначе, за всеки достъп, който трябва, ще бъдете попитани. Като цяло трябват три достъпа: да може да приема, чете и изпраща СМС, да може да чете файлове от устройството(за да заредите модулите) и да може да достъпва ГПС. Останалите достъпи, дори и да ги иска, спокойно можете да ги откажете.
Ето и стъпките:
1. Инсталирайте си приложението "Automate"от PlayStore, няма го за iPhone.
https://drive.google.com/file/d/1_5TupzdAV_jiXRLzpSrPQgZZZ4H5bfBN/view?usp=sharing

2. Дръпнете си този файл и запомнете, къде сте го запазили: https://drive.google.com/file/d/1f5EcXhIALb7nQ8JS5ycmePE1amF1szSF/view?usp=sharing

3. Отворете новоинсталираното приложение "Automate". Вътре ще има списък с предварително сложени модулчета(flow на английски, но лирически нека ги наричаме модули). Аз ги поразчистих и моят списък изглежда така(ако един модул не е стартиран няма какво да ви притеснява, така че може да си ги оставите):
https://drive.google.com/file/d/1j-Yxucj-7f1CYJJOBNJAazzt2AgdlIJQ/view?usp=sharing

4. В горната снимка забележете оградените три точки - натиснете на тях, за да ви се появи следното меню, от което изберете "Import":
https://drive.google.com/file/d/1900zqaoNZRMYPZbEMkaqhpQ1ojyCPCjK/view?usp=sharing

5. Ориентирайте се из файловете и намерете сваленият в точка 2 файл. Изберете го, за да се зареди в приложението:
https://drive.google.com/file/d/12KtVzWXTn5nBLcWjmD_b0trjjroLNcIf/view?usp=sharing

6. Модулът се появява в списъка с модули.
https://drive.google.com/file/d/1bNxtIkICmWGKsGaZhWcZf2w6TgjmvgPS/view?usp=sharing

7. С натискане върху модула, ще влезете в неговото меню. Тук важни са бутонът за стартиране горе и бутонът за редакция - долу. Ако директно изберете бутонът за стартиране, ще се зареди приготвеният от мен работен поток, който чака дума "gpslocate" или "Gpslocate" получена като СМС от който и да е номер. При полуаване на този смс, ако е пуснат ГПС приемника, ще върнете обратно СМС с координати, точност на локацията в метри, процент батерия и линк към google maps. Ако ГПС приемника не е пуснат, ще върнете обратно СМС с процент батерия и съобщение, че ГПС не е пуснат.
https://drive.google.com/file/d/1g49npgpp_3lJbgkZk-SLIF5x8XW2yVCe/view?usp=sharing

8. Ако сте избрали бутон за редакция ще видите следната картинка.
8.1. Ако натиснете на оградения в зелено елемент, ще може да ограничите номерата, които ще могат да задействат потока чрез СМС(примерно само някой близък).
8.2. Ако натиснете на някой от оградените в червено елементи, ще можете да промените кодовите думички, които са разрешени в потока.
8.3. Ако искате, може да клонирате този поток и да си поиграете, да направите по-обхватен поток с допълнителни блокове. Аз съм го направил доста минималистичен с идеята а не се харчи много батерия(макар и не за сметка на точността на локацията, всеки път взима свежа позиция) и да няма много неща, които да се объркат.
8.4. Промените на елементите трябва да бъдат потвърждавани с apply, а промените в модула/потока се запазват автоматично, така че при излизане от него не се губят.
https://drive.google.com/file/d/1lPpwET9nIGSZxSKOYxZAYikJVQCb9v8l/view?usp=sharing

9. Ето този екран ще се появи, когато стартирате модула. Оградено в червен правоъгълник е съобщението, на кой елемент в момента е заседнал потокът. Очевидно в момента чака смс. Няма проблем да излезете от приложението, то ще върви на заден план(run in background)
https://drive.google.com/file/d/1TLfVNsLvfxc8mpmvQMoyE_xwPdYiJXdN/view?usp=sharing

10. В лентата с нотификации пък трябва да имате следните неща, за да можете да очаквате приложението и модулът да изпратят смс с координатите ви успешно: 1. ГПС е пуснат, 2. Automate върви
https://drive.google.com/file/d/1JTWI38LTz2WpLdnaiAqoZ45boLuoYtSc/view?usp=sharing

11. Можете сами да си пратите СМС с кодовата думичка и да получите обратно от себе си координатите си(ако сте в сграда застанете до прозорец).
https://drive.google.com/file/d/1DUrmDHMdJSyMK78QeVco360t7OYcrMnX/view?usp=sharing

12. Ако след успешен СМС влезете в приложението и в модула, ще видите в лог файла, кои стъпки са минали. Ако сами сте си пратили СМС-а за локиране не се чудете, че потокът е стартиран два пъти - нали освен съобщението с gpslocate сте получили и съобщение с координати, което сте пратили на себе си в отговор.
https://drive.google.com/file/d/1V9ILadU-ROER95ieTjHKXMf1-LpEL7To/view?usp=sharing


13. За да спрете модула, е достатъчно или от лентата с нотификации да изберете "stop all" или да влезете в приложението и в модула и да го спрете от там.

Ако разцъкате настройките на самото приложение можете да ограничите колко СМС-а могат да се пращат на 12 часа, за да не ви набъбне сметката.
Също така, може да се направи модул, който на всеки 30 минути(или друг период от време), да изпраща СМС с координати на определен номер. Това вече ще товари батерията и сметката доста, но е възможно да се направи.
Надявам се а съм бил полезен, при въпроси ще отговарям, доколкото мога.
Пон Мар 29, 2021 10:35 pm Вижте профила на потребителя Изпратете лично съобщение
dido



Регистриран на: 03 Яну 2007
Мнения: 6374

Мнение Отговорете с цитат
Николай_K написа:

Защо unix time?


С 8 символа предаваш време като дата и час с резолюция 1 секунда.
Има също предимства ако ще ползваш времето машинно - да смяташ отмествания, да сравняваш времена и прочее.

_________________
Бутам след осмата бира Very Happy
Вто Мар 30, 2021 11:41 am Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя ICQ Номер
Николай_K



Регистриран на: 03 Фев 2021
Мнения: 129

Мнение Отговорете с цитат
dido написа:
Николай_K написа:

Защо unix time?


С 8 символа предаваш време като дата и час с резолюция 1 секунда.
Има също предимства ако ще ползваш времето машинно - да смяташ отмествания, да сравняваш времена и прочее.


Предавам датата и часа с 6 байта във вида 0xYYMMDDHHMMSS. Ако трябва юникс време - сървъра да си го смята.
Вто Мар 30, 2021 5:16 pm Вижте профила на потребителя Изпратете лично съобщение
lz1fw



Регистриран на: 28 Юли 2010
Мнения: 713
Местожителство: София

Мнение Отговорете с цитат
Николай_K написа:
dido написа:
Николай_K написа:

Защо unix time?


С 8 символа предаваш време като дата и час с резолюция 1 секунда.
Има също предимства ако ще ползваш времето машинно - да смяташ отмествания, да сравняваш времена и прочее.


Предавам датата и часа с 6 байта във вида 0xYYMMDDHHMMSS. Ако трябва юникс време - сървъра да си го смята.


Малко се позагубихте в материята. Very Happy

UNIX датата се изписва с десет символа (цифри). Пример: 30.03.2021 18:00:00 се изписва като 1617127200 в UNIX формат.

Ако 30.03.2021 18:00:00 преобразуваме като UNIX дата (1617127200) и я предадем като шестнайсетично число, то ще е 0x60636720 и ще заеме четири байта.

Very Happy Very Happy Very Happy
Вто Мар 30, 2021 5:55 pm Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Николай_K



Регистриран на: 03 Фев 2021
Мнения: 129

Мнение Отговорете с цитат
lz1fw написа:
Николай_K написа:
dido написа:
Николай_K написа:

Защо unix time?


С 8 символа предаваш време като дата и час с резолюция 1 секунда.
Има също предимства ако ще ползваш времето машинно - да смяташ отмествания, да сравняваш времена и прочее.


Предавам датата и часа с 6 байта във вида 0xYYMMDDHHMMSS. Ако трябва юникс време - сървъра да си го смята.


Малко се позагубихте в материята. Very Happy

UNIX датата се изписва с десет символа (цифри). Пример: 30.03.2021 18:00:00 се изписва като 1617127200 в UNIX формат.

Ако 30.03.2021 18:00:00 преобразуваме като UNIX дата (1617127200) и я предадем като шестнайсетично число, то ще е 0x60636720 и ще заеме четири байта.

Very Happy Very Happy Very Happy


Ха на бас, че не можеш да а предадеш шестнайсетично. Байтовете са наистина 4.
Вто Мар 30, 2021 6:29 pm Вижте профила на потребителя Изпратете лично съобщение
lz1fw



Регистриран на: 28 Юли 2010
Мнения: 713
Местожителство: София

Мнение Отговорете с цитат
Николай_K написа:
lz1fw написа:
Николай_K написа:
dido написа:
Николай_K написа:

Защо unix time?


С 8 символа предаваш време като дата и час с резолюция 1 секунда.
Има също предимства ако ще ползваш времето машинно - да смяташ отмествания, да сравняваш времена и прочее.


Предавам датата и часа с 6 байта във вида 0xYYMMDDHHMMSS. Ако трябва юникс време - сървъра да си го смята.


Малко се позагубихте в материята. Very Happy

UNIX датата се изписва с десет символа (цифри). Пример: 30.03.2021 18:00:00 се изписва като 1617127200 в UNIX формат.

Ако 30.03.2021 18:00:00 преобразуваме като UNIX дата (1617127200) и я предадем като шестнайсетично число, то ще е 0x60636720 и ще заеме четири байта.

Very Happy Very Happy Very Happy


Ха на бас, че не можеш да а предадеш шестнайсетично. Байтовете са наистина 4.

Губиш баса. Шестнайсетичното число "60636720" го предавам като текст от раз и без всякакви проблеми.
Вто Мар 30, 2021 6:36 pm Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
dido



Регистриран на: 03 Яну 2007
Мнения: 6374

Мнение Отговорете с цитат
Загубихте се и двамата май.

Складира се в 4 байта. По SPI, CAN, I2C, serial или каквото си харесате там може да си го предадете с 4 байта.
По http без значение какъв е физическия пренос, може да се предаде с 8 символа - както писах.

_________________
Бутам след осмата бира Very Happy
Вто Мар 30, 2021 11:26 pm Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя ICQ Номер
vedrin



Регистриран на: 25 Авг 2010
Мнения: 5783
Местожителство: 1116 m н.в.

Мнение Спътникова LoRа Отговорете с цитат
Клетъчните мрежи едва ли някога ще покрият напълно най-слабо населените места, които са по-интересни за планинарите.

За щастие се появяват и други възможности, благодарение на които някои спътникови услуги постепенно стават доста по-достъпни за масовия потребител. Например Swarm мрежата, макар и все още не напълно изградена, вече може да бъде използвана. Месечният абонамент е $5 и включва 750 съобщения от по 192 байта. Комуникационното устройство не е особено скъпо ($119), размерите и теглото му са съпоставими с тези на кибритена кутийка, харчи 22 μA (3.3V) в спящ режим, 30-35 mA (3.3V) при приемане на данни, 888-939 mA (3.3V) при излъчване, и има вграден GNSS приемник:


Източник: Swarm Takes LoRa Sky-High, IEEE Spectrum, 31 март 2021 г.

Повече подробности са достъпни тук:

https://swarm.space/developertools/

Би могло да бъде създадено удобно за планинари проследяващо устройство използващо услугите на мрежа като Swarm, което при това би могло да бъде и доста по-достъпно, например, в сравнение с хардуера и услугите на SPOT (€120.53 + €11.95 месечен абонамент), и да осигурява (някой ден) съпоставимо добра свързаност и локализиране в пресечени местности. Ех мечти, мечти...! Smile

_________________
"Caminante son tus huellas el camino y nada más;
caminante, no hay camino, se hace camino al andar."
-- Antonio Machado
Сря Мар 31, 2021 12:46 am Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
lz1fw



Регистриран на: 28 Юли 2010
Мнения: 713
Местожителство: София

Мнение Отговорете с цитат
dido написа:
Загубихте се и двамата май.

Складира се в 4 байта. По SPI, CAN, I2C, serial или каквото си харесате там може да си го предадете с 4 байта.
По http без значение какъв е физическия пренос, може да се предаде с 8 символа - както писах.


и тримата се загубихме... а по http може да се предаде и с по-малко символи без загуба на прецизност.
Very Happy
Сря Мар 31, 2021 9:59 am Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Николай_K



Регистриран на: 03 Фев 2021
Мнения: 129

Мнение Отговорете с цитат
lz1fw написа:
Губиш баса. Шестнайсетичното число "60636720" го предавам като текст от раз и без всякакви проблеми.

Да, ама не! "60636720" е стринг.
Сря Мар 31, 2021 10:43 am Вижте профила на потребителя Изпратете лично съобщение
lz1fw



Регистриран на: 28 Юли 2010
Мнения: 713
Местожителство: София

Мнение Отговорете с цитат
Николай_K написа:
lz1fw написа:
Губиш баса. Шестнайсетичното число "60636720" го предавам като текст от раз и без всякакви проблеми.

Да, ама не! "60636720" е стринг.

На никого не му пука. Имаш данни в точка А. Задачата е да стигнат без загуби в отдалечена точка Б за време В. В точка А данните тръгват като шестнайсетично число, в точка Б са получени като същото шестнайсетично число.

Останалото е даскалски манталитет за късане по изпити.
Very Happy
Сря Мар 31, 2021 10:57 am Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
vladofff



Регистриран на: 26 Апр 2011
Мнения: 3039

Мнение Отговорете с цитат
lz1fw написа:
Николай_K написа:
lz1fw написа:
Губиш баса. Шестнайсетичното число "60636720" го предавам като текст от раз и без всякакви проблеми.

Да, ама не! "60636720" е стринг.

На никого не му пука. Имаш данни в точка А. Задачата е да стигнат без загуби в отдалечена точка Б за време В. В точка А данните тръгват като шестнайсетично число, в точка Б са получени като същото шестнайсетично число.

Останалото е даскалски манталитет за късане по изпити.
Very Happy

Може би няма да е проблем, ако става дума за едно нещо, ако са милиард и една данни обаче, след събирането им на едно място дали няма да се губи време и ресурс за парсването им от стринг в съответен друг тип.
Веднъж ми правиха забележка, че съм използвал такъв подход - имах проблеми с дата/тайм формати от/към база данни ми въртеше номера. След като ми писна, направих точно това простовато действие - данните през .ToString() и нещата се оправиха... Само, че после се забавял процеса, защото при парсването обратно в нужния тип се искало време, а това можело да се избегне. Да не би това да е проблемът?
Сря Мар 31, 2021 12:02 pm Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Напишете отговор    ПЛАНИНАРСКИ ФОРУМ Форуми » Екипировка, необходими неща Часовете са според зоната GMT + 3 Часа
Иди на страница Предишна  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Следваща
Страница 6 от 10

 
Идете на: 
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети
 

ВРЕМЕТО:

вр.Ботев

вр.Мургаш

вр.Мусала

гр.Сандански

Черни връх

 Вземи рекламен банер   


 

Никаква част от материалите и снимките на този форум
не може да бъде копирана и използвана
без изричното съгласие на автора, който ги е публикувал.



Powered by phpBB © 2001, 2005 phpBB Group
Design by Freestyle XL / Flowers Online.Translation by: Boby Dimitrov