Отговори на тема  [ 38 мнения ]  Отиди на страница 1, 2, 3  Следваща
GSM модули 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение GSM модули
накратко без много много подробности - пиши го: офис-килър с муза за писане (по памет)...
дори и да съм допуснал грешки в обясненията се дължи на ... мързел :D преценил съм, че не са съществени за да ги коригирам и едва ли ще ги коригирам

GSM - вече е синоним на телефон от "дръжка" до смартфон, други разбират 2G, трети GPRS...

1G, 2G, 3G, 4G, 5G, 6G означава Номер Генерация за мобилна връзка и определя максимума услуги и скорост на данни, който хардуера за генерацията трябва да предостави на клиентите
Практиката показа, че нито една генерация не напълни на максимума заложените параметри

1G - аналогови мрежи, аналогово радио, аналогов звук

2G - или GSM, общо взето начин с който се предава цифров звук в ефира от клетки до ... дръжки. Как точно работи - не ни интересува
за да предава цифрови данни като Факс, Модем... операторите раздаваха втори номер, а телефона използваше CSD ( Circuit Switched Data ), а данните се предават както звука
или казано: Това е традиционната форма на модемна комуникация, използвана за пренос на данни чрез GSM мрежа. Не си спомням 2G да е бил клиент на интернет
За звук ще спомена само на още на няколко места, по-интересен е Интернет
и защото 2G няма Интернет го надградиха с GPRS и стана

2.5G, a цифровите данни "скачат" по свободните от звук канали
От тук нататък всички думи като GPRS, LTE... разбирай технология за достигане на максимални параметри наложени от генерацията... най-вече скорост на обмен
SMS - е "издънка" в протокола, едно празно място в протокола, които бяха усвоени за прибиране на пари от клиентите

3G - два протокола за звук и данни: по единия върви звук CS ( Circuit Switched ) по другия PS ( Packed Switched )
UMTS и разновидности, a заради скороста се появиха и видео разговори ... стримваше youtube без проблем
CSD може да се подържа, но е премахната като "отживелица"

4G - само PS ( Packed Switched ) образно казано всичко е Интернет и Войс Овър Нет
LTE - както споменах: технология за достигане на максимални параметри наложени от генерацията
LTE-CAT0, CAT1, CAT4 ... CAT666 са КАТегории скорост
С появата на понятието IoT и желание да се узвоят пари от индустрията се появиха
LTE-CAT-М1 и М2 ... които са LPWA ( Low Power Wide Area ) технология към която спадат и LoRa, Sigfox...
общо взето: малка скорост на по-голямо разстояние с по-малка мощност на излъчване ... електромери, водомери, сензори изобщо
М1 и М2 са изцяло LTE протокол и са разпространени в USA и други
Европа използва NB-IoT ( Narrow Band )
NB-IoT e китайско изобретение, което може да работи САМО без каквито и да е GSM технологи. Усвоен е и се предоставя от GSM оператори с цел да покрият нужди на индустрията
NB-IoT не е LTE, ще срещате надпис LTE-NB-IoT и може да ви заблуди
LTE се слага отпред за реклама и за това, че работи в обхвата на LTE и/или CAT-M и/или използва части от протокола за ауторизация
Радиото му работи на съвсем друг принцип, подобно на LoRa с цел да се увеличи разстоянието с по-малката мощност, за да пази енергията на батерията
В GSM мрежата работи или на специализиран канал или в защитните области между каналите на операторите ( от икономическа гледна точка )
Например в България NB се намира на 900 MHz, a там няма LTE, има UMTS, който е стара генерация и не разбира от LTE

5G, 6G и нататък - СКОРОСТ...

За нашата специалност прозрачно за нас ни се предоставя Интернет във вид на AT команди или директен достъп до TCP/IP/RAW сокети, HTTP/S и SSL и други "екстри",
за Звук, SMS, SIM карти - те са заложени в "ядрото" на GSM технологиата и се поддържат от началото и мисля, че са безинтересни...
Повечето модули дават и PPP за външна обработка на TCP/IP

Напоследък се наблюдава тенденция за премахване на 2G и 3G дори са премахнати в някой държави - тъй че внимавайте какви модули избирате
някъде ще видите модул LTE-NB-IoT-CAT-M-GSM ... избран за нормално LTE и настъпахте мотиката...
това означава, че модула подържа: LPWA NB-IoT(Европа) LTE-CAT-M(Щатите) и GSM-GPRS, a за LPWA ви трябва SIM карта, която има правото, чрез друг APN да работи в LPWA мрежата на оператора
и ако няма GSM услуга навярно SMS няма да може да изпратите - SMS зависи от оператора, които го махат от LPWA

"Зоопарк" от Производителите на модули произвеждат "зоопарк" от модули, които реално зависят от чипсета ( SoC ) сложен под "ламарината" и от SDK-то с което е изграден firmware
Масови производители на чипсети са Mediatek, Qualcomm, Huawei и разни по-малки такива. Те не произвеждат физически чиповете, те са продали лиценза и правото на фабрика да произвежда чипа
за някой чипове дори са забравили, че съществуват изобщо. Например на Mediatek чиповете ги произвeжда и обслужва Airoha ( GSM, WiFI, BT ) която има и подизпълнители
интересното е че като ги попитах ( Airoha ) защо няма чипове те отговориха - ще правим 5G :) за което се изисква съвсем друго ниво на технология :finga:
Производители на чипсети са продали или подарили SDK на производителя на модули и тази информация и възможности са "забранени" за нас ( пари и конкуренция )
Повечето SoC подържат и периферия за която дори и не подозирате като LCD, Камера, JPG, MP3, но се орязват подобни екстри от производителите на модули
пример: https://www.youtube.com/watch?v=62bWJpoJi-I

Повечето съвременни GSM модули предоставят Userware SDK за потребителски приложения изпълними от самия модул без външно управление ( за икономия ), а ВСИЧКИ работят с AT команди дори и "отвътре"
Това SDK е базирано на оригиналното С SDK ( чипсет производител ) с което е създадено firmware на модула от производителя на модула
и от последния зависи какъв достъп до периферията и услугите на ядрото и GSM модема ви предоставя, общо взето най-необходимото за вашето IoT приложение
пример за оригинално SDK: най-разпростанените GPRS модули
https://github.com/AIOT-WORKSHOP/AWS_MT2503_SDK
примери за клинтско приложения
https://www.youtube.com/watch?v=MdGzIl_6uzA
https://www.youtube.com/watch?v=XgH9zvNGdGg
https://www.youtube.com/watch?v=VnA0EKnP6oQ

Userware SDK може да бъде нативно С API мост до оригиналните функции в ядрото или директен достъп с прекомпилирани библиотеки
Може да бъде и microPython, JavaScript, Lua и всевъзможни решения

Относно хардуера под ламарината 99% е оригинално чипсет решение предоставено от чипсет производителя... плюс минус по-евтин елемент
Напоследък повечето чипсети са нормален ARM ( нормално GCC ) плюс "екстри", някога може да "светне" и RISC-V
Качеството на модулите - ако имат сертификат се предполага, че са похарчили достатъчно пари за да не се излагат в Европа и Щатите ( всяко правило има изключения )
Цените и support зависят от количеството, които купувате...

и те така - ако на някой е в помощ - бира не отказвам :)

_________________
main[-1u]={1};


Чет Юли 07, 2022 2:17 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4577
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: GSM модули
Непременно да дойдеш на бира другата седмица

_________________
'просто' е технически синоним на 'красиво'


Чет Юли 07, 2022 5:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 8:19 pm
Мнения: 4410
Местоположение: Stara Zagora
Мнение Re: GSM модули
To да се чудиш нова разработка на какъв модул да започнеш :)


Пет Юли 08, 2022 5:50 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: GSM модули
Бабане, ще питам жената :finga:

Киров, в момента в който си помислиш: Ще използвам АТ команди... и избора приключва :) дириш малък, евтин и достъпен
проблеми има, ако ще "точиш" проекта...

АТ командите е технология от миналия век и firmware обработката им е достатъчно осъвършенствана
SDK-то с което е билднато firmware e дело на производителя на чипсета, а те не са от вчера на "пазара"
В основата на SDK има 99% тествана обработка на всички AT операции
Някой пускат модул с "базово" firmware, други преименуват някой AT команди за реклама и добавят някой екстри
Крайното firmware е тествано многократно - иначе ще изгубят клиенти и яко ще се изложат, ако нящо не работи
естествено се намират и бъгове чат пат, но не е плачевно

И друго - 100% от всички модули са с "индустриална насоченост" за работа с АТ команди основно
Всички други "екстри" - узер апи сдк, питони и жави са на заден план, щото на производителя на модули им куцат идеите с приложенията на модула през 21 век
Обяснявал съм на производители на модули "екстрите" ... :idea: Така ли е? ... Така е, АМА :(

_________________
main[-1u]={1};


Пет Юли 08, 2022 7:51 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: GSM модули
ако чипето има ресурси ( рам и ос ) за обработка на АТ команди
ето "хубав" сорс за обработка или идея кое как става
сорса е от Андроид версии под 3.0
https://github.com/aosp-mirror/platform ... erence-ril
там има и един "полезен" сорс ( без malloc ) at_tok - за обработка на стрингове разделени със запетая или друг чар

_________________
main[-1u]={1};


Пет Юли 08, 2022 8:15 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10573
Местоположение: София
Мнение Re: GSM модули
Пишеш неясно и двусмислено. Обикновено "хубав" = лош, а "полезен" = безполезен.
Та, какво всъщност си написал?


Пет Юли 08, 2022 8:24 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: GSM модули
:) не мога да ви кажа хубав и полезен, ако не го разгледате и/или пробвате ... всеки си има предпочитания
под "хубав" разбирай многократно тестван ... от Андроид джаджи
на мен лично горния сорс ми е вършил добра работа

по-принцип обработка на 90% от АТ командите в просто супер-луп приложение не кой знае каква сложност
пращаш, чакаш, приемаш, проверяваш, действие
обаче има едни отговори - URC ( Unsolicited Result Code ) или асинхронен колбак от уарта
и ако тръгнеш и тях да обработваш в луп приложение, обикновено става мазало :)
та горния пример дава добра представа: как

_________________
main[-1u]={1};


Последна промяна TheWizard на Пет Юли 08, 2022 9:05 am, променена общо 1 път



Пет Юли 08, 2022 8:35 am
Профил ICQ
Ранг: Ориентиран
Ранг: Ориентиран

Регистриран на: Пет Юли 01, 2005 9:46 pm
Мнения: 229
Местоположение: Гложене/София
Мнение Re: GSM модули
При GPRS (може и при следващите поколения) има един ефект, който не ми е съвсем ясен.
Има пусната сесия за данни, модема (в случая тракер) се разхожда в даден район и няма проблем (определено сменя базови станции в този район)
Но на определени места връзката се прекъсва и модема някакси не се усеща да се презакачи отново за данни, обхват определено има.
По-точно усеща се, но след доста дълго време (минути или часове).
Това май по-скоро е проблем на този който управлява модема, да се усети че няма никой и да направи каквото трябва.


Пет Юли 08, 2022 9:02 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: GSM модули
познат "дефект" :) следствие на 3GPP спецификации - таймаута и реакцията е около 120 секунди заради стандартно и задължително съобразяване с клетката ( master - slave )
по принцип GSM трябва да даде реакция с URC ( разширени такива )
в ядрото се получават съобщенията какво се е случило и причината - загуба на обхват, загуба на оператор, загуба на data-call, загуба на сокет
но дали са включени всички реакции в АТ стека е друг проблем

логиката е обратна на действията
сим, мрежа, дейта-кол, сокет
ако сокета "умре" ще даде грешка при send (след таймаут) ... реконект сокет
ако data-call "умре" сокета ще "умре", а data-call ще реагира в callback (след таймаут) ... реконект това и горното
ако мрежа/сим - горните две ще реагират

крайно решение е таймаут реконект/ресет

когато си "чешех крастата" да интегрирам Ардуино вътре в модул си играх много да "нацеля" точна логика и колбаци за тези неща
и трябваше да се съобразявам да става auto и лесно за потребителя в смисъл и стил на Ардуино

_________________
main[-1u]={1};


Последна промяна TheWizard на Пет Юли 08, 2022 9:50 am, променена общо 1 път



Пет Юли 08, 2022 9:32 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: GSM модули
TheWizard написа:
АТ командите е технология от миналия век и firmware обработката им е достатъчно осъвършенствана


Че е стара технология... стара си е. Но най-интересните моменти така и не се стандартизираха и едни и същи мотики продължават да се настъпват. Същото го наблюдавам и при други технологии. Примерно в момента боря един ESC/pos принтер... ми сякаш е правен от студент дето е преписвал ESC командите без изобщо да схване как трябва да работят и да се ползват.
За АТ командите нямам идея какво ползват за основа, но видимо се повтарят едни и същи бъгове и то при различни производители. Примерно загубата на непрочетени данни при затваряне на сокет. Това карахме едни да си го оправят, наскоро колегата подкара един сравнително нов модул на quectel и същата мотика.
Другата мъка беше с нотификациите. Първите модули (телетата) си ги праскаха както им дойде и когато им дойде. Че било в средата на данни хич не им пука. После лека полека спряха да ги смесват с данните, но беше голяма мъка докато ги оформят така, че да се разпознава лесно дали ти отговаря на някоя команда или ти вкарва нотификация някаква.
После беше борбата с отварянето на няколко сокета едновременно. И там бая мотики имаше...
Та с две думи като идея АТ командите не са лоша идея, ама реализацията винаги всеки си я прави както му дойде. И при всеки модул логиката е различна. Ако някой иска с bare metal да поддържа различни модули не мисля, че ще му е лесно. При нас е отделен стек с драйвери и пак не е лесно, но поне е възможно и става...


Пет Юли 08, 2022 9:41 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: GSM модули
Цитат:
Че било в средата на данни хич не им пука

де бе, верно ли :D
по стандарт трябва да е в началото или до 300 мс в края

със сокети ги има мотиките навсякъде
решението трябва да се търси в асиннхронна/синхронна конекция, обикновено използват синхронна с таймаут и се "оправдават" със 120 сек таймаут
то попринцип тези неща са зададени в SDK на SoC и много много не ги барат тези дето пишат firmware

затова се чоплех отвътре - по добре да си напиша решението за lwIP от колкото да разучавам какво са искали да кажат с еди кое си

BTW: Миро, мисли как работи lwIP ( повечето нови ) и ако не работи така - има бъг/мотика
и друго - при GSM, сигурен прост сокет - няма гаранция

_________________
main[-1u]={1};


Пет Юли 08, 2022 10:01 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: GSM модули
TheWizard написа:
BTW: Миро, мисли как работи lwIP ( повечето нови ) и ако не работи така - има бъг/мотика
и друго - при GSM, сигурен прост сокет - няма гаранция


Въпросът е принципен. Без значение какво е API-то трябва да имаш сигурен начин да се разбираш с модема. Както бяха първите (вече не помня телит или телтоника, а може и двете да бяха), тръгваш да четеш данни от сървъра, онова прекъсва данните и вмъква нотификация. Съответно трябва да си сканираш данните, само че ако данните могат да съдържат нещо наподобяващо нотификация си става манджа с грозде. Слава Богу от години престанаха с тая глупост. Пускаш команда "АТ+CMDXX", то трябва ти отговори "+CMDXX... отговор". Все още някои не стандартизират, демек при една команда отговорът започва по един начин, при друга по друг. Но поне може да се ориентираш дали е отговор или нотификация.

Относно самото API... Под lwip предполагам разбираш berkeley sockets. И при мен това си е крайната цел. Всичко накрая изглежда като сокети, без значение дали е gsm/gprs дали е WiFi или етернет. Приложенията винаги работят със сокета и никога не се интересуват какъв е точно интерфейса.
Въпросът е, че сокет API-то ти е по дефиниция локално, демек на контролера на който е и приложението. Ако ползваш самия модул и като хост, то може да си спестиш АТ-командите и директно да викаш lwip или там какъвто стек има в модула. Но при мен тоя сценарий не е особено подходящ. Процът винаги е отделен и си комуникира с каквото му закачиш. Та няма как да се ползва API, трябва си протокол някакъв... И като цяло АТ команди/протокол не е лош, стига да е имплементиран смислено от страна на модула ;-)


Пет Юли 08, 2022 10:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: GSM модули
прав си - зоопарк производители...


Какво има под капака на GSM SoC ( чипсет )

Хардуер:
- Модем процесор обикновено DSP ( +- FPGA ) с DSR радио или казано накратко: модем - мен лично тази "кутийка" не ме интересува. В тази "кутийка" понякога слагат и GSM стека за по-бързо да стават нещата
- Аплицационен процесор APP ( минимим един ) ARM всевъзможни весии, чат-пат MIPS, в бъдеще може и RISC-V. Този е поле за действие на firmware девелопърите ( модул производител ) на база SDK ( чипсет производител )
Връзката между двате ядра е или жица(старо) или регистър(ново) за RPC обмен на съобщения и структури данни между тях
- и разни всевъзможни хардуерни "кутиики" като FLASH, RAM, стандартни периферии ( APP ARM ) и хардуерни ускорители за LCD, камери, JPG и видео...

Този SoC не е мислен за модул, Мислен е за пълноценна "шарена дръжка" или wearable приложение ( часовници, фитнес тракери... )
това, че някой го използва за 2 жици AT команди си е негов проблем и на тези след него

Софтуер: ако разгледате SDK на ESP32 е ... същото
- RTOS, драйвери, стекове, апликации
Старите GSM използват най-различни RTOS и стекове на отдавно забравени по-по-най платени софтуерни фирми.
В момента нещата са: FreeRTOS ( или подобна ) за "слаби" GSM, или ThreadX или Linux/Android за от 4G нагоре модули
Ако ОС е FreeRTOS подобна, следва: lwIP, mbedTLS и целия "зоопарк"

INIT на ARM, модем, OS, драйвери и периферии ... Main таск и всевъзможни таскове за протоколи и услуги
Връзката между таскове е messages & task queue
Един от тасковете е обработката на AT команди на база RPC и мулти-таск обмена на съобщения и параметри
АТ командите се обработват от масив[n] структури { AT-STRING, параметри и callbacks } а начина за обработка е SDK определена
Някъде, може да бъде стартиран и таск за за изпълнение на user application вътре в модула

и те така

_________________
main[-1u]={1};


Пет Юли 08, 2022 11:52 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 8:19 pm
Мнения: 4410
Местоположение: Stara Zagora
Мнение Re: GSM модули
TheWizard написа:
Киров, в момента в който си помислиш: Ще използвам АТ команди... и избора приключва :) дириш малък, евтин и достъпен
проблеми има, ако ще "точиш" проекта...

Тия неща с управлението са изциклени отдавана.
Въпроса е че нали все разправят че ще закриват 2 и 3G то.


Пет Юли 08, 2022 12:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: GSM модули
мен ако питаш: хвърляш на боб или залагаш на LTE да спиш спокойно
САЩ и Китай се пънят нагоре с G
Индия и Пакистан са в основа 2G
Англия заяви след 10 години
Европа - майка плаче
България - трима оператора. ако един закрие другите ще са на плюс
политика, чипове и най-вече едни много пари определят нещата...

_________________
main[-1u]={1};


Пет Юли 08, 2022 1:28 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 38 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни